@tilde-nlp/ngx-common 6.1.93 → 7.0.1
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/fesm2022/tilde-nlp-ngx-common.mjs +153 -146
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/package.json +5 -7
- package/styles/tilde-theme.scss +2 -1
- package/web-components/3rdpartylicenses.txt +22 -22
- package/web-components/index.html +2 -2
- package/web-components/main.js +31 -14
- package/web-components/polyfills.js +3 -3
- package/web-components/prerendered-routes.json +3 -0
- package/web-components/styles.css +1 -1
- package/esm2022/lib/close-button/close-button.component.mjs +0 -53
- package/esm2022/lib/close-button/close-button.module.mjs +0 -37
- package/esm2022/lib/close-button/index.mjs +0 -3
- package/esm2022/lib/company-product/company-product.component.mjs +0 -34
- package/esm2022/lib/company-product/company-product.module.mjs +0 -23
- package/esm2022/lib/company-product/index.mjs +0 -3
- package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +0 -78
- package/esm2022/lib/confirmation-modal/confirmation-modal.module.mjs +0 -22
- package/esm2022/lib/confirmation-modal/index.mjs +0 -6
- package/esm2022/lib/confirmation-modal/models/confirmation-body.model.mjs +0 -2
- package/esm2022/lib/confirmation-modal/models/confirmation.enum.mjs +0 -6
- package/esm2022/lib/confirmation-modal/services/confirmation.service.mjs +0 -25
- package/esm2022/lib/confirmation-modal/services/index.mjs +0 -2
- package/esm2022/lib/constants/error-codes.const.mjs +0 -5
- package/esm2022/lib/constants/index.mjs +0 -4
- package/esm2022/lib/constants/last-used-system-local-storage-key.const.mjs +0 -6
- package/esm2022/lib/constants/screen-size.const.mjs +0 -11
- package/esm2022/lib/core/auth/addon.model.mjs +0 -2
- package/esm2022/lib/core/auth/auth-subscription.model.mjs +0 -2
- package/esm2022/lib/core/auth/index.mjs +0 -5
- package/esm2022/lib/core/auth/jwt-token.model.mjs +0 -2
- package/esm2022/lib/core/auth/subscription-plan.enum.mjs +0 -18
- package/esm2022/lib/core/index.mjs +0 -4
- package/esm2022/lib/core/localization/index.mjs +0 -3
- package/esm2022/lib/core/localization/missing-translation-handler.service.mjs +0 -21
- package/esm2022/lib/core/localization/select-language-dialog-component/index.mjs +0 -2
- package/esm2022/lib/core/localization/select-language-dialog-component/select-language-dialog.component.mjs +0 -109
- package/esm2022/lib/core/title-strategy/custom-title-strategy.provider.mjs +0 -9
- package/esm2022/lib/core/title-strategy/custom-title-strategy.service.mjs +0 -41
- package/esm2022/lib/core/title-strategy/index.mjs +0 -3
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -31
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -25
- package/esm2022/lib/directives/click-outside/index.mjs +0 -3
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +0 -66
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.module.mjs +0 -25
- package/esm2022/lib/directives/drag-and-drop/index.mjs +0 -3
- package/esm2022/lib/directives/index.mjs +0 -4
- package/esm2022/lib/directives/mat-button-loading/index.mjs +0 -3
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.directive.mjs +0 -65
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.module.mjs +0 -21
- package/esm2022/lib/extension-dialog/components/index.mjs +0 -2
- package/esm2022/lib/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +0 -32
- package/esm2022/lib/extension-dialog/extension-dialog.component.mjs +0 -231
- package/esm2022/lib/extension-dialog/extension-dialog.module.mjs +0 -52
- package/esm2022/lib/extension-dialog/icons/file-types/excel.icon.mjs +0 -22
- package/esm2022/lib/extension-dialog/icons/file-types/index.mjs +0 -10
- package/esm2022/lib/extension-dialog/icons/file-types/interchange.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/office-other.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/other.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/pdf.icon.mjs +0 -12
- package/esm2022/lib/extension-dialog/icons/file-types/powerpoint.icon.mjs +0 -10
- package/esm2022/lib/extension-dialog/icons/file-types/scanned.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/web.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/word.icon.mjs +0 -11
- package/esm2022/lib/extension-dialog/icons/index.mjs +0 -2
- package/esm2022/lib/extension-dialog/index.mjs +0 -6
- package/esm2022/lib/extension-dialog/models/enums/file-categories.enum.mjs +0 -9
- package/esm2022/lib/extension-dialog/models/enums/file-extensions.enum.mjs +0 -36
- package/esm2022/lib/extension-dialog/models/enums/file-type-icons.enum.mjs +0 -13
- package/esm2022/lib/extension-dialog/models/enums/file-types.enum.mjs +0 -13
- package/esm2022/lib/extension-dialog/models/enums/index.mjs +0 -5
- package/esm2022/lib/extension-dialog/models/index.mjs +0 -3
- package/esm2022/lib/extension-dialog/models/interfaces/config.mjs +0 -2
- package/esm2022/lib/extension-dialog/models/interfaces/dialog-data.model.mjs +0 -2
- package/esm2022/lib/extension-dialog/models/interfaces/index.mjs +0 -3
- package/esm2022/lib/extension-dialog/services/extension-dialog.service.mjs +0 -22
- package/esm2022/lib/extension-dialog/services/index.mjs +0 -2
- package/esm2022/lib/file-upload/file-upload.component.mjs +0 -254
- package/esm2022/lib/file-upload/file-upload.module.mjs +0 -51
- package/esm2022/lib/file-upload/index.mjs +0 -4
- package/esm2022/lib/file-upload/models/file-upload-error-type.enum.mjs +0 -8
- package/esm2022/lib/file-upload/models/file-upload-error.model.mjs +0 -2
- package/esm2022/lib/file-upload/models/file-upload.icon.mjs +0 -2
- package/esm2022/lib/file-upload/models/index.mjs +0 -3
- package/esm2022/lib/filter-bar/filter-bar.component.mjs +0 -409
- package/esm2022/lib/filter-bar/filter-bar.module.mjs +0 -72
- package/esm2022/lib/filter-bar/index.mjs +0 -4
- package/esm2022/lib/filter-bar/models/filter-bar-change-event.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-item.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-search.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-single-selection.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-settings.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/index.mjs +0 -5
- package/esm2022/lib/footer/footer.component.mjs +0 -143
- package/esm2022/lib/footer/footer.module.mjs +0 -35
- package/esm2022/lib/footer/index.mjs +0 -3
- package/esm2022/lib/global-message/global-message.component.mjs +0 -51
- package/esm2022/lib/global-message/index.mjs +0 -2
- package/esm2022/lib/helpers/auth-headers.helper.mjs +0 -19
- package/esm2022/lib/helpers/conversion.helper.mjs +0 -11
- package/esm2022/lib/helpers/custom-paginator-internatioinalization.helper.mjs +0 -56
- package/esm2022/lib/helpers/file-extension.helper.mjs +0 -6
- package/esm2022/lib/helpers/file-size-label.helper.mjs +0 -27
- package/esm2022/lib/helpers/hash.helper.mjs +0 -14
- package/esm2022/lib/helpers/html-element-parse.helper.mjs +0 -15
- package/esm2022/lib/helpers/html.helper.mjs +0 -57
- package/esm2022/lib/helpers/index.mjs +0 -13
- package/esm2022/lib/helpers/missing-translation.helper.mjs +0 -7
- package/esm2022/lib/helpers/resolution.helper.mjs +0 -7
- package/esm2022/lib/helpers/save-file.helper.mjs +0 -14
- package/esm2022/lib/helpers/sort.helper.mjs +0 -73
- package/esm2022/lib/inline-message/index.mjs +0 -4
- package/esm2022/lib/inline-message/inline-message.component.mjs +0 -71
- package/esm2022/lib/inline-message/inline-message.module.mjs +0 -33
- package/esm2022/lib/inline-message/models/index.mjs +0 -4
- package/esm2022/lib/inline-message/models/inline-message-icon-position.enum.mjs +0 -6
- package/esm2022/lib/inline-message/models/inline-message-type.enum.mjs +0 -7
- package/esm2022/lib/inline-message/models/inline-message.model.mjs +0 -2
- package/esm2022/lib/llm/components/llm-rephrase/llm-rephrase.component.mjs +0 -48
- package/esm2022/lib/llm/components/llm-summary/llm-summary.component.mjs +0 -48
- package/esm2022/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.mjs +0 -337
- package/esm2022/lib/llm/icons/index.mjs +0 -2
- package/esm2022/lib/llm/icons/llm-menu.icon.mjs +0 -14
- package/esm2022/lib/llm/index.mjs +0 -4
- package/esm2022/lib/llm/llm.component.mjs +0 -122
- package/esm2022/lib/llm/llm.module.mjs +0 -86
- package/esm2022/lib/llm/models/index.mjs +0 -4
- package/esm2022/lib/llm/models/llm-actions.enum.mjs +0 -6
- package/esm2022/lib/llm/models/llm-configuration.model.mjs +0 -2
- package/esm2022/lib/llm/models/llm-configuration.token.mjs +0 -3
- package/esm2022/lib/llm/models/llm-data.model.mjs +0 -2
- package/esm2022/lib/llm/models/llm-writing-style.enum.mjs +0 -7
- package/esm2022/lib/llm/services/llm-helper.service.mjs +0 -102
- package/esm2022/lib/llm/shared/llm-textarea/llm-textarea.component.mjs +0 -111
- package/esm2022/lib/multi-functional-table/constants/disable-export-attribute-name.const.mjs +0 -2
- package/esm2022/lib/multi-functional-table/constants/index.mjs +0 -2
- package/esm2022/lib/multi-functional-table/index.mjs +0 -5
- package/esm2022/lib/multi-functional-table/models/batch-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/column-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/column-select-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/export-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/export-format.enum.mjs +0 -5
- package/esm2022/lib/multi-functional-table/models/filter-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/index.mjs +0 -8
- package/esm2022/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/paginator-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/multi-functional-table.component.mjs +0 -691
- package/esm2022/lib/multi-functional-table/multi-functional-table.module.mjs +0 -93
- package/esm2022/lib/new-feature-dialog/index.mjs +0 -3
- package/esm2022/lib/new-feature-dialog/models/index.mjs +0 -2
- package/esm2022/lib/new-feature-dialog/models/mobile-screen-custom-position.model.mjs +0 -2
- package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog-wrapper.component.mjs +0 -105
- package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog.service.mjs +0 -37
- package/esm2022/lib/new-feature-dialog/new-feature-dialog.component.mjs +0 -40
- package/esm2022/lib/notification-message/enums/index.mjs +0 -2
- package/esm2022/lib/notification-message/enums/notification-message-type.enum.mjs +0 -9
- package/esm2022/lib/notification-message/index.mjs +0 -5
- package/esm2022/lib/notification-message/interfaces/index.mjs +0 -2
- package/esm2022/lib/notification-message/interfaces/notification-message.model.mjs +0 -2
- package/esm2022/lib/notification-message/notification-message.component.mjs +0 -195
- package/esm2022/lib/notification-message/notification-message.module.mjs +0 -49
- package/esm2022/lib/open-close-button/index.mjs +0 -5
- package/esm2022/lib/open-close-button/injection-tokens/index.mjs +0 -2
- package/esm2022/lib/open-close-button/injection-tokens/open-close-btn-icons.token.mjs +0 -2
- package/esm2022/lib/open-close-button/models/index.mjs +0 -2
- package/esm2022/lib/open-close-button/models/open-close-btn-icons.model.mjs +0 -2
- package/esm2022/lib/open-close-button/open-close-button.component.mjs +0 -114
- package/esm2022/lib/open-close-button/open-close-button.module.mjs +0 -22
- package/esm2022/lib/pipes/date-ago/date-ago.module.mjs +0 -29
- package/esm2022/lib/pipes/date-ago/date-ago.pipe.mjs +0 -114
- package/esm2022/lib/pipes/date-ago/index.mjs +0 -3
- package/esm2022/lib/pipes/date-ago/models/date-ago-interval.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.token.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/index.mjs +0 -5
- package/esm2022/lib/pipes/domain-translate/domain-translate.pipe.mjs +0 -30
- package/esm2022/lib/pipes/domain-translate/index.mjs +0 -2
- package/esm2022/lib/pipes/file-size-label/enums/file-size-unit.enum.mjs +0 -8
- package/esm2022/lib/pipes/file-size-label/enums/index.mjs +0 -2
- package/esm2022/lib/pipes/file-size-label/file-size-label.pipe.mjs +0 -22
- package/esm2022/lib/pipes/file-size-label/index.mjs +0 -3
- package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.module.mjs +0 -25
- package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.mjs +0 -43
- package/esm2022/lib/pipes/filter-with-highlight/index.mjs +0 -3
- package/esm2022/lib/pipes/index.mjs +0 -13
- package/esm2022/lib/pipes/language-translate/index.mjs +0 -3
- package/esm2022/lib/pipes/language-translate/language-translate.module.mjs +0 -19
- package/esm2022/lib/pipes/language-translate/language-translate.pipe.mjs +0 -126
- package/esm2022/lib/pipes/object-length/index.mjs +0 -3
- package/esm2022/lib/pipes/object-length/object-length.module.mjs +0 -19
- package/esm2022/lib/pipes/object-length/object-length.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort-alphabetically/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.module.mjs +0 -19
- package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.mjs +0 -21
- package/esm2022/lib/pipes/sort-by-number/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-by-number/sort-by-number.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort-domains/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-domains/sort-domains.pipe.mjs +0 -51
- package/esm2022/lib/pipes/sort-language-list/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-language-list/models/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-language-list/models/translated-language.model.mjs +0 -2
- package/esm2022/lib/pipes/sort-language-list/sort-language-list.pipe.mjs +0 -58
- package/esm2022/lib/pipes/sort-translations/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-translations/sort-translations.module.mjs +0 -23
- package/esm2022/lib/pipes/sort-translations/sort-translations.pipe.mjs +0 -60
- package/esm2022/lib/pipes/sort-translations-by-property/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.mjs +0 -19
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.mjs +0 -43
- package/esm2022/lib/plausible/index.mjs +0 -5
- package/esm2022/lib/plausible/models/index.mjs +0 -2
- package/esm2022/lib/plausible/models/plausible-event.model.mjs +0 -2
- package/esm2022/lib/plausible/plausible-event.directive.mjs +0 -42
- package/esm2022/lib/plausible/plausible.helper.mjs +0 -37
- package/esm2022/lib/plausible/plausible.module.mjs +0 -25
- package/esm2022/lib/services/alert/alert.service.mjs +0 -172
- package/esm2022/lib/services/alert/index.mjs +0 -4
- package/esm2022/lib/services/alert/injection-tokens/alert-configuration.token.mjs +0 -2
- package/esm2022/lib/services/alert/injection-tokens/index.mjs +0 -2
- package/esm2022/lib/services/alert/models/alert-configuration.model.mjs +0 -2
- package/esm2022/lib/services/alert/models/index.mjs +0 -2
- package/esm2022/lib/services/dom/dom.service.mjs +0 -21
- package/esm2022/lib/services/dom/index.mjs +0 -2
- package/esm2022/lib/services/icon/icon.service.mjs +0 -35
- package/esm2022/lib/services/icon/index.mjs +0 -2
- package/esm2022/lib/services/index.mjs +0 -7
- package/esm2022/lib/services/language-translate/index.mjs +0 -2
- package/esm2022/lib/services/language-translate/language-translate.service.mjs +0 -25
- package/esm2022/lib/services/notification/index.mjs +0 -3
- package/esm2022/lib/services/notification/models/index.mjs +0 -3
- package/esm2022/lib/services/notification/models/notification.model.mjs +0 -2
- package/esm2022/lib/services/notification/models/operations.enum.mjs +0 -6
- package/esm2022/lib/services/notification/notification.service.mjs +0 -35
- package/esm2022/lib/services/system/index.mjs +0 -2
- package/esm2022/lib/services/system/system.service.mjs +0 -20
- package/esm2022/lib/sidebar/index.mjs +0 -3
- package/esm2022/lib/sidebar/services/index.mjs +0 -2
- package/esm2022/lib/sidebar/services/sidebar.service.mjs +0 -24
- package/esm2022/lib/sidebar/sidebar.component.mjs +0 -30
- package/esm2022/lib/status-display/index.mjs +0 -4
- package/esm2022/lib/status-display/models/index.mjs +0 -2
- package/esm2022/lib/status-display/models/status-display-config.model.mjs +0 -2
- package/esm2022/lib/status-display/status-display.component.mjs +0 -71
- package/esm2022/lib/status-display/status-display.module.mjs +0 -22
- package/esm2022/lib/subscription/chargebee-mount.service.mjs +0 -16
- package/esm2022/lib/subscription/index.mjs +0 -3
- package/esm2022/lib/subscription/models/chargebee-settings.model.mjs +0 -2
- package/esm2022/lib/subscription/models/index.mjs +0 -2
- package/esm2022/lib/subscription/models/subscription-quota-display.model.mjs +0 -2
- package/esm2022/lib/subscription/models/subscription-state.enum.mjs +0 -8
- package/esm2022/lib/subscription/subscription.component.mjs +0 -392
- package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-card/terminology-collection-card.component.mjs +0 -279
- package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-list.component.mjs +0 -161
- package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection-dialog/terminology-create-collection-dialog.component.mjs +0 -121
- package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection.component.mjs +0 -72
- package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs +0 -151
- package/esm2022/lib/terminology/config/models/index.mjs +0 -2
- package/esm2022/lib/terminology/config/models/terminology-config.model.mjs +0 -2
- package/esm2022/lib/terminology/config/services/index.mjs +0 -2
- package/esm2022/lib/terminology/config/services/terminology-config/terminology-config.service.mjs +0 -47
- package/esm2022/lib/terminology/enums/combined-collection-tooltip-key.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-scope.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-source.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-status.enum.mjs +0 -8
- package/esm2022/lib/terminology/enums/engine-term-collection-sub-status.enum.mjs +0 -14
- package/esm2022/lib/terminology/enums/index.mjs +0 -7
- package/esm2022/lib/terminology/enums/mt-collection-status.enum.mjs +0 -11
- package/esm2022/lib/terminology/icons/collections-menu.icon.mjs +0 -18
- package/esm2022/lib/terminology/icons/index.mjs +0 -2
- package/esm2022/lib/terminology/index.mjs +0 -10
- package/esm2022/lib/terminology/models/active-data.model.mjs +0 -2
- package/esm2022/lib/terminology/models/add-engine-terms-request-params.model.mjs +0 -2
- package/esm2022/lib/terminology/models/combined-collection.model.mjs +0 -181
- package/esm2022/lib/terminology/models/default-term-collection-order-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/domain.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-scope-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-scope.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-list.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/index.mjs +0 -19
- package/esm2022/lib/terminology/models/lang-list-item.model.mjs +0 -2
- package/esm2022/lib/terminology/models/mt-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/system.model.mjs +0 -2
- package/esm2022/lib/terminology/models/terminology-engine.model.mjs +0 -2
- package/esm2022/lib/terminology/models/tld-term-collection-languages.model.mjs +0 -2
- package/esm2022/lib/terminology/models/tld-term-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/update-engine-terms-request-params.model.mjs +0 -2
- package/esm2022/lib/terminology/models/vendor.model.mjs +0 -2
- package/esm2022/lib/terminology/services/engine-term-api/engine-term-api.service.mjs +0 -48
- package/esm2022/lib/terminology/services/engine-term-api/index.mjs +0 -2
- package/esm2022/lib/terminology/services/index.mjs +0 -5
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-deployment.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain-list.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-list.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-status.enum.mjs +0 -11
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-sub-status.enum.mjs +0 -18
- package/esm2022/lib/terminology/services/system-api-v2/models/engine.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/index.mjs +0 -9
- package/esm2022/lib/terminology/services/system-api-v2/models/revision.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/tilde-vendor.const.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/worker-status.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/system-api.service.mjs +0 -109
- package/esm2022/lib/terminology/services/terminology/terminology.service.mjs +0 -323
- package/esm2022/lib/terminology/services/terminology-api/terminology-api.service.mjs +0 -86
- package/esm2022/lib/terminology/services/terminology-collection/index.mjs +0 -2
- package/esm2022/lib/terminology/services/terminology-collection/terminology-collection.service.mjs +0 -54
- package/esm2022/lib/terminology/terminology.component.mjs +0 -241
- package/esm2022/lib/terminology/terminology.module.mjs +0 -102
- package/esm2022/lib/text-to-speech/index.mjs +0 -3
- package/esm2022/lib/text-to-speech/models/index.mjs +0 -2
- package/esm2022/lib/text-to-speech/models/voice.model.mjs +0 -2
- package/esm2022/lib/text-to-speech/services/tts-api.service.mjs +0 -18
- package/esm2022/lib/text-to-speech/text-to-speech.component.mjs +0 -172
- package/esm2022/lib/tld-loader/index.mjs +0 -3
- package/esm2022/lib/tld-loader/tld-loader.component.mjs +0 -16
- package/esm2022/lib/tld-loader/tld-loader.module.mjs +0 -21
- package/esm2022/lib/toast/index.mjs +0 -3
- package/esm2022/lib/toast/models/toast.model.mjs +0 -2
- package/esm2022/lib/toast/toast-service/index.mjs +0 -2
- package/esm2022/lib/toast/toast-service/toast-service.service.mjs +0 -42
- package/esm2022/lib/toast/toast.component.mjs +0 -57
- package/esm2022/public-api.mjs +0 -32
- package/esm2022/tilde-nlp-ngx-common.mjs +0 -5
package/esm2022/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.mjs
DELETED
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import { LLMRephraseUseCase, LLMSummaryUseCase } from '@tilde-nlp/ngx-services';
|
|
4
|
-
import { finalize } from 'rxjs';
|
|
5
|
-
import { ERROR_CODES } from '../../../constants';
|
|
6
|
-
import { PlausibleHelper } from '../../../plausible';
|
|
7
|
-
import { LLMActions } from '../../models/llm-actions.enum';
|
|
8
|
-
import { LLMWritingStyle } from '../../models/llm-writing-style.enum';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@tilde-nlp/ngx-services";
|
|
11
|
-
import * as i2 from "../../services/llm-helper.service";
|
|
12
|
-
import * as i3 from "@angular/common";
|
|
13
|
-
import * as i4 from "@angular/material/button";
|
|
14
|
-
import * as i5 from "@angular/material/dialog";
|
|
15
|
-
import * as i6 from "@angular/forms";
|
|
16
|
-
import * as i7 from "@angular/material/form-field";
|
|
17
|
-
import * as i8 from "@angular/material/select";
|
|
18
|
-
import * as i9 from "@angular/material/core";
|
|
19
|
-
import * as i10 from "../../../notification-message/notification-message.component";
|
|
20
|
-
import * as i11 from "@angular/material/progress-spinner";
|
|
21
|
-
import * as i12 from "../../shared/llm-textarea/llm-textarea.component";
|
|
22
|
-
import * as i13 from "@ngx-translate/core";
|
|
23
|
-
const _c0 = (a0, a1) => ({ limit: a0, subscriptionUrl: a1 });
|
|
24
|
-
function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
26
|
-
i0.ɵɵelementStart(0, "lib-tld-notification-message", 15);
|
|
27
|
-
i0.ɵɵlistener("closeClicked", function LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template_lib_tld_notification_message_closeClicked_0_listener() { const message_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.closeMessage(message_r3)); });
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
} if (rf & 2) {
|
|
30
|
-
const message_r3 = ctx.$implicit;
|
|
31
|
-
i0.ɵɵproperty("message", message_r3);
|
|
32
|
-
} }
|
|
33
|
-
function LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelementStart(0, "mat-option", 18);
|
|
35
|
-
i0.ɵɵtext(1);
|
|
36
|
-
i0.ɵɵpipe(2, "uppercase");
|
|
37
|
-
i0.ɵɵpipe(3, "translate");
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
const useCase_r6 = ctx.$implicit;
|
|
41
|
-
i0.ɵɵproperty("value", useCase_r6);
|
|
42
|
-
i0.ɵɵadvance();
|
|
43
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "LLM.USE_CASE." + i0.ɵɵpipeBind1(2, 2, useCase_r6)), " ");
|
|
44
|
-
} }
|
|
45
|
-
function LLMTextareaWithActionsComponent_mat_form_field_7_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
47
|
-
i0.ɵɵelementStart(0, "mat-form-field", 16)(1, "mat-label");
|
|
48
|
-
i0.ɵɵtext(2);
|
|
49
|
-
i0.ɵɵpipe(3, "translate");
|
|
50
|
-
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵelementStart(4, "mat-select", 17);
|
|
52
|
-
i0.ɵɵtwoWayListener("ngModelChange", function LLMTextareaWithActionsComponent_mat_form_field_7_Template_mat_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r3 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r3.selectedUseCase, $event) || (ctx_r3.selectedUseCase = $event); return i0.ɵɵresetView($event); });
|
|
53
|
-
i0.ɵɵrepeaterCreate(5, LLMTextareaWithActionsComponent_mat_form_field_7_For_6_Template, 4, 6, "mat-option", 18, i0.ɵɵrepeaterTrackByIndex);
|
|
54
|
-
i0.ɵɵelementEnd()();
|
|
55
|
-
} if (rf & 2) {
|
|
56
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
57
|
-
i0.ɵɵadvance(2);
|
|
58
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "LLM.USE_CASES_LABEL"));
|
|
59
|
-
i0.ɵɵadvance(2);
|
|
60
|
-
i0.ɵɵproperty("disabled", ctx_r3.isLoading);
|
|
61
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx_r3.selectedUseCase);
|
|
62
|
-
i0.ɵɵadvance();
|
|
63
|
-
i0.ɵɵrepeater(ctx_r3.useCases);
|
|
64
|
-
} }
|
|
65
|
-
function LLMTextareaWithActionsComponent_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
-
i0.ɵɵelement(0, "div", 19);
|
|
67
|
-
i0.ɵɵpipe(1, "translate");
|
|
68
|
-
} if (rf & 2) {
|
|
69
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
70
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind2(1, 1, ctx_r3.localizationKey + "LIMIT", i0.ɵɵpureFunction2(4, _c0, ctx_r3.quotaLeft, ctx_r3.subscriptionUrl)), i0.ɵɵsanitizeHtml);
|
|
71
|
-
} }
|
|
72
|
-
function LLMTextareaWithActionsComponent_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
-
const _r7 = i0.ɵɵgetCurrentView();
|
|
74
|
-
i0.ɵɵelementStart(0, "button", 20);
|
|
75
|
-
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.cancel()); });
|
|
76
|
-
i0.ɵɵtext(1);
|
|
77
|
-
i0.ɵɵpipe(2, "translate");
|
|
78
|
-
i0.ɵɵelementEnd();
|
|
79
|
-
} if (rf & 2) {
|
|
80
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
81
|
-
i0.ɵɵadvance();
|
|
82
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r3.localizationKey + "CANCEL"), " ");
|
|
83
|
-
} }
|
|
84
|
-
function LLMTextareaWithActionsComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
-
i0.ɵɵelementStart(0, "button", 21);
|
|
86
|
-
i0.ɵɵtext(1);
|
|
87
|
-
i0.ɵɵpipe(2, "translate");
|
|
88
|
-
i0.ɵɵelementEnd();
|
|
89
|
-
} if (rf & 2) {
|
|
90
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
91
|
-
i0.ɵɵproperty("mat-dialog-close", null);
|
|
92
|
-
i0.ɵɵadvance();
|
|
93
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, ctx_r3.localizationKey + "CLOSE"), " ");
|
|
94
|
-
} }
|
|
95
|
-
function LLMTextareaWithActionsComponent_span_16_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
-
i0.ɵɵelementStart(0, "span");
|
|
97
|
-
i0.ɵɵtext(1);
|
|
98
|
-
i0.ɵɵpipe(2, "translate");
|
|
99
|
-
i0.ɵɵelementEnd();
|
|
100
|
-
} if (rf & 2) {
|
|
101
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
102
|
-
i0.ɵɵadvance();
|
|
103
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, !ctx_r3.isSummarized ? "LLM.SUMMARY_MODAL.ACTION" : "LLM.SUMMARY_MODAL.REGENERATE"), " ");
|
|
104
|
-
} }
|
|
105
|
-
function LLMTextareaWithActionsComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
-
i0.ɵɵtext(0);
|
|
107
|
-
i0.ɵɵpipe(1, "translate");
|
|
108
|
-
} if (rf & 2) {
|
|
109
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
110
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, ctx_r3.localizationKey + "ACTION"), " ");
|
|
111
|
-
} }
|
|
112
|
-
function LLMTextareaWithActionsComponent_mat_spinner_19_Template(rf, ctx) { if (rf & 1) {
|
|
113
|
-
i0.ɵɵelement(0, "mat-spinner", 22);
|
|
114
|
-
} if (rf & 2) {
|
|
115
|
-
i0.ɵɵproperty("diameter", 20);
|
|
116
|
-
} }
|
|
117
|
-
export class LLMTextareaWithActionsComponent {
|
|
118
|
-
get isDisabled() {
|
|
119
|
-
return this.isLoading || !this.initialText || this.quotaLeft < 1;
|
|
120
|
-
}
|
|
121
|
-
constructor(llmService, llmHelperService, data) {
|
|
122
|
-
this.llmService = llmService;
|
|
123
|
-
this.llmHelperService = llmHelperService;
|
|
124
|
-
this.data = data;
|
|
125
|
-
this.selectedWritingStyle = LLMWritingStyle.GENERAL;
|
|
126
|
-
this.editedText = '';
|
|
127
|
-
this.manuallyEditedText = '';
|
|
128
|
-
this.savedRephrasings = [];
|
|
129
|
-
this.llmActions = LLMActions;
|
|
130
|
-
this.writingStyles = Object.values(LLMWritingStyle);
|
|
131
|
-
this.useCases = [];
|
|
132
|
-
this.messages = [];
|
|
133
|
-
this.showUseCase = false;
|
|
134
|
-
}
|
|
135
|
-
ngOnInit() {
|
|
136
|
-
this.setInitialText();
|
|
137
|
-
if (this.llmActionType === LLMActions.REPHRASE) {
|
|
138
|
-
this.useCases = this.data.rephraseUseCases ?? Object.values(LLMRephraseUseCase);
|
|
139
|
-
this.selectedUseCase = this.useCases[0];
|
|
140
|
-
}
|
|
141
|
-
else if (this.llmActionType === LLMActions.SUMMARY) {
|
|
142
|
-
this.useCases = this.data.summaryUseCases ?? Object.values(LLMSummaryUseCase);
|
|
143
|
-
this.selectedUseCase = LLMSummaryUseCase.General;
|
|
144
|
-
}
|
|
145
|
-
this.showUseCase = (this.llmActionType === LLMActions.REPHRASE && this.data.showUseCaseRephrase) || (this.llmActionType === LLMActions.SUMMARY && this.data.showUseCaseSummary);
|
|
146
|
-
}
|
|
147
|
-
closeMessage(msg) {
|
|
148
|
-
const index = this.messages?.findIndex((message) => JSON.stringify(message) === JSON.stringify(msg));
|
|
149
|
-
if (index || index === 0) {
|
|
150
|
-
this.messages.splice(index, 1);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
checkRephrasedTextSaves(event) {
|
|
154
|
-
if (event.value !== this.selectedWritingStyle) {
|
|
155
|
-
this.previousWritingStyle = this.selectedWritingStyle;
|
|
156
|
-
this.selectedWritingStyle = event.value;
|
|
157
|
-
}
|
|
158
|
-
const selectedWritingStyleSave = this.savedRephrasings.find((rephrasing) => rephrasing.style === this.selectedWritingStyle);
|
|
159
|
-
const previousWritingStyleSave = this.savedRephrasings.find((save) => save.style === this.previousWritingStyle);
|
|
160
|
-
if (previousWritingStyleSave) {
|
|
161
|
-
previousWritingStyleSave.text = this.editedText !== '' ? this.editedText : this.initialText;
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
this.savedRephrasings.push({ style: this.previousWritingStyle, text: this.editedText !== '' ? this.editedText : this.initialText });
|
|
165
|
-
}
|
|
166
|
-
this.editedText = selectedWritingStyleSave?.text ?? this.initialText;
|
|
167
|
-
this.manuallyEditedText = '';
|
|
168
|
-
this.checkTextLimit();
|
|
169
|
-
}
|
|
170
|
-
getEditedText() {
|
|
171
|
-
this.isLoading = true;
|
|
172
|
-
if (this.llmActionType === LLMActions.REPHRASE) {
|
|
173
|
-
this.writingStylePlausibleEvent();
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
this.summaryPlausibleEvent();
|
|
177
|
-
}
|
|
178
|
-
this.subscription = this.getRequest();
|
|
179
|
-
}
|
|
180
|
-
cancel() {
|
|
181
|
-
this.subscription.unsubscribe();
|
|
182
|
-
}
|
|
183
|
-
textEditEvent(text) {
|
|
184
|
-
this.manuallyEditedText = text;
|
|
185
|
-
this.initialText = text;
|
|
186
|
-
this.editedText = '';
|
|
187
|
-
this.checkTextLimit();
|
|
188
|
-
}
|
|
189
|
-
copyPlausibleEvent() {
|
|
190
|
-
PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'copy' });
|
|
191
|
-
}
|
|
192
|
-
dislikePlausibleEvent() {
|
|
193
|
-
PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'dislike' });
|
|
194
|
-
}
|
|
195
|
-
setInitialText() {
|
|
196
|
-
this.data.text.subscribe((text) => {
|
|
197
|
-
this.initialText = text;
|
|
198
|
-
this.llmActionType = this.data.action;
|
|
199
|
-
this.localizationKey = `LLM.${this.llmActionType}_MODAL.`;
|
|
200
|
-
this.subscriptionUrl = this.llmHelperService.llmConfiguration.subscriptionUrl;
|
|
201
|
-
this.maxCharLength = this.llmHelperService.llmConfiguration.maxCharLength;
|
|
202
|
-
this.refreshQuota();
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
checkTextLimit() {
|
|
206
|
-
const limit = this.maxCharLength;
|
|
207
|
-
const texts = [this.initialText, this.manuallyEditedText, this.editedText];
|
|
208
|
-
const longestText = this.editedText && !this.manuallyEditedText ? this.editedText : texts.reduce((a, b) => a.length > b.length ? a : b);
|
|
209
|
-
if (longestText.length > limit) {
|
|
210
|
-
if (this.exceededLimitMessage) {
|
|
211
|
-
this.closeMessage(this.exceededLimitMessage);
|
|
212
|
-
}
|
|
213
|
-
this.exceededLimitMessage = this.llmHelperService.getExceededLimitMessage(longestText.length);
|
|
214
|
-
this.messages.push(this.exceededLimitMessage);
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
this.closeMessage(this.exceededLimitMessage);
|
|
218
|
-
}
|
|
219
|
-
writingStylePlausibleEvent() {
|
|
220
|
-
PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { writingStyle: this.selectedWritingStyle });
|
|
221
|
-
}
|
|
222
|
-
summaryPlausibleEvent() {
|
|
223
|
-
PlausibleHelper.customEvent(this.llmActionType.toLowerCase(), { action: 'summary' });
|
|
224
|
-
}
|
|
225
|
-
refreshQuota(decrease) {
|
|
226
|
-
this.llmHelperService.getRemainingQuota(decrease).subscribe((remainingQuota) => {
|
|
227
|
-
this.quotaLeft = remainingQuota;
|
|
228
|
-
this.setQuotaMessage();
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
setQuotaMessage() {
|
|
232
|
-
if (this.quotaLeft <= this.llmHelperService.trialRequestCount) {
|
|
233
|
-
this.remainingQuotaMessageVisible = true;
|
|
234
|
-
}
|
|
235
|
-
if (this.quotaLeft < 1) {
|
|
236
|
-
this.reachedQuotaMessage = this.llmHelperService.getReachedQuotaMessage();
|
|
237
|
-
this.messages.push(this.reachedQuotaMessage);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
getRequest() {
|
|
241
|
-
let text = this.manuallyEditedText !== ''
|
|
242
|
-
? this.manuallyEditedText
|
|
243
|
-
: this.initialText;
|
|
244
|
-
if (text.length > this.maxCharLength) {
|
|
245
|
-
text = text.substring(0, this.maxCharLength);
|
|
246
|
-
}
|
|
247
|
-
const method = this.llmActionType === LLMActions.REPHRASE
|
|
248
|
-
? this.llmService.rephrase({ text: text, language: this.data.language, style: this.selectedWritingStyle, useCase: this.selectedUseCase })
|
|
249
|
-
: this.llmService.summarize({ text: text, language: this.data.language, useCase: this.selectedUseCase });
|
|
250
|
-
return method
|
|
251
|
-
.pipe(finalize(() => (this.isLoading = false)))
|
|
252
|
-
.subscribe(this.getRequestCallback());
|
|
253
|
-
}
|
|
254
|
-
getRequestCallback() {
|
|
255
|
-
return {
|
|
256
|
-
next: (response) => {
|
|
257
|
-
if (this.llmActionType === this.llmActions.SUMMARY) {
|
|
258
|
-
this.isSummarized = true;
|
|
259
|
-
}
|
|
260
|
-
this.editedText = response;
|
|
261
|
-
this.manuallyEditedText = '';
|
|
262
|
-
this.defaultErrorMessage = this.llmHelperService.getDefaultErrorMessage();
|
|
263
|
-
this.closeMessage(this.defaultErrorMessage);
|
|
264
|
-
this.closeMessage(this.requestTimeoutMessage);
|
|
265
|
-
this.isEdited = true;
|
|
266
|
-
this.refreshQuota(true);
|
|
267
|
-
this.checkTextLimit();
|
|
268
|
-
},
|
|
269
|
-
error: (error) => {
|
|
270
|
-
if (error.status === ERROR_CODES.TIMEOUT) {
|
|
271
|
-
this.requestTimeoutMessage = this.llmHelperService.getRequestTimeoutMessage(this.llmActionType);
|
|
272
|
-
this.messages.push(this.requestTimeoutMessage);
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
this.messages.push(this.defaultErrorMessage);
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
static { this.ɵfac = function LLMTextareaWithActionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMTextareaWithActionsComponent)(i0.ɵɵdirectiveInject(i1.LLMService), i0.ɵɵdirectiveInject(i2.LLMHelperService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
|
|
280
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMTextareaWithActionsComponent, selectors: [["lib-llm-textarea-with-actions"]], decls: 20, vars: 22, consts: [["closeButton", ""], ["rephraseAction", ""], ["mat-dialog-title", ""], ["mat-dialog-content", ""], [3, "innerHTML"], [3, "message", "closeClicked", 4, "ngFor", "ngForOf"], ["color", "accent", "class", "w-full llm-writing-style-select", "appearance", "outline", 4, "ngIf"], [3, "textEditEvent", "copyEvent", "dislikeEvent", "text", "disabled", "actionButtonsDisabled"], ["mat-dialog-actions", "", 1, "llm-actions-wrapper"], ["class", "quota-left-message", 3, "innerHTML", 4, "ngIf"], [1, "llm-actions"], ["mat-button", "", "color", "accent", 3, "click", 4, "ngIf", "ngIfElse"], ["mat-flat-button", "", "color", "accent", 3, "click", "disabled"], [4, "ngIf", "ngIfElse"], ["color", "primary-accent-darker", 3, "diameter", 4, "ngIf"], [3, "closeClicked", "message"], ["color", "accent", "appearance", "outline", 1, "w-full", "llm-writing-style-select"], [3, "ngModelChange", "disabled", "ngModel"], [3, "value"], [1, "quota-left-message", 3, "innerHTML"], ["mat-button", "", "color", "accent", 3, "click"], ["mat-button", "", "color", "accent", 3, "mat-dialog-close"], ["color", "primary-accent-darker", 3, "diameter"]], template: function LLMTextareaWithActionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
281
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
282
|
-
i0.ɵɵelementStart(0, "h1", 2);
|
|
283
|
-
i0.ɵɵtext(1);
|
|
284
|
-
i0.ɵɵpipe(2, "translate");
|
|
285
|
-
i0.ɵɵelementEnd();
|
|
286
|
-
i0.ɵɵelementStart(3, "div", 3);
|
|
287
|
-
i0.ɵɵelement(4, "p", 4);
|
|
288
|
-
i0.ɵɵpipe(5, "translate");
|
|
289
|
-
i0.ɵɵtemplate(6, LLMTextareaWithActionsComponent_lib_tld_notification_message_6_Template, 1, 1, "lib-tld-notification-message", 5)(7, LLMTextareaWithActionsComponent_mat_form_field_7_Template, 7, 5, "mat-form-field", 6);
|
|
290
|
-
i0.ɵɵelementStart(8, "lib-llm-textarea", 7);
|
|
291
|
-
i0.ɵɵlistener("textEditEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_textEditEvent_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.textEditEvent($event)); })("copyEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_copyEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.copyPlausibleEvent()); })("dislikeEvent", function LLMTextareaWithActionsComponent_Template_lib_llm_textarea_dislikeEvent_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.dislikePlausibleEvent()); });
|
|
292
|
-
i0.ɵɵelementEnd()();
|
|
293
|
-
i0.ɵɵelementStart(9, "div", 8);
|
|
294
|
-
i0.ɵɵtemplate(10, LLMTextareaWithActionsComponent_div_10_Template, 2, 7, "div", 9);
|
|
295
|
-
i0.ɵɵelementStart(11, "div", 10);
|
|
296
|
-
i0.ɵɵtemplate(12, LLMTextareaWithActionsComponent_button_12_Template, 3, 3, "button", 11)(13, LLMTextareaWithActionsComponent_ng_template_13_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
297
|
-
i0.ɵɵelementStart(15, "button", 12);
|
|
298
|
-
i0.ɵɵlistener("click", function LLMTextareaWithActionsComponent_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.getEditedText()); });
|
|
299
|
-
i0.ɵɵtemplate(16, LLMTextareaWithActionsComponent_span_16_Template, 3, 3, "span", 13)(17, LLMTextareaWithActionsComponent_ng_template_17_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(19, LLMTextareaWithActionsComponent_mat_spinner_19_Template, 1, 1, "mat-spinner", 14);
|
|
300
|
-
i0.ɵɵelementEnd()()();
|
|
301
|
-
} if (rf & 2) {
|
|
302
|
-
const closeButton_r8 = i0.ɵɵreference(14);
|
|
303
|
-
const rephraseAction_r9 = i0.ɵɵreference(18);
|
|
304
|
-
i0.ɵɵadvance();
|
|
305
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 18, ctx.localizationKey + "TITLE"));
|
|
306
|
-
i0.ɵɵadvance(3);
|
|
307
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 20, ctx.localizationKey + "DESCRIPTION"), i0.ɵɵsanitizeHtml);
|
|
308
|
-
i0.ɵɵadvance(2);
|
|
309
|
-
i0.ɵɵproperty("ngForOf", ctx.messages);
|
|
310
|
-
i0.ɵɵadvance();
|
|
311
|
-
i0.ɵɵproperty("ngIf", ctx.showUseCase);
|
|
312
|
-
i0.ɵɵadvance();
|
|
313
|
-
i0.ɵɵclassProp("rephrase", ctx.llmActionType === ctx.llmActions.REPHRASE);
|
|
314
|
-
i0.ɵɵproperty("text", ctx.editedText !== "" ? ctx.editedText : ctx.initialText)("disabled", ctx.isLoading || !ctx.quotaLeft)("actionButtonsDisabled", !ctx.isEdited);
|
|
315
|
-
i0.ɵɵadvance(2);
|
|
316
|
-
i0.ɵɵproperty("ngIf", ctx.remainingQuotaMessageVisible);
|
|
317
|
-
i0.ɵɵadvance();
|
|
318
|
-
i0.ɵɵclassProp("w-full", !ctx.remainingQuotaMessageVisible);
|
|
319
|
-
i0.ɵɵadvance();
|
|
320
|
-
i0.ɵɵproperty("ngIf", ctx.isLoading)("ngIfElse", closeButton_r8);
|
|
321
|
-
i0.ɵɵadvance(3);
|
|
322
|
-
i0.ɵɵproperty("disabled", ctx.isDisabled);
|
|
323
|
-
i0.ɵɵadvance();
|
|
324
|
-
i0.ɵɵproperty("ngIf", ctx.llmActionType === ctx.llmActions.SUMMARY)("ngIfElse", rephraseAction_r9);
|
|
325
|
-
i0.ɵɵadvance(3);
|
|
326
|
-
i0.ɵɵproperty("ngIf", ctx.isLoading);
|
|
327
|
-
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.MatButton, i5.MatDialogClose, i5.MatDialogTitle, i5.MatDialogActions, i5.MatDialogContent, i6.NgControlStatus, i6.NgModel, i7.MatFormField, i7.MatLabel, i8.MatSelect, i9.MatOption, i10.NotificationMessageComponent, i11.MatProgressSpinner, i12.LLMTextareaComponent, i3.UpperCasePipe, i13.TranslatePipe], styles: [".info-icon[_ngcontent-%COMP%]{font-size:1rem;margin-left:5px}[_nghost-%COMP%] .message-body{margin:0 2.25rem 0 0!important;font-size:14px}[_nghost-%COMP%] .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}[_nghost-%COMP%] .text-container{margin-right:0!important}[_nghost-%COMP%] tld-close-button{top:1px!important} .multiline-tooltip{white-space:pre;min-width:fit-content} .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}[_nghost-%COMP%] .llm-textarea{min-height:240px!important}[_nghost-%COMP%] .rephrase .llm-textarea{min-height:100px!important}[_nghost-%COMP%] .desktop .llm-textarea{min-height:460px!important}[_nghost-%COMP%] .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select[_ngcontent-%COMP%]{margin-top:1.25rem}.llm-writing-style[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions[_ngcontent-%COMP%]{display:flex;justify-content:end}.w-full[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner[_ngcontent-%COMP%]{margin-left:.5rem}.quota-left-message[_ngcontent-%COMP%]{margin-bottom:12px}"] }); }
|
|
328
|
-
}
|
|
329
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMTextareaWithActionsComponent, [{
|
|
330
|
-
type: Component,
|
|
331
|
-
args: [{ selector: 'lib-llm-textarea-with-actions', template: "<h1 mat-dialog-title>{{ localizationKey + \"TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p [innerHTML]=\"localizationKey + 'DESCRIPTION' | translate\"></p>\r\n\r\n <lib-tld-notification-message *ngFor=\"let message of messages\" [message]=\"message\" (closeClicked)=\"closeMessage(message)\"></lib-tld-notification-message>\r\n\r\n <mat-form-field *ngIf=\"showUseCase\" color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.USE_CASES_LABEL' | translate }}</mat-label>\r\n <mat-select [disabled]=\"isLoading\" [(ngModel)]=\"selectedUseCase\">\r\n @for (useCase of useCases; track $index) {\r\n\r\n <mat-option [value]=\"useCase\">\r\n {{ 'LLM.USE_CASE.' + (useCase | uppercase) | translate }}\r\n </mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n\r\n\r\n <lib-llm-textarea [class.rephrase]=\"llmActionType === llmActions.REPHRASE\" [text]=\"editedText !== '' ? editedText : initialText\" [disabled]=\"isLoading || !quotaLeft\" [actionButtonsDisabled]=\"!isEdited\" (textEditEvent)=\"textEditEvent($event)\" (copyEvent)=\"copyPlausibleEvent()\" (dislikeEvent)=\"dislikePlausibleEvent()\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"remainingQuotaMessageVisible\" class=\"quota-left-message\" [innerHTML]=\"localizationKey + 'LIMIT' | translate: { limit: quotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!remainingQuotaMessageVisible\" class=\"llm-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ localizationKey + \"CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ localizationKey + \"CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n\r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"getEditedText()\"\r\n [disabled]=\"isDisabled\"\r\n >\r\n <span *ngIf=\"llmActionType === llmActions.SUMMARY; else rephraseAction\">\r\n {{\r\n (!isSummarized\r\n ? \"LLM.SUMMARY_MODAL.ACTION\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </span>\r\n\r\n <ng-template #rephraseAction>\r\n {{ localizationKey + \"ACTION\" | translate }}\r\n </ng-template>\r\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"20\" color=\"primary-accent-darker\"></mat-spinner>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{margin:0 2.25rem 0 0!important;font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px;padding:.9em 1em!important;align-items:center!important}:host ::ng-deep .text-container{margin-right:0!important}:host ::ng-deep tld-close-button{top:1px!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}:host ::ng-deep .llm-textarea{min-height:240px!important}:host ::ng-deep .rephrase .llm-textarea{min-height:100px!important}:host ::ng-deep .desktop .llm-textarea{min-height:460px!important}:host ::ng-deep .rephrase .desktop .llm-textarea{min-height:330px!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-actions-wrapper{display:flex;justify-content:space-between;margin:0 1rem .5rem}.llm-actions{display:flex;justify-content:end}.w-full{width:100%}:host ::ng-deep .mdc-button__label{display:flex!important;align-items:center!important}mat-spinner{margin-left:.5rem}.quota-left-message{margin-bottom:12px}\n"] }]
|
|
332
|
-
}], () => [{ type: i1.LLMService }, { type: i2.LLMHelperService }, { type: undefined, decorators: [{
|
|
333
|
-
type: Inject,
|
|
334
|
-
args: [MAT_DIALOG_DATA]
|
|
335
|
-
}] }], null); })();
|
|
336
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMTextareaWithActionsComponent, { className: "LLMTextareaWithActionsComponent", filePath: "lib\\llm\\components\\llm-textarea-with-actions\\llm-textarea-with-actions.component.ts", lineNumber: 20 }); })();
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zL2xsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDUHBFLHdEQUEwSDtJQUF2QyxxUkFBZ0IsK0JBQXFCLEtBQUM7SUFBQyxpQkFBK0I7OztJQUExRixvQ0FBbUI7OztJQU81RSxzQ0FBOEI7SUFDNUIsWUFDRjs7O0lBQUEsaUJBQWE7OztJQUZELGtDQUFpQjtJQUMzQixjQUNGO0lBREUseUdBQ0Y7Ozs7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QUE1QyxtRUFBNEMsK0JBQW1CO1lBWXhELGVBQWU7WUFBZixvQ0FBZTs7O2lGRG5DdEIsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsK0JBQStCOztzQkErQ3RDLE1BQU07dUJBQUMsZUFBZTs7a0ZBM0NkLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IExMTVJlcGhyYXNlVXNlQ2FzZSwgTExNU2VydmljZSwgTExNU3VtbWFyeVVzZUNhc2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRVJST1JfQ09ERVMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBQbGF1c2libGVIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9wbGF1c2libGUnO1xyXG5pbXBvcnQgeyBMTE1BY3Rpb25zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1hY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgTExNV3JpdGluZ1N0eWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS13cml0aW5nLXN0eWxlLmVudW0nO1xyXG5pbXBvcnQgeyBMTE1IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGxtLWhlbHBlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWxsbS10ZXh0YXJlYS13aXRoLWFjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgaXNTdW1tYXJpemVkITogYm9vbGVhbjtcclxuICBpc0VkaXRlZCE6IGJvb2xlYW47XHJcbiAgcmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgcXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIG1heENoYXJMZW5ndGghOiBudW1iZXI7XHJcbiAgc3Vic2NyaXB0aW9uVXJsITogc3RyaW5nO1xyXG4gIHByZXZpb3VzV3JpdGluZ1N0eWxlITogTExNV3JpdGluZ1N0eWxlO1xyXG4gIHNlbGVjdGVkV3JpdGluZ1N0eWxlID0gTExNV3JpdGluZ1N0eWxlLkdFTkVSQUw7XHJcblxyXG4gIHJlYWNoZWRRdW90YU1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGV4Y2VlZGVkTGltaXRNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuICByZXF1ZXN0VGltZW91dE1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG4gIGRlZmF1bHRFcnJvck1lc3NhZ2UhOiBOb3RpZmljYXRpb25NZXNzYWdlO1xyXG5cclxuICBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGluaXRpYWxUZXh0ITogc3RyaW5nO1xyXG4gIGVkaXRlZFRleHQgPSAnJztcclxuICBtYW51YWxseUVkaXRlZFRleHQgPSAnJztcclxuXHJcbiAgbG9jYWxpemF0aW9uS2V5ITogc3RyaW5nO1xyXG4gIGxsbUFjdGlvblR5cGUhOiBMTE1BY3Rpb25zO1xyXG4gIHNlbGVjdGVkVXNlQ2FzZSE6IExMTVN1bW1hcnlVc2VDYXNlIHwgTExNUmVwaHJhc2VVc2VDYXNlO1xyXG5cclxuICBwcml2YXRlIHNhdmVkUmVwaHJhc2luZ3M6IHsgc3R5bGU6IExMTVdyaXRpbmdTdHlsZSwgdGV4dDogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICByZWFkb25seSBsbG1BY3Rpb25zID0gTExNQWN0aW9ucztcclxuICByZWFkb25seSB3cml0aW5nU3R5bGVzID0gT2JqZWN0LnZhbHVlcyhMTE1Xcml0aW5nU3R5bGUpO1xyXG4gIHVzZUNhc2VzOiBMTE1TdW1tYXJ5VXNlQ2FzZVtdIHwgTExNUmVwaHJhc2VVc2VDYXNlW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBzaG93VXNlQ2FzZSA9IGZhbHNlO1xyXG5cclxuICBnZXQgaXNEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyB8fCAhdGhpcy5pbml0aWFsVGV4dCB8fCB0aGlzLnF1b3RhTGVmdCA8IDE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtSGVscGVyU2VydmljZTogTExNSGVscGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IGRhdGE6IExMTURhdGFcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFRleHQoKTtcclxuICAgIGlmKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5yZXBocmFzZVVzZUNhc2VzID8/IE9iamVjdC52YWx1ZXMoTExNUmVwaHJhc2VVc2VDYXNlKSBhcyBMTE1SZXBocmFzZVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSB0aGlzLnVzZUNhc2VzWzBdO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuU1VNTUFSWSkge1xyXG4gICAgICB0aGlzLnVzZUNhc2VzICA9IHRoaXMuZGF0YS5zdW1tYXJ5VXNlQ2FzZXMgPz8gT2JqZWN0LnZhbHVlcyhMTE1TdW1tYXJ5VXNlQ2FzZSkgYXMgTExNU3VtbWFyeVVzZUNhc2VbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZFVzZUNhc2UgPSBMTE1TdW1tYXJ5VXNlQ2FzZS5HZW5lcmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd1VzZUNhc2UgPSAodGhpcy5sbG1BY3Rpb25UeXBlPT09ICBMTE1BY3Rpb25zLlJFUEhSQVNFICYmIHRoaXMuZGF0YS5zaG93VXNlQ2FzZVJlcGhyYXNlKSB8fCAodGhpcy5sbG1BY3Rpb25UeXBlID09PSBMTE1BY3Rpb25zLlNVTU1BUlkgJiYgdGhpcy5kYXRhLnNob3dVc2VDYXNlU3VtbWFyeSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU1lc3NhZ2UobXNnOiBOb3RpZmljYXRpb25NZXNzYWdlKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubWVzc2FnZXM/LmZpbmRJbmRleCgobWVzc2FnZSkgPT4gSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkgPT09IEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG5cclxuICAgIGlmIChpbmRleCB8fCBpbmRleCA9PT0gMCkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1JlcGhyYXNlZFRleHRTYXZlcyhldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSA9IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZFdyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgocmVwaHJhc2luZykgPT4gcmVwaHJhc2luZy5zdHlsZSA9PT0gdGhpcy5zZWxlY3RlZFdyaXRpbmdTdHlsZSk7XHJcbiAgICBjb25zdCBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUgPSB0aGlzLnNhdmVkUmVwaHJhc2luZ3MuZmluZCgoc2F2ZSkgPT4gc2F2ZS5zdHlsZSA9PT0gdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSk7XHJcblxyXG4gICAgaWYgKHByZXZpb3VzV3JpdGluZ1N0eWxlU2F2ZSkge1xyXG4gICAgICBwcmV2aW91c1dyaXRpbmdTdHlsZVNhdmUudGV4dCA9IHRoaXMuZWRpdGVkVGV4dCAhPT0gJycgPyB0aGlzLmVkaXRlZFRleHQgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zYXZlZFJlcGhyYXNpbmdzLnB1c2goeyBzdHlsZTogdGhpcy5wcmV2aW91c1dyaXRpbmdTdHlsZSwgdGV4dDogdGhpcy5lZGl0ZWRUZXh0ICE9PSAnJyA/IHRoaXMuZWRpdGVkVGV4dCA6IHRoaXMuaW5pdGlhbFRleHQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gc2VsZWN0ZWRXcml0aW5nU3R5bGVTYXZlPy50ZXh0ID8/IHRoaXMuaW5pdGlhbFRleHQ7XHJcbiAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA9ICcnO1xyXG5cclxuICAgIHRoaXMuY2hlY2tUZXh0TGltaXQoKTtcclxuICB9XHJcblxyXG4gIGdldEVkaXRlZFRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gTExNQWN0aW9ucy5SRVBIUkFTRSkge1xyXG4gICAgICB0aGlzLndyaXRpbmdTdHlsZVBsYXVzaWJsZUV2ZW50KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN1bW1hcnlQbGF1c2libGVFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5nZXRSZXF1ZXN0KCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgdGV4dEVkaXRFdmVudCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuaW5pdGlhbFRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5lZGl0ZWRUZXh0ID0gJyc7XHJcblxyXG4gICAgdGhpcy5jaGVja1RleHRMaW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY29weVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2NvcHknIH0pO1xyXG4gIH1cclxuXHJcbiAgZGlzbGlrZVBsYXVzaWJsZUV2ZW50KCk6IHZvaWQge1xyXG4gICAgUGxhdXNpYmxlSGVscGVyLmN1c3RvbUV2ZW50KHRoaXMubGxtQWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLCB7IGFjdGlvbjogJ2Rpc2xpa2UnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsVGV4dCgpIHtcclxuICAgIHRoaXMuZGF0YS50ZXh0LnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRpYWxUZXh0ID0gdGV4dDtcclxuICAgICAgdGhpcy5sbG1BY3Rpb25UeXBlID0gdGhpcy5kYXRhLmFjdGlvbjtcclxuICAgICAgdGhpcy5sb2NhbGl6YXRpb25LZXkgPSBgTExNLiR7dGhpcy5sbG1BY3Rpb25UeXBlfV9NT0RBTC5gXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uVXJsID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uc3Vic2NyaXB0aW9uVXJsO1xyXG4gICAgICB0aGlzLm1heENoYXJMZW5ndGggPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5tYXhDaGFyTGVuZ3RoO1xyXG5cclxuICAgICAgdGhpcy5yZWZyZXNoUXVvdGEoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVGV4dExpbWl0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGltaXQgPSB0aGlzLm1heENoYXJMZW5ndGg7XHJcbiAgICBjb25zdCB0ZXh0cyA9IFt0aGlzLmluaXRpYWxUZXh0LCB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCwgdGhpcy5lZGl0ZWRUZXh0XTtcclxuICAgIGNvbnN0IGxvbmdlc3RUZXh0ID0gdGhpcy5lZGl0ZWRUZXh0ICYmICF0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCA/IHRoaXMuZWRpdGVkVGV4dCA6IHRleHRzLnJlZHVjZSgoYSwgYikgPT4gYS5sZW5ndGggPiBiLmxlbmd0aCA/IGEgOiBiKTtcclxuXHJcbiAgICBpZiAobG9uZ2VzdFRleHQubGVuZ3RoID4gbGltaXQpIHtcclxuICAgICAgaWYgKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmV4Y2VlZGVkTGltaXRNZXNzYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSA9IHRoaXMubGxtSGVscGVyU2VydmljZS5nZXRFeGNlZWRlZExpbWl0TWVzc2FnZShsb25nZXN0VGV4dC5sZW5ndGgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5leGNlZWRlZExpbWl0TWVzc2FnZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMuZXhjZWVkZWRMaW1pdE1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB3cml0aW5nU3R5bGVQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyB3cml0aW5nU3R5bGU6IHRoaXMuc2VsZWN0ZWRXcml0aW5nU3R5bGUgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1bW1hcnlQbGF1c2libGVFdmVudCgpOiB2b2lkIHtcclxuICAgIFBsYXVzaWJsZUhlbHBlci5jdXN0b21FdmVudCh0aGlzLmxsbUFjdGlvblR5cGUudG9Mb3dlckNhc2UoKSwgeyBhY3Rpb246ICdzdW1tYXJ5JyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFF1b3RhKGRlY3JlYXNlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldFJlbWFpbmluZ1F1b3RhKGRlY3JlYXNlKS5zdWJzY3JpYmUoKHJlbWFpbmluZ1F1b3RhKSA9PiB7XHJcbiAgICAgIHRoaXMucXVvdGFMZWZ0ID0gcmVtYWluaW5nUXVvdGE7XHJcbiAgICAgIHRoaXMuc2V0UXVvdGFNZXNzYWdlKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRRdW90YU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5xdW90YUxlZnQgPD0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLnRyaWFsUmVxdWVzdENvdW50KSB7XHJcbiAgICAgIHRoaXMucmVtYWluaW5nUXVvdGFNZXNzYWdlVmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucXVvdGFMZWZ0IDwgMSkge1xyXG4gICAgICB0aGlzLnJlYWNoZWRRdW90YU1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVhY2hlZFF1b3RhTWVzc2FnZSgpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZWFjaGVkUXVvdGFNZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVxdWVzdCgpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgbGV0IHRleHQgPVxyXG4gICAgICB0aGlzLm1hbnVhbGx5RWRpdGVkVGV4dCAhPT0gJydcclxuICAgICAgICA/IHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0XHJcbiAgICAgICAgOiB0aGlzLmluaXRpYWxUZXh0O1xyXG5cclxuICAgIGlmICh0ZXh0Lmxlbmd0aCA+IHRoaXMubWF4Q2hhckxlbmd0aCkge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdGhpcy5tYXhDaGFyTGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtZXRob2QgPVxyXG4gICAgICB0aGlzLmxsbUFjdGlvblR5cGUgPT09IExMTUFjdGlvbnMuUkVQSFJBU0VcclxuICAgICAgICA/IHRoaXMubGxtU2VydmljZS5yZXBocmFzZSh7IHRleHQ6IHRleHQsIGxhbmd1YWdlOiB0aGlzLmRhdGEubGFuZ3VhZ2UsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1SZXBocmFzZVVzZUNhc2UgfSlcclxuICAgICAgICA6IHRoaXMubGxtU2VydmljZS5zdW1tYXJpemUoeyB0ZXh0OiB0ZXh0LCBsYW5ndWFnZTogdGhpcy5kYXRhLmxhbmd1YWdlLCB1c2VDYXNlOiB0aGlzLnNlbGVjdGVkVXNlQ2FzZSBhcyBMTE1TdW1tYXJ5VXNlQ2FzZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbWV0aG9kXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5nZXRSZXF1ZXN0Q2FsbGJhY2soKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlcXVlc3RDYWxsYmFjaygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGxtQWN0aW9uVHlwZSA9PT0gdGhpcy5sbG1BY3Rpb25zLlNVTU1BUlkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTdW1tYXJpemVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWRpdGVkVGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgIHRoaXMubWFudWFsbHlFZGl0ZWRUZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0RXJyb3JNZXNzYWdlID0gdGhpcy5sbG1IZWxwZXJTZXJ2aWNlLmdldERlZmF1bHRFcnJvck1lc3NhZ2UoKTtcclxuICAgICAgICB0aGlzLmNsb3NlTWVzc2FnZSh0aGlzLmRlZmF1bHRFcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VNZXNzYWdlKHRoaXMucmVxdWVzdFRpbWVvdXRNZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmlzRWRpdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hRdW90YSh0cnVlKTtcclxuICAgICAgICB0aGlzLmNoZWNrVGV4dExpbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gRVJST1JfQ09ERVMuVElNRU9VVCkge1xyXG4gICAgICAgICAgdGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UgPSB0aGlzLmxsbUhlbHBlclNlcnZpY2UuZ2V0UmVxdWVzdFRpbWVvdXRNZXNzYWdlKHRoaXMubGxtQWN0aW9uVHlwZSk7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2godGhpcy5yZXF1ZXN0VGltZW91dE1lc3NhZ2UpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKHRoaXMuZGVmYXVsdEVycm9yTWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgbG9jYWxpemF0aW9uS2V5ICsgXCJUSVRMRVwiIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgW2lubmVySFRNTF09XCJsb2NhbGl6YXRpb25LZXkgKyAnREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+PC9wPlxyXG5cclxuICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlc1wiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIiAoY2xvc2VDbGlja2VkKT1cImNsb3NlTWVzc2FnZShtZXNzYWdlKVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwic2hvd1VzZUNhc2VcIiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwidy1mdWxsIGxsbS13cml0aW5nLXN0eWxlLXNlbGVjdFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8bWF0LWxhYmVsPnt7ICdMTE0uVVNFX0NBU0VTX0xBQkVMJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgW2Rpc2FibGVkXT1cImlzTG9hZGluZ1wiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRVc2VDYXNlXCI+XHJcbiAgICAgIEBmb3IgKHVzZUNhc2Ugb2YgdXNlQ2FzZXM7IHRyYWNrICRpbmRleCkge1xyXG5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidXNlQ2FzZVwiPlxyXG4gICAgICAgICAge3sgJ0xMTS5VU0VfQ0FTRS4nICsgKHVzZUNhc2UgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICB9XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbY2xhc3MucmVwaHJhc2VdPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5SRVBIUkFTRVwiIFt0ZXh0XT1cImVkaXRlZFRleHQgIT09ICcnID8gZWRpdGVkVGV4dCA6IGluaXRpYWxUZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhcXVvdGFMZWZ0XCIgW2FjdGlvbkJ1dHRvbnNEaXNhYmxlZF09XCIhaXNFZGl0ZWRcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0RWRpdEV2ZW50KCRldmVudClcIiAoY29weUV2ZW50KT1cImNvcHlQbGF1c2libGVFdmVudCgpXCIgKGRpc2xpa2VFdmVudCk9XCJkaXNsaWtlUGxhdXNpYmxlRXZlbnQoKVwiPjwvbGliLWxsbS10ZXh0YXJlYT5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJsbG0tYWN0aW9ucy13cmFwcGVyXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgKm5nSWY9XCJyZW1haW5pbmdRdW90YU1lc3NhZ2VWaXNpYmxlXCIgY2xhc3M9XCJxdW90YS1sZWZ0LW1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cImxvY2FsaXphdGlvbktleSArICdMSU1JVCcgfCB0cmFuc2xhdGU6IHsgbGltaXQ6IHF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LWZ1bGxdPVwiIXJlbWFpbmluZ1F1b3RhTWVzc2FnZVZpc2libGVcIiBjbGFzcz1cImxsbS1hY3Rpb25zXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIGNsb3NlQnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgbG9jYWxpemF0aW9uS2V5ICsgXCJDTE9TRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJnZXRFZGl0ZWRUZXh0KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibGxtQWN0aW9uVHlwZSA9PT0gbGxtQWN0aW9ucy5TVU1NQVJZOyBlbHNlIHJlcGhyYXNlQWN0aW9uXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgICghaXNTdW1tYXJpemVkXHJcbiAgICAgICAgICAgID8gXCJMTE0uU1VNTUFSWV9NT0RBTC5BQ1RJT05cIlxyXG4gICAgICAgICAgICA6IFwiTExNLlNVTU1BUllfTU9EQUwuUkVHRU5FUkFURVwiXHJcbiAgICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZXBocmFzZUFjdGlvbj5cclxuICAgICAgICB7eyBsb2NhbGl6YXRpb25LZXkgKyBcIkFDVElPTlwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1wiIFtkaWFtZXRlcl09XCIyMFwiIGNvbG9yPVwicHJpbWFyeS1hY2NlbnQtZGFya2VyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './llm-menu.icon';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2ljb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xsbS1tZW51Lmljb24nIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const SUMMARIZE = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M4 5H18.6286V6.82857H4V5ZM4 10.4857H18.6286V8.65714H4V10.4857ZM4 14.1429H10.4V12.3143H4V14.1429ZM4 17.8H10.4V15.9714H4V17.8Z" fill="currentColor"/>
|
|
3
|
-
<path d="M17.4005 13.3093C17.0801 12.5922 16.0622 12.5922 15.7418 13.3093L15.1052 14.7341L13.6804 15.3707C12.9633 15.6911 12.9633 16.709 13.6804 17.0294L15.1052 17.666L15.7418 19.0908C16.0622 19.8079 17.0801 19.8079 17.4005 19.0908L18.0371 17.666L19.4619 17.0294C20.179 16.709 20.179 15.6911 19.4619 15.3707L18.0371 14.7341L17.4005 13.3093Z" fill="currentColor"/>
|
|
4
|
-
<path d="M13.5612 12.0546C13.4438 11.7917 13.0705 11.7917 12.953 12.0546L12.7196 12.577L12.1972 12.8105C11.9343 12.9279 11.9343 13.3012 12.1972 13.4187L12.7196 13.6521L12.953 14.1745C13.0705 14.4374 13.4438 14.4374 13.5612 14.1745L13.7947 13.6521L14.3171 13.4187C14.58 13.3012 14.58 12.9279 14.3171 12.8105L13.7947 12.577L13.5612 12.0546Z" fill="currentColor"/>
|
|
5
|
-
</svg>
|
|
6
|
-
`;
|
|
7
|
-
export const REPHRASE = `<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
8
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.879 4.16166L21.229 5.51166C22.019 6.29166 22.019 7.56166 21.229 8.34166L7.99897 21.5717H3.81897V17.3917L14.219 6.98166L17.049 4.16166C17.829 3.38166 19.099 3.38166 19.879 4.16166ZM5.81897 19.5717L7.22897 19.6317L17.049 9.80166L15.639 8.39166L5.81897 18.2117V19.5717Z" fill="currentColor"/>
|
|
9
|
-
<path d="M19.5181 19.798L18.8644 21.261C18.6793 21.6752 18.0913 21.6752 17.9062 21.261L17.2526 19.798C17.1471 19.5621 16.9584 19.3734 16.7225 19.268L15.2595 18.6143C14.8453 18.4292 14.8453 17.8412 15.2595 17.6561L16.7225 17.0024C16.9584 16.897 17.1471 16.7083 17.2526 16.4724L17.9062 15.0094C18.0913 14.5952 18.6793 14.5952 18.8644 15.0094L19.5181 16.4724C19.6235 16.7083 19.8122 16.897 20.0481 17.0024L21.5111 17.6561C21.9253 17.8412 21.9253 18.4292 21.5111 18.6143L20.0481 19.268C19.8122 19.3734 19.6235 19.5621 19.5181 19.798Z" stroke="#474D53"/>
|
|
10
|
-
<path d="M9.88502 3.56437C9.75242 3.26761 9.33117 3.26761 9.19857 3.56437L8.93512 4.15399L8.3455 4.41744C8.04874 4.55003 8.04874 4.97129 8.3455 5.10389L8.93512 5.36733L9.19857 5.95696C9.33117 6.25372 9.75242 6.25372 9.88502 5.95696L10.1485 5.36733L10.7381 5.10389C11.0349 4.97129 11.0349 4.55003 10.7381 4.41744L10.1485 4.15399L9.88502 3.56437Z" fill="currentColor"/>
|
|
11
|
-
<path d="M6.50947 5.80395C6.31057 5.35881 5.67869 5.35881 5.4798 5.80395L5.08462 6.68839L4.20019 7.08356C3.75505 7.28245 3.75505 7.91434 4.20019 8.11323L5.08462 8.5084L5.4798 9.39284C5.67869 9.83798 6.31057 9.83798 6.50947 9.39284L6.90464 8.5084L7.78907 8.11323C8.23421 7.91434 8.23421 7.28245 7.78907 7.08356L6.90464 6.68839L6.50947 5.80395Z" fill="currentColor"/>
|
|
12
|
-
</svg>
|
|
13
|
-
`;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLW1lbnUuaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vaWNvbnMvbGxtLW1lbnUuaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7Ozs7O0NBS3hCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7Ozs7OztDQU12QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNVTU1BUklaRSA9IGA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuPHBhdGggZD1cIk00IDVIMTguNjI4NlY2LjgyODU3SDRWNVpNNCAxMC40ODU3SDE4LjYyODZWOC42NTcxNEg0VjEwLjQ4NTdaTTQgMTQuMTQyOUgxMC40VjEyLjMxNDNINFYxNC4xNDI5Wk00IDE3LjhIMTAuNFYxNS45NzE0SDRWMTcuOFpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxyXG48cGF0aCBkPVwiTTE3LjQwMDUgMTMuMzA5M0MxNy4wODAxIDEyLjU5MjIgMTYuMDYyMiAxMi41OTIyIDE1Ljc0MTggMTMuMzA5M0wxNS4xMDUyIDE0LjczNDFMMTMuNjgwNCAxNS4zNzA3QzEyLjk2MzMgMTUuNjkxMSAxMi45NjMzIDE2LjcwOSAxMy42ODA0IDE3LjAyOTRMMTUuMTA1MiAxNy42NjZMMTUuNzQxOCAxOS4wOTA4QzE2LjA2MjIgMTkuODA3OSAxNy4wODAxIDE5LjgwNzkgMTcuNDAwNSAxOS4wOTA4TDE4LjAzNzEgMTcuNjY2TDE5LjQ2MTkgMTcuMDI5NEMyMC4xNzkgMTYuNzA5IDIwLjE3OSAxNS42OTExIDE5LjQ2MTkgMTUuMzcwN0wxOC4wMzcxIDE0LjczNDFMMTcuNDAwNSAxMy4zMDkzWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjxwYXRoIGQ9XCJNMTMuNTYxMiAxMi4wNTQ2QzEzLjQ0MzggMTEuNzkxNyAxMy4wNzA1IDExLjc5MTcgMTIuOTUzIDEyLjA1NDZMMTIuNzE5NiAxMi41NzdMMTIuMTk3MiAxMi44MTA1QzExLjkzNDMgMTIuOTI3OSAxMS45MzQzIDEzLjMwMTIgMTIuMTk3MiAxMy40MTg3TDEyLjcxOTYgMTMuNjUyMUwxMi45NTMgMTQuMTc0NUMxMy4wNzA1IDE0LjQzNzQgMTMuNDQzOCAxNC40Mzc0IDEzLjU2MTIgMTQuMTc0NUwxMy43OTQ3IDEzLjY1MjFMMTQuMzE3MSAxMy40MTg3QzE0LjU4IDEzLjMwMTIgMTQuNTggMTIuOTI3OSAxNC4zMTcxIDEyLjgxMDVMMTMuNzk0NyAxMi41NzdMMTMuNTYxMiAxMi4wNTQ2WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gO1xyXG5leHBvcnQgY29uc3QgUkVQSFJBU0UgPSBgPHN2ZyB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOS44NzkgNC4xNjE2NkwyMS4yMjkgNS41MTE2NkMyMi4wMTkgNi4yOTE2NiAyMi4wMTkgNy41NjE2NiAyMS4yMjkgOC4zNDE2Nkw3Ljk5ODk3IDIxLjU3MTdIMy44MTg5N1YxNy4zOTE3TDE0LjIxOSA2Ljk4MTY2TDE3LjA0OSA0LjE2MTY2QzE3LjgyOSAzLjM4MTY2IDE5LjA5OSAzLjM4MTY2IDE5Ljg3OSA0LjE2MTY2Wk01LjgxODk3IDE5LjU3MTdMNy4yMjg5NyAxOS42MzE3TDE3LjA0OSA5LjgwMTY2TDE1LjYzOSA4LjM5MTY2TDUuODE4OTcgMTguMjExN1YxOS41NzE3WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjxwYXRoIGQ9XCJNMTkuNTE4MSAxOS43OThMMTguODY0NCAyMS4yNjFDMTguNjc5MyAyMS42NzUyIDE4LjA5MTMgMjEuNjc1MiAxNy45MDYyIDIxLjI2MUwxNy4yNTI2IDE5Ljc5OEMxNy4xNDcxIDE5LjU2MjEgMTYuOTU4NCAxOS4zNzM0IDE2LjcyMjUgMTkuMjY4TDE1LjI1OTUgMTguNjE0M0MxNC44NDUzIDE4LjQyOTIgMTQuODQ1MyAxNy44NDEyIDE1LjI1OTUgMTcuNjU2MUwxNi43MjI1IDE3LjAwMjRDMTYuOTU4NCAxNi44OTcgMTcuMTQ3MSAxNi43MDgzIDE3LjI1MjYgMTYuNDcyNEwxNy45MDYyIDE1LjAwOTRDMTguMDkxMyAxNC41OTUyIDE4LjY3OTMgMTQuNTk1MiAxOC44NjQ0IDE1LjAwOTRMMTkuNTE4MSAxNi40NzI0QzE5LjYyMzUgMTYuNzA4MyAxOS44MTIyIDE2Ljg5NyAyMC4wNDgxIDE3LjAwMjRMMjEuNTExMSAxNy42NTYxQzIxLjkyNTMgMTcuODQxMiAyMS45MjUzIDE4LjQyOTIgMjEuNTExMSAxOC42MTQzTDIwLjA0ODEgMTkuMjY4QzE5LjgxMjIgMTkuMzczNCAxOS42MjM1IDE5LjU2MjEgMTkuNTE4MSAxOS43OThaXCIgc3Ryb2tlPVwiIzQ3NEQ1M1wiLz5cclxuPHBhdGggZD1cIk05Ljg4NTAyIDMuNTY0MzdDOS43NTI0MiAzLjI2NzYxIDkuMzMxMTcgMy4yNjc2MSA5LjE5ODU3IDMuNTY0MzdMOC45MzUxMiA0LjE1Mzk5TDguMzQ1NSA0LjQxNzQ0QzguMDQ4NzQgNC41NTAwMyA4LjA0ODc0IDQuOTcxMjkgOC4zNDU1IDUuMTAzODlMOC45MzUxMiA1LjM2NzMzTDkuMTk4NTcgNS45NTY5NkM5LjMzMTE3IDYuMjUzNzIgOS43NTI0MiA2LjI1MzcyIDkuODg1MDIgNS45NTY5NkwxMC4xNDg1IDUuMzY3MzNMMTAuNzM4MSA1LjEwMzg5QzExLjAzNDkgNC45NzEyOSAxMS4wMzQ5IDQuNTUwMDMgMTAuNzM4MSA0LjQxNzQ0TDEwLjE0ODUgNC4xNTM5OUw5Ljg4NTAyIDMuNTY0MzdaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cclxuPHBhdGggZD1cIk02LjUwOTQ3IDUuODAzOTVDNi4zMTA1NyA1LjM1ODgxIDUuNjc4NjkgNS4zNTg4MSA1LjQ3OTggNS44MDM5NUw1LjA4NDYyIDYuNjg4MzlMNC4yMDAxOSA3LjA4MzU2QzMuNzU1MDUgNy4yODI0NSAzLjc1NTA1IDcuOTE0MzQgNC4yMDAxOSA4LjExMzIzTDUuMDg0NjIgOC41MDg0TDUuNDc5OCA5LjM5Mjg0QzUuNjc4NjkgOS44Mzc5OCA2LjMxMDU3IDkuODM3OTggNi41MDk0NyA5LjM5Mjg0TDYuOTA0NjQgOC41MDg0TDcuNzg5MDcgOC4xMTMyM0M4LjIzNDIxIDcuOTE0MzQgOC4yMzQyMSA3LjI4MjQ1IDcuNzg5MDcgNy4wODM1Nkw2LjkwNDY0IDYuNjg4MzlMNi41MDk0NyA1LjgwMzk1WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XHJcbjwvc3ZnPlxyXG5gOyJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './llm.component';
|
|
2
|
-
export * from './llm.module';
|
|
3
|
-
export * from './models';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xsbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xsbS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7Il19
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { LLMActions } from './models/llm-actions.enum';
|
|
3
|
-
import { LLMTextareaWithActionsComponent } from './components/llm-textarea-with-actions/llm-textarea-with-actions.component';
|
|
4
|
-
import * as icons from './icons';
|
|
5
|
-
import { of } from 'rxjs';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/dialog";
|
|
8
|
-
import * as i2 from "../services";
|
|
9
|
-
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "@angular/material/tooltip";
|
|
11
|
-
import * as i5 from "./components/llm-summary/llm-summary.component";
|
|
12
|
-
import * as i6 from "./components/llm-rephrase/llm-rephrase.component";
|
|
13
|
-
import * as i7 from "@ngx-translate/core";
|
|
14
|
-
function LLMComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
16
|
-
i0.ɵɵelementStart(0, "div", 2);
|
|
17
|
-
i0.ɵɵpipe(1, "translate");
|
|
18
|
-
i0.ɵɵelementStart(2, "lib-llm-summary", 3);
|
|
19
|
-
i0.ɵɵlistener("openModalEvent", function LLMComponent_div_1_Template_lib_llm_summary_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
|
|
20
|
-
i0.ɵɵelementEnd()();
|
|
21
|
-
} if (rf & 2) {
|
|
22
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
23
|
-
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTextSummarizable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_SUMMARY_DISABLED_TOOLTIP") : "");
|
|
24
|
-
i0.ɵɵadvance(2);
|
|
25
|
-
i0.ɵɵproperty("isTextSummarizable", !!ctx_r1.isTextSummarizable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
|
|
26
|
-
} }
|
|
27
|
-
function LLMComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
29
|
-
i0.ɵɵelementStart(0, "div", 2);
|
|
30
|
-
i0.ɵɵpipe(1, "translate");
|
|
31
|
-
i0.ɵɵelementStart(2, "lib-llm-rephrase", 4);
|
|
32
|
-
i0.ɵɵlistener("openModalEvent", function LLMComponent_div_2_Template_lib_llm_rephrase_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
} if (rf & 2) {
|
|
35
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
36
|
-
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTargetLanguageRephrasable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_REPHRASE_DISABLED_TOOLTIP") : "");
|
|
37
|
-
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵproperty("isTargetLanguageRephrasable", !!ctx_r1.isTargetLanguageRephrasable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
|
|
39
|
-
} }
|
|
40
|
-
export class LLMComponent {
|
|
41
|
-
get isTextSummarizable() {
|
|
42
|
-
return this.text;
|
|
43
|
-
}
|
|
44
|
-
get isTargetLanguageRephrasable() {
|
|
45
|
-
return !this.rephrasableLanguagesCodeList || (this.language && this.rephrasableLanguagesCodeList.includes(this.languageService.removeRegionFromLanguageCode(this.language)));
|
|
46
|
-
}
|
|
47
|
-
constructor(dialog, iconService, languageService) {
|
|
48
|
-
this.dialog = dialog;
|
|
49
|
-
this.iconService = iconService;
|
|
50
|
-
this.languageService = languageService;
|
|
51
|
-
this.summaryEnabled = true;
|
|
52
|
-
this.rephraseEnabled = true;
|
|
53
|
-
this.showUseCaseSummary = false;
|
|
54
|
-
this.showUseCaseRephrase = false;
|
|
55
|
-
this.menuTriggerClick = new EventEmitter();
|
|
56
|
-
this.llmAction = LLMActions;
|
|
57
|
-
this.iconService.registerIcons(icons);
|
|
58
|
-
}
|
|
59
|
-
openLLMModal(action) {
|
|
60
|
-
let textObservable;
|
|
61
|
-
if (!this.text || typeof this.text === "string") {
|
|
62
|
-
textObservable = of(this.text ?? "");
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
textObservable = this.text;
|
|
66
|
-
}
|
|
67
|
-
const data = {
|
|
68
|
-
text: textObservable,
|
|
69
|
-
language: this.language,
|
|
70
|
-
action: action,
|
|
71
|
-
showUseCaseSummary: this.showUseCaseSummary,
|
|
72
|
-
showUseCaseRephrase: this.showUseCaseRephrase,
|
|
73
|
-
summaryUseCases: this.summaryUseCases,
|
|
74
|
-
rephraseUseCases: this.rephraseUseCases,
|
|
75
|
-
};
|
|
76
|
-
this.dialog.open(LLMTextareaWithActionsComponent, {
|
|
77
|
-
panelClass: 'responsive-dialog',
|
|
78
|
-
maxWidth: '800px',
|
|
79
|
-
width: '100%',
|
|
80
|
-
data
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
static { this.ɵfac = function LLMComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.IconService), i0.ɵɵdirectiveInject(i2.LanguageTranslateService)); }; }
|
|
84
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMComponent, selectors: [["lib-llm"]], inputs: { text: "text", language: "language", rephrasableLanguagesCodeList: "rephrasableLanguagesCodeList", summaryEnabled: "summaryEnabled", rephraseEnabled: "rephraseEnabled", showUseCaseSummary: "showUseCaseSummary", showUseCaseRephrase: "showUseCaseRephrase", newFeatureLocalStorageKey: "newFeatureLocalStorageKey", rephraseUseCases: "rephraseUseCases", summaryUseCases: "summaryUseCases" }, outputs: { menuTriggerClick: "menuTriggerClick" }, decls: 3, vars: 2, consts: [[1, "llm-wrapper"], [3, "matTooltipPosition", "matTooltip", 4, "ngIf"], [3, "matTooltipPosition", "matTooltip"], [3, "openModalEvent", "isTextSummarizable", "newFeatureLocalStorageKey"], [3, "openModalEvent", "isTargetLanguageRephrasable", "newFeatureLocalStorageKey"]], template: function LLMComponent_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
86
|
-
i0.ɵɵtemplate(1, LLMComponent_div_1_Template, 3, 6, "div", 1)(2, LLMComponent_div_2_Template, 3, 6, "div", 1);
|
|
87
|
-
i0.ɵɵelementEnd();
|
|
88
|
-
} if (rf & 2) {
|
|
89
|
-
i0.ɵɵadvance();
|
|
90
|
-
i0.ɵɵproperty("ngIf", ctx.summaryEnabled);
|
|
91
|
-
i0.ɵɵadvance();
|
|
92
|
-
i0.ɵɵproperty("ngIf", ctx.rephraseEnabled);
|
|
93
|
-
} }, dependencies: [i3.NgIf, i4.MatTooltip, i5.LLMSummaryComponent, i6.LLMRephraseComponent, i7.TranslatePipe], styles: [".llm-wrapper[_ngcontent-%COMP%]{display:flex;gap:8px}"] }); }
|
|
94
|
-
}
|
|
95
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMComponent, [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{ selector: 'lib-llm', template: "<div class=\"llm-wrapper\">\r\n\t<div *ngIf=\"summaryEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTextSummarizable ? ('LLM.MENU_SUMMARY_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-summary [isTextSummarizable]=\"!!isTextSummarizable\" [newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\" (openModalEvent)=\"openLLMModal($event)\"></lib-llm-summary>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"rephraseEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTargetLanguageRephrasable ? ('LLM.MENU_REPHRASE_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-rephrase\r\n\t\t\t[isTargetLanguageRephrasable]=\"!!isTargetLanguageRephrasable\"\r\n\t\t\t[newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\"\r\n\t\t\t(openModalEvent)=\"openLLMModal($event)\"\r\n\t\t></lib-llm-rephrase>\r\n\t</div>\r\n</div>\r\n", styles: [".llm-wrapper{display:flex;gap:8px}\n"] }]
|
|
98
|
-
}], () => [{ type: i1.MatDialog }, { type: i2.IconService }, { type: i2.LanguageTranslateService }], { text: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], language: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], rephrasableLanguagesCodeList: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], summaryEnabled: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], rephraseEnabled: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], showUseCaseSummary: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], showUseCaseRephrase: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], newFeatureLocalStorageKey: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], rephraseUseCases: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], summaryUseCases: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], menuTriggerClick: [{
|
|
119
|
-
type: Output
|
|
120
|
-
}] }); })();
|
|
121
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMComponent, { className: "LLMComponent", filePath: "lib\\llm\\llm.component.ts", lineNumber: 16 }); })();
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vbGxtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3ZELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzdILE9BQU8sS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0lDTHJDLDhCQUFzSjs7SUFDckosMENBQTZKO0lBQXhDLHlNQUFrQiwyQkFBb0IsS0FBQztJQUM3SixBQUQ4SixpQkFBa0IsRUFDMUs7OztJQUZvRCxBQUE5QiwyQ0FBNkIsMkdBQTRGO0lBQ25JLGVBQTJDO0lBQUMsQUFBNUMsZ0VBQTJDLCtEQUF3RDs7OztJQUdySCw4QkFBaUs7O0lBQ2hLLDJDQUlDO0lBREEsME1BQWtCLDJCQUFvQixLQUFDO0lBRXpDLEFBREUsaUJBQW1CLEVBQ2Y7OztJQU5xRCxBQUE5QiwyQ0FBNkIscUhBQXNHO0lBRTlKLGVBQTZEO0lBQzdELEFBREEsa0ZBQTZELCtEQUNOOztBRE8xRCxNQUFNLE9BQU8sWUFBWTtJQWdCdkIsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLDJCQUEyQjtRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvSyxDQUFDO0lBRUQsWUFDUyxNQUFpQixFQUNQLFdBQXdCLEVBQ3hCLGVBQXlDO1FBRm5ELFdBQU0sR0FBTixNQUFNLENBQVc7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUF2Qm5ELG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFLM0IscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3QyxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBZTlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBa0I7UUFDN0IsSUFBSSxjQUFrQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxjQUFjLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQVk7WUFDcEIsSUFBSSxFQUFFLGNBQWM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFTO1lBQ3hCLE1BQU0sRUFBRSxNQUFNO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzdDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3hDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUNoRCxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSTtTQUNMLENBQUMsQ0FBQztJQUNMLENBQUM7NkdBdkRVLFlBQVk7b0VBQVosWUFBWTtZQ2Z6Qiw4QkFBeUI7WUFLeEIsQUFKQSw2REFBc0osZ0RBSVc7WUFPbEssaUJBQU07O1lBWEMsY0FBb0I7WUFBcEIseUNBQW9CO1lBSXBCLGNBQXFCO1lBQXJCLDBDQUFxQjs7O2lGRFVmLFlBQVk7Y0FMeEIsU0FBUzsyQkFDRSxTQUFTOzJHQUtWLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyw0QkFBNEI7a0JBQXBDLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csZUFBZTtrQkFBdkIsS0FBSztZQUNHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLHlCQUF5QjtrQkFBakMsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLGVBQWU7a0JBQXZCLEtBQUs7WUFFSSxnQkFBZ0I7a0JBQXpCLE1BQU07O2tGQVpJLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMTE1BY3Rpb25zIH0gZnJvbSAnLi9tb2RlbHMvbGxtLWFjdGlvbnMuZW51bSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEljb25TZXJ2aWNlLCBMYW5ndWFnZVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGxtLXRleHRhcmVhLXdpdGgtYWN0aW9ucy9sbG0tdGV4dGFyZWEtd2l0aC1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIGljb25zIGZyb20gJy4vaWNvbnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMTE1EYXRhIH0gZnJvbSAnLi9tb2RlbHMvbGxtLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBMTE1SZXBocmFzZVVzZUNhc2UsIExMTVN1bW1hcnlVc2VDYXNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbGxtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGxtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sbG0uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExMTUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGxhbmd1YWdlITogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlcGhyYXNhYmxlTGFuZ3VhZ2VzQ29kZUxpc3Q6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHN1bW1hcnlFbmFibGVkID0gdHJ1ZTtcclxuICBASW5wdXQoKSByZXBocmFzZUVuYWJsZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dVc2VDYXNlU3VtbWFyeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dVc2VDYXNlUmVwaHJhc2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5ITogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHJlcGhyYXNlVXNlQ2FzZXM6IExMTVJlcGhyYXNlVXNlQ2FzZVtdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHN1bW1hcnlVc2VDYXNlczogTExNU3VtbWFyeVVzZUNhc2VbXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQE91dHB1dCgpIG1lbnVUcmlnZ2VyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IGxsbUFjdGlvbiA9IExMTUFjdGlvbnM7XHJcblxyXG4gIGdldCBpc1RleHRTdW1tYXJpemFibGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVGFyZ2V0TGFuZ3VhZ2VSZXBocmFzYWJsZSgpIHtcclxuICAgIHJldHVybiAhdGhpcy5yZXBocmFzYWJsZUxhbmd1YWdlc0NvZGVMaXN0IHx8ICh0aGlzLmxhbmd1YWdlICYmIHRoaXMucmVwaHJhc2FibGVMYW5ndWFnZXNDb2RlTGlzdC5pbmNsdWRlcyh0aGlzLmxhbmd1YWdlU2VydmljZS5yZW1vdmVSZWdpb25Gcm9tTGFuZ3VhZ2VDb2RlKHRoaXMubGFuZ3VhZ2UpKSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3Rlckljb25zKGljb25zKTtcclxuICB9XHJcblxyXG4gIG9wZW5MTE1Nb2RhbChhY3Rpb246IExMTUFjdGlvbnMpOiB2b2lkIHtcclxuICAgIGxldCB0ZXh0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgaWYgKCF0aGlzLnRleHQgfHwgdHlwZW9mIHRoaXMudGV4dCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICB0ZXh0T2JzZXJ2YWJsZSA9IG9mKHRoaXMudGV4dCA/PyBcIlwiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRleHRPYnNlcnZhYmxlID0gdGhpcy50ZXh0O1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0YTogTExNRGF0YSA9IHtcclxuICAgICAgdGV4dDogdGV4dE9ic2VydmFibGUsXHJcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlISxcclxuICAgICAgYWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgIHNob3dVc2VDYXNlU3VtbWFyeTogdGhpcy5zaG93VXNlQ2FzZVN1bW1hcnksXHJcbiAgICAgIHNob3dVc2VDYXNlUmVwaHJhc2U6IHRoaXMuc2hvd1VzZUNhc2VSZXBocmFzZSxcclxuICAgICAgc3VtbWFyeVVzZUNhc2VzOiB0aGlzLnN1bW1hcnlVc2VDYXNlcyxcclxuICAgICAgcmVwaHJhc2VVc2VDYXNlczogdGhpcy5yZXBocmFzZVVzZUNhc2VzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKExMTVRleHRhcmVhV2l0aEFjdGlvbnNDb21wb25lbnQsIHtcclxuICAgICAgcGFuZWxDbGFzczogJ3Jlc3BvbnNpdmUtZGlhbG9nJyxcclxuICAgICAgbWF4V2lkdGg6ICc4MDBweCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGRhdGFcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGxtLXdyYXBwZXJcIj5cclxuXHQ8ZGl2ICpuZ0lmPVwic3VtbWFyeUVuYWJsZWRcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFttYXRUb29sdGlwXT1cIiFpc1RleHRTdW1tYXJpemFibGUgPyAoJ0xMTS5NRU5VX1NVTU1BUllfRElTQUJMRURfVE9PTFRJUCcgfCB0cmFuc2xhdGUpIDogJydcIj5cclxuXHRcdDxsaWItbGxtLXN1bW1hcnkgW2lzVGV4dFN1bW1hcml6YWJsZV09XCIhIWlzVGV4dFN1bW1hcml6YWJsZVwiIFtuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XT1cIm5ld0ZlYXR1cmVMb2NhbFN0b3JhZ2VLZXlcIiAob3Blbk1vZGFsRXZlbnQpPVwib3BlbkxMTU1vZGFsKCRldmVudClcIj48L2xpYi1sbG0tc3VtbWFyeT5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiAqbmdJZj1cInJlcGhyYXNlRW5hYmxlZFwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCIgW21hdFRvb2x0aXBdPVwiIWlzVGFyZ2V0TGFuZ3VhZ2VSZXBocmFzYWJsZSA/ICgnTExNLk1FTlVfUkVQSFJBU0VfRElTQUJMRURfVE9PTFRJUCcgfCB0cmFuc2xhdGUpIDogJydcIj5cclxuXHRcdDxsaWItbGxtLXJlcGhyYXNlXHJcblx0XHRcdFtpc1RhcmdldExhbmd1YWdlUmVwaHJhc2FibGVdPVwiISFpc1RhcmdldExhbmd1YWdlUmVwaHJhc2FibGVcIlxyXG5cdFx0XHRbbmV3RmVhdHVyZUxvY2FsU3RvcmFnZUtleV09XCJuZXdGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XCJcclxuXHRcdFx0KG9wZW5Nb2RhbEV2ZW50KT1cIm9wZW5MTE1Nb2RhbCgkZXZlbnQpXCJcclxuXHRcdD48L2xpYi1sbG0tcmVwaHJhc2U+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|