@koobiq/components 17.0.0-beta.2 → 17.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/alert/_alert-theme.scss +48 -24
- package/alert/alert.component.d.ts +23 -3
- package/alert/alert.component.scss +91 -59
- package/autocomplete/_autocomplete-theme.scss +3 -3
- package/autocomplete/autocomplete.scss +8 -18
- package/badge/_badge-theme.scss +30 -45
- package/badge/badge.component.scss +18 -39
- package/button/_button-base.scss +7 -14
- package/button/_button-theme.scss +30 -86
- package/button/button.component.d.ts +3 -2
- package/button/button.scss +7 -17
- package/button-toggle/_button-toggle-theme.scss +19 -20
- package/button-toggle/button-toggle.scss +17 -44
- package/card/_card-theme.scss +18 -17
- package/card/card.component.scss +3 -6
- package/checkbox/_checkbox-theme.scss +50 -50
- package/checkbox/checkbox.scss +31 -35
- package/code-block/README.md +18 -14
- package/code-block/_code-block-theme.scss +53 -23
- package/code-block/actionbar.component.scss +11 -25
- package/code-block/code-block.component.d.ts +12 -4
- package/code-block/code-block.scss +62 -77
- package/core/form-field/form-field-ref.d.ts +2 -0
- package/core/forms/_forms-theme.scss +4 -8
- package/core/forms/_forms.scss +13 -43
- package/core/locales/formatters.d.ts +96 -0
- package/core/locales/locale-service.d.ts +97 -0
- package/core/option/_optgroup-theme.scss +4 -6
- package/core/option/_option-action-theme.scss +8 -11
- package/core/option/_option-theme.scss +15 -20
- package/core/option/optgroup.scss +0 -1
- package/core/option/option.scss +0 -1
- package/core/pop-up/_pop-up.scss +0 -1
- package/core/pop-up/pop-up-trigger.d.ts +3 -1
- package/core/select/common.d.ts +35 -0
- package/core/select/index.d.ts +1 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +15 -19
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +9 -9
- package/core/services/theme.service.d.ts +3 -2
- package/core/styles/_core.scss +0 -1
- package/core/styles/_koobiq-theme.scss +5 -3
- package/core/styles/common/_animation.scss +9 -8
- package/core/styles/common/_button.scss +0 -2
- package/core/styles/common/_clearfix.scss +1 -1
- package/core/styles/common/_groups.scss +3 -9
- package/core/styles/common/_list.scss +28 -31
- package/core/styles/common/_overlay.scss +4 -3
- package/core/styles/common/_popup.scss +5 -5
- package/core/styles/common/_rtl.scss +4 -4
- package/core/styles/common/_select.scss +48 -42
- package/core/styles/common/_tokens.scss +47 -0
- package/core/styles/functions/_number.scss +14 -19
- package/core/styles/functions/_string.scss +18 -19
- package/core/styles/functions/_timing.scss +24 -24
- package/core/styles/theming/_components-theming.scss +1380 -1384
- package/core/styles/theming/_scrollbar-theme.scss +8 -5
- package/core/styles/theming/_theming.scss +26 -29
- package/core/styles/typography/_typography-utils.scss +1 -2
- package/core/styles/typography/_typography.scss +138 -85
- package/core/styles/visual/_body.scss +0 -2
- package/core/styles/visual/_layout.scss +44 -38
- package/core/utils/data-size/config.d.ts +20 -2
- package/core/utils/data-size/data-size.pipe.d.ts +10 -9
- package/core/utils/data-size/size.d.ts +3 -4
- package/datepicker/_datepicker-theme.scss +38 -40
- package/datepicker/calendar-body.scss +3 -11
- package/datepicker/calendar-header.scss +4 -10
- package/datepicker/calendar.scss +5 -17
- package/datepicker/datepicker-content.scss +5 -15
- package/datepicker/datepicker-input.scss +0 -5
- package/datepicker/datepicker-toggle.scss +3 -3
- package/divider/_divider-theme.scss +2 -1
- package/divider/divider.scss +9 -26
- package/dl/_dl-theme.scss +5 -8
- package/dl/dl.scss +5 -20
- package/dropdown/_dropdown-theme.scss +27 -22
- package/dropdown/dropdown-item.scss +5 -12
- package/dropdown/dropdown-trigger.directive.d.ts +2 -2
- package/dropdown/dropdown.scss +6 -15
- package/ellipsis-center/ellipsis-center.directive.d.ts +3 -2
- package/empty-state/README.md +0 -0
- package/empty-state/_empty-state-theme.scss +56 -0
- package/empty-state/empty-state.component.d.ts +31 -0
- package/empty-state/empty-state.module.d.ts +10 -0
- package/empty-state/empty-state.scss +81 -0
- package/empty-state/index.d.ts +1 -0
- package/empty-state/public-api.d.ts +2 -0
- package/esm2022/alert/alert.component.mjs +52 -5
- package/esm2022/badge/badge.component.mjs +2 -2
- package/esm2022/button/button.component.mjs +13 -6
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/code-block/actionbar.component.mjs +2 -2
- package/esm2022/code-block/code-block.component.mjs +58 -14
- package/esm2022/core/animation/select-animations.mjs +4 -4
- package/esm2022/core/form-field/form-field-ref.mjs +1 -1
- package/esm2022/core/locales/formatters.mjs +97 -1
- package/esm2022/core/locales/locale-service.mjs +5 -2
- package/esm2022/core/option/option.mjs +2 -2
- package/esm2022/core/pop-up/pop-up-trigger.mjs +18 -11
- package/esm2022/core/select/common.mjs +120 -0
- package/esm2022/core/select/index.mjs +2 -1
- package/esm2022/core/services/theme.service.mjs +4 -1
- package/esm2022/core/utils/data-size/config.mjs +5 -17
- package/esm2022/core/utils/data-size/data-size.pipe.mjs +36 -22
- package/esm2022/core/utils/data-size/size.mjs +10 -14
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +1 -1
- package/esm2022/datepicker/datepicker-animations.mjs +2 -2
- package/esm2022/dropdown/dropdown-animations.mjs +4 -4
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +7 -5
- package/esm2022/empty-state/empty-state.component.mjs +104 -0
- package/esm2022/empty-state/empty-state.module.mjs +50 -0
- package/esm2022/empty-state/index.mjs +2 -0
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +5 -0
- package/esm2022/empty-state/public-api.mjs +3 -0
- package/esm2022/file-upload/file-upload.mjs +15 -1
- package/esm2022/file-upload/file-upload.module.mjs +15 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +98 -49
- package/esm2022/file-upload/single-file-upload.component.mjs +110 -54
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/hint.mjs +2 -2
- package/esm2022/form-field/password-hint.mjs +2 -2
- package/esm2022/form-field/password-toggle.mjs +11 -9
- package/esm2022/icon/icon-item.component.mjs +16 -6
- package/esm2022/input/input-number.mjs +2 -2
- package/esm2022/list/list-selection.component.mjs +2 -2
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
- package/esm2022/markdown/markdown.component.mjs +2 -2
- package/esm2022/modal/modal.component.mjs +8 -9
- package/esm2022/navbar/navbar-item.component.mjs +11 -11
- package/esm2022/navbar/navbar.component.mjs +2 -2
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
- package/esm2022/select/select-option.directive.mjs +7 -5
- package/esm2022/select/select.component.mjs +71 -125
- package/esm2022/select/select.module.mjs +28 -28
- package/esm2022/splitter/splitter.component.mjs +37 -17
- package/esm2022/table/table.component.mjs +29 -6
- package/esm2022/table/table.module.mjs +14 -6
- package/esm2022/tabs/tab-body.component.mjs +1 -1
- package/esm2022/tabs/tab-group.component.mjs +55 -13
- package/esm2022/tabs/tab-header.component.mjs +2 -2
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
- package/esm2022/tags/tag-default-options.mjs +1 -1
- package/esm2022/tags/tag-input.mjs +17 -3
- package/esm2022/tags/tag-list.component.mjs +2 -2
- package/esm2022/tags/tag.component.mjs +4 -4
- package/esm2022/textarea/textarea.component.mjs +12 -10
- package/esm2022/timepicker/timepicker.directive.mjs +11 -3
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone-option.directive.mjs +7 -5
- package/esm2022/timezone/timezone-select.component.mjs +5 -5
- package/esm2022/title/title.directive.mjs +3 -4
- package/esm2022/toast/toast-container.component.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +4 -4
- package/esm2022/toast/toast.service.mjs +18 -13
- package/esm2022/toast/toast.type.mjs +3 -1
- package/esm2022/tooltip/tooltip.component.mjs +28 -14
- package/esm2022/tree/padding.directive.mjs +2 -2
- package/esm2022/tree/tree-base.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +2 -2
- package/esm2022/tree/tree-selection.component.mjs +6 -1
- package/esm2022/tree-select/tree-select.component.mjs +29 -44
- package/esm2022/tree-select/tree-select.module.mjs +31 -11
- package/fesm2022/koobiq-components-alert.mjs +52 -5
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +12 -5
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +57 -14
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +285 -67
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +2 -2
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +8 -8
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +5 -4
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +157 -0
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -0
- package/fesm2022/koobiq-components-file-upload.mjs +225 -97
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +21 -21
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +14 -4
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +1 -1
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +4 -4
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +2 -2
- package/fesm2022/koobiq-components-modal.mjs +7 -8
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +14 -14
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +2 -2
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +102 -155
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +36 -16
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +41 -10
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +57 -15
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +21 -8
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +11 -9
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +10 -2
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +11 -10
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +2 -3
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +25 -17
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +26 -13
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +57 -51
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +9 -4
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +124 -73
- package/file-upload/file-upload.d.ts +1 -1
- package/file-upload/file-upload.module.d.ts +11 -9
- package/file-upload/file-upload.scss +0 -6
- package/file-upload/multiple-file-upload.component.d.ts +38 -10
- package/file-upload/multiple-file-upload.component.scss +50 -120
- package/file-upload/single-file-upload.component.d.ts +40 -13
- package/file-upload/single-file-upload.component.scss +12 -33
- package/form-field/_form-field-theme.scss +46 -36
- package/form-field/_hint-theme.scss +15 -20
- package/form-field/cleaner.scss +3 -9
- package/form-field/form-field.scss +23 -26
- package/form-field/hint.scss +5 -8
- package/form-field/password-toggle.d.ts +3 -2
- package/form-field/password-toggle.scss +3 -10
- package/form-field/stepper.scss +4 -11
- package/icon/_icon-button-theme.scss +47 -36
- package/icon/_icon-item-theme.scss +47 -26
- package/icon/_icon-theme.scss +12 -14
- package/icon/icon-button.scss +5 -20
- package/icon/icon-item.component.d.ts +3 -1
- package/icon/icon-item.scss +10 -8
- package/icon/icon.scss +0 -6
- package/input/_input-theme.scss +6 -4
- package/input/input.scss +11 -10
- package/link/_link-theme.scss +30 -49
- package/list/_list-theme.scss +21 -19
- package/list/list.scss +2 -6
- package/loader-overlay/_loader-overlay-theme.scss +17 -18
- package/loader-overlay/loader-overlay.scss +9 -33
- package/markdown/_markdown-theme.scss +47 -47
- package/markdown/markdown.scss +41 -91
- package/modal/README.md +5 -4
- package/modal/_modal-animation.scss +0 -1
- package/modal/_modal-confirm.scss +2 -7
- package/modal/_modal-theme.scss +11 -13
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.scss +15 -31
- package/navbar/README.md +21 -20
- package/navbar/_navbar-item_horizontal.scss +28 -29
- package/navbar/_navbar-item_vertical.scss +31 -31
- package/navbar/_navbar-theme.scss +20 -24
- package/navbar/navbar-brand.scss +24 -27
- package/navbar/navbar-divider.scss +4 -8
- package/navbar/navbar-item.component.d.ts +4 -4
- package/navbar/navbar-item.scss +13 -15
- package/navbar/navbar.scss +2 -6
- package/navbar/vertical-navbar.scss +4 -6
- package/package.json +23 -16
- package/popover/README.md +18 -14
- package/popover/_popover-theme.scss +9 -17
- package/popover/popover.scss +15 -29
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +7 -11
- package/progress-bar/progress-bar.scss +6 -19
- package/progress-spinner/_progress-spinner-theme.scss +6 -8
- package/progress-spinner/progress-spinner.scss +8 -18
- package/radio/_radio-theme.scss +36 -37
- package/radio/radio.scss +25 -40
- package/risk-level/_risk-level-theme.scss +25 -31
- package/risk-level/risk-level.component.scss +4 -10
- package/schematics/collection.json +11 -0
- package/schematics/ng-add/index.js +70 -0
- package/schematics/ng-add/schema.json +15 -0
- package/scrollbar/_scrollbar-component-theme.scss +15 -19
- package/scrollbar/scrollbar.component.scss +68 -63
- package/scrollbar/scrollbar.directive.d.ts +1 -0
- package/scrollbar/scrollbar.types.d.ts +1 -0
- package/select/_select-theme.scss +14 -16
- package/select/select-option.directive.d.ts +3 -2
- package/select/select.component.d.ts +12 -33
- package/select/select.module.d.ts +1 -1
- package/select/select.scss +3 -11
- package/sidepanel/_sidepanel-theme.scss +8 -10
- package/sidepanel/sidepanel.scss +20 -37
- package/splitter/_splitter-theme.scss +5 -6
- package/splitter/splitter.component.d.ts +10 -5
- package/splitter/splitter.scss +0 -1
- package/table/_table-theme.scss +16 -15
- package/table/table.component.d.ts +8 -1
- package/table/table.module.d.ts +1 -1
- package/table/table.scss +41 -42
- package/tabs/_tabs-common.scss +13 -15
- package/tabs/_tabs-theme.scss +76 -44
- package/tabs/tab-body.component.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +9 -3
- package/tabs/tab-group.scss +2 -8
- package/tabs/tab-header.scss +0 -10
- package/tabs/tab-nav-bar/tab-nav-bar.scss +2 -9
- package/tags/_tag-theme.scss +22 -27
- package/tags/tag-default-options.d.ts +1 -0
- package/tags/tag-input.d.ts +7 -1
- package/tags/tag-list.scss +15 -12
- package/tags/tag.component.d.ts +1 -1
- package/tags/tag.scss +5 -11
- package/textarea/_textarea-theme.scss +2 -5
- package/textarea/textarea.scss +5 -10
- package/timepicker/timepicker.directive.d.ts +1 -1
- package/timepicker/timepicker.scss +2 -8
- package/timezone/_timezone-option-theme.scss +8 -10
- package/timezone/timezone-option.component.scss +5 -8
- package/timezone/timezone-option.directive.d.ts +3 -2
- package/timezone/timezone-select.component.d.ts +2 -1
- package/timezone/timezone-select.component.scss +2 -4
- package/title/title.directive.d.ts +0 -1
- package/toast/_toast-theme.scss +20 -16
- package/toast/toast-container.component.scss +5 -6
- package/toast/toast.component.scss +28 -29
- package/toast/toast.service.d.ts +8 -4
- package/toast/toast.type.d.ts +2 -0
- package/toggle/_toggle-theme.scss +49 -42
- package/toggle/toggle.scss +9 -22
- package/tooltip/_tooltip-theme.scss +12 -16
- package/tooltip/tooltip.component.d.ts +12 -8
- package/tooltip/tooltip.scss +7 -13
- package/tree/_tree-theme.scss +20 -23
- package/tree/toggle.scss +3 -6
- package/tree/tree-base.d.ts +1 -1
- package/tree/tree-option.scss +17 -14
- package/tree/tree-selection.component.d.ts +1 -0
- package/tree-select/_tree-select-theme.scss +12 -15
- package/tree-select/tree-select.component.d.ts +8 -17
- package/tree-select/tree-select.module.d.ts +1 -2
- package/tree-select/tree-select.scss +1 -6
- package/core/styles/_variables.scss +0 -1
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
2
2
|
import { Component, ViewEncapsulation, Input, Inject, InjectionToken, ChangeDetectionStrategy, Optional, ElementRef, ChangeDetectorRef, ViewChild, Renderer2 } from '@angular/core';
|
|
3
3
|
import { KbqTabGroup } from '@koobiq/components/tabs';
|
|
4
|
-
import { Subject, Subscription } from 'rxjs';
|
|
5
|
-
import { debounceTime } from 'rxjs/operators';
|
|
4
|
+
import { pairwise, Subject, Subscription } from 'rxjs';
|
|
5
|
+
import { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';
|
|
6
|
+
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/cdk/clipboard";
|
|
8
|
-
import * as i2 from "@angular/
|
|
9
|
-
import * as i3 from "@
|
|
10
|
-
import * as i4 from "@koobiq/components/
|
|
11
|
-
import * as i5 from "
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "
|
|
9
|
+
import * as i2 from "@angular/cdk/a11y";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@koobiq/components/button";
|
|
12
|
+
import * as i5 from "@koobiq/components/icon";
|
|
13
|
+
import * as i6 from "ngx-highlightjs";
|
|
14
|
+
import * as i7 from "@koobiq/components/tabs";
|
|
15
|
+
import * as i8 from "./actionbar.component";
|
|
14
16
|
export const COPIED_MESSAGE_TOOLTIP_TIMEOUT = 100;
|
|
15
17
|
export const DEFAULT_EXTENSION = 'txt';
|
|
16
18
|
export const LANGUAGES_EXTENSIONS = {
|
|
@@ -43,6 +45,10 @@ export const KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION = {
|
|
|
43
45
|
openExternalSystemTooltip: 'Открыть во внешней системе'
|
|
44
46
|
};
|
|
45
47
|
const actionBarBlockLeftMargin = 24;
|
|
48
|
+
const hasScroll = (element) => {
|
|
49
|
+
const { scrollHeight, scrollWidth, clientHeight, clientWidth } = element;
|
|
50
|
+
return scrollHeight > clientHeight || scrollWidth > clientWidth;
|
|
51
|
+
};
|
|
46
52
|
export class KbqCodeBlockComponent {
|
|
47
53
|
get noHeader() {
|
|
48
54
|
return this.codeFiles.length === 1 && !this.codeFiles[0].filename;
|
|
@@ -50,11 +56,12 @@ export class KbqCodeBlockComponent {
|
|
|
50
56
|
get singleFile() {
|
|
51
57
|
return this.codeFiles.length === 1;
|
|
52
58
|
}
|
|
53
|
-
constructor(elementRef, changeDetectorRef, clipboard, renderer, config) {
|
|
59
|
+
constructor(elementRef, changeDetectorRef, clipboard, renderer, focusMonitor, config) {
|
|
54
60
|
this.elementRef = elementRef;
|
|
55
61
|
this.changeDetectorRef = changeDetectorRef;
|
|
56
62
|
this.clipboard = clipboard;
|
|
57
63
|
this.renderer = renderer;
|
|
64
|
+
this.focusMonitor = focusMonitor;
|
|
58
65
|
this.config = config;
|
|
59
66
|
this.lineNumbers = true;
|
|
60
67
|
this.softWrap = false;
|
|
@@ -63,9 +70,12 @@ export class KbqCodeBlockComponent {
|
|
|
63
70
|
this.viewAll = false;
|
|
64
71
|
this.multiLine = false;
|
|
65
72
|
this.isTopOverflow = false;
|
|
73
|
+
this.hasFocus = false;
|
|
66
74
|
this.resizeStream = new Subject();
|
|
75
|
+
this.currentCodeBlock = new Subject();
|
|
67
76
|
this.resizeDebounceInterval = 100;
|
|
68
77
|
this.resizeSubscription = Subscription.EMPTY;
|
|
78
|
+
this.codeBlockSubscription = Subscription.EMPTY;
|
|
69
79
|
this.updateHeader = () => {
|
|
70
80
|
const clientWidth = this.elementRef.nativeElement.querySelector('kbq-actionbar-block').clientWidth;
|
|
71
81
|
this.renderer.setStyle(this.tabGroup.tabHeader.elementRef.nativeElement, 'padding-right', `${actionBarBlockLeftMargin + clientWidth}px`);
|
|
@@ -82,8 +92,23 @@ export class KbqCodeBlockComponent {
|
|
|
82
92
|
.pipe(debounceTime(this.resizeDebounceInterval))
|
|
83
93
|
.subscribe(this.updateHeader);
|
|
84
94
|
}
|
|
95
|
+
ngAfterViewInit() {
|
|
96
|
+
// render focus border if origin is keyboard
|
|
97
|
+
this.codeBlockSubscription = this.currentCodeBlock.pipe(startWith(null), pairwise(), switchMap(([prev, current]) => {
|
|
98
|
+
if (prev) {
|
|
99
|
+
this.focusMonitor.stopMonitoring(prev);
|
|
100
|
+
}
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
102
|
+
return this.focusMonitor.monitor(current).pipe(filter((origin) => origin === 'keyboard'));
|
|
103
|
+
})).subscribe(() => {
|
|
104
|
+
this.hasFocus = true;
|
|
105
|
+
this.changeDetectorRef.markForCheck();
|
|
106
|
+
});
|
|
107
|
+
this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code'));
|
|
108
|
+
}
|
|
85
109
|
ngOnDestroy() {
|
|
86
110
|
this.resizeSubscription.unsubscribe();
|
|
111
|
+
this.codeBlockSubscription.unsubscribe();
|
|
87
112
|
}
|
|
88
113
|
toggleSoftWrap() {
|
|
89
114
|
this.softWrap = !this.softWrap;
|
|
@@ -119,6 +144,7 @@ export class KbqCodeBlockComponent {
|
|
|
119
144
|
this.updateMultiline();
|
|
120
145
|
this.isTopOverflow = false;
|
|
121
146
|
setTimeout(this.updateHeader);
|
|
147
|
+
setTimeout(() => this.currentCodeBlock.next(this.elementRef.nativeElement.querySelector('code')));
|
|
122
148
|
}
|
|
123
149
|
checkOverflow(currentCodeContentElement) {
|
|
124
150
|
if (this.noHeader) {
|
|
@@ -133,13 +159,31 @@ export class KbqCodeBlockComponent {
|
|
|
133
159
|
currentCodeContentElement?.scroll({ top: 0, behavior: 'instant' });
|
|
134
160
|
}
|
|
135
161
|
}
|
|
162
|
+
// TODO: replace with property to reduce calculations
|
|
163
|
+
canShowFocus(currentCodeContent) {
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
165
|
+
const currentCodeBlock = currentCodeContent.querySelector('code');
|
|
166
|
+
return (hasScroll(currentCodeContent) || hasScroll(currentCodeBlock))
|
|
167
|
+
&& (!!this.maxHeight && this.viewAll || !this.maxHeight);
|
|
168
|
+
}
|
|
136
169
|
getFullFileName(codeFile) {
|
|
137
170
|
const fileName = codeFile.filename || 'code';
|
|
138
171
|
const extension = LANGUAGES_EXTENSIONS[codeFile.language] || DEFAULT_EXTENSION;
|
|
139
172
|
return `${fileName}.${extension}`;
|
|
140
173
|
}
|
|
141
|
-
|
|
142
|
-
|
|
174
|
+
onEnter(currentCodeBlock) {
|
|
175
|
+
// defer execution after toggle view mode
|
|
176
|
+
setTimeout(() => {
|
|
177
|
+
if (this.canShowFocus(currentCodeBlock)) {
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
179
|
+
this.focusMonitor.focusVia(
|
|
180
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
181
|
+
currentCodeBlock.querySelector('code'), 'keyboard');
|
|
182
|
+
}
|
|
183
|
+
}, 0);
|
|
184
|
+
}
|
|
185
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCodeBlockComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Clipboard }, { token: i0.Renderer2 }, { token: i2.FocusMonitor }, { token: KBQ_CODE_BLOCK_CONFIGURATION, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqCodeBlockComponent, selector: "kbq-code-block", inputs: { lineNumbers: "lineNumbers", codeFiles: "codeFiles", filled: "filled", maxHeight: "maxHeight", softWrap: "softWrap" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-code-block_filled": "filled", "class.kbq-code-block_outline": "!filled", "class.kbq-code-block_hide-line-numbers": "!lineNumbers", "class.kbq-code-block_single-file": "singleFile", "class.kbq-code-block_no-header": "noHeader", "class.kbq-code-block_header-with-shadow": "isTopOverflow" }, classAttribute: "kbq-code-block" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: KbqTabGroup, descendants: true }], exportAs: ["kbqCodeBlock"], ngImport: i0, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasFocus\"\n (selectedTabChange)=\"onSelectTab($event)\">\n <kbq-tab\n *ngFor=\"let codeFile of codeFiles; let i = index\"\n [disabled]=\"singleFile\">\n\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n\n <pre class=\"kbq-code-block__code kbq-scrollbar\"\n #codeContent\n [style.max-height]=\"getMaxHeight()\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [lessContrast]=\"filled\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\">\n </kbq-actionbar-block><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasFocus = false\">\n </code></pre>\n\n <div class=\"kbq-code-block__show-more\"\n *ngIf=\"maxHeight\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\">\n <span class=\"bg-wrapper\">\n <button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n kbq-button\n (keydown.enter)=\"onEnter(codeContent)\"\n (click)=\"onShowMoreClick(codeContent)\">\n <i kbq-icon=\"mc-angle-down-L_16\" *ngIf=\"!viewAll\"></i>\n <i kbq-icon=\"mc-angle-up-L_16\" *ngIf=\"viewAll\"></i>\n {{ viewAll ? config.viewLessText : config.viewAllText}}\n </button>\n </span>\n </div>\n </kbq-tab>\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius, 12px);border-width:0}.kbq-code-block .kbq-tab-header{padding:var(--kbq-code-block-size-header-padding-vertical, 8px) calc(var(--kbq-code-block-size-header-padding-right, 8px) + 152px) var(--kbq-code-block-size-header-padding-vertical, 8px) var(--kbq-code-block-size-header-padding-left, 12px);border-width:var(--kbq-code-block-size-container-border-width, 1px) var(--kbq-code-block-size-container-border-width, 1px) 0 var(--kbq-code-block-size-container-border-width, 1px);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius, 12px) var(--kbq-code-block-size-container-border-radius, 12px) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl, 32px)!important;overflow-x:scroll}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top, 4px) var(--kbq-code-block-size-with-header-content-padding-horizontal, 20px) var(--kbq-code-block-size-with-header-content-padding-bottom, 16px) var(--kbq-code-block-size-with-header-content-padding-horizontal, 20px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal, 12px)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width, 1px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical, 14px) var(--kbq-code-block-size-no-header-content-padding-horizontal, 20px)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal, 12px)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;position:unset;border-width:var(--kbq-code-block-size-container-border-width, 1px);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius, 12px) var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;overflow:hidden;width:calc(100% - var(--kbq-code-block-size-container-border-width, 1px) * 2);position:absolute;bottom:var(--kbq-code-block-size-container-border-width, 1px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top, 32px);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom, 16px)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top, 0);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom, 16px)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius, 8px)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i4.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i6.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }, { kind: "component", type: i7.KbqTabGroup, selector: "kbq-tab-group", inputs: ["disabled", "transparent", "onSurface", "dynamicHeight", "selectedIndex", "activeTab", "headerPosition", "animationDuration"], outputs: ["selectedIndexChange", "activeTabChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["kbqTabGroup"] }, { kind: "directive", type: i7.KbqTabLabel, selector: "[kbq-tab-label], [kbqTabLabel]" }, { kind: "component", type: i7.KbqTab, selector: "kbq-tab", inputs: ["disabled", "tooltipTitle", "tooltipPlacement", "label", "empty", "tabId"], exportAs: ["kbqTab"] }, { kind: "component", type: i8.KbqActionBarComponent, selector: "kbq-actionbar-block", inputs: ["config", "codeFiles", "lessContrast", "selectedTabIndex", "multiLine", "softWrap"], outputs: ["toggleSoftWrap", "downloadCode", "copyCode", "openExternalSystem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
143
187
|
}
|
|
144
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqCodeBlockComponent, decorators: [{
|
|
145
189
|
type: Component,
|
|
@@ -152,8 +196,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
152
196
|
'[class.kbq-code-block_no-header]': 'noHeader',
|
|
153
197
|
'[class.kbq-code-block_header-with-shadow]': 'isTopOverflow',
|
|
154
198
|
'(window:resize)': 'resizeStream.next($event)'
|
|
155
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<kbq-tab-group
|
|
156
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Clipboard }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
199
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasFocus\"\n (selectedTabChange)=\"onSelectTab($event)\">\n <kbq-tab\n *ngFor=\"let codeFile of codeFiles; let i = index\"\n [disabled]=\"singleFile\">\n\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n\n <pre class=\"kbq-code-block__code kbq-scrollbar\"\n #codeContent\n [style.max-height]=\"getMaxHeight()\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [lessContrast]=\"filled\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\">\n </kbq-actionbar-block><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasFocus = false\">\n </code></pre>\n\n <div class=\"kbq-code-block__show-more\"\n *ngIf=\"maxHeight\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\">\n <span class=\"bg-wrapper\">\n <button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n kbq-button\n (keydown.enter)=\"onEnter(codeContent)\"\n (click)=\"onShowMoreClick(codeContent)\">\n <i kbq-icon=\"mc-angle-down-L_16\" *ngIf=\"!viewAll\"></i>\n <i kbq-icon=\"mc-angle-up-L_16\" *ngIf=\"viewAll\"></i>\n {{ viewAll ? config.viewLessText : config.viewAllText}}\n </button>\n </span>\n </div>\n </kbq-tab>\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius, 12px);border-width:0}.kbq-code-block .kbq-tab-header{padding:var(--kbq-code-block-size-header-padding-vertical, 8px) calc(var(--kbq-code-block-size-header-padding-right, 8px) + 152px) var(--kbq-code-block-size-header-padding-vertical, 8px) var(--kbq-code-block-size-header-padding-left, 12px);border-width:var(--kbq-code-block-size-container-border-width, 1px) var(--kbq-code-block-size-container-border-width, 1px) 0 var(--kbq-code-block-size-container-border-width, 1px);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius, 12px) var(--kbq-code-block-size-container-border-radius, 12px) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl, 32px)!important;overflow-x:scroll}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top, 4px) var(--kbq-code-block-size-with-header-content-padding-horizontal, 20px) var(--kbq-code-block-size-with-header-content-padding-bottom, 16px) var(--kbq-code-block-size-with-header-content-padding-horizontal, 20px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal, 12px)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width, 1px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical, 14px) var(--kbq-code-block-size-no-header-content-padding-horizontal, 20px)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal, 12px)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;position:unset;border-width:var(--kbq-code-block-size-container-border-width, 1px);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius, 12px) var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;overflow:hidden;width:calc(100% - var(--kbq-code-block-size-container-border-width, 1px) * 2);position:absolute;bottom:var(--kbq-code-block-size-container-border-width, 1px);border-radius:var(--kbq-code-block-size-container-border-radius, 12px)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top, 32px);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom, 16px)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top, 0);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom, 16px)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius, 8px)}\n"] }]
|
|
200
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Clipboard }, { type: i0.Renderer2 }, { type: i2.FocusMonitor }, { type: undefined, decorators: [{
|
|
157
201
|
type: Optional
|
|
158
202
|
}, {
|
|
159
203
|
type: Inject,
|
|
@@ -172,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
172
216
|
}], softWrap: [{
|
|
173
217
|
type: Input
|
|
174
218
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLE1BQU0sRUFDTixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixVQUFVLEVBQ1YsaUJBQWlCLEVBRWpCLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVE5QyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLElBQUk7SUFDVixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsQ0FBQyxFQUFFLEdBQUc7SUFD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USxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFXTyxlQUFlLENBQUMsUUFBcUI7UUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUM7UUFDN0MsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlCQUFpQixDQUFDO1FBRS9FLE9BQU8sR0FBRyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQztpSUFuSVEscUJBQXFCLCtIQWlDTiw0QkFBNEI7cUhBakMzQyxxQkFBcUIsbW9CQUNuQixXQUFXLDRFQ2pGMUIsaXZFQW1EQTs7MkZENkJhLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCLGNBQWMsUUFHbEI7d0JBQ0YsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsK0JBQStCLEVBQUUsUUFBUTt3QkFDekMsZ0NBQWdDLEVBQUUsU0FBUzt3QkFDM0MsMENBQTBDLEVBQUUsY0FBYzt3QkFDMUQsb0NBQW9DLEVBQUUsWUFBWTt3QkFDbEQsa0NBQWtDLEVBQUUsVUFBVTt3QkFDOUMsMkNBQTJDLEVBQUUsZUFBZTt3QkFDNUQsaUJBQWlCLEVBQUUsMkJBQTJCO3FCQUNqRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBbUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjt5Q0FoQzVCLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFFYixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9wdGlvbmFsLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFUYWJDaGFuZ2VFdmVudCwgS2JxVGFiR3JvdXAgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBLYnFDb2RlQmxvY2tDb25maWd1cmF0aW9uLFxuICAgIEticUNvZGVGaWxlXG59IGZyb20gJy4vY29kZS1ibG9jay50eXBlcyc7XG5cblxuZXhwb3J0IGNvbnN0IENPUElFRF9NRVNTQUdFX1RPT0xUSVBfVElNRU9VVCA9IDEwMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVOU0lPTiA9ICd0eHQnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFU19FWFRFTlNJT05TID0ge1xuICAgIGh0bWw6ICdodG1sJyxcbiAgICBjc3M6ICdjc3MnLFxuICAgIHBocDogJ3BocCcsXG4gICAgamF2YTogJ2phdmEnLFxuICAgIGJhc2g6ICdzaCcsXG4gICAgamF2YXNjcmlwdDogJ2pzJyxcbiAgICB0eXBlc2NyaXB0OiAndHMnLFxuICAgIHB5dGhvbjogJ3B5JyxcbiAgICBydWJ5OiAncmInLFxuICAgIGM6ICdjJyxcbiAgICAnYysrJzogJ2NwcCcsXG4gICAgJ2MjJzogJ2NzJyxcbiAgICBjc2hhcnA6ICdjcycsXG4gICAgbHVhOiAnbHVhJyxcbiAgICB4bWw6ICd4bWwnLFxuICAgIGpzb246ICdqc29uJ1xufTtcblxuZXhwb3J0IGNvbnN0IEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbicpO1xuXG5leHBvcnQgY29uc3QgS0JRX0NPREVfQkxPQ0tfREVGQVVMVF9DT05GSUdVUkFUSU9OID0ge1xuICAgIHNvZnRXcmFwT25Ub29sdGlwOiAn0JLQutC70Y7Rh9C40YLRjCDQv9C10YDQtdC90L7RgSDQv9C+INGB0LvQvtCy0LDQvCcsXG4gICAgc29mdFdyYXBPZmZUb29sdGlwOiAn0JLRi9C60LvRjtGH0LjRgtGMINC/0LXRgNC10L3QvtGBINC/0L4g0YHQu9C+0LLQsNC8JyxcbiAgICBkb3dubG9hZFRvb2x0aXA6ICfQodC60LDRh9Cw0YLRjCcsXG4gICAgY29waWVkVG9vbHRpcDogJ+KckyDQodC60L7Qv9C40YDQvtCy0LDQvdC+JyxcbiAgICBjb3B5VG9vbHRpcDogJ9Ch0LrQvtC/0LjRgNC+0LLQsNGC0YwnLFxuICAgIHZpZXdBbGxUZXh0OiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUnLFxuICAgIHZpZXdMZXNzVGV4dDogJ9Ch0LLQtdGA0L3Rg9GC0YwnLFxuICAgIG9wZW5FeHRlcm5hbFN5c3RlbVRvb2x0aXA6ICfQntGC0LrRgNGL0YLRjCDQstC+INCy0L3QtdGI0L3QtdC5INGB0LjRgdGC0LXQvNC1J1xufTtcblxuXG5jb25zdCBhY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gPSAyNDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgZXhwb3J0QXM6ICdrYnFDb2RlQmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2RlLWJsb2NrLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLWNvZGUtYmxvY2snLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2ZpbGxlZF0nOiAnZmlsbGVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19vdXRsaW5lXSc6ICchZmlsbGVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19oaWRlLWxpbmUtbnVtYmVyc10nOiAnIWxpbmVOdW1iZXJzJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19zaW5nbGUtZmlsZV0nOiAnc2luZ2xlRmlsZScsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfbm8taGVhZGVyXSc6ICdub0hlYWRlcicsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfaGVhZGVyLXdpdGgtc2hhZG93XSc6ICdpc1RvcE92ZXJmbG93JyxcbiAgICAgICAgJyh3aW5kb3c6cmVzaXplKSc6ICdyZXNpemVTdHJlYW0ubmV4dCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFDb2RlQmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoS2JxVGFiR3JvdXApIHRhYkdyb3VwOiBLYnFUYWJHcm91cDtcblxuICAgIEBJbnB1dCgpIGxpbmVOdW1iZXJzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBjb2RlRmlsZXM6IEticUNvZGVGaWxlW107XG4gICAgQElucHV0KCkgZmlsbGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heEhlaWdodDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNvZnRXcmFwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgbm9IZWFkZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZUZpbGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5jb2RlRmlsZXNbMF0uZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHNpbmdsZUZpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvZGVGaWxlcy5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gICAgY29waWVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmlld0FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIG11bHRpTGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzVG9wT3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IHJlc2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVEZWJvdW5jZUludGVydmFsOiBudW1iZXIgPSAxMDA7XG4gICAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04pIHB1YmxpYyBjb25maWc6IEticUNvZGVCbG9ja0NvbmZpZ3VyYXRpb25cbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWcgfHwgS0JRX0NPREVfQkxPQ0tfREVGQVVMVF9DT05GSUdVUkFUSU9OO1xuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlSGVhZGVyID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjbGllbnRXaWR0aDogbnVtYmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcigna2JxLWFjdGlvbmJhci1ibG9jaycpLmNsaWVudFdpZHRoO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICB0aGlzLnRhYkdyb3VwLnRhYkhlYWRlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAncGFkZGluZy1yaWdodCcsXG4gICAgICAgICAgICBgJHthY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gKyBjbGllbnRXaWR0aH1weGBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVNvZnRXcmFwKCkge1xuICAgICAgICB0aGlzLnNvZnRXcmFwID0gIXRoaXMuc29mdFdyYXA7XG4gICAgfVxuXG4gICAgdG9nZ2xlVmlld0FsbCgpIHtcbiAgICAgICAgdGhpcy52aWV3QWxsID0gIXRoaXMudmlld0FsbDtcbiAgICB9XG5cbiAgICBkb3dubG9hZENvZGUoKSB7XG4gICAgICAgIGNvbnN0IGNvZGVGaWxlID0gdGhpcy5jb2RlRmlsZXNbdGhpcy5zZWxlY3RlZFRhYkluZGV4XTtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjb2RlRmlsZS5jb250ZW50XSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7XG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgdXJsKTtcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgYCR7dGhpcy5nZXRGdWxsRmlsZU5hbWUoY29kZUZpbGUpfWApO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgfVxuXG4gICAgY29weUNvZGUoKSB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5jb2RlRmlsZXNbdGhpcy5zZWxlY3RlZFRhYkluZGV4XS5jb250ZW50KTtcbiAgICAgICAgdGhpcy5jb3BpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG9wZW5FeHRlcm5hbFN5c3RlbSgpIHtcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxMaW5rID0gdGhpcy5jb2RlRmlsZXNbdGhpcy5zZWxlY3RlZFRhYkluZGV4XS5saW5rO1xuICAgICAgICB3aW5kb3cub3BlbihleHRlcm5hbExpbmssICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBvbkhpZ2hsaWdodGVkKCkge1xuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlTXVsdGlsaW5lLCAxKTtcbiAgICB9XG5cbiAgICBnZXRNYXhIZWlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGVpZ2h0ID4gMCAmJiAhdGhpcy52aWV3QWxsID8gYCR7dGhpcy5tYXhIZWlnaHR9cHhgIDogJyc7XG4gICAgfVxuXG4gICAgb25TZWxlY3RUYWIoJGV2ZW50OiBLYnFUYWJDaGFuZ2VFdmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSAkZXZlbnQuaW5kZXg7XG4gICAgICAgIHRoaXMudXBkYXRlTXVsdGlsaW5lKCk7XG4gICAgICAgIHRoaXMuaXNUb3BPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGVIZWFkZXIpO1xuICAgIH1cblxuICAgIGNoZWNrT3ZlcmZsb3coY3VycmVudENvZGVDb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMubm9IZWFkZXIpIHsgcmV0dXJuOyB9XG4gICAgICAgIHRoaXMuaXNUb3BPdmVyZmxvdyA9IGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID4gMDtcbiAgICB9XG5cbiAgICBvblNob3dNb3JlQ2xpY2soY3VycmVudENvZGVDb250ZW50RWxlbWVudDogSFRNTFByZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVWaWV3QWxsKCk7XG5cbiAgICAgICAgLy8gU2hvdWxkIGV4cGxpY2l0bHkgc2Nyb2xsIHRvIHRvcCBzbyBjb250ZW50IHdpbGwgYmUgY3JvcHBlZCBmcm9tIHRoZSBib3R0b21cbiAgICAgICAgaWYgKCF0aGlzLnZpZXdBbGwpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQ/LnNjcm9sbCh7IHRvcDogMCwgYmVoYXZpb3I6ICdpbnN0YW50JyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTXVsdGlsaW5lID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm11bHRpTGluZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmhsanMtbG4tbnVtYmVycycpLmxlbmd0aCA+IDE7XG5cbiAgICAgICAgdGhpcy51cGRhdGVIZWFkZXIoKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlOiBLYnFDb2RlRmlsZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gY29kZUZpbGUuZmlsZW5hbWUgfHwgJ2NvZGUnO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBMQU5HVUFHRVNfRVhURU5TSU9OU1tjb2RlRmlsZS5sYW5ndWFnZV0gfHwgREVGQVVMVF9FWFRFTlNJT047XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfS4ke2V4dGVuc2lvbn1gO1xuICAgIH1cbn1cbiIsIjxrYnEtdGFiLWdyb3VwIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdFRhYigkZXZlbnQpXCI+XG4gICAgPGticS10YWJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvZGVGaWxlIG9mIGNvZGVGaWxlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJzaW5nbGVGaWxlXCI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGticS10YWItbGFiZWw+e3sgY29kZUZpbGUuZmlsZW5hbWUgfX08L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxwcmUgY2xhc3M9XCJrYnEtY29kZS1ibG9ja19fY29kZSBrYnEtc2Nyb2xsYmFyXCJcbiAgICAgICAgICAgICAjY29kZUNvbnRlbnRcbiAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJnZXRNYXhIZWlnaHQoKVwiXG4gICAgICAgICAgICAgW2NsYXNzLmticS1jb2RlLWJsb2NrX19jb2RlX3NvZnQtd3JhcF09XCJzb2Z0V3JhcFwiXG4gICAgICAgICAgICAgW2NsYXNzLmticS1jb2RlLWJsb2NrX19jb2RlX3ZpZXctYWxsXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgIChzY3JvbGwpPVwiY2hlY2tPdmVyZmxvdyhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgPjxjb2RlIGNsYXNzPVwiaGxqc1wiXG4gICAgICAgICAgICAgICBbaWRdPVwiY29kZUZpbGUuZmlsZW5hbWUgKyAnXycgKyBpXCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5obGpzLWxpbmUtbnVtYmVyc109XCJsaW5lTnVtYmVyc1wiXG4gICAgICAgICAgICAgICBbaGlnaGxpZ2h0XT1cImNvZGVGaWxlc1tpXS5jb250ZW50XCJcbiAgICAgICAgICAgICAgIFtsaW5lTnVtYmVyc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIChoaWdobGlnaHRlZCk9XCJvbkhpZ2hsaWdodGVkKClcIj5cbiAgICAgICAgICAgIDwvY29kZT48a2JxLWFjdGlvbmJhci1ibG9ja1xuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtYWN0aW9uYmFyLWJsb2NrX2Zsb2F0aW5nXT1cIm5vSGVhZGVyXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgW2NvZGVGaWxlc109XCJjb2RlRmlsZXNcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIFtsZXNzQ29udHJhc3RdPVwiZmlsbGVkXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gICAgICAgICAgICAgICAgW3NvZnRXcmFwXT1cInNvZnRXcmFwXCJcbiAgICAgICAgICAgICAgICAodG9nZ2xlU29mdFdyYXApPVwidG9nZ2xlU29mdFdyYXAoKVwiXG4gICAgICAgICAgICAgICAgKGRvd25sb2FkQ29kZSk9XCJkb3dubG9hZENvZGUoKVwiXG4gICAgICAgICAgICAgICAgKGNvcHlDb2RlKT1cImNvcHlDb2RlKClcIlxuICAgICAgICAgICAgICAgIChvcGVuRXh0ZXJuYWxTeXN0ZW0pPVwib3BlbkV4dGVybmFsU3lzdGVtKClcIj5cbiAgICAgICAgICAgIDwva2JxLWFjdGlvbmJhci1ibG9jaz48L3ByZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgKm5nSWY9XCJtYXhIZWlnaHRcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2V4cGFuZGVkXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2NvbGxhcHNlZF09XCIhdmlld0FsbFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3RoZW1lJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TaG93TW9yZUNsaWNrKGNvZGVDb250ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwibWMtYW5nbGUtZG93bi1MXzE2XCIgKm5nSWY9XCIhdmlld0FsbFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cIm1jLWFuZ2xlLXVwLUxfMTZcIiAqbmdJZj1cInZpZXdBbGxcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIHt7IHZpZXdBbGwgPyBjb25maWcudmlld0xlc3NUZXh0IDogY29uZmlnLnZpZXdBbGxUZXh0fX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ticS10YWI+XG48L2ticS10YWItZ3JvdXA+XG4iXX0=
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUNILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLE1BQU0sRUFDTixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixVQUFVLEVBQ1YsaUJBQWlCLEVBRWpCLFNBQVMsRUFDVCxTQUFTLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTVFLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7OztBQUc5RCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLElBQUk7SUFDVixVQUFVLEVBQUUsSUFBSTtJ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QUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDdEMsb0VBQW9FO2dCQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3RCLG9FQUFvRTtnQkFDcEUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBRSxFQUN2QyxVQUFVLENBQ2IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO2lJQXZMUSxxQkFBcUIsMkpBcUNOLDRCQUE0QjtxSEFyQzNDLHFCQUFxQixtb0JBQ25CLFdBQVcsNEVDeEYxQiw0NUVBd0RBOzsyRkQrQmEscUJBQXFCO2tCQWxCakMsU0FBUzsrQkFDSSxnQkFBZ0IsWUFDaEIsY0FBYyxRQUdsQjt3QkFDRixLQUFLLEVBQUUsZ0JBQWdCO3dCQUN2QiwrQkFBK0IsRUFBRSxRQUFRO3dCQUN6QyxnQ0FBZ0MsRUFBRSxTQUFTO3dCQUMzQywwQ0FBMEMsRUFBRSxjQUFjO3dCQUMxRCxvQ0FBb0MsRUFBRSxZQUFZO3dCQUNsRCxrQ0FBa0MsRUFBRSxVQUFVO3dCQUM5QywyQ0FBMkMsRUFBRSxlQUFlO3dCQUM1RCxpQkFBaUIsRUFBRSwyQkFBMkI7cUJBQ2pELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkF1Q2hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCO3lDQXBDNUIsUUFBUTtzQkFBL0IsU0FBUzt1QkFBQyxXQUFXO2dCQUViLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT3B0aW9uYWwsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkLFxuICAgIFJlbmRlcmVyMixcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxVGFiQ2hhbmdlRXZlbnQsIEticVRhYkdyb3VwIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgcGFpcndpc2UsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIEticUNvZGVCbG9ja0NvbmZpZ3VyYXRpb24sXG4gICAgS2JxQ29kZUZpbGVcbn0gZnJvbSAnLi9jb2RlLWJsb2NrLnR5cGVzJztcbmltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5cblxuZXhwb3J0IGNvbnN0IENPUElFRF9NRVNTQUdFX1RPT0xUSVBfVElNRU9VVCA9IDEwMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYVEVOU0lPTiA9ICd0eHQnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFU19FWFRFTlNJT05TID0ge1xuICAgIGh0bWw6ICdodG1sJyxcbiAgICBjc3M6ICdjc3MnLFxuICAgIHBocDogJ3BocCcsXG4gICAgamF2YTogJ2phdmEnLFxuICAgIGJhc2g6ICdzaCcsXG4gICAgamF2YXNjcmlwdDogJ2pzJyxcbiAgICB0eXBlc2NyaXB0OiAndHMnLFxuICAgIHB5dGhvbjogJ3B5JyxcbiAgICBydWJ5OiAncmInLFxuICAgIGM6ICdjJyxcbiAgICAnYysrJzogJ2NwcCcsXG4gICAgJ2MjJzogJ2NzJyxcbiAgICBjc2hhcnA6ICdjcycsXG4gICAgbHVhOiAnbHVhJyxcbiAgICB4bWw6ICd4bWwnLFxuICAgIGpzb246ICdqc29uJ1xufTtcblxuZXhwb3J0IGNvbnN0IEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbicpO1xuXG5leHBvcnQgY29uc3QgS0JRX0NPREVfQkxPQ0tfREVGQVVMVF9DT05GSUdVUkFUSU9OID0ge1xuICAgIHNvZnRXcmFwT25Ub29sdGlwOiAn0JLQutC70Y7Rh9C40YLRjCDQv9C10YDQtdC90L7RgSDQv9C+INGB0LvQvtCy0LDQvCcsXG4gICAgc29mdFdyYXBPZmZUb29sdGlwOiAn0JLRi9C60LvRjtGH0LjRgtGMINC/0LXRgNC10L3QvtGBINC/0L4g0YHQu9C+0LLQsNC8JyxcbiAgICBkb3dubG9hZFRvb2x0aXA6ICfQodC60LDRh9Cw0YLRjCcsXG4gICAgY29waWVkVG9vbHRpcDogJ+KckyDQodC60L7Qv9C40YDQvtCy0LDQvdC+JyxcbiAgICBjb3B5VG9vbHRpcDogJ9Ch0LrQvtC/0LjRgNC+0LLQsNGC0YwnLFxuICAgIHZpZXdBbGxUZXh0OiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUnLFxuICAgIHZpZXdMZXNzVGV4dDogJ9Ch0LLQtdGA0L3Rg9GC0YwnLFxuICAgIG9wZW5FeHRlcm5hbFN5c3RlbVRvb2x0aXA6ICfQntGC0LrRgNGL0YLRjCDQstC+INCy0L3QtdGI0L3QtdC5INGB0LjRgdGC0LXQvNC1J1xufTtcblxuXG5jb25zdCBhY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gPSAyNDtcblxuY29uc3QgaGFzU2Nyb2xsID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRofSA9IGVsZW1lbnQ7XG4gICAgcmV0dXJuIHNjcm9sbEhlaWdodCA+IGNsaWVudEhlaWdodCB8fCBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1jb2RlLWJsb2NrJyxcbiAgICBleHBvcnRBczogJ2ticUNvZGVCbG9jaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZGUtYmxvY2suY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvZGUtYmxvY2suc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX291dGxpbmVdJzogJyFmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2hpZGUtbGluZS1udW1iZXJzXSc6ICchbGluZU51bWJlcnMnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX3NpbmdsZS1maWxlXSc6ICdzaW5nbGVGaWxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19uby1oZWFkZXJdJzogJ25vSGVhZGVyJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19oZWFkZXItd2l0aC1zaGFkb3ddJzogJ2lzVG9wT3ZlcmZsb3cnLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ3Jlc2l6ZVN0cmVhbS5uZXh0KCRldmVudCknXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticUNvZGVCbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChLYnFUYWJHcm91cCkgdGFiR3JvdXA6IEticVRhYkdyb3VwO1xuXG4gICAgQElucHV0KCkgbGluZU51bWJlcnMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvZGVGaWxlczogS2JxQ29kZUZpbGVbXTtcbiAgICBASW5wdXQoKSBmaWxsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4SGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgc29mdFdyYXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBub0hlYWRlcigpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2RlRmlsZXMubGVuZ3RoID09PSAxICYmICF0aGlzLmNvZGVGaWxlc1swXS5maWxlbmFtZTtcbiAgICB9XG5cbiAgICBnZXQgc2luZ2xlRmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZUZpbGVzLmxlbmd0aCA9PT0gMTtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcbiAgICBjb3BpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB2aWV3QWxsOiBib29sZWFuID0gZmFsc2U7XG4gICAgbXVsdGlMaW5lOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNUb3BPdmVyZmxvdzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcbiAgICByZWFkb25seSBjdXJyZW50Q29kZUJsb2NrID0gbmV3IFN1YmplY3Q8SFRNTEVsZW1lbnQ+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZURlYm91bmNlSW50ZXJ2YWw6IG51bWJlciA9IDEwMDtcbiAgICBwcml2YXRlIHJlc2l6ZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgICBwcml2YXRlIGNvZGVCbG9ja1N1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0NPREVfQkxPQ0tfQ09ORklHVVJBVElPTikgcHVibGljIGNvbmZpZzogS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvblxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZyB8fCBLQlFfQ09ERV9CTE9DS19ERUZBVUxUX0NPTkZJR1VSQVRJT047XG5cbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVN0cmVhbVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMucmVzaXplRGVib3VuY2VJbnRlcnZhbCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudXBkYXRlSGVhZGVyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIHJlbmRlciBmb2N1cyBib3JkZXIgaWYgb3JpZ2luIGlzIGtleWJvYXJkXG4gICAgICAgIHRoaXMuY29kZUJsb2NrU3Vic2NyaXB0aW9uID0gdGhpcy5jdXJyZW50Q29kZUJsb2NrLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgY3VycmVudF0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocHJldikgeyB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyhwcmV2KTsgfVxuXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcihjdXJyZW50ISkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PiBvcmlnaW4gPT09ICdrZXlib2FyZCcpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY3VycmVudENvZGVCbG9jay5uZXh0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSk7XG4gICAgfVxuXG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jb2RlQmxvY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVIZWFkZXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWVudFdpZHRoOiBudW1iZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdrYnEtYWN0aW9uYmFyLWJsb2NrJykuY2xpZW50V2lkdGg7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIHRoaXMudGFiR3JvdXAudGFiSGVhZGVyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgICAgIGAke2FjdGlvbkJhckJsb2NrTGVmdE1hcmdpbiArIGNsaWVudFdpZHRofXB4YFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU29mdFdyYXAoKSB7XG4gICAgICAgIHRoaXMuc29mdFdyYXAgPSAhdGhpcy5zb2Z0V3JhcDtcbiAgICB9XG5cbiAgICB0b2dnbGVWaWV3QWxsKCkge1xuICAgICAgICB0aGlzLnZpZXdBbGwgPSAhdGhpcy52aWV3QWxsO1xuICAgIH1cblxuICAgIGRvd25sb2FkQ29kZSgpIHtcbiAgICAgICAgY29uc3QgY29kZUZpbGUgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdO1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NvZGVGaWxlLmNvbnRlbnRdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBgJHt0aGlzLmdldEZ1bGxGaWxlTmFtZShjb2RlRmlsZSl9YCk7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICB9XG5cbiAgICBjb3B5Q29kZSgpIHtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmNvbnRlbnQpO1xuICAgICAgICB0aGlzLmNvcGllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb3BlbkV4dGVybmFsU3lzdGVtKCkge1xuICAgICAgICBjb25zdCBleHRlcm5hbExpbmsgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmxpbms7XG4gICAgICAgIHdpbmRvdy5vcGVuKGV4dGVybmFsTGluaywgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9uSGlnaGxpZ2h0ZWQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGVNdWx0aWxpbmUsIDEpO1xuICAgIH1cblxuICAgIGdldE1heEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIZWlnaHQgPiAwICYmICF0aGlzLnZpZXdBbGwgPyBgJHt0aGlzLm1heEhlaWdodH1weGAgOiAnJztcbiAgICB9XG5cbiAgICBvblNlbGVjdFRhYigkZXZlbnQ6IEticVRhYkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9ICRldmVudC5pbmRleDtcbiAgICAgICAgdGhpcy51cGRhdGVNdWx0aWxpbmUoKTtcbiAgICAgICAgdGhpcy5pc1RvcE92ZXJmbG93ID0gZmFsc2U7XG5cbiAgICAgICAgc2V0VGltZW91dCh0aGlzLnVwZGF0ZUhlYWRlcik7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jdXJyZW50Q29kZUJsb2NrLm5leHQoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJylcbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgY2hlY2tPdmVyZmxvdyhjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5ub0hlYWRlcikgeyByZXR1cm47IH1cbiAgICAgICAgdGhpcy5pc1RvcE92ZXJmbG93ID0gY3VycmVudENvZGVDb250ZW50RWxlbWVudC5zY3JvbGxUb3AgPiAwO1xuICAgIH1cblxuICAgIG9uU2hvd01vcmVDbGljayhjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50OiBIVE1MUHJlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVZpZXdBbGwoKTtcblxuICAgICAgICAvLyBTaG91bGQgZXhwbGljaXRseSBzY3JvbGwgdG8gdG9wIHNvIGNvbnRlbnQgd2lsbCBiZSBjcm9wcGVkIGZyb20gdGhlIGJvdHRvbVxuICAgICAgICBpZiAoIXRoaXMudmlld0FsbCkge1xuICAgICAgICAgICAgY3VycmVudENvZGVDb250ZW50RWxlbWVudD8uc2Nyb2xsKHsgdG9wOiAwLCBiZWhhdmlvcjogJ2luc3RhbnQnIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVwbGFjZSB3aXRoIHByb3BlcnR5IHRvIHJlZHVjZSBjYWxjdWxhdGlvbnNcbiAgICBjYW5TaG93Rm9jdXMoY3VycmVudENvZGVDb250ZW50OiBIVE1MUHJlRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICBjb25zdCBjdXJyZW50Q29kZUJsb2NrID0gY3VycmVudENvZGVDb250ZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSE7XG5cbiAgICAgICAgcmV0dXJuIChoYXNTY3JvbGwoY3VycmVudENvZGVDb250ZW50KSB8fCBoYXNTY3JvbGwoY3VycmVudENvZGVCbG9jaykpXG4gICAgICAgICAgICAmJiAoISF0aGlzLm1heEhlaWdodCAmJiB0aGlzLnZpZXdBbGwgfHwgIXRoaXMubWF4SGVpZ2h0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU11bHRpbGluZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5tdWx0aUxpbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5obGpzLWxuLW51bWJlcnMnKS5sZW5ndGggPiAxO1xuXG4gICAgICAgIHRoaXMudXBkYXRlSGVhZGVyKCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZ1bGxGaWxlTmFtZShjb2RlRmlsZTogS2JxQ29kZUZpbGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGNvZGVGaWxlLmZpbGVuYW1lIHx8ICdjb2RlJztcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gTEFOR1VBR0VTX0VYVEVOU0lPTlNbY29kZUZpbGUubGFuZ3VhZ2VdIHx8IERFRkFVTFRfRVhURU5TSU9OO1xuXG4gICAgICAgIHJldHVybiBgJHtmaWxlTmFtZX0uJHtleHRlbnNpb259YDtcbiAgICB9XG5cbiAgICBvbkVudGVyKGN1cnJlbnRDb2RlQmxvY2s6IEhUTUxQcmVFbGVtZW50KSB7XG4gICAgICAgIC8vIGRlZmVyIGV4ZWN1dGlvbiBhZnRlciB0b2dnbGUgdmlldyBtb2RlXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuU2hvd0ZvY3VzKGN1cnJlbnRDb2RlQmxvY2spKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYShcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudENvZGVCbG9jay5xdWVyeVNlbGVjdG9yKCdjb2RlJykhLFxuICAgICAgICAgICAgICAgICAgICAna2V5Ym9hcmQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIiwiPGticS10YWItZ3JvdXBcbiAgICBbY2xhc3Mua2JxLWZvY3VzZWRdPVwiaGFzRm9jdXNcIlxuICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdFRhYigkZXZlbnQpXCI+XG4gICAgPGticS10YWJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvZGVGaWxlIG9mIGNvZGVGaWxlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJzaW5nbGVGaWxlXCI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGticS10YWItbGFiZWw+e3sgY29kZUZpbGUuZmlsZW5hbWUgfX08L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxwcmUgY2xhc3M9XCJrYnEtY29kZS1ibG9ja19fY29kZSBrYnEtc2Nyb2xsYmFyXCJcbiAgICAgICAgICAgICAjY29kZUNvbnRlbnRcbiAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJnZXRNYXhIZWlnaHQoKVwiXG4gICAgICAgICAgICAgW2NsYXNzLmticS1jb2RlLWJsb2NrX19jb2RlX3NvZnQtd3JhcF09XCJzb2Z0V3JhcFwiXG4gICAgICAgICAgICAgW2NsYXNzLmticS1jb2RlLWJsb2NrX19jb2RlX3ZpZXctYWxsXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgIChzY3JvbGwpPVwiY2hlY2tPdmVyZmxvdyhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgPjxrYnEtYWN0aW9uYmFyLWJsb2NrXG4gICAgICAgICAgICBbY2xhc3Mua2JxLWFjdGlvbmJhci1ibG9ja19mbG9hdGluZ109XCJub0hlYWRlclwiXG4gICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgICBbY29kZUZpbGVzXT1cImNvZGVGaWxlc1wiXG4gICAgICAgICAgICBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCJcbiAgICAgICAgICAgIFtsZXNzQ29udHJhc3RdPVwiZmlsbGVkXCJcbiAgICAgICAgICAgIFttdWx0aUxpbmVdPVwibXVsdGlMaW5lXCJcbiAgICAgICAgICAgIFtzb2Z0V3JhcF09XCJzb2Z0V3JhcFwiXG4gICAgICAgICAgICAodG9nZ2xlU29mdFdyYXApPVwidG9nZ2xlU29mdFdyYXAoKVwiXG4gICAgICAgICAgICAoZG93bmxvYWRDb2RlKT1cImRvd25sb2FkQ29kZSgpXCJcbiAgICAgICAgICAgIChjb3B5Q29kZSk9XCJjb3B5Q29kZSgpXCJcbiAgICAgICAgICAgIChvcGVuRXh0ZXJuYWxTeXN0ZW0pPVwib3BlbkV4dGVybmFsU3lzdGVtKClcIj5cbiAgICAgICAgICAgIDwva2JxLWFjdGlvbmJhci1ibG9jaz48Y29kZSBjbGFzcz1cImhsanNcIlxuICAgICAgICAgICAgICAgW2lkXT1cImNvZGVGaWxlLmZpbGVuYW1lICsgJ18nICsgaVwiXG4gICAgICAgICAgICAgICBbY2xhc3MuaGxqcy1saW5lLW51bWJlcnNdPVwibGluZU51bWJlcnNcIlxuICAgICAgICAgICAgICAgW2hpZ2hsaWdodF09XCJjb2RlRmlsZXNbaV0uY29udGVudFwiXG4gICAgICAgICAgICAgICBbbGluZU51bWJlcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiY2FuU2hvd0ZvY3VzKGNvZGVDb250ZW50KSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAoaGlnaGxpZ2h0ZWQpPVwib25IaWdobGlnaHRlZCgpXCJcbiAgICAgICAgICAgICAgIChibHVyKT1cImhhc0ZvY3VzID0gZmFsc2VcIj5cbiAgICAgICAgICAgIDwvY29kZT48L3ByZT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgKm5nSWY9XCJtYXhIZWlnaHRcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2V4cGFuZGVkXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2NvbGxhcHNlZF09XCIhdmlld0FsbFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3RoZW1lJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtrYnFTdHlsZV09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKGNvZGVDb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNob3dNb3JlQ2xpY2soY29kZUNvbnRlbnQpXCI+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJtYy1hbmdsZS1kb3duLUxfMTZcIiAqbmdJZj1cIiF2aWV3QWxsXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwibWMtYW5nbGUtdXAtTF8xNlwiICpuZ0lmPVwidmlld0FsbFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAge3sgdmlld0FsbCA/IGNvbmZpZy52aWV3TGVzc1RleHQgOiBjb25maWcudmlld0FsbFRleHR9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwva2JxLXRhYj5cbjwva2JxLXRhYi1ncm91cD5cbiJdfQ==
|
|
@@ -21,10 +21,10 @@ export const kbqSelectAnimations = {
|
|
|
21
21
|
opacity: 0
|
|
22
22
|
})),
|
|
23
23
|
transition('void => *', group([
|
|
24
|
-
animate('
|
|
24
|
+
animate('0ms cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
25
25
|
])),
|
|
26
26
|
transition('* => void', [
|
|
27
|
-
animate('
|
|
27
|
+
animate('0ms 0ms linear', style({ opacity: 0 }))
|
|
28
28
|
])
|
|
29
29
|
]),
|
|
30
30
|
/**
|
|
@@ -36,10 +36,10 @@ export const kbqSelectAnimations = {
|
|
|
36
36
|
state('showing', style({ opacity: 1 })),
|
|
37
37
|
transition('void => showing', [
|
|
38
38
|
style({ opacity: 0 }),
|
|
39
|
-
animate('
|
|
39
|
+
animate('0ms 0ms cubic-bezier(0.55, 0, 0.55, 0.2)')
|
|
40
40
|
])
|
|
41
41
|
])
|
|
42
42
|
};
|
|
43
43
|
export const transformPanel = kbqSelectAnimations.transformPanel;
|
|
44
44
|
export const fadeInContent = kbqSelectAnimations.fadeInContent;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvYW5pbWF0aW9uL3NlbGVjdC1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBRVAsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxFQUNQLEtBQUssRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBRzdCOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FHNUI7SUFDQTs7Ozs7Ozs7T0FRRztJQUNILGNBQWMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDdEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDaEIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUMxQixPQUFPLENBQUMsc0NBQXNDLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkQsQ0FBQztLQUNMLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsYUFBYSxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDcEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQztTQUN0RCxDQUFDO0tBQ0wsQ0FBQztDQUNMLENBQUM7QUFHRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLFxuICAgIHN0YXRlLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgdHJpZ2dlcixcbiAgICBncm91cFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuXG4vKipcbiAqIFRoZSBmb2xsb3dpbmcgYXJlIGFsbCB0aGUgYW5pbWF0aW9ucyBmb3IgdGhlIGticS1zZWxlY3QgY29tcG9uZW50LCB3aXRoIGVhY2hcbiAqIGNvbnN0IGNvbnRhaW5pbmcgdGhlIG1ldGFkYXRhIGZvciBvbmUgYW5pbWF0aW9uLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGticVNlbGVjdEFuaW1hdGlvbnM6IHtcbiAgICByZWFkb25seSB0cmFuc2Zvcm1QYW5lbDogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhO1xuICAgIHJlYWRvbmx5IGZhZGVJbkNvbnRlbnQ6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBhbmltYXRpb24gdHJhbnNmb3JtcyB0aGUgc2VsZWN0J3Mgb3ZlcmxheSBwYW5lbCBvbiBhbmQgb2ZmIHRoZSBwYWdlLlxuICAgICAqXG4gICAgICogV2hlbiB0aGUgcGFuZWwgaXMgYXR0YWNoZWQgdG8gdGhlIERPTSwgaXQgZXhwYW5kcyBpdHMgd2lkdGggYnkgdGhlIGFtb3VudCBvZiBwYWRkaW5nLCBzY2FsZXMgaXRcbiAgICAgKiB1cCB0byAxMDAlIG9uIHRoZSBZIGF4aXMsIGZhZGVzIGluIGl0cyBib3JkZXIsIGFuZCB0cmFuc2xhdGVzIHNsaWdodGx5IHVwIGFuZCB0byB0aGVcbiAgICAgKiBzaWRlIHRvIGVuc3VyZSB0aGUgb3B0aW9uIHRleHQgY29ycmVjdGx5IG92ZXJsYXBzIHRoZSB0cmlnZ2VyIHRleHQuXG4gICAgICpcbiAgICAgKiBXaGVuIHRoZSBwYW5lbCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSwgaXQgc2ltcGx5IGZhZGVzIG91dCBsaW5lYXJseS5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm1QYW5lbDogdHJpZ2dlcigndHJhbnNmb3JtUGFuZWwnLCBbXG4gICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGVZKDApJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgZ3JvdXAoW1xuICAgICAgICAgICAgYW5pbWF0ZSgnMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpJylcbiAgICAgICAgXSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbXG4gICAgICAgICAgICBhbmltYXRlKCcwbXMgMG1zIGxpbmVhcicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIC8qKlxuICAgICAqIFRoaXMgYW5pbWF0aW9uIGZhZGVzIGluIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGFuZCB0ZXh0IGNvbnRlbnQgb2YgdGhlXG4gICAgICogc2VsZWN0J3Mgb3B0aW9ucy4gSXQgaXMgdGltZSBkZWxheWVkIHRvIG9jY3VyIDEwMG1zIGFmdGVyIHRoZSBvdmVybGF5XG4gICAgICogcGFuZWwgaGFzIHRyYW5zZm9ybWVkIGluLlxuICAgICAqL1xuICAgIGZhZGVJbkNvbnRlbnQ6IHRyaWdnZXIoJ2ZhZGVJbkNvbnRlbnQnLCBbXG4gICAgICAgIHN0YXRlKCdzaG93aW5nJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBzaG93aW5nJywgW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICAgICAgYW5pbWF0ZSgnMG1zIDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKScpXG4gICAgICAgIF0pXG4gICAgXSlcbn07XG5cblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVBhbmVsID0ga2JxU2VsZWN0QW5pbWF0aW9ucy50cmFuc2Zvcm1QYW5lbDtcblxuZXhwb3J0IGNvbnN0IGZhZGVJbkNvbnRlbnQgPSBrYnFTZWxlY3RBbmltYXRpb25zLmZhZGVJbkNvbnRlbnQ7XG4iXX0=
|
|
@@ -5,4 +5,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
5
5
|
* retention of the `KbqFormField` class and its component metadata.
|
|
6
6
|
*/
|
|
7
7
|
export const KBQ_FORM_FIELD_REF = new InjectionToken('KbqFormFieldRef');
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybS1maWVsZC9mb3JtLWZpZWxkLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVS9DOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBLYnFGb3JtRmllbGRSZWYge1xuICAgIGNvbnRyb2w6IGFueTtcbiAgICBjYW5DbGVhbmVyQ2xlYXJCeUVzYzogYm9vbGVhbjtcbiAgICBzaG91bGRGb3J3YXJkKHN0cjogc3RyaW5nKTogYm9vbGVhbjtcbiAgICBmb2N1c1ZpYUtleWJvYXJkKCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5qZWN0IGFuIGluc3RhbmNlcyBvZiBgS2JxRm9ybUZpZWxkYC4gSXQgc2VydmVzXG4gKiBhcyBhbHRlcm5hdGl2ZSB0b2tlbiB0byB0aGUgYWN0dWFsIGBLYnFGb3JtRmllbGRgIGNsYXNzIHdoaWNoIHdvdWxkIGNhdXNlIHVubmVjZXNzYXJ5XG4gKiByZXRlbnRpb24gb2YgdGhlIGBLYnFGb3JtRmllbGRgIGNsYXNzIGFuZCBpdHMgY29tcG9uZW50IG1ldGFkYXRhLlxuICovXG5leHBvcnQgY29uc3QgS0JRX0ZPUk1fRklFTERfUkVGID0gbmV3IEluamVjdGlvblRva2VuPEticUZvcm1GaWVsZFJlZj4oJ0ticUZvcm1GaWVsZFJlZicpO1xuIl19
|
|
@@ -16,6 +16,22 @@ export const enUSFormattersData = {
|
|
|
16
16
|
groupSeparator: [','],
|
|
17
17
|
fractionSeparator: '.'
|
|
18
18
|
}
|
|
19
|
+
},
|
|
20
|
+
sizeUnits: {
|
|
21
|
+
defaultUnitSystem: 'SI',
|
|
22
|
+
defaultPrecision: 2,
|
|
23
|
+
unitSystems: {
|
|
24
|
+
SI: {
|
|
25
|
+
abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
|
|
26
|
+
base: 10,
|
|
27
|
+
power: 3
|
|
28
|
+
},
|
|
29
|
+
IEC: {
|
|
30
|
+
abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
|
|
31
|
+
base: 2,
|
|
32
|
+
power: 10
|
|
33
|
+
}
|
|
34
|
+
}
|
|
19
35
|
}
|
|
20
36
|
};
|
|
21
37
|
export const esLAFormattersData = {
|
|
@@ -38,6 +54,22 @@ export const esLAFormattersData = {
|
|
|
38
54
|
groupSeparator: [' ', ' '],
|
|
39
55
|
fractionSeparator: ','
|
|
40
56
|
}
|
|
57
|
+
},
|
|
58
|
+
sizeUnits: {
|
|
59
|
+
defaultUnitSystem: 'SI',
|
|
60
|
+
defaultPrecision: 2,
|
|
61
|
+
unitSystems: {
|
|
62
|
+
SI: {
|
|
63
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
64
|
+
base: 10,
|
|
65
|
+
power: 3
|
|
66
|
+
},
|
|
67
|
+
IEC: {
|
|
68
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
69
|
+
base: 2,
|
|
70
|
+
power: 10
|
|
71
|
+
}
|
|
72
|
+
}
|
|
41
73
|
}
|
|
42
74
|
};
|
|
43
75
|
export const faIRFormattersData = {
|
|
@@ -59,6 +91,22 @@ export const faIRFormattersData = {
|
|
|
59
91
|
groupSeparator: ['\u066C'],
|
|
60
92
|
fractionSeparator: '\u066B'
|
|
61
93
|
}
|
|
94
|
+
},
|
|
95
|
+
sizeUnits: {
|
|
96
|
+
defaultUnitSystem: 'SI',
|
|
97
|
+
defaultPrecision: 2,
|
|
98
|
+
unitSystems: {
|
|
99
|
+
SI: {
|
|
100
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
101
|
+
base: 10,
|
|
102
|
+
power: 3
|
|
103
|
+
},
|
|
104
|
+
IEC: {
|
|
105
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
106
|
+
base: 2,
|
|
107
|
+
power: 10
|
|
108
|
+
}
|
|
109
|
+
}
|
|
62
110
|
}
|
|
63
111
|
};
|
|
64
112
|
export const ptBRFormattersData = {
|
|
@@ -79,6 +127,22 @@ export const ptBRFormattersData = {
|
|
|
79
127
|
groupSeparator: ['.'],
|
|
80
128
|
fractionSeparator: ','
|
|
81
129
|
}
|
|
130
|
+
},
|
|
131
|
+
sizeUnits: {
|
|
132
|
+
defaultUnitSystem: 'SI',
|
|
133
|
+
defaultPrecision: 2,
|
|
134
|
+
unitSystems: {
|
|
135
|
+
SI: {
|
|
136
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
137
|
+
base: 10,
|
|
138
|
+
power: 3
|
|
139
|
+
},
|
|
140
|
+
IEC: {
|
|
141
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
142
|
+
base: 2,
|
|
143
|
+
power: 10
|
|
144
|
+
}
|
|
145
|
+
}
|
|
82
146
|
}
|
|
83
147
|
};
|
|
84
148
|
export const ruRUFormattersData = {
|
|
@@ -102,6 +166,22 @@ export const ruRUFormattersData = {
|
|
|
102
166
|
fractionSeparator: ',',
|
|
103
167
|
startFormattingFrom: 4
|
|
104
168
|
}
|
|
169
|
+
},
|
|
170
|
+
sizeUnits: {
|
|
171
|
+
defaultUnitSystem: 'SI',
|
|
172
|
+
defaultPrecision: 2,
|
|
173
|
+
unitSystems: {
|
|
174
|
+
SI: {
|
|
175
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
176
|
+
base: 10,
|
|
177
|
+
power: 3
|
|
178
|
+
},
|
|
179
|
+
IEC: {
|
|
180
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
181
|
+
base: 2,
|
|
182
|
+
power: 10
|
|
183
|
+
}
|
|
184
|
+
}
|
|
105
185
|
}
|
|
106
186
|
};
|
|
107
187
|
export const zhCNFormattersData = {
|
|
@@ -121,6 +201,22 @@ export const zhCNFormattersData = {
|
|
|
121
201
|
groupSeparator: [','],
|
|
122
202
|
fractionSeparator: '.'
|
|
123
203
|
}
|
|
204
|
+
},
|
|
205
|
+
sizeUnits: {
|
|
206
|
+
defaultUnitSystem: 'SI',
|
|
207
|
+
defaultPrecision: 2,
|
|
208
|
+
unitSystems: {
|
|
209
|
+
SI: {
|
|
210
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
211
|
+
base: 10,
|
|
212
|
+
power: 3
|
|
213
|
+
},
|
|
214
|
+
IEC: {
|
|
215
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
216
|
+
base: 2,
|
|
217
|
+
power: 10
|
|
218
|
+
}
|
|
219
|
+
}
|
|
124
220
|
}
|
|
125
221
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9sb2NhbGVzL2Zvcm1hdHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxFQUFFO2dCQUNiLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixRQUFRLEVBQUUsR0FBRztnQkFDYixPQUFPLEVBQUUsR0FBRztnQkFDWixPQUFPLEVBQUUsR0FBRztnQkFDWixRQUFRLEVBQUUsR0FBRzthQUNoQjtTQUNKO0tBQ0o7SUFDRCxLQUFLLEVBQUU7UUFDSCxNQUFNLEVBQUU7WUFDSixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN6QjtLQUNKO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLFVBQVUsRUFBRTtRQUNSLE1BQU0sRUFBRTtZQUNKLFFBQVEsRUFBRTtnQkFDTixTQUFTLEVBQUUsRUFBRTtnQkFDYixjQUFjLEVBQUUsR0FBRztnQkFDbkIsUUFBUSxFQUFFLEdBQUc7Z0JBQ2IsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsUUFBUSxFQUFFLEdBQUc7YUFDaEI7U0FDSjtLQUNKO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsTUFBTSxFQUFFO1lBQ0osOERBQThEO1lBQzlELG1EQUFtRDtZQUNuRCxjQUFjLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQzFCLGlCQUFpQixFQUFFLEdBQUc7U0FDekI7S0FDSjtDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixVQUFVLEVBQUU7UUFDUixNQUFNLEVBQUU7WUFDSixRQUFRLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLEdBQUc7Z0JBQ2QsY0FBYyxFQUFFLEdBQUc7Z0JBQ25CLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEdBQUcsRUFBRSxJQUFJO2FBQ1o7U0FDSjtLQUNKO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsTUFBTSxFQUFFO1lBQ0osY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQzFCLGlCQUFpQixFQUFFLFFBQVE7U0FDOUI7S0FDSjtDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixVQUFVLEVBQUU7UUFDUixNQUFNLEVBQUU7WUFDSixRQUFRLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLEdBQUc7Z0JBQ2QsY0FBYyxFQUFFLEdBQUc7Z0JBQ25CLFFBQVEsRUFBRSxLQUFLO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxLQUFLO2FBQ2xCO1NBQ0o7S0FDSjtJQUNELEtBQUssRUFBRTtRQUNILE1BQU0sRUFBRTtZQUNKLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNyQixpQkFBaUIsRUFBRSxHQUFHO1NBQ3pCO0tBQ0o7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxHQUFHO2dCQUNkLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixRQUFRLEVBQUUsR0FBRztnQkFDYixPQUFPLEVBQUUsR0FBRztnQkFDWixPQUFPLEVBQUUsR0FBRztnQkFDWixRQUFRLEVBQUUsR0FBRzthQUNoQjtTQUNKO0tBQ0o7SUFDRCxLQUFLLEVBQUU7UUFDSCxNQUFNLEVBQUU7WUFDSiw4REFBOEQ7WUFDOUQsbURBQW1EO1lBQ25ELGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDMUIsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixtQkFBbUIsRUFBRSxDQUFDO1NBQ3pCO0tBQ0o7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxHQUFHO2dCQUNkLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixXQUFXLEVBQUUsR0FBRztnQkFDaEIsa0JBQWtCLEVBQUUsR0FBRztnQkFDdkIsUUFBUSxFQUFFLEdBQUc7YUFDaEI7U0FDSjtLQUNKO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsTUFBTSxFQUFFO1lBQ0osY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ3JCLGlCQUFpQixFQUFFLEdBQUc7U0FDekI7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5VU0Zvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJycsXG4gICAgICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICB0aG91c2FuZDogJ0snLFxuICAgICAgICAgICAgICAgIG1pbGxpb246ICdNJyxcbiAgICAgICAgICAgICAgICBiaWxsaW9uOiAnQicsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICdUJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBpbnB1dDoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiBbJywnXSxcbiAgICAgICAgICAgIGZyYWN0aW9uU2VwYXJhdG9yOiAnLidcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBlc0xBRm9ybWF0dGVyc0RhdGEgPSB7XG4gICAgZm9ybWF0dGVyczoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIHJvdW5kaW5nOiB7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiAnJyxcbiAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kOiAnSycsXG4gICAgICAgICAgICAgICAgbWlsbGlvbjogJ00nLFxuICAgICAgICAgICAgICAgIGJpbGxpb246ICdNUkQnLFxuICAgICAgICAgICAgICAgIHRyaWxsaW9uOiAnQidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5wdXQ6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICAvLyBuYnNwIGlzIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGFuZCB1c2VkIGJ5IGRlZmF1bHQgaW4gc3BlY1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlycmVndWxhci13aGl0ZXNwYWNlXG4gICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWyfCoCcsICcgJ10sXG4gICAgICAgICAgICBmcmFjdGlvblNlcGFyYXRvcjogJywnXG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZmFJUkZvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgICAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiAn2asnLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kOiAn2YfYstin2LEnLFxuICAgICAgICAgICAgICAgIG1pbGxpb246ICfZhduM2YTbjNmI2YYnLFxuICAgICAgICAgICAgICAgIGJpbGxpb246ICfZhScsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICfYqtix24zZhNuM2YjZhicsXG4gICAgICAgICAgICAgICAgcnRsOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6IFsnXFx1MDY2QyddLFxuICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICdcXHUwNjZCJ1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHB0QlJGb3JtYXR0ZXJzRGF0YSA9IHtcbiAgICBmb3JtYXR0ZXJzOiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgcm91bmRpbmc6IHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6ICcgJyxcbiAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kOiAnbWlsJyxcbiAgICAgICAgICAgICAgICBtaWxsaW9uOiAnbWknLFxuICAgICAgICAgICAgICAgIGJpbGxpb246ICdiaScsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICd0cmknXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6IFsnLiddLFxuICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICcsJ1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJ1UlVGb3JtYXR0ZXJzRGF0YSA9IHtcbiAgICBmb3JtYXR0ZXJzOiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgcm91bmRpbmc6IHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6ICcgJyxcbiAgICAgICAgICAgICAgICBncm91cFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kOiAn0JonLFxuICAgICAgICAgICAgICAgIG1pbGxpb246ICfQnCcsXG4gICAgICAgICAgICAgICAgYmlsbGlvbjogJ9CcJyxcbiAgICAgICAgICAgICAgICB0cmlsbGlvbjogJ9CiJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBpbnB1dDoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIC8vIG5ic3AgaXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYW5kIHVzZWQgYnkgZGVmYXVsdCBpbiBzcGVjXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taXJyZWd1bGFyLXdoaXRlc3BhY2VcbiAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiBbJ8KgJywgJyAnXSxcbiAgICAgICAgICAgIGZyYWN0aW9uU2VwYXJhdG9yOiAnLCcsXG4gICAgICAgICAgICBzdGFydEZvcm1hdHRpbmdGcm9tOiA0XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgemhDTkZvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgICAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiAnLicsXG4gICAgICAgICAgICAgICAgdGVuVGhvdXNhbmQ6ICfkuIcnLFxuICAgICAgICAgICAgICAgIG9uZUh1bmRyZWRNaWxsaW9uczogJ+S6vycsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICflhYYnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6IFsnLCddLFxuICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICcuJ1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9sb2NhbGVzL2Zvcm1hdHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxFQUFFO2dCQUNiLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixRQUFRLEVBQUUsR0FBRztnQkFDYixPQUFPLEVBQUUsR0FBRztnQkFDWixPQUFPLEVBQUUsR0FBRztnQkFDWixRQUFRLEVBQUUsR0FBRzthQUNoQjtTQUNKO0tBQ0o7SUFDRCxLQUFLLEVBQUU7UUFDSCxNQUFNLEVBQUU7WUFDSixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN6QjtLQUNKO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixnQkFBZ0IsRUFBRSxDQUFDO1FBQ25CLFdBQVcsRUFBRTtZQUNULEVBQUUsRUFBRTtnQkFDQSxhQUFhLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2dCQUM1QyxJQUFJLEVBQUUsRUFBRTtnQkFDUixLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0QsR0FBRyxFQUFFO2dCQUNELGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ2hELElBQUksRUFBRSxDQUFDO2dCQUNQLEtBQUssRUFBRSxFQUFFO2FBQ1o7U0FDSjtLQUNKO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLFVBQVUsRUFBRTtRQUNSLE1BQU0sRUFBRTtZQUNKLFFB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aEQsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLEVBQUU7YUFDWjtTQUNKO0tBQ0o7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxHQUFHO2dCQUNkLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixXQUFXLEVBQUUsR0FBRztnQkFDaEIsa0JBQWtCLEVBQUUsR0FBRztnQkFDdkIsUUFBUSxFQUFFLEdBQUc7YUFDaEI7U0FDSjtLQUNKO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsTUFBTSxFQUFFO1lBQ0osY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ3JCLGlCQUFpQixFQUFFLEdBQUc7U0FDekI7S0FDSjtJQUNELFNBQVMsRUFBRTtRQUNQLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsZ0JBQWdCLEVBQUUsQ0FBQztRQUNuQixXQUFXLEVBQUU7WUFDVCxFQUFFLEVBQUU7Z0JBQ0EsYUFBYSxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztnQkFDNUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLENBQUM7YUFDWDtZQUNELEdBQUcsRUFBRTtnQkFDRCxhQUFhLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO2dCQUNoRCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxLQUFLLEVBQUUsRUFBRTthQUNaO1NBQ0o7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5VU0Zvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJycsXG4gICAgICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICB0aG91c2FuZDogJ0snLFxuICAgICAgICAgICAgICAgIG1pbGxpb246ICdNJyxcbiAgICAgICAgICAgICAgICBiaWxsaW9uOiAnQicsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICdUJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBpbnB1dDoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiBbJywnXSxcbiAgICAgICAgICAgIGZyYWN0aW9uU2VwYXJhdG9yOiAnLidcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2l6ZVVuaXRzOiB7XG4gICAgICAgIGRlZmF1bHRVbml0U3lzdGVtOiAnU0knLFxuICAgICAgICBkZWZhdWx0UHJlY2lzaW9uOiAyLFxuICAgICAgICB1bml0U3lzdGVtczoge1xuICAgICAgICAgICAgU0k6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInXSxcbiAgICAgICAgICAgICAgICBiYXNlOiAxMCxcbiAgICAgICAgICAgICAgICBwb3dlcjogM1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIElFQzoge1xuICAgICAgICAgICAgICAgIGFiYnJldmlhdGlvbnM6IFsnQicsICdLaUInLCAnTWlCJywgJ0dpQicsICdUaUInXSxcbiAgICAgICAgICAgICAgICBiYXNlOiAyLFxuICAgICAgICAgICAgICAgIHBvd2VyOiAxMFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGVzTEFGb3JtYXR0ZXJzRGF0YSA9IHtcbiAgICBmb3JtYXR0ZXJzOiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgcm91bmRpbmc6IHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6ICcnLFxuICAgICAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiAnLCcsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmQ6ICdLJyxcbiAgICAgICAgICAgICAgICBtaWxsaW9uOiAnTScsXG4gICAgICAgICAgICAgICAgYmlsbGlvbjogJ01SRCcsXG4gICAgICAgICAgICAgICAgdHJpbGxpb246ICdCJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBpbnB1dDoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIC8vIG5ic3AgaXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYW5kIHVzZWQgYnkgZGVmYXVsdCBpbiBzcGVjXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taXJyZWd1bGFyLXdoaXRlc3BhY2VcbiAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiBbJ8KgJywgJyAnXSxcbiAgICAgICAgICAgIGZyYWN0aW9uU2VwYXJhdG9yOiAnLCdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2l6ZVVuaXRzOiB7XG4gICAgICAgIGRlZmF1bHRVbml0U3lzdGVtOiAnU0knLFxuICAgICAgICBkZWZhdWx0UHJlY2lzaW9uOiAyLFxuICAgICAgICB1bml0U3lzdGVtczoge1xuICAgICAgICAgICAgU0k6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ9CRJywgJ9Ca0JEnLCAn0JzQkScsICfQk9CRJywgJ9Ci0JEnXSxcbiAgICAgICAgICAgICAgICBiYXNlOiAxMCxcbiAgICAgICAgICAgICAgICBwb3dlcjogM1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIElFQzoge1xuICAgICAgICAgICAgICAgIGFiYnJldmlhdGlvbnM6IFsn0JEnLCAn0JrQuNCRJywgJ9Cc0LjQkScsICfQk9C40JEnLCAn0KLQuNCRJ10sXG4gICAgICAgICAgICAgICAgYmFzZTogMixcbiAgICAgICAgICAgICAgICBwb3dlcjogMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmYUlSRm9ybWF0dGVyc0RhdGEgPSB7XG4gICAgZm9ybWF0dGVyczoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIHJvdW5kaW5nOiB7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiAnICcsXG4gICAgICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6ICfZqycsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmQ6ICfZh9iy2KfYsScsXG4gICAgICAgICAgICAgICAgbWlsbGlvbjogJ9mF24zZhNuM2YjZhicsXG4gICAgICAgICAgICAgICAgYmlsbGlvbjogJ9mFJyxcbiAgICAgICAgICAgICAgICB0cmlsbGlvbjogJ9iq2LHbjNmE24zZiNmGJyxcbiAgICAgICAgICAgICAgICBydGw6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5wdXQ6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWydcXHUwNjZDJ10sXG4gICAgICAgICAgICBmcmFjdGlvblNlcGFyYXRvcjogJ1xcdTA2NkInXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHNpemVVbml0czoge1xuICAgICAgICBkZWZhdWx0VW5pdFN5c3RlbTogJ1NJJyxcbiAgICAgICAgZGVmYXVsdFByZWNpc2lvbjogMixcbiAgICAgICAgdW5pdFN5c3RlbXM6IHtcbiAgICAgICAgICAgIFNJOiB7XG4gICAgICAgICAgICAgICAgYWJicmV2aWF0aW9uczogWyfQkScsICfQmtCRJywgJ9Cc0JEnLCAn0JPQkScsICfQotCRJ10sXG4gICAgICAgICAgICAgICAgYmFzZTogMTAsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBJRUM6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ9CRJywgJ9Ca0LjQkScsICfQnNC40JEnLCAn0JPQuNCRJywgJ9Ci0LjQkSddLFxuICAgICAgICAgICAgICAgIGJhc2U6IDIsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDEwXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgcHRCUkZvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgICAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiAnLCcsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmQ6ICdtaWwnLFxuICAgICAgICAgICAgICAgIG1pbGxpb246ICdtaScsXG4gICAgICAgICAgICAgICAgYmlsbGlvbjogJ2JpJyxcbiAgICAgICAgICAgICAgICB0cmlsbGlvbjogJ3RyaSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5wdXQ6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWycuJ10sXG4gICAgICAgICAgICBmcmFjdGlvblNlcGFyYXRvcjogJywnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHNpemVVbml0czoge1xuICAgICAgICBkZWZhdWx0VW5pdFN5c3RlbTogJ1NJJyxcbiAgICAgICAgZGVmYXVsdFByZWNpc2lvbjogMixcbiAgICAgICAgdW5pdFN5c3RlbXM6IHtcbiAgICAgICAgICAgIFNJOiB7XG4gICAgICAgICAgICAgICAgYWJicmV2aWF0aW9uczogWyfQkScsICfQmtCRJywgJ9Cc0JEnLCAn0JPQkScsICfQotCRJ10sXG4gICAgICAgICAgICAgICAgYmFzZTogMTAsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBJRUM6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ9CRJywgJ9Ca0LjQkScsICfQnNC40JEnLCAn0JPQuNCRJywgJ9Ci0LjQkSddLFxuICAgICAgICAgICAgICAgIGJhc2U6IDIsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDEwXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgcnVSVUZvcm1hdHRlcnNEYXRhID0ge1xuICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICByb3VuZGluZzoge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgICAgICAgICAgICAgIGdyb3VwU2VwYXJhdG9yOiAnLCcsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmQ6ICfQmicsXG4gICAgICAgICAgICAgICAgbWlsbGlvbjogJ9CcJyxcbiAgICAgICAgICAgICAgICBiaWxsaW9uOiAn0JwnLFxuICAgICAgICAgICAgICAgIHRyaWxsaW9uOiAn0KInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlucHV0OiB7XG4gICAgICAgIG51bWJlcjoge1xuICAgICAgICAgICAgLy8gbmJzcCBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBhbmQgdXNlZCBieSBkZWZhdWx0IGluIHNwZWNcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pcnJlZ3VsYXItd2hpdGVzcGFjZVxuICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6IFsnwqAnLCAnICddLFxuICAgICAgICAgICAgZnJhY3Rpb25TZXBhcmF0b3I6ICcsJyxcbiAgICAgICAgICAgIHN0YXJ0Rm9ybWF0dGluZ0Zyb206IDRcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2l6ZVVuaXRzOiB7XG4gICAgICAgIGRlZmF1bHRVbml0U3lzdGVtOiAnU0knLFxuICAgICAgICBkZWZhdWx0UHJlY2lzaW9uOiAyLFxuICAgICAgICB1bml0U3lzdGVtczoge1xuICAgICAgICAgICAgU0k6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ9CRJywgJ9Ca0JEnLCAn0JzQkScsICfQk9CRJywgJ9Ci0JEnXSxcbiAgICAgICAgICAgICAgICBiYXNlOiAxMCxcbiAgICAgICAgICAgICAgICBwb3dlcjogM1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIElFQzoge1xuICAgICAgICAgICAgICAgIGFiYnJldmlhdGlvbnM6IFsn0JEnLCAn0JrQuNCRJywgJ9Cc0LjQkScsICfQk9C40JEnLCAn0KLQuNCRJ10sXG4gICAgICAgICAgICAgICAgYmFzZTogMixcbiAgICAgICAgICAgICAgICBwb3dlcjogMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCB6aENORm9ybWF0dGVyc0RhdGEgPSB7XG4gICAgZm9ybWF0dGVyczoge1xuICAgICAgICBudW1iZXI6IHtcbiAgICAgICAgICAgIHJvdW5kaW5nOiB7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiAnICcsXG4gICAgICAgICAgICAgICAgZ3JvdXBTZXBhcmF0b3I6ICcuJyxcbiAgICAgICAgICAgICAgICB0ZW5UaG91c2FuZDogJ+S4hycsXG4gICAgICAgICAgICAgICAgb25lSHVuZHJlZE1pbGxpb25zOiAn5Lq/JyxcbiAgICAgICAgICAgICAgICB0cmlsbGlvbjogJ+WFhidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5wdXQ6IHtcbiAgICAgICAgbnVtYmVyOiB7XG4gICAgICAgICAgICBncm91cFNlcGFyYXRvcjogWycsJ10sXG4gICAgICAgICAgICBmcmFjdGlvblNlcGFyYXRvcjogJy4nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHNpemVVbml0czoge1xuICAgICAgICBkZWZhdWx0VW5pdFN5c3RlbTogJ1NJJyxcbiAgICAgICAgZGVmYXVsdFByZWNpc2lvbjogMixcbiAgICAgICAgdW5pdFN5c3RlbXM6IHtcbiAgICAgICAgICAgIFNJOiB7XG4gICAgICAgICAgICAgICAgYWJicmV2aWF0aW9uczogWyfQkScsICfQmtCRJywgJ9Cc0JEnLCAn0JPQkScsICfQotCRJ10sXG4gICAgICAgICAgICAgICAgYmFzZTogMTAsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBJRUM6IHtcbiAgICAgICAgICAgICAgICBhYmJyZXZpYXRpb25zOiBbJ9CRJywgJ9Ca0LjQkScsICfQnNC40JEnLCAn0JPQuNCRJywgJ9Ci0LjQkSddLFxuICAgICAgICAgICAgICAgIGJhc2U6IDIsXG4gICAgICAgICAgICAgICAgcG93ZXI6IDEwXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable, InjectionToken, Optional, inject } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { enUSLocaleData } from './en-US';
|
|
4
4
|
import { esLALocaleData } from './es-LA';
|
|
@@ -7,6 +7,7 @@ import { ptBRLocaleData } from './pt-BR';
|
|
|
7
7
|
import { ruRULocaleData } from './ru-RU';
|
|
8
8
|
import { zhCNLocaleData } from './zh-CN';
|
|
9
9
|
import { enUSFormattersData, esLAFormattersData, faIRFormattersData, ptBRFormattersData, ruRUFormattersData, zhCNFormattersData } from './formatters';
|
|
10
|
+
import { DOCUMENT } from '@angular/common';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export const KBQ_LOCALE_ID = new InjectionToken('KbqLocaleId');
|
|
12
13
|
export const KBQ_DEFAULT_LOCALE_ID = 'ru-RU';
|
|
@@ -33,6 +34,7 @@ export const KBQ_LOCALE_SERVICE = new InjectionToken('KBQ_LOCALE_SERVICE');
|
|
|
33
34
|
export class KbqLocaleService {
|
|
34
35
|
constructor(id, localeData) {
|
|
35
36
|
this.locales = {};
|
|
37
|
+
this.document = inject(DOCUMENT);
|
|
36
38
|
this.locales = localeData;
|
|
37
39
|
this.id = id || KBQ_DEFAULT_LOCALE_ID;
|
|
38
40
|
this.current = this.locales[this.id];
|
|
@@ -41,6 +43,7 @@ export class KbqLocaleService {
|
|
|
41
43
|
setLocale(id) {
|
|
42
44
|
this.id = id;
|
|
43
45
|
this.current = this.locales[this.id];
|
|
46
|
+
this.document.documentElement.lang = this.id;
|
|
44
47
|
this.changes.next(this.id);
|
|
45
48
|
}
|
|
46
49
|
addLocale(id, localeData) {
|
|
@@ -68,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
68
71
|
type: Inject,
|
|
69
72
|
args: [KBQ_LOCALE_DATA]
|
|
70
73
|
}] }] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvbG9jYWxlcy9sb2NhbGUtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXpDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRzNDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxhQUFhLENBQUMsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUM7QUFFN0MsTUFBTSxVQUFVLCtCQUErQjtJQUMzQyxPQUFPO1FBQ0gsS0FBSyxFQUFFO1lBQ0gsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDaEMsRUFBRSxFQUFFLEVB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QUFhOzswQkFDaEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGVuVVNMb2NhbGVEYXRhIH0gZnJvbSAnLi9lbi1VUyc7XG5pbXBvcnQgeyBlc0xBTG9jYWxlRGF0YSB9IGZyb20gJy4vZXMtTEEnO1xuaW1wb3J0IHsgZmFJUkxvY2FsZURhdGEgfSBmcm9tICcuL2ZhLUlSJztcbmltcG9ydCB7IHB0QlJMb2NhbGVEYXRhIH0gZnJvbSAnLi9wdC1CUic7XG5pbXBvcnQgeyBydVJVTG9jYWxlRGF0YSB9IGZyb20gJy4vcnUtUlUnO1xuaW1wb3J0IHsgemhDTkxvY2FsZURhdGEgfSBmcm9tICcuL3poLUNOJztcblxuaW1wb3J0IHtcbiAgICBlblVTRm9ybWF0dGVyc0RhdGEsXG4gICAgZXNMQUZvcm1hdHRlcnNEYXRhLFxuICAgIGZhSVJGb3JtYXR0ZXJzRGF0YSxcbiAgICBwdEJSRm9ybWF0dGVyc0RhdGEsXG4gICAgcnVSVUZvcm1hdHRlcnNEYXRhLFxuICAgIHpoQ05Gb3JtYXR0ZXJzRGF0YVxufSBmcm9tICcuL2Zvcm1hdHRlcnMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5cbmV4cG9ydCBjb25zdCBLQlFfTE9DQUxFX0lEID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0ticUxvY2FsZUlkJyk7XG5cbmV4cG9ydCBjb25zdCBLQlFfREVGQVVMVF9MT0NBTEVfSUQgPSAncnUtUlUnO1xuXG5leHBvcnQgZnVuY3Rpb24gS0JRX0RFRkFVTFRfTE9DQUxFX0RBVEFfRkFDVE9SWSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgeyBpZDogJ2VuLVVTJywgbmFtZTogJ0VuZ2xpc2gnIH0sXG4gICAgICAgICAgICB7IGlkOiAnemgtQ04nLCBuYW1lOiAn566A5L2T5Lit5paHJyB9LFxuICAgICAgICAgICAgeyBpZDogJ2VzLUxBJywgbmFtZTogJ0VzcGHDsW9sJyB9LFxuICAgICAgICAgICAgeyBpZDogJ3B0LUJSJywgbmFtZTogJ1BvcnR1Z3XDqnMnIH0sXG4gICAgICAgICAgICB7IGlkOiAncnUtUlUnLCBuYW1lOiAn0KDRg9GB0YHQutC40LknIH0sXG4gICAgICAgICAgICB7IGlkOiAnZmEtSVInLCBuYW1lOiAn2YHYp9ix2LPbjCcgfVxuICAgICAgICBdLFxuICAgICAgICAnZW4tVVMnOiB7IC4uLmVuVVNMb2NhbGVEYXRhLCAuLi5lblVTRm9ybWF0dGVyc0RhdGEgfSxcbiAgICAgICAgJ3poLUNOJzogeyAuLi56aENOTG9jYWxlRGF0YSwgLi4uemhDTkZvcm1hdHRlcnNEYXRhIH0sXG4gICAgICAgICdlcy1MQSc6IHsgLi4uZXNMQUxvY2FsZURhdGEsIC4uLmVzTEFGb3JtYXR0ZXJzRGF0YSB9LFxuICAgICAgICAncHQtQlInOiB7IC4uLnB0QlJMb2NhbGVEYXRhLCAuLi5wdEJSRm9ybWF0dGVyc0RhdGEgfSxcbiAgICAgICAgJ3J1LVJVJzogeyAuLi5ydVJVTG9jYWxlRGF0YSwgLi4ucnVSVUZvcm1hdHRlcnNEYXRhIH0sXG4gICAgICAgICdmYS1JUic6IHsgLi4uZmFJUkxvY2FsZURhdGEsIC4uLmZhSVJGb3JtYXR0ZXJzRGF0YSB9XG4gICAgfTtcbn1cbmV4cG9ydCBjb25zdCBLQlFfTE9DQUxFX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PihcbiAgICAnS0JRX0xPQ0FMRV9EQVRBJywgeyBwcm92aWRlZEluOiAncm9vdCcsIGZhY3Rvcnk6IEtCUV9ERUZBVUxUX0xPQ0FMRV9EQVRBX0ZBQ1RPUlkgfSk7XG5cblxuZXhwb3J0IGNvbnN0IEtCUV9MT0NBTEVfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLYnFMb2NhbGVTZXJ2aWNlPignS0JRX0xPQ0FMRV9TRVJWSUNFJyk7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFMb2NhbGVTZXJ2aWNlIHtcbiAgICByZWFkb25seSBjaGFuZ2VzOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPjtcbiAgICByZWFkb25seSBsb2NhbGVzOiBhbnkgPSB7fTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgaWQ6IHN0cmluZztcbiAgICBjdXJyZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9JRCkgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX0RBVEEpIGxvY2FsZURhdGFcbiAgICApIHtcbiAgICAgICAgdGhpcy5sb2NhbGVzID0gbG9jYWxlRGF0YTtcblxuICAgICAgICB0aGlzLmlkID0gaWQgfHwgS0JRX0RFRkFVTFRfTE9DQUxFX0lEO1xuICAgICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmxvY2FsZXNbdGhpcy5pZF07XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBzZXRMb2NhbGUoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMubG9jYWxlc1t0aGlzLmlkXTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nID0gdGhpcy5pZDtcblxuICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBhZGRMb2NhbGUoaWQ6IHN0cmluZywgbG9jYWxlRGF0YSkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHRoaXMuaWQpO1xuXG4gICAgICAgIHRoaXMubG9jYWxlc1t0aGlzLmlkXSA9IGxvY2FsZURhdGE7XG4gICAgfVxuXG4gICAgZ2V0UGFyYW1zKGNvbXBvbmVudE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50W2NvbXBvbmVudE5hbWVdO1xuICAgIH1cbn1cbiJdfQ==
|