@fundamental-ngx/platform 0.44.1-rc.3 → 0.45.0
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/action-bar/action-bar.component.d.ts +1 -6
- package/action-bar/action-bar.module.d.ts +3 -4
- package/button/button.module.d.ts +2 -3
- package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +1 -3
- package/esm2022/action-bar/action-bar.component.mjs +3 -5
- package/esm2022/action-bar/action-bar.module.mjs +5 -26
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +5 -5
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +5 -5
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +5 -5
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
- package/esm2022/approval-flow/approval-flow.component.mjs +1 -1
- package/esm2022/button/button.module.mjs +5 -6
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +2 -8
- package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
- package/esm2022/feed-input/feed-input.component.mjs +3 -17
- package/esm2022/form/checkbox/checkbox.component.mjs +3 -50
- package/esm2022/form/checkbox/checkbox.module.mjs +5 -26
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +10 -38
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +5 -23
- package/esm2022/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
- package/esm2022/form/combobox/combobox.module.mjs +4 -8
- package/esm2022/form/date-picker/date-picker.component.mjs +4 -66
- package/esm2022/form/date-picker/date-picker.module.mjs +5 -26
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -56
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +5 -26
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +2 -2
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +2 -2
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +2 -2
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +2 -2
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +35 -60
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
- package/esm2022/form/form-group/fdp-form.module.mjs +1 -5
- package/esm2022/form/form-group/form-field/form-field.component.mjs +5 -41
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
- package/esm2022/form/form-group/form-group.component.mjs +5 -29
- package/esm2022/form/index.mjs +1 -2
- package/esm2022/form/input/fdp-input.module.mjs +5 -23
- package/esm2022/form/input-group/input-group.module.mjs +4 -22
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -8
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/form/multi-input/multi-input.component.mjs +3 -3
- package/esm2022/form/multi-input/multi-input.module.mjs +4 -8
- package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +9 -27
- package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +5 -23
- package/esm2022/form/radio-group/radio/radio.component.mjs +3 -22
- package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -17
- package/esm2022/form/select/select/select.component.mjs +5 -23
- package/esm2022/form/select/select.module.mjs +4 -20
- package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
- package/esm2022/form/step-input/step-input.module.mjs +4 -8
- package/esm2022/form/switch/switch/switch.component.mjs +1 -1
- package/esm2022/form/switch/switch.module.mjs +5 -23
- package/esm2022/form/text-area/text-area.component.mjs +4 -21
- package/esm2022/form/text-area/text-area.module.mjs +4 -8
- package/esm2022/form/time-picker/time-picker.module.mjs +5 -26
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.component.mjs +1 -1
- package/esm2022/list/base-list-item.mjs +6 -49
- package/esm2022/list/display-list-item/display-list-item.component.mjs +1 -1
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +2 -8
- package/esm2022/list/list.component.mjs +1 -1
- package/esm2022/list/list.module.mjs +2 -9
- package/esm2022/list/object-list-item/object-list-item.component.mjs +1 -1
- package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -17
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -8
- package/esm2022/menu/menu.module.mjs +5 -37
- package/esm2022/menu-button/menu-button.module.mjs +5 -23
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2022/message-popover/message-popover.component.mjs +4 -5
- package/esm2022/panel/panel.module.mjs +5 -17
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
- package/esm2022/search-field/search-field.component.mjs +8 -45
- package/esm2022/search-field/search-field.module.mjs +4 -19
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
- package/esm2022/shared/form/form-field.mjs +1 -1
- package/esm2022/shared/form/form-options.mjs +1 -1
- package/esm2022/shared/form/hint-options.mjs +1 -1
- package/esm2022/shared/index.mjs +1 -2
- package/esm2022/slider/slider.component.mjs +1 -1
- package/esm2022/slider/slider.module.mjs +5 -6
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +6 -10
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +10 -12
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +8 -11
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +40 -45
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +5 -72
- package/esm2022/split-menu-button/split-menu-button.module.mjs +5 -23
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +3 -3
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2022/table/table.component.mjs +1 -1
- package/esm2022/table/table.module.mjs +1 -5
- package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +5 -5
- package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +3 -3
- package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
- package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +1 -1
- package/esm2022/upload-collection/models/upload-collection.models.mjs +1 -1
- package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +4 -29
- package/esm2022/upload-collection/upload-collection.module.mjs +4 -8
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -27
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -17
- package/esm2022/value-help-dialog/index.mjs +1 -2
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +4 -43
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -22
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +3 -3
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
- package/esm2022/variant-management/variant-management.component.mjs +1 -1
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
- package/feed-input/feed-input.component.d.ts +1 -9
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs +7 -29
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +25 -25
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +5 -5
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +3 -8
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -16
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +138 -716
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +23 -93
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +5 -22
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -36
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +5 -16
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +12 -63
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +5 -5
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +2 -116
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +6 -6
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +71 -146
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +5 -22
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +23 -26
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +6 -6
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +9 -37
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +11 -147
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/checkbox/checkbox.component.d.ts +3 -19
- package/form/checkbox/checkbox.module.d.ts +3 -4
- package/form/checkbox-group/checkbox-group.component.d.ts +5 -16
- package/form/checkbox-group/checkbox-group.module.d.ts +2 -3
- package/form/combobox/combobox.module.d.ts +2 -3
- package/form/date-picker/date-picker.component.d.ts +1 -35
- package/form/date-picker/date-picker.module.d.ts +2 -3
- package/form/datetime-picker/datetime-picker.component.d.ts +1 -33
- package/form/datetime-picker/datetime-picker.module.d.ts +2 -3
- package/form/form-generator/form-generator/form-generator.component.d.ts +8 -18
- package/form/form-generator/interfaces/dynamic-form-item.d.ts +1 -13
- package/form/form-group/fdp-form.module.d.ts +12 -13
- package/form/form-group/form-field/form-field.component.d.ts +2 -17
- package/form/form-group/form-group.component.d.ts +2 -14
- package/form/index.d.ts +0 -1
- package/form/input/fdp-input.module.d.ts +2 -3
- package/form/input-group/input-group.module.d.ts +2 -3
- package/form/multi-combobox/multi-combobox.module.d.ts +2 -3
- package/form/multi-input/multi-input.module.d.ts +2 -3
- package/form/platform-file-uploader/platform-file-uploader.component.d.ts +5 -11
- package/form/platform-file-uploader/platform-file-uploader.module.d.ts +2 -3
- package/form/radio-group/radio/radio.component.d.ts +1 -8
- package/form/radio-group/radio-group.module.d.ts +2 -3
- package/form/select/select/select.component.d.ts +1 -8
- package/form/select/select.module.d.ts +2 -3
- package/form/step-input/step-input.module.d.ts +2 -3
- package/form/switch/switch.module.d.ts +2 -3
- package/form/text-area/text-area.component.d.ts +1 -6
- package/form/text-area/text-area.module.d.ts +3 -4
- package/form/time-picker/time-picker.module.d.ts +2 -3
- package/fundamental-ngx-platform-v0.45.0.tgz +0 -0
- package/list/base-list-item.d.ts +2 -27
- package/list/list-group-header.component.d.ts +1 -3
- package/list/list.module.d.ts +7 -8
- package/list/object-list-item/object-list-item.module.d.ts +2 -3
- package/list/standard-list-item/standard-list-item.module.d.ts +2 -3
- package/menu/menu.module.d.ts +2 -3
- package/menu-button/menu-button.module.d.ts +2 -3
- package/package.json +4 -4
- package/panel/panel.module.d.ts +2 -3
- package/schematics/ng-add/index.js +1 -1
- package/search-field/search-field.component.d.ts +1 -18
- package/search-field/search-field.module.d.ts +4 -5
- package/shared/form/form-field.d.ts +1 -17
- package/shared/form/form-options.d.ts +0 -3
- package/shared/form/hint-options.d.ts +0 -7
- package/shared/index.d.ts +0 -1
- package/slider/slider.module.d.ts +2 -3
- package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +1 -3
- package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +1 -2
- package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +8 -8
- package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +0 -6
- package/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.d.ts +0 -6
- package/smart-filter-bar/interfaces/strategy-labels.type.d.ts +1 -1
- package/smart-filter-bar/smart-filter-bar.class.d.ts +0 -3
- package/smart-filter-bar/smart-filter-bar.component.d.ts +1 -43
- package/split-menu-button/split-menu-button.module.d.ts +2 -3
- package/table/table.module.d.ts +5 -6
- package/upload-collection/models/upload-collection.models.d.ts +0 -2
- package/upload-collection/upload-collection/upload-collection.component.d.ts +1 -16
- package/upload-collection/upload-collection.module.d.ts +1 -1
- package/value-help-dialog/components/define-tab/define-tab.component.d.ts +1 -11
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -7
- package/value-help-dialog/index.d.ts +0 -1
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -21
- package/value-help-dialog/value-help-dialog.module.d.ts +32 -34
- package/esm2022/form/form-group/deprecated-form-group-compact.directive.mjs +0 -30
- package/esm2022/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.mjs +0 -24
- package/esm2022/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.mjs +0 -68
- package/esm2022/shared/platform-content-density-deprecations/index.mjs +0 -5
- package/esm2022/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.mjs +0 -19
- package/esm2022/shared/platform-content-density-deprecations/providers/module-deprecation.provider.mjs +0 -13
- package/esm2022/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.mjs +0 -46
- package/form/form-group/deprecated-form-group-compact.directive.d.ts +0 -8
- package/fundamental-ngx-platform-v0.44.1-rc.3.tgz +0 -0
- package/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.d.ts +0 -8
- package/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.d.ts +0 -10
- package/shared/platform-content-density-deprecations/index.d.ts +0 -4
- package/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.d.ts +0 -9
- package/shared/platform-content-density-deprecations/providers/module-deprecation.provider.d.ts +0 -3
- package/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.d.ts +0 -20
|
@@ -6,7 +6,7 @@ import { FocusKeyManager, LiveAnnouncer } from '@angular/cdk/a11y';
|
|
|
6
6
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
7
7
|
import { firstValueFrom, fromEvent, isObservable, merge, Observable, of, Subject } from 'rxjs';
|
|
8
8
|
import { filter, map, take, takeUntil } from 'rxjs/operators';
|
|
9
|
-
import { DynamicComponentService, KeyUtil, RtlService
|
|
9
|
+
import { DynamicComponentService, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
10
10
|
import { PopoverComponent } from '@fundamental-ngx/core/popover';
|
|
11
11
|
import { BaseComponent, SearchFieldDataSource } from '@fundamental-ngx/platform/shared';
|
|
12
12
|
import { SEARCH_FIELD_COMPONENT } from './search-field-mobile/search-field-mobile.interface';
|
|
@@ -98,29 +98,6 @@ export class SearchFieldComponent extends BaseComponent {
|
|
|
98
98
|
get categories() {
|
|
99
99
|
return this._categories;
|
|
100
100
|
}
|
|
101
|
-
/**
|
|
102
|
-
* @deprecated use i18n capabilities instead
|
|
103
|
-
* Message announced by screen reader, when search suggestions opens.
|
|
104
|
-
*/
|
|
105
|
-
set searchSuggestionMessage(value) {
|
|
106
|
-
warnOnce('Property searchSuggestionMessage is deprecated. Use i18n capabilities instead.');
|
|
107
|
-
this._searchSuggestionMessage = value;
|
|
108
|
-
}
|
|
109
|
-
get searchSuggestionMessage() {
|
|
110
|
-
return this._searchSuggestionMessage;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* @deprecated use i18n capabilities instead
|
|
114
|
-
* Second part of message for search suggestion.
|
|
115
|
-
* direction for navigating the suggestion. This is not necessry in case of 0 suggestion.
|
|
116
|
-
*/
|
|
117
|
-
set searchSuggestionNavigateMessage(value) {
|
|
118
|
-
warnOnce('Property searchSuggestionNavigateMessage is deprecated. Use i18n capabilities instead.');
|
|
119
|
-
this._searchSuggestionNavigateMessage = value;
|
|
120
|
-
}
|
|
121
|
-
get searchSuggestionNavigateMessage() {
|
|
122
|
-
return this._searchSuggestionNavigateMessage;
|
|
123
|
-
}
|
|
124
101
|
/** @hidden */
|
|
125
102
|
get searchFieldValue() {
|
|
126
103
|
return {
|
|
@@ -473,23 +450,13 @@ export class SearchFieldComponent extends BaseComponent {
|
|
|
473
450
|
async _updateSearchAnnoucementText() {
|
|
474
451
|
// create search suggestion message with count.
|
|
475
452
|
const suggestionCount = this._getSuggestionsLength();
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
}
|
|
480
|
-
if (!searchSuggestionMessage || !searchSuggestionNavigateMessage) {
|
|
481
|
-
const lang = await firstValueFrom(this._language$);
|
|
482
|
-
if (!searchSuggestionMessage) {
|
|
483
|
-
searchSuggestionMessage = this._translationResolver.resolve(lang, 'platformSearchField.searchSuggestionMessage', { count: suggestionCount });
|
|
484
|
-
}
|
|
485
|
-
if (!searchSuggestionNavigateMessage) {
|
|
486
|
-
searchSuggestionNavigateMessage = this._translationResolver.resolve(lang, 'platformSearchField.searchSuggestionNavigateMessage');
|
|
487
|
-
}
|
|
488
|
-
}
|
|
453
|
+
const lang = await firstValueFrom(this._language$);
|
|
454
|
+
const searchSuggestionMessage = this._translationResolver.resolve(lang, 'platformSearchField.searchSuggestionMessage', { count: suggestionCount });
|
|
455
|
+
const searchSuggestionNavigateMessage = this._translationResolver.resolve(lang, 'platformSearchField.searchSuggestionNavigateMessage');
|
|
489
456
|
this._currentSearchSuggestionAnnoucementMessage =
|
|
490
457
|
searchSuggestionMessage + (suggestionCount > 0 ? searchSuggestionNavigateMessage : '');
|
|
491
458
|
if (this.inputText?.length > 0) {
|
|
492
|
-
this._liveAnnouncer.announce(this._currentSearchSuggestionAnnoucementMessage);
|
|
459
|
+
await this._liveAnnouncer.announce(this._currentSearchSuggestionAnnoucementMessage);
|
|
493
460
|
}
|
|
494
461
|
}
|
|
495
462
|
/** @hidden */
|
|
@@ -498,10 +465,10 @@ export class SearchFieldComponent extends BaseComponent {
|
|
|
498
465
|
providers: [{ provide: SEARCH_FIELD_COMPONENT, useValue: this }],
|
|
499
466
|
parent: this._injector
|
|
500
467
|
});
|
|
501
|
-
this._dynamicComponentService.createDynamicModule({ inputFieldTemplate: this.inputFieldTemplate, suggestionMenuTemplate: this.suggestionMenuTemplate }, PlatformSearchFieldMobileModule, SearchFieldMobileComponent, this._viewContainerRef, injector);
|
|
468
|
+
await this._dynamicComponentService.createDynamicModule({ inputFieldTemplate: this.inputFieldTemplate, suggestionMenuTemplate: this.suggestionMenuTemplate }, PlatformSearchFieldMobileModule, SearchFieldMobileComponent, this._viewContainerRef, injector);
|
|
502
469
|
}
|
|
503
470
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SearchFieldComponent, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i2.RtlService, optional: true }, { token: DOCUMENT }, { token: FD_LANGUAGE }, { token: i3.LiveAnnouncer }, { token: i2.DynamicComponentService }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SearchFieldComponent, selector: "fdp-search-field", inputs: { categoryMode: "categoryMode", appearance: "appearance", placeholder: "placeholder", mobile: "mobile", mobileConfig: "mobileConfig", disableRefresh: "disableRefresh", disableSearch: "disableSearch", suggestions: "suggestions", dataSource: "dataSource", inputText: "inputText", categories: "categories", currentCategory: "currentCategory", categoryLabel: "categoryLabel", hideCategoryLabel: "hideCategoryLabel", isLoading: "isLoading", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby",
|
|
471
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SearchFieldComponent, selector: "fdp-search-field", inputs: { categoryMode: "categoryMode", appearance: "appearance", placeholder: "placeholder", mobile: "mobile", mobileConfig: "mobileConfig", disableRefresh: "disableRefresh", disableSearch: "disableSearch", suggestions: "suggestions", dataSource: "dataSource", inputText: "inputText", categories: "categories", currentCategory: "currentCategory", categoryLabel: "categoryLabel", hideCategoryLabel: "hideCategoryLabel", isLoading: "isLoading", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", forceSearchButton: "forceSearchButton" }, outputs: { inputChange: "inputChange", searchSubmit: "searchSubmit", cancelSearch: "cancelSearch", isOpenChange: "isOpenChange" }, host: { listeners: { "keydown": "handleKeydown($event)" } }, providers: [
|
|
505
472
|
contentDensityObserverProviders(),
|
|
506
473
|
{
|
|
507
474
|
provide: FD_SHELLBAR_SEARCH_COMPONENT,
|
|
@@ -560,10 +527,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
560
527
|
type: Input
|
|
561
528
|
}], ariaLabelledby: [{
|
|
562
529
|
type: Input
|
|
563
|
-
}], searchSuggestionMessage: [{
|
|
564
|
-
type: Input
|
|
565
|
-
}], searchSuggestionNavigateMessage: [{
|
|
566
|
-
type: Input
|
|
567
530
|
}], forceSearchButton: [{
|
|
568
531
|
type: Input
|
|
569
532
|
}], inputChange: [{
|
|
@@ -617,4 +580,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
617
580
|
name: 'suggestionMatches'
|
|
618
581
|
}]
|
|
619
582
|
}] });
|
|
620
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBcUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBbUIsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVB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LEdBQUcsS0FBSztRQUM1RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNmO1FBQ0QsSUFBSSxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbEIsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQzs4R0FYUSxxQkFBcUI7NEdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsbUJBQW1CO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBQaXBlLFxuICAgIFBpcGVUcmFuc2Zvcm0sXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRVNDQVBFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNLZXlNYW5hZ2VyLCBMaXZlQW5ub3VuY2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcblxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIGZyb21FdmVudCwgaXNPYnNlcnZhYmxlLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBLZXlVdGlsLCBSdGxTZXJ2aWNlLCB3YXJuT25jZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IE1vYmlsZU1vZGVDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgU2VhcmNoRmllbGREYXRhU291cmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgICBTRUFSQ0hfRklFTERfQ09NUE9ORU5ULFxuICAgIFNlYXJjaEZpZWxkTW9iaWxlSW50ZXJmYWNlXG59IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQtbW9iaWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hGaWVsZE1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZWFyY2hGaWVsZE1vYmlsZU1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQtbW9iaWxlLm1vZHVsZSc7XG5pbXBvcnQgeyBGZExhbmd1YWdlLCBGRF9MQU5HVUFHRSwgVHJhbnNsYXRpb25SZXNvbHZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9TRUFSQ0hfQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoZWxsYmFyJztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uSXRlbSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBpc0hpc3RvcmljYWw/OiBzdHJpbmc7XG4gICAgZGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUxhYmVsSXRlbSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZHBTZWFyY2hGaWVsZFN1Z2dlc3Rpb25dJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICByb2xlOiAnbGlzdC1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmllbGRTdWdnZXN0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuXG5sZXQgc2VhcmNoRmllbGRJZENvdW50ID0gMDtcblxudHlwZSBBcHBlYXJhbmNlID0gU2VhcmNoQ29tcG9uZW50WydhcHBlYXJhbmNlJ10gfCB1bmRlZmluZWQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXNlYXJjaC1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9TSEVMTEJBUl9TRUFSQ0hfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNlYXJjaEZpZWxkQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpZWxkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTZWFyY2hGaWVsZE1vYmlsZUludGVyZmFjZSwgU2VhcmNoQ29tcG9uZW50XG57XG4gICAgLyoqIFR5cGUgb2YgY29tcG9uZW50IHVzZWQgdG8gcmVuZGVyIHRoZSBjYXRlZ29yaWVzIGRyb3Bkb3duLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2F0ZWdvcnlNb2RlOiAnbWVudScgfCAnc2VsZWN0JyA9ICdtZW51JztcblxuICAgIC8qKiBBZGRpdGlvbmFsIGFwcGVhcmFuY2UgY29uZmlndXJhdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhcHBlYXJhbmNlKHZhbHVlOiBBcHBlYXJhbmNlKSB7XG4gICAgICAgIGlmIChlcXVhbCh2YWx1ZSwgdGhpcy5hcHBlYXJhbmNlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXBwZWFyYW5jZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIC8qKiBQbGFjZWhvbGRlciB0ZXh0IGZvciBzZWFyY2ggaW5wdXQgZmllbGQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqIFNldCBNb2JpbGUgTW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlOiBib29sZWFuO1xuXG4gICAgLyoqIFNlYXJjaCBGaWVsZCBNb2JpbGUgY29uZmlndXJhdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlQ29uZmlnOiBNb2JpbGVNb2RlQ29uZmlnO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBSZWZyZXNoIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVJlZnJlc2ggPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGRpc3BsYXkgc2VhcmNoIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNlYXJjaCA9IGZhbHNlO1xuXG4gICAgLyoqIExpc3Qgb2Ygc3RyaW5nIHZhbHVlcyB0byBwb3B1bGF0ZSBzdWdnZXN0aW9uIGRyb3Bkb3duIHNlbGVjdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogU3VnZ2VzdGlvbkl0ZW1bXSB8IE9ic2VydmFibGU8U3VnZ2VzdGlvbkl0ZW1bXT4pIHtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBjb252ZXJ0IHN1Z2dlc3Rpb25zIHRvIGFuIGFycmF5IG9mIHN0cmluZyBmb3IgXCJkcm9wZG93biB2YWx1ZXNcIlxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25WYWx1ZXMgPSB2YWx1ZS5tYXAoKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25JdGVtKSA9PiBzdWdnZXN0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bkb3duVmFsdWVzJCA9IG9mKGRyb3Bkb3duVmFsdWVzKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLl9kcm9wZG93blZhbHVlcyQgPSB2YWx1ZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc3VnZ2VzdGlvbnM6IFN1Z2dlc3Rpb25JdGVtW10pID0+IHN1Z2dlc3Rpb25zLm1hcCgoc3VnZ2VzdGlvbikgPT4gc3VnZ2VzdGlvbi52YWx1ZSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25WYWx1ZXMkID0gb2YoW10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzdWdnZXN0aW9ucygpOiBTdWdnZXN0aW9uSXRlbVtdIHwgT2JzZXJ2YWJsZTxTdWdnZXN0aW9uSXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICAvKiogRGF0YXNvdXJjZSBmb3Igc3VnZ2VzdGlvbiBsaXN0ICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplRGF0YVNvdXJjZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGFTb3VyY2UoKTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbCBpbnB1dCB0ZXh0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUZXh0OiBzdHJpbmc7XG5cbiAgICAvKiogTGlzdCBvZiBjYXRlZ29yaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNhdGVnb3JpZXModmFsdWU6IFZhbHVlTGFiZWxJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fY2F0ZWdvcmllcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zaG93Q2F0ZWdvcnlEcm9wZG93biA9IEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldCBjYXRlZ29yaWVzKCk6IFZhbHVlTGFiZWxJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKiogQ3VycmVudCBjYXRlZ29yeSwgdmFsdWUgc2hvdWxkIGJlIHByZXNlbnQgaW4gY2F0ZWdvcmllcyBhcnJheSAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VycmVudENhdGVnb3J5OiBWYWx1ZUxhYmVsSXRlbTtcblxuICAgIC8qKiBTZXQgbGFiZWwgZm9yIGNhdGVnb3J5IGRyb3Bkb3duIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhdGVnb3J5TGFiZWwgPSAnQ2F0ZWdvcnknO1xuXG4gICAgLyoqIEhpZGUgZGlzcGxheSBvZiBjYXRlZ29yeSBsYWJlbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZUNhdGVnb3J5TGFiZWwgPSBmYWxzZTtcblxuICAgIC8qKiBUb2dnbGUgXCJsb2FkaW5nXCIgbW9kZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCB0byBzcGVjaWZ5IHdoYXQgdGhlIHNlYXJjaCBmaWVsZCBpc1xuICAgICAqIE5vdCBzaG93biBpbiB0aGUgVUksIG9ubHkgdmlzaWJsZSBieSB0aGUgc2NyZWVuLXJlYWRlcnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBJZCBvZiBlbGVtZW50cyAoc2VwYXJhdGVkIGJ5IHNwYWNlKSBmb3Igc2V0dGluZyBhcmlhLWxhYmVsbGVkYnkgZm9yIHNlYXJjaCBpbnB1dFxuICAgICAqIE5vdCBzaG93biBpbiB0aGUgVUksIG9ubHkgdmlzaWJsZSBieSB0aGUgc2NyZWVuLXJlYWRlcnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGkxOG4gY2FwYWJpbGl0aWVzIGluc3RlYWRcbiAgICAgKiBNZXNzYWdlIGFubm91bmNlZCBieSBzY3JlZW4gcmVhZGVyLCB3aGVuIHNlYXJjaCBzdWdnZXN0aW9ucyBvcGVucy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHdhcm5PbmNlKCdQcm9wZXJ0eSBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSBpcyBkZXByZWNhdGVkLiBVc2UgaTE4biBjYXBhYmlsaXRpZXMgaW5zdGVhZC4nKTtcbiAgICAgICAgdGhpcy5fc2VhcmNoU3VnZ2VzdGlvbk1lc3NhZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoU3VnZ2VzdGlvbk1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBpMThuIGNhcGFiaWxpdGllcyBpbnN0ZWFkXG4gICAgICogU2Vjb25kIHBhcnQgb2YgbWVzc2FnZSBmb3Igc2VhcmNoIHN1Z2dlc3Rpb24uXG4gICAgICogZGlyZWN0aW9uIGZvciBuYXZpZ2F0aW5nIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIG5vdCBuZWNlc3NyeSBpbiBjYXNlIG9mIDAgc3VnZ2VzdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWFyY2hTdWdnZXN0aW9uTmF2aWdhdGVNZXNzYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgd2Fybk9uY2UoJ1Byb3BlcnR5IHNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UgaXMgZGVwcmVjYXRlZC4gVXNlIGkxOG4gY2FwYWJpbGl0aWVzIGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0byBhbHdheXMgc2hvdyBzZWFyY2ggYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9yY2VTZWFyY2hCdXR0b24gPSBmYWxzZTtcblxuICAgIC8qKiBJbnB1dCBjaGFuZ2UgZXZlbnQuICovXG4gICAgQE91dHB1dCgpXG4gICAgaW5wdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTZWFyY2hJbnB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogU2VhcmNoIHN1Ym1pdCBldmVudC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWFyY2hTdWJtaXQ6IEV2ZW50RW1pdHRlcjxTZWFyY2hJbnB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogQ2FuY2VsIHNlYXJjaCBldmVudC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjYW5jZWxTZWFyY2g6IEV2ZW50RW1pdHRlcjxTZWFyY2hJbnB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogT3BlbiBtb2JpbGUgbW9kZSBldmVudC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBpc09wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY2F0ZWdvcnlEcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGNhdGVnb3J5RHJvcGRvd246IFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0R3JvdXAnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBpbnB1dEdyb3VwOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRGaWVsZCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGlucHV0RmllbGQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEZpZWxkVGVtcGxhdGUnKVxuICAgIGlucHV0RmllbGRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnc3VnZ2VzdGlvbk1lbnVUZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHN1Z2dlc3Rpb25NZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oU2VhcmNoRmllbGRTdWdnZXN0aW9uRGlyZWN0aXZlKVxuICAgIHN1Z2dlc3Rpb25JdGVtczogUXVlcnlMaXN0PFNlYXJjaEZpZWxkU3VnZ2VzdGlvbkRpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBzZWFyY2hGaWVsZFZhbHVlKCk6IFNlYXJjaElucHV0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuaW5wdXRUZXh0LFxuICAgICAgICAgICAgY2F0ZWdvcnk6IHRoaXMuX2N1cnJlbnRDYXRlZ29yeT8udmFsdWUgfHwgbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiBGb2N1cyBzdGF0ZSAqL1xuICAgIGdldCBpc0ZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kb2N1bWVudD8uYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5pbnB1dEZpZWxkPy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgbGlzdCBvZiBzdHJpbmcgdmFsdWVzIHRha2VuIGZyb20gYHN1Z2dlc3Rpb25zYCB0byBwb3B1bGF0ZSBkcm9wZG93biBtZW51LlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfZHJvcGRvd25WYWx1ZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiA9IG9mKFtdKTtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnRseSBzZXQgY2F0ZWdvcnkuXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIF9jdXJyZW50Q2F0ZWdvcnk/OiBWYWx1ZUxhYmVsSXRlbTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdHlwZWFoZWFkIGRyb3Bkb3duLlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IGNhdGVnb3J5IGRyb3Bkb3duLiBUaGlzIGlzIGRlcGVuZGVudCBvbiBsZW5ndGggb2YgYGNhdGVnb3J5VmFsdWVzYCBwcm9wZXJ0eS5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX3Nob3dDYXRlZ29yeURyb3Bkb3duID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbnB1dElkID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zdWJtaXRJZCA9ICcnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbWVudUlkID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yZWZyZXNoSWQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NsZWFySWQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2RpcjogRGlyZWN0aW9uID0gJ2x0cic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlzT3BlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaXNSZWZyZXNoID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pc1NlYXJjaERvbmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VhcmNoU3VnZ2VzdGlvbk1lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWdnZXN0aW9uczogU3VnZ2VzdGlvbkl0ZW1bXSB8IE9ic2VydmFibGU8U3VnZ2VzdGlvbkl0ZW1bXT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RhdGFTb3VyY2U6IFNlYXJjaEZpZWxkRGF0YVNvdXJjZTxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jYXRlZ29yaWVzOiBWYWx1ZUxhYmVsSXRlbVtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jdXJyZW50U2VhcmNoU3VnZ2VzdGlvbkFubm91Y2VtZW50TWVzc2FnZSA9ICcnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWdnZXN0aW9uT3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25Qb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWdnZXN0aW9ua2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPFNlYXJjaEZpZWxkU3VnZ2VzdGlvbkRpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZUNoYW5nZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXBwZWFyYW5jZTogQXBwZWFyYW5jZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfcnRsOiBSdGxTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoRkRfTEFOR1VBR0UpIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlJDogT2JzZXJ2YWJsZTxGZExhbmd1YWdlPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfbGl2ZUFubm91bmNlcjogTGl2ZUFubm91bmNlcixcbiAgICAgICAgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgcmVhZG9ubHkgY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge1xuICAgICAgICBzdXBlcihfY2QpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUgJiYgdGhpcy5pc09wZW4gJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFU0NBUEVdKSkge1xuICAgICAgICAgICAgdGhpcy5zaG93RGlhbG9nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhc2VJZCA9ICdmZHAtc2VhcmNoLWZpZWxkJztcbiAgICAgICAgdGhpcy5faW5wdXRJZCA9IGAke2Jhc2VJZH0taW5wdXQtJHtzZWFyY2hGaWVsZElkQ291bnQrK31gO1xuICAgICAgICB0aGlzLl9zdWJtaXRJZCA9IGAke2Jhc2VJZH0tc3VibWl0LSR7c2VhcmNoRmllbGRJZENvdW50Kyt9YDtcbiAgICAgICAgdGhpcy5fbWVudUlkID0gYCR7YmFzZUlkfS1tZW51LSR7c2VhcmNoRmllbGRJZENvdW50Kyt9YDtcblxuICAgICAgICB0aGlzLl9pc1JlZnJlc2ggPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLl9ydGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3J0bC5ydGwucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoaXNSdGw6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kaXIgPSBpc1J0bCA/ICdydGwnIDogJ2x0cic7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICgnY2F0ZWdvcmllcycgaW4gY2hhbmdlcyB8fCAnY3VycmVudENhdGVnb3J5JyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldEN1cnJlbnRDYXRlZ29yeSh0aGlzLmN1cnJlbnRDYXRlZ29yeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25PdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25PdmVybGF5UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zdWdnZXN0aW9ua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvY3VzZXMgdGhlIHNlYXJjaCBpbnB1dCBmaWVsZC5cbiAgICAgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEZpZWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBDYXB0dXJpbmcgb25LZXlkb3duIG9mIGlucHV0IGVsZW1lbnQgKi9cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbVVBfQVJST1csIERPV05fQVJST1ddKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3N1Z2dlc3Rpb25rZXlNYW5hZ2VyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbmtleU1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VTQ0FQRV0pKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXB0dXJpbmcgdmFsdWUgY2hhbmdlIGluIGlucHV0IHRleHQgZmllbGQgb2YgY29tYm9ib3guXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAvLyB3aGVuIHNlYXJjaCByZXN1bHQgbm90IGNoYW5nZWQgYnV0IGlucHV0IHRleHQgaXMgY2hhbmdlZC5cbiAgICAgICAgLy8gYWdhaW4gbmVlZCB0byBhbm5vdW5jZSB0aGUgcmVzdWx0LCBzbyBjbGVhciB0aGlzIG1lc3NhZ2UuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuX2N1cnJlbnRTZWFyY2hTdWdnZXN0aW9uQW5ub3VjZW1lbnRNZXNzYWdlID0gJycpKTtcbiAgICAgICAgdGhpcy5faXNTZWFyY2hEb25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2lzUmVmcmVzaCA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSAmJiAhdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3Blbk1vYmlsZU1vZGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuICAgICAgICBjb25zdCBpbnB1dFN0cjogc3RyaW5nID0gZXZlbnQudHJpbSgpO1xuICAgICAgICBpZiAoaW5wdXRTdHIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1Z2dlc3Rpb25NZW51KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIG1hdGNoLnNldCgna2V5d29yZCcsIGlucHV0U3RyKTtcbiAgICAgICAgICAgIG1hdGNoLnNldCgnY2F0ZWdvcnknLCB0aGlzLl9jdXJyZW50Q2F0ZWdvcnk/LnZhbHVlIHx8IG51bGwpO1xuXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UubWF0Y2gobWF0Y2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdXBkYXRlU2VhcmNoQW5ub3VjZW1lbnRUZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FwdHVyaW5nIGl0ZW0gc2VsZWN0aW9uIGZyb20gZHJvcGRvd24gbWVudSBvZiBjb21ib2JveC5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgb25JdGVtQ2xpY2soZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0VGV4dCA9IGV2ZW50O1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQodGhpcy5zZWFyY2hGaWVsZFZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWFyY2hTdWJtaXQuZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUoKTtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEaWFsb2coZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzU2VhcmNoRG9uZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB3aGljaCBnZXRzIGV4ZWN1dGVkIG9uIGtleWJvYXJkIGVudGVyIG9mIGlucHV0IHRleHQgZmllbGQuXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIG9uU2VhcmNoU3VibWl0KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLmNhbmNlbFNlYXJjaC5lbWl0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaFN1Ym1pdC5lbWl0KHRoaXMuc2VhcmNoRmllbGRWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5faXNSZWZyZXNoID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dFRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzU2VhcmNoRG9uZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY3VycmVudCBjYXRlZ29yeS5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgc2V0Q3VycmVudENhdGVnb3J5KGN1cnJlbnRDYXRlZ29yeTogVmFsdWVMYWJlbEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudENhdGVnb3J5ID1cbiAgICAgICAgICAgIGN1cnJlbnRDYXRlZ29yeSAmJlxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzPy5maW5kKFxuICAgICAgICAgICAgICAgIChjYXRlZ29yeSkgPT4gY2F0ZWdvcnkubGFiZWwgPT09IGN1cnJlbnRDYXRlZ29yeS5sYWJlbCAmJiBjYXRlZ29yeS52YWx1ZSA9PT0gY3VycmVudENhdGVnb3J5LnZhbHVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gc3VnZ2VzdGlvbiBtZW51XG4gICAgICovXG4gICAgb3BlblN1Z2dlc3Rpb25NZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUoKTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbmtleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbmtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMuc3VnZ2VzdGlvbkl0ZW1zKTtcbiAgICAgICAgaWYgKHRoaXMuX3Nob3dEcm9wZG93bikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY3JlYXRlIG92ZXJsYXlcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuX2NyZWF0ZVN1Z2dldGlvbk92ZXJsYXlDb25maWcoKTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcblxuICAgICAgICAvLyBnZXQgcG9ydGFsIHRvIGF0dGFjaCB0byBvdmVybGF5XG4gICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25Qb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5zdWdnZXN0aW9uTWVudVRlbXBsYXRlLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3N1Z2dlc3Rpb25Qb3J0YWwpO1xuXG4gICAgICAgIC8vIGFkZCBzdWJzY3JpcHRpb24gdG8gY2FwdHVyZSBvdXRzaWRlIGNsaWNrc1xuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICEhdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jb250YWlucyh0YXJnZXQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9jdXMgPSAhKHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnICYmIHRoaXMuX2lucHV0SWQgIT09IHRhcmdldC5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVN1Z2dlc3Rpb25NZW51KGZvY3VzKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3Nob3dEcm9wZG93biA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuTW9iaWxlTW9kZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93RGlhbG9nKHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGlhbG9nQXBwcm92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljayh0aGlzLmlucHV0VGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkaWFsb2dEaXNtaXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dEaWFsb2coZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2hvd0RpYWxvZyhpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuICE9PSBpc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gaXNPcGVuO1xuXG4gICAgICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KGlzT3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNsb3NlU3VnZ2VzdGlvbk1lbnUoZm9jdXMgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgaWYgKGZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjbGVhclRleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFRleHQgPSAnJztcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmlucHV0Q2hhbmdlLmVtaXQodGhpcy5zZWFyY2hGaWVsZFZhbHVlKTtcbiAgICAgICAgdGhpcy5jYW5jZWxTZWFyY2guZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuXG4gICAgICAgIHRoaXMuX2lzUmVmcmVzaCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2lzU2VhcmNoRG9uZSA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudShmYWxzZSk7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jcmVhdGVTdWdnZXRpb25PdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmlucHV0R3JvdXApXG4gICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKClcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKHBvc2l0aW9ucyk7XG4gICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5pbnB1dEdyb3VwLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5pdGlhbGl6ZURhdGFTb3VyY2UoZGF0YVNvdXJjZTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZUNoYW5nZWQkLm5leHQoKTtcbiAgICAgICAgZGF0YVNvdXJjZVxuICAgICAgICAgICAgLm9wZW4oKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuX29uRGVzdHJveSQsIHRoaXMuX2RhdGFTb3VyY2VDaGFuZ2VkJCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Ryb3Bkb3duVmFsdWVzJCA9IG9mKGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gcmV0dXJuIGNvdW50IGZvciBtYXRjaGluZyBzdWdnZXN0aW9uIHdpdGggaW5wdXQgdGV4dFxuICAgICAqIEByZXR1cm5zIG51bWJlclxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFN1Z2dlc3Rpb25zTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIHRoaXMuX2Ryb3Bkb3duVmFsdWVzJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzdWdnZXN0aW9ucykgPT4ge1xuICAgICAgICAgICAgc3VnZ2VzdGlvbnM/LmZvckVhY2goKHN1Z2dlc3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dFRleHQgJiYgc3VnZ2VzdGlvbj8udG9Mb3dlckNhc2UoKS5pbmRleE9mKHRoaXMuaW5wdXRUZXh0Py50cmltKCk/LnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlU2VhcmNoQW5ub3VjZW1lbnRUZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBjcmVhdGUgc2VhcmNoIHN1Z2dlc3Rpb24gbWVzc2FnZSB3aXRoIGNvdW50LlxuICAgICAgICBjb25zdCBzdWdnZXN0aW9uQ291bnQgPSB0aGlzLl9nZXRTdWdnZXN0aW9uc0xlbmd0aCgpO1xuICAgICAgICBsZXQgeyBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSwgc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZSB9ID0gdGhpcztcbiAgICAgICAgaWYgKHNlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlKSB7XG4gICAgICAgICAgICBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSA9IHN1Z2dlc3Rpb25Db3VudCArICcgJyArIHNlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc2VhcmNoU3VnZ2VzdGlvbk1lc3NhZ2UgfHwgIXNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9sYW5ndWFnZSQpO1xuICAgICAgICAgICAgaWYgKCFzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIHNlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKFxuICAgICAgICAgICAgICAgICAgICBsYW5nLFxuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1TZWFyY2hGaWVsZC5zZWFyY2hTdWdnZXN0aW9uTWVzc2FnZScsXG4gICAgICAgICAgICAgICAgICAgIHsgY291bnQ6IHN1Z2dlc3Rpb25Db3VudCB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIHNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGlvblJlc29sdmVyLnJlc29sdmUoXG4gICAgICAgICAgICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNlYXJjaEZpZWxkLnNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jdXJyZW50U2VhcmNoU3VnZ2VzdGlvbkFubm91Y2VtZW50TWVzc2FnZSA9XG4gICAgICAgICAgICBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSArIChzdWdnZXN0aW9uQ291bnQgPiAwID8gc2VhcmNoU3VnZ2VzdGlvbk5hdmlnYXRlTWVzc2FnZSA6ICcnKTtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRUZXh0Py5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9saXZlQW5ub3VuY2VyLmFubm91bmNlKHRoaXMuX2N1cnJlbnRTZWFyY2hTdWdnZXN0aW9uQW5ub3VjZW1lbnRNZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0VXBNb2JpbGVNb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFNFQVJDSF9GSUVMRF9DT01QT05FTlQsIHVzZVZhbHVlOiB0aGlzIH1dLFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLl9pbmplY3RvclxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVEeW5hbWljTW9kdWxlKFxuICAgICAgICAgICAgeyBpbnB1dEZpZWxkVGVtcGxhdGU6IHRoaXMuaW5wdXRGaWVsZFRlbXBsYXRlLCBzdWdnZXN0aW9uTWVudVRlbXBsYXRlOiB0aGlzLnN1Z2dlc3Rpb25NZW51VGVtcGxhdGUgfSxcbiAgICAgICAgICAgIFBsYXRmb3JtU2VhcmNoRmllbGRNb2JpbGVNb2R1bGUsXG4gICAgICAgICAgICBTZWFyY2hGaWVsZE1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICApO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzdWdnZXN0aW9uTWF0Y2hlcydcbn0pXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvbk1hdGNoZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBzdHJpbmdbXSB8IG51bGwsIG1hdGNoOiBzdHJpbmcsIG1vYmlsZSA9IGZhbHNlKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vYmlsZSAmJiAhbWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJvY2Vzc2VkTWF0Y2ggPSBtYXRjaC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YocHJvY2Vzc2VkTWF0Y2gpID4gLTEpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtb2JpbGUgPyBtb2JpbGVUZW1wbGF0ZSA6IGlucHV0RmllbGRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI21vYmlsZVRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dEZpZWxkVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoQ2F0ZWdvcnlNZW51PlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19jYXRlZ29yeS1idXR0b24gZmQtaW5wdXQtZ3JvdXBfX2J1dHRvbiBmZC1idXR0b24gZmQtYnV0dG9uLS1tZW51IHt7XG4gICAgICAgICAgICBhcHBlYXJhbmNlPy5jYXRlZ29yeUJ1dHRvbkNsYXNzXG4gICAgICAgIH19XCJcbiAgICAgICAgW2ZkcE1lbnVUcmlnZ2VyRm9yXT1cImNhdGVnb3J5TWVudVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZkcC1zZWFyY2gtZmllbGRfX2NhdGVnb3J5LWxhYmVsXCIgKm5nSWY9XCIhaGlkZUNhdGVnb3J5TGFiZWxcIj5cbiAgICAgICAgICAgIHt7IF9jdXJyZW50Q2F0ZWdvcnk/LmxhYmVsIHx8IGNhdGVnb3J5TGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxmZHAtbWVudSAjY2F0ZWdvcnlNZW51PlxuICAgICAgICA8ZmRwLW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllc1wiIChpdGVtU2VsZWN0KT1cInNldEN1cnJlbnRDYXRlZ29yeShjYXRlZ29yeSlcIlxuICAgICAgICAgICAgPnt7IGNhdGVnb3J5LmxhYmVsIH19XG4gICAgICAgIDwvZmRwLW1lbnUtaXRlbT5cbiAgICA8L2ZkcC1tZW51PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2hDYXRlZ29yeVNlbGVjdD5cbiAgICA8ZmQtc2VsZWN0XG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJjYXRlZ29yeUxhYmVsXCJcbiAgICAgICAgW3NlbGVjdENvbnRyb2xDbGFzc109XCJhcHBlYXJhbmNlPy5jYXRlZ29yeUJ1dHRvbkNsYXNzXCJcbiAgICAgICAgW3NlbGVjdERyb3Bkb3duQnV0dG9uQ2xhc3NdPVwiYXBwZWFyYW5jZT8uY2F0ZWdvcnlEcm9wZG93bkJ1dHRvbkNsYXNzXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldEN1cnJlbnRDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxsaSBmZC1vcHRpb24gKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXNcIiBbdmFsdWVdPVwiY2F0ZWdvcnlcIj57eyBjYXRlZ29yeS5sYWJlbCB9fTwvbGk+XG4gICAgPC9mZC1zZWxlY3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2lucHV0RmllbGRUZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZFwiXG4gICAgICAgIFtjbGFzcy53aXRoLWNhdGVnb3JpZXNdPVwiX3Nob3dDYXRlZ29yeURyb3Bkb3duXCJcbiAgICAgICAgW2NsYXNzLmlzLWxvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgW2NsYXNzLmlzLWNvbXBhY3RdPVwiY29udGVudERlbnNpdHlPYnNlcnZlci5pc0NvbXBhY3QkIHwgYXN5bmNcIlxuICAgICAgICBbY2xhc3MuaGlkZS1jYXRlZ29yeS1sYWJlbF09XCJoaWRlQ2F0ZWdvcnlMYWJlbFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjaW5wdXRHcm91cFxuICAgICAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19pbnB1dC1ncm91cCBmZC1pbnB1dC1ncm91cCB7eyBhcHBlYXJhbmNlPy5zZWFyY2hDbGFzcyB9fVwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtZm9jdXNdPVwiaXNGb2N1c2VkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWlucHV0LWdyb3VwX19hZGRvbiBmZC1pbnB1dC1ncm91cF9fYWRkb24tLWJ1dHRvbiB7eyBhcHBlYXJhbmNlPy5zZWFyY2hDYXRlZ29yeUNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIl9zaG93Q2F0ZWdvcnlEcm9wZG93blwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2F0ZWdvcnlNb2RlID09PSAnc2VsZWN0JyA/IHNlYXJjaENhdGVnb3J5U2VsZWN0IDogc2VhcmNoQ2F0ZWdvcnlNZW51XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNpbnB1dEZpZWxkXG4gICAgICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9faW5wdXQgZmQtaW5wdXQgZmQtaW5wdXQtZ3JvdXBfX2lucHV0IHt7IGFwcGVhcmFuY2U/LnNlYXJjaEZpZWxkQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIl9pbnB1dElkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJfbWVudUlkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIl9zaG93RHJvcGRvd24gPyAndHJ1ZScgOiAnZmFsc2UnXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25TZWFyY2hTdWJtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vYmlsZSAmJiBvcGVuTW9iaWxlTW9kZSgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQtZ3JvdXBfX2FkZG9uIGZkLWlucHV0LWdyb3VwX19hZGRvbi0tYnV0dG9uIHt7IGFwcGVhcmFuY2U/LmFkZG9uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5wdXRUZXh0ICYmIGlucHV0VGV4dC5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TZWFyY2hGaWVsZC5jbGVhckJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19jbGVhciBmZC1idXR0b24gZmQtYnV0dG9uLS10cmFuc3BhcmVudCB7eyBhcHBlYXJhbmNlPy5idXR0b25DbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1pbnB1dC1ncm91cF9fYnV0dG9uXT1cIiFhcHBlYXJhbmNlPy5yZW1vdmVHcm91cEJ1dHRvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJfY2xlYXJJZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclRleHRJbnB1dCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwiZGVjbGluZVwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1pbnB1dC1ncm91cF9fYWRkb24gZmQtaW5wdXQtZ3JvdXBfX2FkZG9uLS1idXR0b24ge3sgYXBwZWFyYW5jZT8uYWRkb25DbGFzcyB9fSB7e1xuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPy5zZWFyY2hTdWJtaXRDbGFzc1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImZvcmNlU2VhcmNoQnV0dG9uIHx8IGlzTG9hZGluZyB8fCAoIWlzTG9hZGluZyAmJiAhX2lzU2VhcmNoRG9uZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZVNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1TZWFyY2hGaWVsZC5zdWJtaXRCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9fc3VibWl0IGZkLWJ1dHRvbiBmZC1idXR0b24tLXRyYW5zcGFyZW50IHt7IGFwcGVhcmFuY2U/LmJ1dHRvbkNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLWlucHV0LWdyb3VwX19idXR0b25dPVwiIWFwcGVhcmFuY2U/LnJlbW92ZUdyb3VwQnV0dG9uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJfc3VibWl0SWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaFN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic2VhcmNoXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWlucHV0LWdyb3VwX19hZGRvbiBmZC1pbnB1dC1ncm91cF9fYWRkb24tLWJ1dHRvbiB7eyBhcHBlYXJhbmNlPy5hZGRvbkNsYXNzIH19IHt7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U/LnNlYXJjaFN1Ym1pdENsYXNzXG4gICAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRpc2FibGVSZWZyZXNoICYmICFpc0xvYWRpbmcgJiYgKF9pc1JlZnJlc2ggfHwgX2lzU2VhcmNoRG9uZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVNlYXJjaEZpZWxkLnN5bmNocm9uaXplQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkcC1zZWFyY2gtZmllbGRfX2xvYWRpbmcgZmQtaW5wdXQtZ3JvdXBfX2J1dHRvbiBmZC1idXR0b24gZmQtYnV0dG9uLS10cmFuc3BhcmVudCB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT8uYnV0dG9uQ2xhc3NcbiAgICAgICAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIl9yZWZyZXNoSWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWFyY2hTdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cInN5bmNocm9uaXplXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc3VnZ2VzdGlvbk1lbnVUZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9fc3VnZ2VzdGlvbi1kcm9wZG93blwiXG4gICAgICAgIFthdHRyLmRpcl09XCJfZGlyXCJcbiAgICAgICAgKm5nSWY9XCIoX2Ryb3Bkb3duVmFsdWVzJCB8IGFzeW5jIHwgc3VnZ2VzdGlvbk1hdGNoZXMgOiBpbnB1dFRleHQgOiBtb2JpbGUpPy5sZW5ndGhcIlxuICAgID5cbiAgICAgICAgPG5hdlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1tZW51XCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW2NsYXNzLmlzLWNvbXBhY3RdPVwiY29udGVudERlbnNpdHlPYnNlcnZlci5pc0NvbXBhY3QkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLW1lbnUtLW1vYmlsZV09XCJtb2JpbGVcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLW1lbnUtLW92ZXJmbG93XT1cIiFtb2JpbGVcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiX21lbnVJZFwiXG4gICAgICAgICAgICAjbWVudVxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJmZC1tZW51X19saXN0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgZmRwU2VhcmNoRmllbGRTdWdnZXN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9fc3VnZ2VzdGlvbi1pdGVtIGZkLW1lbnVfX2l0ZW0gZmQtbWVudV9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBfZHJvcGRvd25WYWx1ZXMkIHwgYXN5bmMgfCBzdWdnZXN0aW9uTWF0Y2hlcyA6IGlucHV0VGV4dCA6IG1vYmlsZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSXRlbUNsaWNrKHZhbHVlKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwib25JdGVtQ2xpY2sodmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLnNwYWNlKT1cIm9uSXRlbUNsaWNrKHZhbHVlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKHZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidmFsdWUgfCBoaWdobGlnaHQgOiBpbnB1dFRleHQgOiB0cnVlIDogdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICAgICAgPjwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L25hdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
583
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUVULFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBcUIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBbUIsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVB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QUFvQjtnQkFLL0Isc0JBQXNCO3NCQURyQixTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLdEQsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDhCQUE4QjtnQkFzSDVDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBK1Z2QyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLGNBQWM7SUFDZCxTQUFTLENBQUMsTUFBdUIsRUFBRSxLQUFhLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFDNUQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDZjtRQUNELElBQUksTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2xCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBQ0QsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7OEdBWFEscUJBQXFCOzRHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSGpDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLG1CQUFtQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUGlwZSxcbiAgICBQaXBlVHJhbnNmb3JtLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERPV05fQVJST1csIEVTQ0FQRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzS2V5TWFuYWdlciwgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5cbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBmcm9tRXZlbnQsIGlzT2JzZXJ2YWJsZSwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgS2V5VXRpbCwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IE1vYmlsZU1vZGVDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgU2VhcmNoRmllbGREYXRhU291cmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgICBTRUFSQ0hfRklFTERfQ09NUE9ORU5ULFxuICAgIFNlYXJjaEZpZWxkTW9iaWxlSW50ZXJmYWNlXG59IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQtbW9iaWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hGaWVsZE1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZWFyY2hGaWVsZE1vYmlsZU1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWZpZWxkLW1vYmlsZS9zZWFyY2gtZmllbGQtbW9iaWxlLm1vZHVsZSc7XG5pbXBvcnQgeyBGZExhbmd1YWdlLCBGRF9MQU5HVUFHRSwgVHJhbnNsYXRpb25SZXNvbHZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBGRF9TSEVMTEJBUl9TRUFSQ0hfQ09NUE9ORU5UIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoZWxsYmFyJztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSW5wdXQge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uSXRlbSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBpc0hpc3RvcmljYWw/OiBzdHJpbmc7XG4gICAgZGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUxhYmVsSXRlbSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZHBTZWFyY2hGaWVsZFN1Z2dlc3Rpb25dJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICByb2xlOiAnbGlzdC1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmllbGRTdWdnZXN0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuXG5sZXQgc2VhcmNoRmllbGRJZENvdW50ID0gMDtcblxudHlwZSBBcHBlYXJhbmNlID0gU2VhcmNoQ29tcG9uZW50WydhcHBlYXJhbmNlJ10gfCB1bmRlZmluZWQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXNlYXJjaC1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9TSEVMTEJBUl9TRUFSQ0hfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNlYXJjaEZpZWxkQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpZWxkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTZWFyY2hGaWVsZE1vYmlsZUludGVyZmFjZSwgU2VhcmNoQ29tcG9uZW50XG57XG4gICAgLyoqIFR5cGUgb2YgY29tcG9uZW50IHVzZWQgdG8gcmVuZGVyIHRoZSBjYXRlZ29yaWVzIGRyb3Bkb3duLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2F0ZWdvcnlNb2RlOiAnbWVudScgfCAnc2VsZWN0JyA9ICdtZW51JztcblxuICAgIC8qKiBBZGRpdGlvbmFsIGFwcGVhcmFuY2UgY29uZmlndXJhdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBhcHBlYXJhbmNlKHZhbHVlOiBBcHBlYXJhbmNlKSB7XG4gICAgICAgIGlmIChlcXVhbCh2YWx1ZSwgdGhpcy5hcHBlYXJhbmNlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXBwZWFyYW5jZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGFwcGVhcmFuY2UoKTogQXBwZWFyYW5jZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIC8qKiBQbGFjZWhvbGRlciB0ZXh0IGZvciBzZWFyY2ggaW5wdXQgZmllbGQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqIFNldCBNb2JpbGUgTW9kZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlOiBib29sZWFuO1xuXG4gICAgLyoqIFNlYXJjaCBGaWVsZCBNb2JpbGUgY29uZmlndXJhdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlQ29uZmlnOiBNb2JpbGVNb2RlQ29uZmlnO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBSZWZyZXNoIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVJlZnJlc2ggPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGRpc3BsYXkgc2VhcmNoIGJ1dHRvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVNlYXJjaCA9IGZhbHNlO1xuXG4gICAgLyoqIExpc3Qgb2Ygc3RyaW5nIHZhbHVlcyB0byBwb3B1bGF0ZSBzdWdnZXN0aW9uIGRyb3Bkb3duIHNlbGVjdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogU3VnZ2VzdGlvbkl0ZW1bXSB8IE9ic2VydmFibGU8U3VnZ2VzdGlvbkl0ZW1bXT4pIHtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBjb252ZXJ0IHN1Z2dlc3Rpb25zIHRvIGFuIGFycmF5IG9mIHN0cmluZyBmb3IgXCJkcm9wZG93biB2YWx1ZXNcIlxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25WYWx1ZXMgPSB2YWx1ZS5tYXAoKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb25JdGVtKSA9PiBzdWdnZXN0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bkb3duVmFsdWVzJCA9IG9mKGRyb3Bkb3duVmFsdWVzKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc09ic2VydmFibGUodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLl9kcm9wZG93blZhbHVlcyQgPSB2YWx1ZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc3VnZ2VzdGlvbnM6IFN1Z2dlc3Rpb25JdGVtW10pID0+IHN1Z2dlc3Rpb25zLm1hcCgoc3VnZ2VzdGlvbikgPT4gc3VnZ2VzdGlvbi52YWx1ZSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25WYWx1ZXMkID0gb2YoW10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBzdWdnZXN0aW9ucygpOiBTdWdnZXN0aW9uSXRlbVtdIHwgT2JzZXJ2YWJsZTxTdWdnZXN0aW9uSXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICAvKiogRGF0YXNvdXJjZSBmb3Igc3VnZ2VzdGlvbiBsaXN0ICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsaXplRGF0YVNvdXJjZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGFTb3VyY2UoKTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbCBpbnB1dCB0ZXh0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUZXh0OiBzdHJpbmc7XG5cbiAgICAvKiogTGlzdCBvZiBjYXRlZ29yaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNhdGVnb3JpZXModmFsdWU6IFZhbHVlTGFiZWxJdGVtW10pIHtcbiAgICAgICAgdGhpcy5fY2F0ZWdvcmllcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zaG93Q2F0ZWdvcnlEcm9wZG93biA9IEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldCBjYXRlZ29yaWVzKCk6IFZhbHVlTGFiZWxJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKiogQ3VycmVudCBjYXRlZ29yeSwgdmFsdWUgc2hvdWxkIGJlIHByZXNlbnQgaW4gY2F0ZWdvcmllcyBhcnJheSAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VycmVudENhdGVnb3J5OiBWYWx1ZUxhYmVsSXRlbTtcblxuICAgIC8qKiBTZXQgbGFiZWwgZm9yIGNhdGVnb3J5IGRyb3Bkb3duIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNhdGVnb3J5TGFiZWwgPSAnQ2F0ZWdvcnknO1xuXG4gICAgLyoqIEhpZGUgZGlzcGxheSBvZiBjYXRlZ29yeSBsYWJlbCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZUNhdGVnb3J5TGFiZWwgPSBmYWxzZTtcblxuICAgIC8qKiBUb2dnbGUgXCJsb2FkaW5nXCIgbW9kZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCB0byBzcGVjaWZ5IHdoYXQgdGhlIHNlYXJjaCBmaWVsZCBpc1xuICAgICAqIE5vdCBzaG93biBpbiB0aGUgVUksIG9ubHkgdmlzaWJsZSBieSB0aGUgc2NyZWVuLXJlYWRlcnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBJZCBvZiBlbGVtZW50cyAoc2VwYXJhdGVkIGJ5IHNwYWNlKSBmb3Igc2V0dGluZyBhcmlhLWxhYmVsbGVkYnkgZm9yIHNlYXJjaCBpbnB1dFxuICAgICAqIE5vdCBzaG93biBpbiB0aGUgVUksIG9ubHkgdmlzaWJsZSBieSB0aGUgc2NyZWVuLXJlYWRlcnMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYWx3YXlzIHNob3cgc2VhcmNoIGJ1dHRvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvcmNlU2VhcmNoQnV0dG9uID0gZmFsc2U7XG5cbiAgICAvKiogSW5wdXQgY2hhbmdlIGV2ZW50LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGlucHV0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8U2VhcmNoSW5wdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIFNlYXJjaCBzdWJtaXQgZXZlbnQuICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VhcmNoU3VibWl0OiBFdmVudEVtaXR0ZXI8U2VhcmNoSW5wdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIENhbmNlbCBzZWFyY2ggZXZlbnQuICovXG4gICAgQE91dHB1dCgpXG4gICAgY2FuY2VsU2VhcmNoOiBFdmVudEVtaXR0ZXI8U2VhcmNoSW5wdXQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIE9wZW4gbW9iaWxlIG1vZGUgZXZlbnQuICovXG4gICAgQE91dHB1dCgpXG4gICAgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NhdGVnb3J5RHJvcGRvd24nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBjYXRlZ29yeURyb3Bkb3duOiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dEdyb3VwJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgaW5wdXRHcm91cDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RmllbGQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBpbnB1dEZpZWxkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRGaWVsZFRlbXBsYXRlJylcbiAgICBpbnB1dEZpZWxkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3N1Z2dlc3Rpb25NZW51VGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzdWdnZXN0aW9uTWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFNlYXJjaEZpZWxkU3VnZ2VzdGlvbkRpcmVjdGl2ZSlcbiAgICBzdWdnZXN0aW9uSXRlbXM6IFF1ZXJ5TGlzdDxTZWFyY2hGaWVsZFN1Z2dlc3Rpb25EaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgc2VhcmNoRmllbGRWYWx1ZSgpOiBTZWFyY2hJbnB1dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmlucHV0VGV4dCxcbiAgICAgICAgICAgIGNhdGVnb3J5OiB0aGlzLl9jdXJyZW50Q2F0ZWdvcnk/LnZhbHVlIHx8IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gRm9jdXMgc3RhdGUgKi9cbiAgICBnZXQgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnQ/LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuaW5wdXRGaWVsZD8ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIGxpc3Qgb2Ygc3RyaW5nIHZhbHVlcyB0YWtlbiBmcm9tIGBzdWdnZXN0aW9uc2AgdG8gcG9wdWxhdGUgZHJvcGRvd24gbWVudS5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX2Ryb3Bkb3duVmFsdWVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT4gPSBvZihbXSk7XG5cbiAgICAvKipcbiAgICAgKiBDdXJyZW50bHkgc2V0IGNhdGVnb3J5LlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBfY3VycmVudENhdGVnb3J5PzogVmFsdWVMYWJlbEl0ZW07XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHR5cGVhaGVhZCBkcm9wZG93bi5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgX3Nob3dEcm9wZG93biA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdG8gc2hvdyBjYXRlZ29yeSBkcm9wZG93bi4gVGhpcyBpcyBkZXBlbmRlbnQgb24gbGVuZ3RoIG9mIGBjYXRlZ29yeVZhbHVlc2AgcHJvcGVydHkuXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIF9zaG93Q2F0ZWdvcnlEcm9wZG93biA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5wdXRJZCA9ICcnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc3VibWl0SWQgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21lbnVJZCA9ICcnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVmcmVzaElkID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbGVhcklkID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kaXI6IERpcmVjdGlvbiA9ICdsdHInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lzUmVmcmVzaCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaXNTZWFyY2hEb25lID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uSXRlbVtdIHwgT2JzZXJ2YWJsZTxTdWdnZXN0aW9uSXRlbVtdPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogU2VhcmNoRmllbGREYXRhU291cmNlPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhdGVnb3JpZXM6IFZhbHVlTGFiZWxJdGVtW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2N1cnJlbnRTZWFyY2hTdWdnZXN0aW9uQW5ub3VjZW1lbnRNZXNzYWdlID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25PdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3VnZ2VzdGlvblBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8U2VhcmNoRmllbGRTdWdnZXN0aW9uRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hcHBlYXJhbmNlOiBBcHBlYXJhbmNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGw6IFJ0bFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgX2RvY3VtZW50OiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChGRF9MQU5HVUFHRSkgcHJpdmF0ZSByZWFkb25seSBfbGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPEZkTGFuZ3VhZ2U+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9saXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyLFxuICAgICAgICByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBjb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9jZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSAmJiB0aGlzLmlzT3BlbiAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VTQ0FQRV0pKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dEaWFsb2coZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmFzZUlkID0gJ2ZkcC1zZWFyY2gtZmllbGQnO1xuICAgICAgICB0aGlzLl9pbnB1dElkID0gYCR7YmFzZUlkfS1pbnB1dC0ke3NlYXJjaEZpZWxkSWRDb3VudCsrfWA7XG4gICAgICAgIHRoaXMuX3N1Ym1pdElkID0gYCR7YmFzZUlkfS1zdWJtaXQtJHtzZWFyY2hGaWVsZElkQ291bnQrK31gO1xuICAgICAgICB0aGlzLl9tZW51SWQgPSBgJHtiYXNlSWR9LW1lbnUtJHtzZWFyY2hGaWVsZElkQ291bnQrK31gO1xuXG4gICAgICAgIHRoaXMuX2lzUmVmcmVzaCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuX3J0bCkge1xuICAgICAgICAgICAgdGhpcy5fcnRsLnJ0bC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChpc1J0bDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RpciA9IGlzUnRsID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0VXBNb2JpbGVNb2RlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCdjYXRlZ29yaWVzJyBpbiBjaGFuZ2VzIHx8ICdjdXJyZW50Q2F0ZWdvcnknIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudENhdGVnb3J5KHRoaXMuY3VycmVudENhdGVnb3J5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbk92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25rZXlNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9jdXNlcyB0aGUgc2VhcmNoIGlucHV0IGZpZWxkLlxuICAgICAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RmllbGQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIENhcHR1cmluZyBvbktleWRvd24gb2YgaW5wdXQgZWxlbWVudCAqL1xuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtVUF9BUlJPVywgRE9XTl9BUlJPV10pKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc3VnZ2VzdGlvbmtleU1hbmFnZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9ua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRVNDQVBFXSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhcHR1cmluZyB2YWx1ZSBjaGFuZ2UgaW4gaW5wdXQgdGV4dCBmaWVsZCBvZiBjb21ib2JveC5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgb25WYWx1ZUNoYW5nZShldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIHdoZW4gc2VhcmNoIHJlc3VsdCBub3QgY2hhbmdlZCBidXQgaW5wdXQgdGV4dCBpcyBjaGFuZ2VkLlxuICAgICAgICAvLyBhZ2FpbiBuZWVkIHRvIGFubm91bmNlIHRoZSByZXN1bHQsIHNvIGNsZWFyIHRoaXMgbWVzc2FnZS5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5fY3VycmVudFNlYXJjaFN1Z2dlc3Rpb25Bbm5vdWNlbWVudE1lc3NhZ2UgPSAnJykpO1xuICAgICAgICB0aGlzLl9pc1NlYXJjaERvbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5faXNSZWZyZXNoID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMubW9iaWxlICYmICF0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoRmllbGRWYWx1ZSk7XG4gICAgICAgIGNvbnN0IGlucHV0U3RyOiBzdHJpbmcgPSBldmVudC50cmltKCk7XG4gICAgICAgIGlmIChpbnB1dFN0ci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuU3VnZ2VzdGlvbk1lbnUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgbWF0Y2guc2V0KCdrZXl3b3JkJywgaW5wdXRTdHIpO1xuICAgICAgICAgICAgbWF0Y2guc2V0KCdjYXRlZ29yeScsIHRoaXMuX2N1cnJlbnRDYXRlZ29yeT8udmFsdWUgfHwgbnVsbCk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5tYXRjaChtYXRjaCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91cGRhdGVTZWFyY2hBbm5vdWNlbWVudFRleHQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXB0dXJpbmcgaXRlbSBzZWxlY3Rpb24gZnJvbSBkcm9wZG93biBtZW51IG9mIGNvbWJvYm94LlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBvbkl0ZW1DbGljayhldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRUZXh0ID0gZXZlbnQ7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuICAgICAgICB0aGlzLnNlYXJjaFN1Ym1pdC5lbWl0KHRoaXMuc2VhcmNoRmllbGRWYWx1ZSk7XG4gICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudSgpO1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0RpYWxvZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNTZWFyY2hEb25lID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHdoaWNoIGdldHMgZXhlY3V0ZWQgb24ga2V5Ym9hcmQgZW50ZXIgb2YgaW5wdXQgdGV4dCBmaWVsZC5cbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgb25TZWFyY2hTdWJtaXQoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsU2VhcmNoLmVtaXQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoU3VibWl0LmVtaXQodGhpcy5zZWFyY2hGaWVsZFZhbHVlKTtcblxuICAgICAgICB0aGlzLl9pc1JlZnJlc2ggPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0VGV4dCkge1xuICAgICAgICAgICAgdGhpcy5faXNTZWFyY2hEb25lID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudShmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBjdXJyZW50IGNhdGVnb3J5LlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXRDdXJyZW50Q2F0ZWdvcnkoY3VycmVudENhdGVnb3J5OiBWYWx1ZUxhYmVsSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50Q2F0ZWdvcnkgPVxuICAgICAgICAgICAgY3VycmVudENhdGVnb3J5ICYmXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXM/LmZpbmQoXG4gICAgICAgICAgICAgICAgKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5sYWJlbCA9PT0gY3VycmVudENhdGVnb3J5LmxhYmVsICYmIGNhdGVnb3J5LnZhbHVlID09PSBjdXJyZW50Q2F0ZWdvcnkudmFsdWVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5pbnB1dENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoRmllbGRWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiBzdWdnZXN0aW9uIG1lbnVcbiAgICAgKi9cbiAgICBvcGVuU3VnZ2VzdGlvbk1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VTdWdnZXN0aW9uTWVudSgpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0aW9ua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0aW9ua2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5zdWdnZXN0aW9uSXRlbXMpO1xuICAgICAgICBpZiAodGhpcy5fc2hvd0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjcmVhdGUgb3ZlcmxheVxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5fY3JlYXRlU3VnZ2V0aW9uT3ZlcmxheUNvbmZpZygpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuXG4gICAgICAgIC8vIGdldCBwb3J0YWwgdG8gYXR0YWNoIHRvIG92ZXJsYXlcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvblBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnN1Z2dlc3Rpb25NZW51VGVtcGxhdGUsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZi5hdHRhY2godGhpcy5fc3VnZ2VzdGlvblBvcnRhbCk7XG5cbiAgICAgICAgLy8gYWRkIHN1YnNjcmlwdGlvbiB0byBjYXB0dXJlIG91dHNpZGUgY2xpY2tzXG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgISF0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX3N1Z2dlc3Rpb25PdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBmb2N1cyA9ICEodGFyZ2V0LnRhZ05hbWUgPT09ICdJTlBVVCcgJiYgdGhpcy5faW5wdXRJZCAhPT0gdGFyZ2V0LmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbk1lbnUoZm9jdXMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fc2hvd0Ryb3Bkb3duID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5Nb2JpbGVNb2RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dEaWFsb2codHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBkaWFsb2dBcHByb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrKHRoaXMuaW5wdXRUZXh0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRpYWxvZ0Rpc21pc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0RpYWxvZyhmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaG93RGlhbG9nKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4gIT09IGlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBpc09wZW47XG5cbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2xvc2VTdWdnZXN0aW9uTWVudShmb2N1cyA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zdWdnZXN0aW9uT3ZlcmxheVJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25PdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zaG93RHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNsZWFyVGV4dElucHV0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaW5wdXRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaEZpZWxkVmFsdWUpO1xuICAgICAgICB0aGlzLmNhbmNlbFNlYXJjaC5lbWl0KHRoaXMuc2VhcmNoRmllbGRWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5faXNSZWZyZXNoID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5faXNTZWFyY2hEb25lID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5jbG9zZVN1Z2dlc3Rpb25NZW51KGZhbHNlKTtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NyZWF0ZVN1Z2dldGlvbk92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuaW5wdXRHcm91cClcbiAgICAgICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICAgICAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmlucHV0R3JvdXAubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbml0aWFsaXplRGF0YVNvdXJjZShkYXRhU291cmNlOiBTZWFyY2hGaWVsZERhdGFTb3VyY2U8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlQ2hhbmdlZCQubmV4dCgpO1xuICAgICAgICBkYXRhU291cmNlXG4gICAgICAgICAgICAub3BlbigpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5fb25EZXN0cm95JCwgdGhpcy5fZGF0YVNvdXJjZUNoYW5nZWQkKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25WYWx1ZXMkID0gb2YoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiByZXR1cm4gY291bnQgZm9yIG1hdGNoaW5nIHN1Z2dlc3Rpb24gd2l0aCBpbnB1dCB0ZXh0XG4gICAgICogQHJldHVybnMgbnVtYmVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0U3VnZ2VzdGlvbnNMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25WYWx1ZXMkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHN1Z2dlc3Rpb25zKSA9PiB7XG4gICAgICAgICAgICBzdWdnZXN0aW9ucz8uZm9yRWFjaCgoc3VnZ2VzdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0VGV4dCAmJiBzdWdnZXN0aW9uPy50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5pbnB1dFRleHQ/LnRyaW0oKT8udG9Mb3dlckNhc2UoKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF91cGRhdGVTZWFyY2hBbm5vdWNlbWVudFRleHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIGNyZWF0ZSBzZWFyY2ggc3VnZ2VzdGlvbiBtZXNzYWdlIHdpdGggY291bnQuXG4gICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25Db3VudCA9IHRoaXMuX2dldFN1Z2dlc3Rpb25zTGVuZ3RoKCk7XG4gICAgICAgIGNvbnN0IGxhbmcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9sYW5ndWFnZSQpO1xuICAgICAgICBjb25zdCBzZWFyY2hTdWdnZXN0aW9uTWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShcbiAgICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgICAncGxhdGZvcm1TZWFyY2hGaWVsZC5zZWFyY2hTdWdnZXN0aW9uTWVzc2FnZScsXG4gICAgICAgICAgICB7IGNvdW50OiBzdWdnZXN0aW9uQ291bnQgfVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzZWFyY2hTdWdnZXN0aW9uTmF2aWdhdGVNZXNzYWdlID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKFxuICAgICAgICAgICAgbGFuZyxcbiAgICAgICAgICAgICdwbGF0Zm9ybVNlYXJjaEZpZWxkLnNlYXJjaFN1Z2dlc3Rpb25OYXZpZ2F0ZU1lc3NhZ2UnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hTdWdnZXN0aW9uQW5ub3VjZW1lbnRNZXNzYWdlID1cbiAgICAgICAgICAgIHNlYXJjaFN1Z2dlc3Rpb25NZXNzYWdlICsgKHN1Z2dlc3Rpb25Db3VudCA+IDAgPyBzZWFyY2hTdWdnZXN0aW9uTmF2aWdhdGVNZXNzYWdlIDogJycpO1xuICAgICAgICBpZiAodGhpcy5pbnB1dFRleHQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGhpcy5fY3VycmVudFNlYXJjaFN1Z2dlc3Rpb25Bbm5vdWNlbWVudE1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9zZXRVcE1vYmlsZU1vZGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogU0VBUkNIX0ZJRUxEX0NPTVBPTkVOVCwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHRoaXMuX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUR5bmFtaWNNb2R1bGUoXG4gICAgICAgICAgICB7IGlucHV0RmllbGRUZW1wbGF0ZTogdGhpcy5pbnB1dEZpZWxkVGVtcGxhdGUsIHN1Z2dlc3Rpb25NZW51VGVtcGxhdGU6IHRoaXMuc3VnZ2VzdGlvbk1lbnVUZW1wbGF0ZSB9LFxuICAgICAgICAgICAgUGxhdGZvcm1TZWFyY2hGaWVsZE1vYmlsZU1vZHVsZSxcbiAgICAgICAgICAgIFNlYXJjaEZpZWxkTW9iaWxlQ29tcG9uZW50LFxuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGluamVjdG9yXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3N1Z2dlc3Rpb25NYXRjaGVzJ1xufSlcbmV4cG9ydCBjbGFzcyBTdWdnZXN0aW9uTWF0Y2hlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IHN0cmluZ1tdIHwgbnVsbCwgbWF0Y2g6IHN0cmluZywgbW9iaWxlID0gZmFsc2UpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmICghdmFsdWVzKSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9iaWxlICYmICFtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlcztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9jZXNzZWRNYXRjaCA9IG1hdGNoLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigodmFsdWUpID0+IHZhbHVlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihwcm9jZXNzZWRNYXRjaCkgPiAtMSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vYmlsZSA/IG1vYmlsZVRlbXBsYXRlIDogaW5wdXRGaWVsZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbW9iaWxlVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0RmllbGRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2hDYXRlZ29yeU1lbnU+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImZkcC1zZWFyY2gtZmllbGRfX2NhdGVnb3J5LWJ1dHRvbiBmZC1pbnB1dC1ncm91cF9fYnV0dG9uIGZkLWJ1dHRvbiBmZC1idXR0b24tLW1lbnUge3tcbiAgICAgICAgICAgIGFwcGVhcmFuY2U/LmNhdGVnb3J5QnV0dG9uQ2xhc3NcbiAgICAgICAgfX1cIlxuICAgICAgICBbZmRwTWVudVRyaWdnZXJGb3JdPVwiY2F0ZWdvcnlNZW51XCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9fY2F0ZWdvcnktbGFiZWxcIiAqbmdJZj1cIiFoaWRlQ2F0ZWdvcnlMYWJlbFwiPlxuICAgICAgICAgICAge3sgX2N1cnJlbnRDYXRlZ29yeT8ubGFiZWwgfHwgY2F0ZWdvcnlMYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGZkcC1tZW51ICNjYXRlZ29yeU1lbnU+XG4gICAgICAgIDxmZHAtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzXCIgKGl0ZW1TZWxlY3QpPVwic2V0Q3VycmVudENhdGVnb3J5KGNhdGVnb3J5KVwiXG4gICAgICAgICAgICA+e3sgY2F0ZWdvcnkubGFiZWwgfX1cbiAgICAgICAgPC9mZHAtbWVudS1pdGVtPlxuICAgIDwvZmRwLW1lbnU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaENhdGVnb3J5U2VsZWN0PlxuICAgIDxmZC1zZWxlY3RcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNhdGVnb3J5TGFiZWxcIlxuICAgICAgICBbc2VsZWN0Q29udHJvbENsYXNzXT1cImFwcGVhcmFuY2U/LmNhdGVnb3J5QnV0dG9uQ2xhc3NcIlxuICAgICAgICBbc2VsZWN0RHJvcGRvd25CdXR0b25DbGFzc109XCJhcHBlYXJhbmNlPy5jYXRlZ29yeURyb3Bkb3duQnV0dG9uQ2xhc3NcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2V0Q3VycmVudENhdGVnb3J5KCRldmVudClcIlxuICAgID5cbiAgICAgICAgPGxpIGZkLW9wdGlvbiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllc1wiIFt2YWx1ZV09XCJjYXRlZ29yeVwiPnt7IGNhdGVnb3J5LmxhYmVsIH19PC9saT5cbiAgICA8L2ZkLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRGaWVsZFRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkXCJcbiAgICAgICAgW2NsYXNzLndpdGgtY2F0ZWdvcmllc109XCJfc2hvd0NhdGVnb3J5RHJvcGRvd25cIlxuICAgICAgICBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbY2xhc3MuaXMtY29tcGFjdF09XCJjb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgIFtjbGFzcy5oaWRlLWNhdGVnb3J5LWxhYmVsXT1cImhpZGVDYXRlZ29yeUxhYmVsXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNpbnB1dEdyb3VwXG4gICAgICAgICAgICBjbGFzcz1cImZkcC1zZWFyY2gtZmllbGRfX2lucHV0LWdyb3VwIGZkLWlucHV0LWdyb3VwIHt7IGFwcGVhcmFuY2U/LnNlYXJjaENsYXNzIH19XCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1mb2N1c109XCJpc0ZvY3VzZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQtZ3JvdXBfX2FkZG9uIGZkLWlucHV0LWdyb3VwX19hZGRvbi0tYnV0dG9uIHt7IGFwcGVhcmFuY2U/LnNlYXJjaENhdGVnb3J5Q2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiX3Nob3dDYXRlZ29yeURyb3Bkb3duXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXRlZ29yeU1vZGUgPT09ICdzZWxlY3QnID8gc2VhcmNoQ2F0ZWdvcnlTZWxlY3QgOiBzZWFyY2hDYXRlZ29yeU1lbnVcIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgI2lucHV0RmllbGRcbiAgICAgICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19pbnB1dCBmZC1pbnB1dCBmZC1pbnB1dC1ncm91cF9faW5wdXQge3sgYXBwZWFyYW5jZT8uc2VhcmNoRmllbGRDbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiX2lucHV0SWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIl9tZW51SWRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiX3Nob3dEcm9wZG93biA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvblNlYXJjaFN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9iaWxlICYmIG9wZW5Nb2JpbGVNb2RlKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1pbnB1dC1ncm91cF9fYWRkb24gZmQtaW5wdXQtZ3JvdXBfX2FkZG9uLS1idXR0b24ge3sgYXBwZWFyYW5jZT8uYWRkb25DbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbnB1dFRleHQgJiYgaW5wdXRUZXh0Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVNlYXJjaEZpZWxkLmNsZWFyQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkcC1zZWFyY2gtZmllbGRfX2NsZWFyIGZkLWJ1dHRvbiBmZC1idXR0b24tLXRyYW5zcGFyZW50IHt7IGFwcGVhcmFuY2U/LmJ1dHRvbkNsYXNzIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLWlucHV0LWdyb3VwX19idXR0b25dPVwiIWFwcGVhcmFuY2U/LnJlbW92ZUdyb3VwQnV0dG9uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIl9jbGVhcklkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyVGV4dElucHV0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJkZWNsaW5lXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWlucHV0LWdyb3VwX19hZGRvbiBmZC1pbnB1dC1ncm91cF9fYWRkb24tLWJ1dHRvbiB7eyBhcHBlYXJhbmNlPy5hZGRvbkNsYXNzIH19IHt7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U/LnNlYXJjaFN1Ym1pdENsYXNzXG4gICAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9yY2VTZWFyY2hCdXR0b24gfHwgaXNMb2FkaW5nIHx8ICghaXNMb2FkaW5nICYmICFfaXNTZWFyY2hEb25lKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkaXNhYmxlU2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVNlYXJjaEZpZWxkLnN1Ym1pdEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19zdWJtaXQgZmQtYnV0dG9uIGZkLWJ1dHRvbi0tdHJhbnNwYXJlbnQge3sgYXBwZWFyYW5jZT8uYnV0dG9uQ2xhc3MgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtaW5wdXQtZ3JvdXBfX2J1dHRvbl09XCIhYXBwZWFyYW5jZT8ucmVtb3ZlR3JvdXBCdXR0b25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIl9zdWJtaXRJZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoU3VibWl0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJzZWFyY2hcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXQtZ3JvdXBfX2FkZG9uIGZkLWlucHV0LWdyb3VwX19hZGRvbi0tYnV0dG9uIHt7IGFwcGVhcmFuY2U/LmFkZG9uQ2xhc3MgfX0ge3tcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT8uc2VhcmNoU3VibWl0Q2xhc3NcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZVJlZnJlc2ggJiYgIWlzTG9hZGluZyAmJiAoX2lzUmVmcmVzaCB8fCBfaXNTZWFyY2hEb25lKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtU2VhcmNoRmllbGQuc3luY2hyb25pemVCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmRwLXNlYXJjaC1maWVsZF9fbG9hZGluZyBmZC1pbnB1dC1ncm91cF9fYnV0dG9uIGZkLWJ1dHRvbiBmZC1idXR0b24tLXRyYW5zcGFyZW50IHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPy5idXR0b25DbGFzc1xuICAgICAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiX3JlZnJlc2hJZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaFN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic3luY2hyb25pemVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzdWdnZXN0aW9uTWVudVRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19zdWdnZXN0aW9uLWRyb3Bkb3duXCJcbiAgICAgICAgW2F0dHIuZGlyXT1cIl9kaXJcIlxuICAgICAgICAqbmdJZj1cIihfZHJvcGRvd25WYWx1ZXMkIHwgYXN5bmMgfCBzdWdnZXN0aW9uTWF0Y2hlcyA6IGlucHV0VGV4dCA6IG1vYmlsZSk/Lmxlbmd0aFwiXG4gICAgPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgICBjbGFzcz1cImZkLW1lbnVcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICBbY2xhc3MuaXMtY29tcGFjdF09XCJjb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgICAgICBbY2xhc3MuZmQtbWVudS0tbW9iaWxlXT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtbWVudS0tb3ZlcmZsb3ddPVwiIW1vYmlsZVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJfbWVudUlkXCJcbiAgICAgICAgICAgICNtZW51XG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImZkLW1lbnVfX2xpc3RcIiByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICBmZHBTZWFyY2hGaWVsZFN1Z2dlc3Rpb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZHAtc2VhcmNoLWZpZWxkX19zdWdnZXN0aW9uLWl0ZW0gZmQtbWVudV9faXRlbSBmZC1tZW51X19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZhbHVlIG9mIF9kcm9wZG93blZhbHVlcyQgfCBhc3luYyB8IHN1Z2dlc3Rpb25NYXRjaGVzIDogaW5wdXRUZXh0IDogbW9iaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25JdGVtQ2xpY2sodmFsdWUpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJvbkl0ZW1DbGljayh2YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5dXAuc3BhY2UpPVwib25JdGVtQ2xpY2sodmFsdWUpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2sodmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ2YWx1ZSB8IGhpZ2hsaWdodCA6IGlucHV0VGV4dCA6IHRydWUgOiB0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvbmF2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -9,7 +9,6 @@ import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
|
|
|
9
9
|
import { PlatformMenuModule } from '@fundamental-ngx/platform/menu';
|
|
10
10
|
import { SearchFieldComponent, SearchFieldSuggestionDirective, SuggestionMatchesPipe } from './search-field.component';
|
|
11
11
|
import { I18nModule } from '@fundamental-ngx/i18n';
|
|
12
|
-
import { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';
|
|
13
12
|
import { SelectModule } from '@fundamental-ngx/core/select';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
export class PlatformSearchFieldModule {
|
|
@@ -21,14 +20,9 @@ export class PlatformSearchFieldModule {
|
|
|
21
20
|
MenuModule,
|
|
22
21
|
PipeModule,
|
|
23
22
|
PlatformMenuModule,
|
|
24
|
-
PlatformContentDensityDeprecationsModule,
|
|
25
23
|
ContentDensityModule,
|
|
26
24
|
I18nModule,
|
|
27
|
-
SelectModule], exports: [SearchFieldComponent,
|
|
28
|
-
SearchFieldSuggestionDirective,
|
|
29
|
-
SuggestionMatchesPipe,
|
|
30
|
-
PlatformContentDensityDeprecationsModule,
|
|
31
|
-
ContentDensityModule] }); }
|
|
25
|
+
SelectModule], exports: [SearchFieldComponent, SearchFieldSuggestionDirective, SuggestionMatchesPipe, ContentDensityModule] }); }
|
|
32
26
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformSearchFieldModule, providers: [DynamicComponentService], imports: [CommonModule,
|
|
33
27
|
FormsModule,
|
|
34
28
|
OverlayModule,
|
|
@@ -36,11 +30,9 @@ export class PlatformSearchFieldModule {
|
|
|
36
30
|
MenuModule,
|
|
37
31
|
PipeModule,
|
|
38
32
|
PlatformMenuModule,
|
|
39
|
-
PlatformContentDensityDeprecationsModule,
|
|
40
33
|
ContentDensityModule,
|
|
41
34
|
I18nModule,
|
|
42
|
-
SelectModule,
|
|
43
|
-
ContentDensityModule] }); }
|
|
35
|
+
SelectModule, ContentDensityModule] }); }
|
|
44
36
|
}
|
|
45
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformSearchFieldModule, decorators: [{
|
|
46
38
|
type: NgModule,
|
|
@@ -53,20 +45,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
53
45
|
MenuModule,
|
|
54
46
|
PipeModule,
|
|
55
47
|
PlatformMenuModule,
|
|
56
|
-
PlatformContentDensityDeprecationsModule,
|
|
57
48
|
ContentDensityModule,
|
|
58
49
|
I18nModule,
|
|
59
50
|
SelectModule
|
|
60
51
|
],
|
|
61
|
-
exports: [
|
|
62
|
-
SearchFieldComponent,
|
|
63
|
-
SearchFieldSuggestionDirective,
|
|
64
|
-
SuggestionMatchesPipe,
|
|
65
|
-
PlatformContentDensityDeprecationsModule,
|
|
66
|
-
ContentDensityModule
|
|
67
|
-
],
|
|
52
|
+
exports: [SearchFieldComponent, SearchFieldSuggestionDirective, SuggestionMatchesPipe, ContentDensityModule],
|
|
68
53
|
declarations: [SearchFieldComponent, SearchFieldSuggestionDirective, SuggestionMatchesPipe],
|
|
69
54
|
providers: [DynamicComponentService]
|
|
70
55
|
}]
|
|
71
56
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZWFyY2gtZmllbGQvc2VhcmNoLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBbUI1RCxNQUFNLE9BQU8seUJBQXlCOzhHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixpQkFIbkIsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLGFBWnRGLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLFVBQVU7WUFDVixVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsVUFBVTtZQUNWLFlBQVksYUFFTixvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0I7K0dBSWxHLHlCQUF5QixhQUZ2QixDQUFDLHVCQUF1QixDQUFDLFlBYmhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLFVBQVU7WUFDVixVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsVUFBVTtZQUNWLFlBQVksRUFFdUUsb0JBQW9COzsyRkFJbEcseUJBQXlCO2tCQWpCckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFVBQVU7d0JBQ1Ysa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLFVBQVU7d0JBQ1YsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQztvQkFDNUcsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsOEJBQThCLEVBQUUscUJBQXFCLENBQUM7b0JBQzNGLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTWVudU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBQaXBlTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IFBsYXRmb3JtTWVudU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vbWVudSc7XG5cbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50LCBTZWFyY2hGaWVsZFN1Z2dlc3Rpb25EaXJlY3RpdmUsIFN1Z2dlc3Rpb25NYXRjaGVzUGlwZSB9IGZyb20gJy4vc2VhcmNoLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJMThuTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgSWNvbk1vZHVsZSxcbiAgICAgICAgTWVudU1vZHVsZSxcbiAgICAgICAgUGlwZU1vZHVsZSxcbiAgICAgICAgUGxhdGZvcm1NZW51TW9kdWxlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZSxcbiAgICAgICAgSTE4bk1vZHVsZSxcbiAgICAgICAgU2VsZWN0TW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2VhcmNoRmllbGRDb21wb25lbnQsIFNlYXJjaEZpZWxkU3VnZ2VzdGlvbkRpcmVjdGl2ZSwgU3VnZ2VzdGlvbk1hdGNoZXNQaXBlLCBDb250ZW50RGVuc2l0eU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbU2VhcmNoRmllbGRDb21wb25lbnQsIFNlYXJjaEZpZWxkU3VnZ2VzdGlvbkRpcmVjdGl2ZSwgU3VnZ2VzdGlvbk1hdGNoZXNQaXBlXSxcbiAgICBwcm92aWRlcnM6IFtEeW5hbWljQ29tcG9uZW50U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1TZWFyY2hGaWVsZE1vZHVsZSB7fVxuIl19
|
package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs
CHANGED
|
@@ -16,7 +16,7 @@ export class ThemeSelectorListComponent extends BaseDynamicFormGeneratorControl
|
|
|
16
16
|
control?.setValue(value);
|
|
17
17
|
}
|
|
18
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ThemeSelectorListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ThemeSelectorListComponent, selector: "fdp-theme-selector-list", usesInheritance: true, ngImport: i0, template: "<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n", styles: [".settings-selector-list__theme--sap_fiori_3{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-1{fill:#f7f7f7}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-5{fill:#0854a0}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-6{fill:#6a6d70}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-1{fill:#1c2228}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-2{fill:#424f5e}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-3{fill:#29313a}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-4{fill:#3a4552}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-5{fill:#91c8f6}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-6{fill:#d3d7d9}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-9{fill:#fafafa}.settings-selector-list__theme--sap_fiori_3_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-9{fill:#000}.settings-selector-list__theme--sap_horizon{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-1{fill:#f5f6f7}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-5{fill:#0070f2}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-6{fill:#556b82}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-8{fill:#788fa6}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-9{fill:#223548}.settings-selector-list__theme--sap_horizon_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-1{fill:#12171c}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-2{fill:#475566}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-3{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-4{fill:#2e3742}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-5{fill:#4db1ff}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-6{fill:#8396a8}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-7{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-8{fill:#a9b4be}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-9{fill:#eaecee}.settings-selector-list__theme--sap_horizon_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-9{fill:#000}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListComponent; }), selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListItemComponent; }), selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListTitleDirective; }), selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListLinkDirective; }), selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListBylineDirective; }), selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListContentDirective; }), selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListThumbnailDirective; }), selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.ClickedDirective; }), selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "component", type: i0.forwardRef(function () { return ThemeSelectorListIconComponent; }), selector: "fdp-theme-selector-list-icon", inputs: ["size"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ThemeSelectorListComponent, selector: "fdp-theme-selector-list", usesInheritance: true, ngImport: i0, template: "<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n", styles: [".settings-selector-list__theme--sap_fiori_3{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-1{fill:#f7f7f7}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-5{fill:#0854a0}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-6{fill:#6a6d70}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3 .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-1{fill:#1c2228}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-2{fill:#424f5e}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-3{fill:#29313a}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-4{fill:#3a4552}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-5{fill:#91c8f6}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-6{fill:#d3d7d9}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-7{fill:#354a5f}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-8{fill:#7996b4}.settings-selector-list__theme--sap_fiori_3_dark .settings-selector-list-icon__cls-9{fill:#fafafa}.settings-selector-list__theme--sap_fiori_3_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_fiori_3_hcw .settings-selector-list-icon__cls-9{fill:#000}.settings-selector-list__theme--sap_horizon{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-1{fill:#f5f6f7}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-2{fill:#ccc}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-4{fill:#d9d9d9}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-5{fill:#0070f2}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-6{fill:#556b82}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-8{fill:#788fa6}.settings-selector-list__theme--sap_horizon .settings-selector-list-icon__cls-9{fill:#223548}.settings-selector-list__theme--sap_horizon_dark{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-1{fill:#12171c}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-2{fill:#475566}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-3{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-4{fill:#2e3742}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-5{fill:#4db1ff}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-6{fill:#8396a8}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-7{fill:#1d232a}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-8{fill:#a9b4be}.settings-selector-list__theme--sap_horizon_dark .settings-selector-list-icon__cls-9{fill:#eaecee}.settings-selector-list__theme--sap_horizon_hcb{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-1{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-2{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-3{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-4{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-5{fill:#0f5d94}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-6{fill:#fff}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-7{fill:#000}.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcb .settings-selector-list-icon__cls-9{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw{border-radius:50%;border:1px solid var(--sapContent_Illustrative_Color5)}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-1{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-2{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-3{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-4{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-5{fill:#8fb5ff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-6{fill:#000}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-7{fill:#fff}.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-8,.settings-selector-list__theme--sap_horizon_hcw .settings-selector-list-icon__cls-9{fill:#000}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListComponent; }), selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.ListItemComponent; }), selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline"], outputs: ["keyDown"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListTitleDirective; }), selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListLinkDirective; }), selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListBylineDirective; }), selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListContentDirective; }), selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ListThumbnailDirective; }), selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.ClickedDirective; }), selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "component", type: i0.forwardRef(function () { return ThemeSelectorListIconComponent; }), selector: "fdp-theme-selector-list-icon", inputs: ["size"] }], viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
20
20
|
}
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ThemeSelectorListComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
36
36
|
}], propDecorators: { size: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvc2V0dGluZ3MtZ2VuZXJhdG9yL2NvbnRyb2xzL3RoZW1lLXNlbGVjdG9yLWxpc3QvdGhlbWUtc2VsZWN0b3ItbGlzdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9zZXR0aW5ncy1nZW5lcmF0b3IvY29udHJvbHMvdGhlbWUtc2VsZWN0b3ItbGlzdC9pY29uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUNILCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQ2hDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBVXhDLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwrQkFBK0I7SUFJM0UsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0FkUSwwQkFBMEI7a0dBQTFCLDBCQUEwQixzRkNmdkMsMjZCQW9CQSw4b1REa0JhLDhCQUE4QixvRkF6QnhCLENBQUMsd0JBQXdCLEVBQUUsNkJBQTZCLENBQUM7OzJGQUUvRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUN0QixDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDOztBQXlCNUUsTUFBTSxPQUFPLDhCQUE4QjtJQU4zQztRQU9JLGNBQWM7UUFFZCxTQUFJLEdBQUcsRUFBRSxDQUFDO0tBQ2I7OEdBSlksOEJBQThCO2tHQUE5Qiw4QkFBOEIsOEZFdEMzQyxpbkZBMkRBOzsyRkZyQmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDhCQUE4QixpQkFFekIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbCxcbiAgICBkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsXG4gICAgZHluYW1pY0Zvcm1Hcm91cENoaWxkUHJvdmlkZXJcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RoZW1lLXNlbGVjdG9yLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHZpZXdQcm92aWRlcnM6IFtkeW5hbWljRm9ybUZpZWxkUHJvdmlkZXIsIGR5bmFtaWNGb3JtR3JvdXBDaGlsZFByb3ZpZGVyXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VEeW5hbWljRm9ybUdlbmVyYXRvckNvbnRyb2wgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY3VycmVudFRoZW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRUaGVtZSA9IHRoaXMuZm9ybUl0ZW0uZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRoZW1lKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoW3RoaXMuZm9ybUdyb3VwTmFtZSwgdGhpcy5uYW1lXSk7XG4gICAgICAgIHRoaXMuY3VycmVudFRoZW1lID0gdmFsdWU7XG4gICAgICAgIGNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZVNlbGVjdG9yTGlzdEljb25Db21wb25lbnQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzaXplID0gNDA7XG59XG4iLCI8dWwgZmQtbGlzdCBbYnlsaW5lXT1cInRydWVcIj5cbiAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm1JdGVtLmNob2ljZXNcIiBbc2VsZWN0ZWRdPVwiY3VycmVudFRoZW1lID09PSBpdGVtLnZhbHVlXCI+XG4gICAgICAgIDxhIGZkLWxpc3QtbGluayAoZmRrQ2xpY2tlZCk9XCJzZXRUaGVtZShpdGVtLnZhbHVlKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLnRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRodW1ibmFpbCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3RfX3RoZW1lLS17eyBpdGVtLnZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZHAtdGhlbWUtc2VsZWN0b3ItbGlzdC1pY29uPjwvZmRwLXRoZW1lLXNlbGVjdG9yLWxpc3QtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZT57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ0lmXT1cIml0ZW0udGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGUhXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG48L3VsPlxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMDAgMjAwXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemVcIj5cbiAgICA8ZGVmcz5cbiAgICAgICAgPHN0eWxlPlxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTEge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMxYzIyMjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0yIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNDI0ZjVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMyB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzI5MzEzYTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzYTQ1NTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjOTFjOGY2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNiB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2QzZDdkOTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICMzNTRhNWY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjNzk5NmI0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOSB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICA8L2RlZnM+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy0xXCIgeT1cIjg4XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCIxMTJcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtMlwiIGQ9XCJNMjAwLDEwNXY5NUg1OVYxMTBhNSw1LDAsMCwxLDUtNVpcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIGQ9XCJNNjQsMTA2SDIwMHY5NEg2MFYxMTBBNCw0LDAsMCwxLDY0LDEwNlpcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtM1wiIHk9XCI0NFwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiNDRcIiAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtNFwiIHk9XCI4N1wiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy01XCJcbiAgICAgICAgZD1cIk02NCw2M2g0NmE1LDUsMCwwLDEsNSw1aDBhNSw1LDAsMCwxLTUsNUg2NGE1LDUsMCwwLDEtNS01aDBBNSw1LDAsMCwxLDY0LDYzWlwiXG4gICAgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTZcIiBkPVwiTTE1Myw2M2g0N1Y3M0gxNTNhNSw1LDAsMCwxLTUtNWgwQTUsNSwwLDAsMSwxNTMsNjNaXCIgLz5cbiAgICA8cGF0aCBjbGFzcz1cInNldHRpbmdzLXNlbGVjdG9yLWxpc3QtaWNvbl9fY2xzLTVcIiBkPVwiTTYyLDg1aDUwYTMsMywwLDAsMSwzLDNINTlBMywzLDAsMCwxLDYyLDg1WlwiIC8+XG4gICAgPHJlY3QgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy03XCIgd2lkdGg9XCIyMDBcIiBoZWlnaHQ9XCI0NFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1zZWxlY3Rvci1saXN0LWljb25fX2Nscy04XCJcbiAgICAgICAgZD1cIk02OC40NTksMTNhMSwxLDAsMCwxLC43MTQsMS43MDdsLTE2LjE1NSwxNkExLjAxLDEuMDEsMCwwLDEsNTIuMywzMUgzMy41MzlhMSwxLDAsMCwxLTEuMDEtLjk5VjE0YTEsMSwwLDAsMSwxLTFoMzQuOTNtMC0zSDMzLjUzOUE0LjAyNCw0LjAyNCwwLDAsMCwyOS41LDE0VjMwYTQuMDI0LDQuMDI0LDAsMCwwLDQuMDM5LDRINTIuM2E0LjAzMyw0LjAzMywwLDAsMCwyLjg1Ny0xLjE3MmwxNi4xNTQtMTZhMy45NjEsMy45NjEsMCwwLDAsLjg3Ni00LjM1OUE0LjAyNyw0LjAyNywwLDAsMCw2OC40NTksMTBaXCJcbiAgICAvPlxuICAgIDxyZWN0IGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIHg9XCI4Mi4xMjFcIiB5PVwiMTYuOTQ5XCIgd2lkdGg9XCI3NS43NThcIiBoZWlnaHQ9XCIxMC4xMDFcIiByeD1cIjVcIiAvPlxuICAgIDxwYXRoIGNsYXNzPVwic2V0dGluZ3Mtc2VsZWN0b3ItbGlzdC1pY29uX19jbHMtOVwiIGQ9XCJNMTcwLDE4aDMwdjhIMTcwYTQsNCwwLDAsMS00LTRoMEE0LDQsMCwwLDEsMTcwLDE4WlwiIC8+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -55,7 +55,7 @@ export class SettingsGeneratorSidebarIconComponent {
|
|
|
55
55
|
callback(config);
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SettingsGeneratorSidebarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SettingsGeneratorSidebarIconComponent, selector: "fdp-settings-generator-sidebar-icon", inputs: { thumbnail: "thumbnail" }, ngImport: i0, template: "<ng-container *ngIf=\"!_iconConfig && !_avatarConfig; else iconBlock\">\n <fd-skeleton type=\"rectangle\" width=\"48px\" height=\"48px\"></fd-skeleton>\n</ng-container>\n<ng-template #iconBlock>\n <fd-icon\n *ngIf=\"_iconConfig && _iconConfig.glyph\"\n [glyph]=\"_iconConfig.glyph\"\n [ariaLabel]=\"_iconConfig.ariaLabel\"\n [font]=\"_iconConfig.font\"\n ></fd-icon>\n <fd-avatar\n *ngIf=\"_avatarConfig && (_avatarConfig.image || _avatarConfig.glyph || _avatarConfig.zoomGlyph)\"\n [size]=\"_avatarConfig.size\"\n [glyph]=\"_avatarConfig.glyph\"\n [zoomGlyph]=\"_avatarConfig.zoomGlyph\"\n [label]=\"_avatarConfig.label\"\n [circle]=\"_avatarConfig.circle\"\n [placeholder]=\"_avatarConfig.placeholder\"\n [tile]=\"_avatarConfig.tile\"\n [colorAccent]=\"_avatarConfig.colorAccent\"\n [image]=\"_avatarConfig.image\"\n [transparent]=\"_avatarConfig.transparent\"\n [random]=\"_avatarConfig.random\"\n [class]=\"'fd-list__icon ' + _avatarConfig.class\"\n [ariaLabel]=\"_avatarConfig.ariaLabel\"\n [ariaLabelledby]=\"_avatarConfig.ariaLabelledby\"\n [contain]=\"_avatarConfig.contain\"\n [border]=\"_avatarConfig.border\"\n [alterIcon]=\"_avatarConfig.alterIcon\"\n [backupImage]=\"_avatarConfig.backupImage\"\n [clickable]=\"_avatarConfig.clickable\"\n [attr.alt]=\"_avatarConfig.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SettingsGeneratorSidebarIconComponent, selector: "fdp-settings-generator-sidebar-icon", inputs: { thumbnail: "thumbnail" }, ngImport: i0, template: "<ng-container *ngIf=\"!_iconConfig && !_avatarConfig; else iconBlock\">\n <fd-skeleton type=\"rectangle\" width=\"48px\" height=\"48px\"></fd-skeleton>\n</ng-container>\n<ng-template #iconBlock>\n <fd-icon\n *ngIf=\"_iconConfig && _iconConfig.glyph\"\n [glyph]=\"_iconConfig.glyph\"\n [ariaLabel]=\"_iconConfig.ariaLabel\"\n [font]=\"_iconConfig.font\"\n ></fd-icon>\n <fd-avatar\n *ngIf=\"_avatarConfig && (_avatarConfig.image || _avatarConfig.glyph || _avatarConfig.zoomGlyph)\"\n [size]=\"_avatarConfig.size\"\n [glyph]=\"_avatarConfig.glyph\"\n [zoomGlyph]=\"_avatarConfig.zoomGlyph\"\n [label]=\"_avatarConfig.label\"\n [circle]=\"_avatarConfig.circle\"\n [placeholder]=\"_avatarConfig.placeholder\"\n [tile]=\"_avatarConfig.tile\"\n [colorAccent]=\"_avatarConfig.colorAccent\"\n [image]=\"_avatarConfig.image\"\n [transparent]=\"_avatarConfig.transparent\"\n [random]=\"_avatarConfig.random\"\n [class]=\"'fd-list__icon ' + _avatarConfig.class\"\n [ariaLabel]=\"_avatarConfig.ariaLabel\"\n [ariaLabelledby]=\"_avatarConfig.ariaLabelledby\"\n [contain]=\"_avatarConfig.contain\"\n [border]=\"_avatarConfig.border\"\n [alterIcon]=\"_avatarConfig.alterIcon\"\n [backupImage]=\"_avatarConfig.backupImage\"\n [clickable]=\"_avatarConfig.clickable\"\n [attr.alt]=\"_avatarConfig.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i3.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i4.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SettingsGeneratorSidebarIconComponent, decorators: [{
|
|
61
61
|
type: Component,
|