@snabcentr/client-ui 3.37.9 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/snabcentr-client-ui.mjs +3531 -3946
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/index.d.ts +4351 -3
- package/package.json +1 -3
- package/release_notes.tmp +5 -5
- package/styles/tailwind/tailwind.scss +58 -174
- package/accordion/index.d.ts +0 -3
- package/accordion/sc-accordion-content.directive.d.ts +0 -9
- package/accordion/sc-accordion.component.d.ts +0 -56
- package/accordion/sc-accordion.module.d.ts +0 -15
- package/auth/enums/auth-method.d.ts +0 -13
- package/auth/index.d.ts +0 -8
- package/auth/interfaces/api-error-response.d.ts +0 -13
- package/auth/interfaces/index.d.ts +0 -3
- package/auth/interfaces/sc-bank-account-form-group.d.ts +0 -11
- package/auth/interfaces/sc-contact-form-group.d.ts +0 -10
- package/auth/sc-auth.module.d.ts +0 -26
- package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +0 -39
- package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +0 -41
- package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +0 -53
- package/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.d.ts +0 -106
- package/auth/sign-up-form/sc-sign-up-form.component.d.ts +0 -161
- package/banner/index.d.ts +0 -2
- package/banner/sc-banner.component.d.ts +0 -88
- package/banner/sc-banner.module.d.ts +0 -18
- package/brands-list/index.d.ts +0 -2
- package/brands-list/sc-brands-list.component.d.ts +0 -15
- package/brands-list/sc-brands-list.module.d.ts +0 -12
- package/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.d.ts +0 -102
- package/cart/add-or-editing-cart-item-dialog/index.d.ts +0 -2
- package/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.d.ts +0 -48
- package/cart/cart-item/sc-cart-item.component.d.ts +0 -25
- package/cart/index.d.ts +0 -3
- package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +0 -62
- package/catalog/category-card/sc-category-card.component.d.ts +0 -76
- package/catalog/cost-with-discount/cost-with-discount.component.d.ts +0 -23
- package/catalog/download-price-list/sc-download-price-list.component.d.ts +0 -38
- package/catalog/hover-image-carousel/sc-hover-image-carousel.component.d.ts +0 -48
- package/catalog/index.d.ts +0 -12
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +0 -82
- package/catalog/notify-when-in-stock-dialog/index.d.ts +0 -2
- package/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.d.ts +0 -90
- package/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.d.ts +0 -22
- package/catalog/price-card/sc-price-card.component.d.ts +0 -18
- package/catalog/price-card-inline/sc-price-card-inline.component.d.ts +0 -10
- package/catalog/price-history/sc-price-history.component.d.ts +0 -88
- package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +0 -40
- package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +0 -47
- package/catalog/sc-catalog.module.d.ts +0 -29
- package/catalog/sc-favorite-button/sc-favorite-button.component.d.ts +0 -25
- package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +0 -49
- package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +0 -23
- package/contacts/index.d.ts +0 -7
- package/contacts/manager-card/sc-manager-card.component.d.ts +0 -22
- package/contacts/manager-card-push/sc-manager-card-push.component.d.ts +0 -18
- package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +0 -28
- package/contacts/sc-contacts.module.d.ts +0 -28
- package/contacts/tokens/index.d.ts +0 -2
- package/contacts/tokens/sc-manager-qr-handler.token.d.ts +0 -6
- package/contacts/tokens/sc-show-help-notification-in-phone-input.token.d.ts +0 -5
- package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +0 -49
- package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +0 -161
- package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +0 -62
- package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +0 -49
- package/contragents/index.d.ts +0 -7
- package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +0 -64
- package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +0 -125
- package/contragents/sc-contragents.module.d.ts +0 -27
- package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +0 -141
- package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +0 -50
- package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +0 -49
- package/delivery-address/index.d.ts +0 -4
- package/delivery-address/sc-delivery-address.module.d.ts +0 -26
- package/dialogs/index.d.ts +0 -1
- package/dialogs/sc-resource-preview/sc-resource-preview.component.d.ts +0 -42
- package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +0 -136
- package/directives/index.d.ts +0 -7
- package/directives/links/index.d.ts +0 -4
- package/directives/links/sc-email-link.directive.d.ts +0 -25
- package/directives/links/sc-link-location.d.ts +0 -5
- package/directives/links/sc-links.d.ts +0 -7
- package/directives/links/sc-tel-link.directive.d.ts +0 -40
- package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +0 -18
- package/directives/next-input-focus/sc-next-input-focus.module.d.ts +0 -10
- package/directives/sc-date-value-transformer.directive.d.ts +0 -8
- package/directives/select-on-focusin/sc-select-on-focusin.directive.d.ts +0 -14
- package/directives/terminal-link/sc-terminal-link.directive.d.ts +0 -34
- package/error-handler/consts/error-change-handler.providers.d.ts +0 -5
- package/error-handler/error-block-status/error-block-status.component.d.ts +0 -37
- package/error-handler/index.d.ts +0 -4
- package/error-handler/interfaces/i-block-error.d.ts +0 -17
- package/error-handler/sc-error-handler.component.d.ts +0 -40
- package/esm2022/accordion/index.mjs +0 -4
- package/esm2022/accordion/sc-accordion-content.directive.mjs +0 -17
- package/esm2022/accordion/sc-accordion.component.mjs +0 -92
- package/esm2022/accordion/sc-accordion.module.mjs +0 -26
- package/esm2022/auth/enums/auth-method.mjs +0 -15
- package/esm2022/auth/index.mjs +0 -9
- package/esm2022/auth/interfaces/api-error-response.mjs +0 -2
- package/esm2022/auth/interfaces/index.mjs +0 -4
- package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +0 -2
- package/esm2022/auth/interfaces/sc-contact-form-group.mjs +0 -2
- package/esm2022/auth/sc-auth.module.mjs +0 -99
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -87
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -86
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +0 -89
- package/esm2022/auth/sc-simple-sign-up-form/sc-simple-sign-up-form.component.mjs +0 -187
- package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +0 -333
- package/esm2022/banner/index.mjs +0 -3
- package/esm2022/banner/sc-banner.component.mjs +0 -143
- package/esm2022/banner/sc-banner.module.mjs +0 -30
- package/esm2022/brands-list/index.mjs +0 -3
- package/esm2022/brands-list/sc-brands-list.component.mjs +0 -24
- package/esm2022/brands-list/sc-brands-list.module.mjs +0 -22
- package/esm2022/cart/add-or-editing-cart-item-dialog/add-or-editing-cart-item-form/sc-add-or-editing-cart-item-form.component.mjs +0 -233
- package/esm2022/cart/add-or-editing-cart-item-dialog/index.mjs +0 -3
- package/esm2022/cart/add-or-editing-cart-item-dialog/sc-add-or-editing-cart-item-dialog.component.mjs +0 -74
- package/esm2022/cart/cart-item/sc-cart-item.component.mjs +0 -74
- package/esm2022/cart/index.mjs +0 -4
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +0 -110
- package/esm2022/catalog/category-card/sc-category-card.component.mjs +0 -102
- package/esm2022/catalog/cost-with-discount/cost-with-discount.component.mjs +0 -38
- package/esm2022/catalog/download-price-list/sc-download-price-list.component.mjs +0 -56
- package/esm2022/catalog/hover-image-carousel/sc-hover-image-carousel.component.mjs +0 -76
- package/esm2022/catalog/index.mjs +0 -13
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +0 -177
- package/esm2022/catalog/notify-when-in-stock-dialog/index.mjs +0 -3
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-notify-when-in-stock-dialog.component.mjs +0 -173
- package/esm2022/catalog/notify-when-in-stock-dialog/sc-product-in-all-warehouses.pipe.mjs +0 -35
- package/esm2022/catalog/price-card/sc-price-card.component.mjs +0 -52
- package/esm2022/catalog/price-card-inline/sc-price-card-inline.component.mjs +0 -56
- package/esm2022/catalog/price-history/sc-price-history.component.mjs +0 -140
- package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -65
- package/esm2022/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +0 -54
- package/esm2022/catalog/sc-catalog.module.mjs +0 -125
- package/esm2022/catalog/sc-favorite-button/sc-favorite-button.component.mjs +0 -42
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -91
- package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -38
- package/esm2022/contacts/index.mjs +0 -8
- package/esm2022/contacts/manager-card/sc-manager-card.component.mjs +0 -58
- package/esm2022/contacts/manager-card-push/sc-manager-card-push.component.mjs +0 -28
- package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -37
- package/esm2022/contacts/sc-contacts.module.mjs +0 -92
- package/esm2022/contacts/tokens/index.mjs +0 -3
- package/esm2022/contacts/tokens/sc-manager-qr-handler.token.mjs +0 -24
- package/esm2022/contacts/tokens/sc-show-help-notification-in-phone-input.token.mjs +0 -7
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -81
- package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -278
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
- package/esm2022/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +0 -69
- package/esm2022/contragents/index.mjs +0 -8
- package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -72
- package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -242
- package/esm2022/contragents/sc-contragents.module.mjs +0 -118
- package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -250
- package/esm2022/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +0 -60
- package/esm2022/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +0 -69
- package/esm2022/delivery-address/index.mjs +0 -5
- package/esm2022/delivery-address/sc-delivery-address.module.mjs +0 -99
- package/esm2022/dialogs/index.mjs +0 -2
- package/esm2022/dialogs/sc-resource-preview/sc-resource-preview.component.mjs +0 -68
- package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +0 -170
- package/esm2022/directives/index.mjs +0 -8
- package/esm2022/directives/links/index.mjs +0 -5
- package/esm2022/directives/links/sc-email-link.directive.mjs +0 -49
- package/esm2022/directives/links/sc-link-location.mjs +0 -2
- package/esm2022/directives/links/sc-links.mjs +0 -8
- package/esm2022/directives/links/sc-tel-link.directive.mjs +0 -79
- package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +0 -43
- package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +0 -19
- package/esm2022/directives/sc-date-value-transformer.directive.mjs +0 -30
- package/esm2022/directives/select-on-focusin/sc-select-on-focusin.directive.mjs +0 -31
- package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +0 -69
- package/esm2022/error-handler/consts/error-change-handler.providers.mjs +0 -8
- package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +0 -76
- package/esm2022/error-handler/index.mjs +0 -5
- package/esm2022/error-handler/interfaces/i-block-error.mjs +0 -2
- package/esm2022/error-handler/sc-error-handler.component.mjs +0 -58
- package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +0 -344
- package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +0 -32
- package/esm2022/feedback/index.mjs +0 -4
- package/esm2022/feedback/interfaces/index.mjs +0 -2
- package/esm2022/feedback/interfaces/sc-feedback-form-config.mjs +0 -2
- package/esm2022/files/directives/index.mjs +0 -3
- package/esm2022/files/directives/tree-top.directive.mjs +0 -63
- package/esm2022/files/directives/tree.directive.mjs +0 -47
- package/esm2022/files/file-tree-item/file-tree-item.component.mjs +0 -18
- package/esm2022/files/files-and-documents/files-and-documents.component.mjs +0 -61
- package/esm2022/files/files-and-documents.module.mjs +0 -28
- package/esm2022/files/index.mjs +0 -6
- package/esm2022/files/interfaces/tree-node.mjs +0 -2
- package/esm2022/files/services/index.mjs +0 -3
- package/esm2022/files/services/tree-icon.service.mjs +0 -49
- package/esm2022/files/services/tree-loader.service.mjs +0 -62
- package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -155
- package/esm2022/form-fields/form-fields.module.mjs +0 -69
- package/esm2022/form-fields/index.mjs +0 -4
- package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -175
- package/esm2022/helpers/index.mjs +0 -2
- package/esm2022/helpers/sc-px-converter.mjs +0 -27
- package/esm2022/icons/index.mjs +0 -2
- package/esm2022/icons/sc-client-ui-icons-name.mjs +0 -99
- package/esm2022/loader/index.mjs +0 -2
- package/esm2022/loader/sc-i-loader.mjs +0 -2
- package/esm2022/masks/index.mjs +0 -8
- package/esm2022/masks/sc-account-number-mask.mjs +0 -7
- package/esm2022/masks/sc-bic-mask.mjs +0 -7
- package/esm2022/masks/sc-correspondent-account-mask.mjs +0 -7
- package/esm2022/masks/sc-inn-mask.mjs +0 -13
- package/esm2022/masks/sc-kpp-mask.mjs +0 -7
- package/esm2022/masks/sc-okpo-mask.mjs +0 -13
- package/esm2022/masks/sc-phone-verification-code-mask.mjs +0 -7
- package/esm2022/models/i-sc-image.mjs +0 -2
- package/esm2022/models/index.mjs +0 -2
- package/esm2022/news/index.mjs +0 -4
- package/esm2022/news/news-card/sc-news-card.component.mjs +0 -34
- package/esm2022/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +0 -31
- package/esm2022/news/sc-news.module.mjs +0 -26
- package/esm2022/order/index.mjs +0 -4
- package/esm2022/order/order-item-mobile/sc-order-item-mobile.component.mjs +0 -60
- package/esm2022/order/sc-order.module.mjs +0 -53
- package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
- package/esm2022/pages/frequently-asked-questions/sc-frequently-asked-questions.component.mjs +0 -28
- package/esm2022/pages/frequently-asked-questions/sc-page-size-options.mjs +0 -6
- package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +0 -59
- package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +0 -106
- package/esm2022/pages/index.mjs +0 -4
- package/esm2022/pipes/index.mjs +0 -3
- package/esm2022/pipes/sc-format-date.mjs +0 -33
- package/esm2022/pipes/sc-phone-format.mjs +0 -44
- package/esm2022/profile/index.mjs +0 -3
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -175
- package/esm2022/profile/sc-profile.module.mjs +0 -76
- package/esm2022/providers/date-value-transformer/index.mjs +0 -4
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-types.mjs +0 -2
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-end-time.mjs +0 -26
- package/esm2022/providers/date-value-transformer/sc-date-value-transformer-with-start-time.mjs +0 -37
- package/esm2022/providers/index.mjs +0 -12
- package/esm2022/providers/sc-allow-select-terminated.mjs +0 -6
- package/esm2022/providers/sc-country-ids.mjs +0 -6
- package/esm2022/providers/sc-date-formatter.mjs +0 -12
- package/esm2022/providers/sc-date-value-transformer.mjs +0 -12
- package/esm2022/providers/sc-help-notification-close.mjs +0 -7
- package/esm2022/providers/sc-help-notification-limit.mjs +0 -6
- package/esm2022/providers/sc-max-files-in-form-input.mjs +0 -6
- package/esm2022/providers/sc-notify-when-in-stock-required-fields.mjs +0 -6
- package/esm2022/providers/sc-page-size-options.mjs +0 -6
- package/esm2022/providers/sc-user-providers.mjs +0 -33
- package/esm2022/providers/sc-verification-code-timeout.mjs +0 -6
- package/esm2022/public-api.mjs +0 -35
- package/esm2022/qrcode/index.mjs +0 -3
- package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +0 -58
- package/esm2022/qrcode/sc-qrcode.module.mjs +0 -25
- package/esm2022/samples/index.mjs +0 -5
- package/esm2022/samples/interfaces/index.mjs +0 -3
- package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +0 -2
- package/esm2022/samples/interfaces/sc-preview-mosquito-config.mjs +0 -2
- package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +0 -42
- package/esm2022/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.mjs +0 -63
- package/esm2022/samples/sc-sample.module.mjs +0 -68
- package/esm2022/services/index.mjs +0 -2
- package/esm2022/services/sc-help-notification.service.mjs +0 -90
- package/esm2022/share-button/index.mjs +0 -3
- package/esm2022/share-button/sc-share-button.component.mjs +0 -35
- package/esm2022/share-button/sc-share-button.module.mjs +0 -22
- package/esm2022/snabcentr-client-ui.mjs +0 -5
- package/esm2022/user/index.mjs +0 -6
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +0 -75
- package/esm2022/user/sc-user.module.mjs +0 -89
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -122
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +0 -42
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -106
- package/esm2022/validators/index.mjs +0 -7
- package/esm2022/validators/sc-at-least-one-required-validator.mjs +0 -25
- package/esm2022/validators/sc-bic-validator.mjs +0 -10
- package/esm2022/validators/sc-correspondent-account-validator.mjs +0 -10
- package/esm2022/validators/sc-password-confirm-matching-validator.mjs +0 -17
- package/esm2022/validators/sc-phone-validator.mjs +0 -14
- package/esm2022/validators/step-validator.mjs +0 -18
- package/esm2022/verification/index.mjs +0 -4
- package/esm2022/verification/providers/index.mjs +0 -3
- package/esm2022/verification/providers/sc-phone-approve-code-sender.provider.mjs +0 -12
- package/esm2022/verification/providers/sc-phone-approve-code-sender.token.mjs +0 -7
- package/esm2022/verification/sc-verification.module.mjs +0 -88
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -277
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +0 -163
- package/feedback/gratitude/sc-gratitude.component.d.ts +0 -20
- package/feedback/index.d.ts +0 -3
- package/feedback/interfaces/index.d.ts +0 -1
- package/feedback/interfaces/sc-feedback-form-config.d.ts +0 -23
- package/files/directives/index.d.ts +0 -2
- package/files/directives/tree-top.directive.d.ts +0 -33
- package/files/directives/tree.directive.d.ts +0 -35
- package/files/file-tree-item/file-tree-item.component.d.ts +0 -9
- package/files/files-and-documents/files-and-documents.component.d.ts +0 -27
- package/files/files-and-documents.module.d.ts +0 -17
- package/files/index.d.ts +0 -5
- package/files/interfaces/tree-node.d.ts +0 -29
- package/files/services/index.d.ts +0 -2
- package/files/services/tree-icon.service.d.ts +0 -23
- package/files/services/tree-loader.service.d.ts +0 -43
- package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +0 -78
- package/form-fields/form-fields.module.d.ts +0 -19
- package/form-fields/index.d.ts +0 -3
- package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +0 -73
- package/helpers/index.d.ts +0 -1
- package/helpers/sc-px-converter.d.ts +0 -15
- package/icons/index.d.ts +0 -1
- package/icons/sc-client-ui-icons-name.d.ts +0 -4
- package/loader/index.d.ts +0 -1
- package/loader/sc-i-loader.d.ts +0 -9
- package/masks/index.d.ts +0 -7
- package/masks/sc-account-number-mask.d.ts +0 -5
- package/masks/sc-bic-mask.d.ts +0 -5
- package/masks/sc-correspondent-account-mask.d.ts +0 -5
- package/masks/sc-inn-mask.d.ts +0 -9
- package/masks/sc-kpp-mask.d.ts +0 -5
- package/masks/sc-okpo-mask.d.ts +0 -9
- package/masks/sc-phone-verification-code-mask.d.ts +0 -5
- package/models/i-sc-image.d.ts +0 -17
- package/models/index.d.ts +0 -1
- package/news/index.d.ts +0 -3
- package/news/news-card/sc-news-card.component.d.ts +0 -22
- package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +0 -16
- package/news/sc-news.module.d.ts +0 -16
- package/order/index.d.ts +0 -3
- package/order/order-item-mobile/sc-order-item-mobile.component.d.ts +0 -39
- package/order/sc-order.module.d.ts +0 -19
- package/order/sc-payment-status/sc-payment-status.component.d.ts +0 -25
- package/pages/frequently-asked-questions/sc-frequently-asked-questions.component.d.ts +0 -18
- package/pages/frequently-asked-questions/sc-page-size-options.d.ts +0 -5
- package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +0 -28
- package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +0 -79
- package/pages/index.d.ts +0 -3
- package/pipes/index.d.ts +0 -2
- package/pipes/sc-format-date.d.ts +0 -20
- package/pipes/sc-phone-format.d.ts +0 -21
- package/profile/index.d.ts +0 -2
- package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +0 -126
- package/profile/sc-profile.module.d.ts +0 -24
- package/providers/date-value-transformer/index.d.ts +0 -3
- package/providers/date-value-transformer/sc-date-value-transformer-types.d.ts +0 -9
- package/providers/date-value-transformer/sc-date-value-transformer-with-end-time.d.ts +0 -16
- package/providers/date-value-transformer/sc-date-value-transformer-with-start-time.d.ts +0 -22
- package/providers/index.d.ts +0 -11
- package/providers/sc-allow-select-terminated.d.ts +0 -5
- package/providers/sc-country-ids.d.ts +0 -5
- package/providers/sc-date-formatter.d.ts +0 -6
- package/providers/sc-date-value-transformer.d.ts +0 -5
- package/providers/sc-help-notification-close.d.ts +0 -6
- package/providers/sc-help-notification-limit.d.ts +0 -5
- package/providers/sc-max-files-in-form-input.d.ts +0 -5
- package/providers/sc-notify-when-in-stock-required-fields.d.ts +0 -5
- package/providers/sc-page-size-options.d.ts +0 -5
- package/providers/sc-user-providers.d.ts +0 -21
- package/providers/sc-verification-code-timeout.d.ts +0 -5
- package/public-api.d.ts +0 -31
- package/qrcode/index.d.ts +0 -2
- package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +0 -37
- package/qrcode/sc-qrcode.module.d.ts +0 -14
- package/samples/index.d.ts +0 -4
- package/samples/interfaces/index.d.ts +0 -2
- package/samples/interfaces/sc-i-preview-sample.d.ts +0 -56
- package/samples/interfaces/sc-preview-mosquito-config.d.ts +0 -62
- package/samples/preview-sample/sc-preview-sample.component.d.ts +0 -30
- package/samples/sc-preview-samples-mosquito/sc-preview-samples-mosquito.component.d.ts +0 -50
- package/samples/sc-sample.module.d.ts +0 -19
- package/services/index.d.ts +0 -1
- package/services/sc-help-notification.service.d.ts +0 -64
- package/share-button/index.d.ts +0 -2
- package/share-button/sc-share-button.component.d.ts +0 -22
- package/share-button/sc-share-button.module.d.ts +0 -12
- package/user/index.d.ts +0 -5
- package/user/reset-user-password/sc-reset-user-password.component.d.ts +0 -46
- package/user/sc-user.module.d.ts +0 -25
- package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +0 -63
- package/user/user-managers/sc-user-managers.component.d.ts +0 -26
- package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +0 -53
- package/validators/index.d.ts +0 -6
- package/validators/sc-at-least-one-required-validator.d.ts +0 -10
- package/validators/sc-bic-validator.d.ts +0 -8
- package/validators/sc-correspondent-account-validator.d.ts +0 -8
- package/validators/sc-password-confirm-matching-validator.d.ts +0 -8
- package/validators/sc-phone-validator.d.ts +0 -5
- package/validators/step-validator.d.ts +0 -8
- package/verification/index.d.ts +0 -3
- package/verification/providers/index.d.ts +0 -2
- package/verification/providers/sc-phone-approve-code-sender.provider.d.ts +0 -6
- package/verification/providers/sc-phone-approve-code-sender.token.d.ts +0 -7
- package/verification/sc-verification.module.d.ts +0 -21
- package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +0 -149
@@ -1,106 +0,0 @@
|
|
1
|
-
import { AsyncPipe, NgIf } from '@angular/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';
|
3
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
4
|
-
import { ScConvertersService, ScFrequentlyAskedQuestionsService } from '@snabcentr/client-core';
|
5
|
-
import { TUI_WINDOW_SIZE, tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
|
6
|
-
import { TuiButton } from '@taiga-ui/core';
|
7
|
-
import { TuiPagination } from '@taiga-ui/kit';
|
8
|
-
import { BehaviorSubject, combineLatest, debounceTime, filter, map, shareReplay, startWith, Subject, switchMap } from 'rxjs';
|
9
|
-
import { ScFrequentlyAskedQuestionsComponent, ScFrequentlyAskedQuestionsGroupSelectorComponent } from '..';
|
10
|
-
import { SC_PAGE_SIZE_OPTIONS } from '../frequently-asked-questions/sc-page-size-options';
|
11
|
-
import * as i0 from "@angular/core";
|
12
|
-
/**
|
13
|
-
* Компонент часто задаваемых вопросов с возможностью выбора группы вопросов.
|
14
|
-
*/
|
15
|
-
export class ScFrequentlyAskedQuestionsWithGroupsComponent {
|
16
|
-
constructor() {
|
17
|
-
/**
|
18
|
-
* {@link Observable} изменения Email для связи по вопросам рекламаций.
|
19
|
-
*/
|
20
|
-
this.frequentlyAskedQuestionsService = inject(ScFrequentlyAskedQuestionsService);
|
21
|
-
/**
|
22
|
-
* Сервис конвертации данных.
|
23
|
-
*/
|
24
|
-
this.convertersService = inject(ScConvertersService);
|
25
|
-
/**
|
26
|
-
* Индекс первой страницы.
|
27
|
-
*/
|
28
|
-
this.firstPageIndex = 1;
|
29
|
-
/**
|
30
|
-
* Количество записей на странице пагинации.
|
31
|
-
*/
|
32
|
-
this.pageSizeOptions = inject(SC_PAGE_SIZE_OPTIONS);
|
33
|
-
/**
|
34
|
-
* {@link BehaviorSubject} изменения количества записей на странице.
|
35
|
-
*/
|
36
|
-
this.perPage$ = new BehaviorSubject(this.pageSizeOptions[0]);
|
37
|
-
/**
|
38
|
-
* {@link BehaviorSubject} изменения номера страницы.
|
39
|
-
*/
|
40
|
-
this.page$ = new BehaviorSubject(this.firstPageIndex);
|
41
|
-
/**
|
42
|
-
* {@link BehaviorSubject} изменения идентификатора группы.
|
43
|
-
*/
|
44
|
-
this.groupId$ = new Subject();
|
45
|
-
/**
|
46
|
-
* Сигнал нажатия на кнопку "Задать вопрос".
|
47
|
-
*/
|
48
|
-
this.clickSendQuestion = output();
|
49
|
-
/**
|
50
|
-
* {@link Observable} запроса данных списка заказов.
|
51
|
-
*/
|
52
|
-
this.request$ = combineLatest({
|
53
|
-
page: this.page$,
|
54
|
-
perPage: this.perPage$,
|
55
|
-
group: this.groupId$,
|
56
|
-
}).pipe(
|
57
|
-
// Нулевой debounceTime для случая, когда меняются направление и поле сортировки одновременно.
|
58
|
-
debounceTime(0), switchMap((value) => this.frequentlyAskedQuestionsService
|
59
|
-
.getFrequentlyAskedQuestions$(this.convertersService.removeNull(value))
|
60
|
-
.pipe(startWith(null))), shareReplay({ refCount: true, bufferSize: 1 }));
|
61
|
-
/**
|
62
|
-
* {@link Observable} изменения общего количества страниц пагинации.
|
63
|
-
*/
|
64
|
-
this.pageCount$ = this.request$.pipe(filter(tuiIsPresent), map(({ meta }) => meta.lastPage));
|
65
|
-
/**
|
66
|
-
* {@link Observable} изменения номера страницы пагинации из данных пагинации запроса.
|
67
|
-
*/
|
68
|
-
this.currentPage$ = this.request$.pipe(filter(tuiIsPresent), map(({ meta }) => meta.currentPage - 1));
|
69
|
-
/**
|
70
|
-
* {@link Observable} изменения состояния загрузки данных.
|
71
|
-
*/
|
72
|
-
this.isLoading = toSignal(this.request$.pipe(map(tuiIsFalsy)), { initialValue: false });
|
73
|
-
/**
|
74
|
-
* {@link Observable} изменения списка заказов страницы пагинации.
|
75
|
-
*/
|
76
|
-
this.data$ = this.request$.pipe(filter(tuiIsPresent), map((data) => data.data), startWith(null));
|
77
|
-
/**
|
78
|
-
* {@link Observable} изменения формата отображения фильтра групп.
|
79
|
-
*/
|
80
|
-
this.viewMode$ = inject(TUI_WINDOW_SIZE).pipe(map((rect) => (rect.width > 768 ? 'list' : 'select')));
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Устанавливает данные пагинации.
|
84
|
-
*
|
85
|
-
* @param pageIndex Индекс страницы.
|
86
|
-
*/
|
87
|
-
paginationChange(pageIndex) {
|
88
|
-
this.page$.next(pageIndex + 1);
|
89
|
-
}
|
90
|
-
/**
|
91
|
-
* Устанавливает идентификатор группы.
|
92
|
-
*
|
93
|
-
* @param id Идентификатор группы.
|
94
|
-
*/
|
95
|
-
groupIdChange(id) {
|
96
|
-
this.groupId$.next(id);
|
97
|
-
this.paginationChange(0);
|
98
|
-
}
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScFrequentlyAskedQuestionsWithGroupsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ScFrequentlyAskedQuestionsWithGroupsComponent, isStandalone: true, selector: "sc-frequently-asked-questions-with-groups", outputs: { clickSendQuestion: "clickSendQuestion" }, ngImport: i0, template: "@let items = data$ | async;\n@let pageCount = pageCount$ | async;\n@let viewMode = viewMode$ | async;\n\n<div\n *ngIf=\"viewMode\"\n class=\"flex gap-6\"\n [class.flex-col]=\"viewMode === 'select'\"\n>\n <div class=\"flex flex-col gap-7\">\n <sc-frequently-asked-questions-group-selector\n (groupIdChange)=\"groupIdChange($event)\"\n [viewMode]=\"viewMode\"\n class=\"shrink-0\"\n [class.w-64]=\"viewMode !== 'select'\"\n />\n\n <button\n *ngIf=\"viewMode === 'list'\"\n tuiButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.circle-help\"\n appearance=\"secondary\"\n (click)=\"clickSendQuestion.emit()\"\n class=\"self-center\"\n >\n \u0417\u0430\u0434\u0430\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441\n </button>\n </div>\n\n <div class=\"grow\">\n @if (items && items.length) {\n <sc-frequently-asked-questions\n [items]=\"items\"\n [showLoading]=\"isLoading()\"\n />\n\n <tui-pagination\n *ngIf=\"pageCount && pageCount > 1\"\n [length]=\"pageCount\"\n [index]=\"(currentPage$ | async) ?? 0\"\n (indexChange)=\"paginationChange($event)\"\n class=\"mt-4 !justify-items-center\"\n />\n } @else {\n <p class=\"text-body-s-bold\">\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u043F\u0443\u0441\u0442</p>\n }\n </div>\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ScFrequentlyAskedQuestionsGroupSelectorComponent, selector: "sc-frequently-asked-questions-group-selector", inputs: ["viewMode"], outputs: ["groupIdChange"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: ScFrequentlyAskedQuestionsComponent, selector: "sc-frequently-asked-questions", inputs: ["items", "showLoading"] }, { kind: "component", type: TuiPagination, selector: "tui-pagination", inputs: ["length", "focusable", "size", "disabled", "activePadding", "sidePadding", "content", "index"], outputs: ["indexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
101
|
-
}
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScFrequentlyAskedQuestionsWithGroupsComponent, decorators: [{
|
103
|
-
type: Component,
|
104
|
-
args: [{ standalone: true, selector: 'sc-frequently-asked-questions-with-groups', imports: [AsyncPipe, NgIf, ScFrequentlyAskedQuestionsGroupSelectorComponent, TuiButton, ScFrequentlyAskedQuestionsComponent, TuiPagination], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let items = data$ | async;\n@let pageCount = pageCount$ | async;\n@let viewMode = viewMode$ | async;\n\n<div\n *ngIf=\"viewMode\"\n class=\"flex gap-6\"\n [class.flex-col]=\"viewMode === 'select'\"\n>\n <div class=\"flex flex-col gap-7\">\n <sc-frequently-asked-questions-group-selector\n (groupIdChange)=\"groupIdChange($event)\"\n [viewMode]=\"viewMode\"\n class=\"shrink-0\"\n [class.w-64]=\"viewMode !== 'select'\"\n />\n\n <button\n *ngIf=\"viewMode === 'list'\"\n tuiButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.circle-help\"\n appearance=\"secondary\"\n (click)=\"clickSendQuestion.emit()\"\n class=\"self-center\"\n >\n \u0417\u0430\u0434\u0430\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441\n </button>\n </div>\n\n <div class=\"grow\">\n @if (items && items.length) {\n <sc-frequently-asked-questions\n [items]=\"items\"\n [showLoading]=\"isLoading()\"\n />\n\n <tui-pagination\n *ngIf=\"pageCount && pageCount > 1\"\n [length]=\"pageCount\"\n [index]=\"(currentPage$ | async) ?? 0\"\n (indexChange)=\"paginationChange($event)\"\n class=\"mt-4 !justify-items-center\"\n />\n } @else {\n <p class=\"text-body-s-bold\">\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u043E\u043F\u0440\u043E\u0441\u043E\u0432 \u043F\u0443\u0441\u0442</p>\n }\n </div>\n</div>\n" }]
|
105
|
-
}] });
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMtd2l0aC1ncm91cHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BhZ2VzL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wYWdlcy9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBYSxpQ0FBaUMsRUFBNEQsTUFBTSx3QkFBd0IsQ0FBQztBQUNySyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpJ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QyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FvQnJKO0lBbEJHOzs7O09BSUc7SUFDTyxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxhQUFhLENBQUMsRUFBVTtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0EvR1EsNkNBQTZDO21HQUE3Qyw2Q0FBNkMsMEpDdEIxRCw2bkRBa0RBLHVDRC9CYyxTQUFTLDhDQUFFLElBQUksNkZBQUUsZ0RBQWdELDJJQUFFLFNBQVMsb0lBQUUsbUNBQW1DLDRHQUFFLGFBQWE7OzRGQUdqSSw2Q0FBNkM7a0JBUHpELFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJDQUEyQyxXQUU1QyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0RBQWdELEVBQUUsU0FBUyxFQUFFLG1DQUFtQyxFQUFFLGFBQWEsQ0FBQyxtQkFDMUgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIG91dHB1dCwgT3V0cHV0RW1pdHRlclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTY0NvbnZlcnRlcnNTZXJ2aWNlLCBTY0ZhcUl0ZW0sIFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zU2VydmljZSwgU2NJRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUGFnaW5hdGlvblBhcmFtcywgU2NJUGFnaW5hdGUgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9XSU5ET1dfU0laRSwgdHVpSXNGYWxzeSwgdHVpSXNQcmVzZW50IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlCdXR0b24gfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlQYWdpbmF0aW9uIH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc0NvbXBvbmVudCwgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNHcm91cFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgU0NfUEFHRV9TSVpFX09QVElPTlMgfSBmcm9tICcuLi9mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy9zYy1wYWdlLXNpemUtb3B0aW9ucyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGH0LDRgdGC0L4g0LfQsNC00LDQstCw0LXQvNGL0YUg0LLQvtC/0YDQvtGB0L7QsiDRgSDQstC+0LfQvNC+0LbQvdC+0YHRgtGM0Y4g0LLRi9Cx0L7RgNCwINCz0YDRg9C/0L/RiyDQstC+0L/RgNC+0YHQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMtd2l0aC1ncm91cHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1mcmVxdWVudGx5LWFza2VkLXF1ZXN0aW9ucy13aXRoLWdyb3Vwcy5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdJZiwgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNHcm91cFNlbGVjdG9yQ29tcG9uZW50LCBUdWlCdXR0b24sIFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zQ29tcG9uZW50LCBUdWlQYWdpbmF0aW9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNXaXRoR3JvdXBzQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPIEVtYWlsINC00LvRjyDRgdCy0Y/Qt9C4INC/0L4g0LLQvtC/0YDQvtGB0LDQvCDRgNC10LrQu9Cw0LzQsNGG0LjQuS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnJlcXVlbnRseUFza2VkUXVlc3Rpb25zU2VydmljZTogU2NGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNTZXJ2aWNlID0gaW5qZWN0KFNjRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LrQvtC90LLQtdGA0YLQsNGG0LjQuCDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJ0ZXJzU2VydmljZTogU2NDb252ZXJ0ZXJzU2VydmljZSA9IGluamVjdChTY0NvbnZlcnRlcnNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QtNC10LrRgSDQv9C10YDQstC+0Lkg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpcnN0UGFnZUluZGV4OiBudW1iZXIgPSAxO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC70LjRh9C10YHRgtCy0L4g0LfQsNC/0LjRgdC10Lkg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gPSBpbmplY3QoU0NfUEFHRV9TSVpFX09QVElPTlMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0g0LjQt9C80LXQvdC10L3QuNGPINC60L7Qu9C40YfQtdGB0YLQstCwINC30LDQv9C40YHQtdC5INC90LAg0YHRgtGA0LDQvdC40YbQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlclBhZ2UkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLnBhZ2VTaXplT3B0aW9uc1swXSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0L3QvtC80LXRgNCwINGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5maXJzdFBhZ2VJbmRleCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fSDQuNC30LzQtdC90LXQvdC40Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQs9GA0YPQv9C/0YsuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwSWQkOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQl9Cw0LTQsNGC0Ywg0LLQvtC/0YDQvtGBXCIuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNsaWNrU2VuZFF1ZXN0aW9uOiBPdXRwdXRFbWl0dGVyUmVmPHZvaWQ+ID0gb3V0cHV0KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LTQsNC90L3Ri9GFINGB0L/QuNGB0LrQsCDQt9Cw0LrQsNC30L7Qsi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3QkOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjRmFxSXRlbT4gfCBudWxsPiA9IGNvbWJpbmVMYXRlc3Qoe1xuICAgICAgICBwYWdlOiB0aGlzLnBhZ2UkLFxuICAgICAgICBwZXJQYWdlOiB0aGlzLnBlclBhZ2UkLFxuICAgICAgICBncm91cDogdGhpcy5ncm91cElkJCxcbiAgICB9KS5waXBlKFxuICAgICAgICAvLyDQndGD0LvQtdCy0L7QuSBkZWJvdW5jZVRpbWUg0LTQu9GPINGB0LvRg9GH0LDRjywg0LrQvtCz0LTQsCDQvNC10L3Rj9GO0YLRgdGPINC90LDQv9GA0LDQstC70LXQvdC40LUg0Lgg0L/QvtC70LUg0YHQvtGA0YLQuNGA0L7QstC60Lgg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LlxuICAgICAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWU6IFNjSUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhZ2luYXRpb25QYXJhbXMpID0+XG4gICAgICAgICAgICB0aGlzLmZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJCh0aGlzLmNvbnZlcnRlcnNTZXJ2aWNlLnJlbW92ZU51bGw8U2NJRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUGFnaW5hdGlvblBhcmFtcz4odmFsdWUpKVxuICAgICAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChudWxsKSlcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINC+0LHRidC10LPQviDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdGC0YDQsNC90LjRhiDQv9Cw0LPQuNC90LDRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2VDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMucmVxdWVzdCQucGlwZShcbiAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgIG1hcCgoeyBtZXRhIH0pID0+IG1ldGEubGFzdFBhZ2UpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0L3QvtC80LXRgNCwINGB0YLRgNCw0L3QuNGG0Ysg0L/QsNCz0LjQvdCw0YbQuNC4INC40Lcg0LTQsNC90L3Ri9GFINC/0LDQs9C40L3QsNGG0LjQuCDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLnJlcXVlc3QkLnBpcGUoXG4gICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICBtYXAoKHsgbWV0YSB9KSA9PiBtZXRhLmN1cnJlbnRQYWdlIC0gMSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTG9hZGluZyA9IHRvU2lnbmFsKHRoaXMucmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpLCB7IGluaXRpYWxWYWx1ZTogZmFsc2UgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDQt9Cw0LrQsNC30L7QsiDRgdGC0YDQsNC90LjRhtGLINC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YSQ6IE9ic2VydmFibGU8U2NGYXFJdGVtW10gfCBudWxsPiA9IHRoaXMucmVxdWVzdCQucGlwZShcbiAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5kYXRhKSxcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YTQvtGA0LzQsNGC0LAg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRhNC40LvRjNGC0YDQsCDQs9GA0YPQv9C/LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB2aWV3TW9kZSQ6IE9ic2VydmFibGU8J2xpc3QnIHwgJ3NlbGVjdCc+ID0gaW5qZWN0KFRVSV9XSU5ET1dfU0laRSkucGlwZShtYXAoKHJlY3QpID0+IChyZWN0LndpZHRoID4gNzY4ID8gJ2xpc3QnIDogJ3NlbGVjdCcpKSk7XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQtNCw0L3QvdGL0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhZ2VJbmRleCDQmNC90LTQtdC60YEg0YHRgtGA0LDQvdC40YbRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFnaW5hdGlvbkNoYW5nZShwYWdlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2UkLm5leHQocGFnZUluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LPRgNGD0L/Qv9GLLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCz0YDRg9C/0L/Riy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ3JvdXBJZENoYW5nZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ3JvdXBJZCQubmV4dChpZCk7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbkNoYW5nZSgwKTtcbiAgICB9XG59XG4iLCJAbGV0IGl0ZW1zID0gZGF0YSQgfCBhc3luYztcbkBsZXQgcGFnZUNvdW50ID0gcGFnZUNvdW50JCB8IGFzeW5jO1xuQGxldCB2aWV3TW9kZSA9IHZpZXdNb2RlJCB8IGFzeW5jO1xuXG48ZGl2XG4gICAgKm5nSWY9XCJ2aWV3TW9kZVwiXG4gICAgY2xhc3M9XCJmbGV4IGdhcC02XCJcbiAgICBbY2xhc3MuZmxleC1jb2xdPVwidmlld01vZGUgPT09ICdzZWxlY3QnXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtN1wiPlxuICAgICAgICA8c2MtZnJlcXVlbnRseS1hc2tlZC1xdWVzdGlvbnMtZ3JvdXAtc2VsZWN0b3JcbiAgICAgICAgICAgIChncm91cElkQ2hhbmdlKT1cImdyb3VwSWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdmlld01vZGVdPVwidmlld01vZGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJzaHJpbmstMFwiXG4gICAgICAgICAgICBbY2xhc3Mudy02NF09XCJ2aWV3TW9kZSAhPT0gJ3NlbGVjdCdcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwidmlld01vZGUgPT09ICdsaXN0J1wiXG4gICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5jaXJjbGUtaGVscFwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGlja1NlbmRRdWVzdGlvbi5lbWl0KClcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWxmLWNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCX0LDQtNCw0YLRjCDQstC+0L/RgNC+0YFcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jvd1wiPlxuICAgICAgICBAaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgPHNjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRpbmddPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPHR1aS1wYWdpbmF0aW9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdlQ291bnQgJiYgcGFnZUNvdW50ID4gMVwiXG4gICAgICAgICAgICAgICAgW2xlbmd0aF09XCJwYWdlQ291bnRcIlxuICAgICAgICAgICAgICAgIFtpbmRleF09XCIoY3VycmVudFBhZ2UkIHwgYXN5bmMpID8/IDBcIlxuICAgICAgICAgICAgICAgIChpbmRleENoYW5nZSk9XCJwYWdpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtNCAhanVzdGlmeS1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtYm9keS1zLWJvbGRcIj7QodC/0LjRgdC+0Log0LLQvtC/0YDQvtGB0L7QsiDQv9GD0YHRgjwvcD5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2022/pages/index.mjs
DELETED
@@ -1,4 +0,0 @@
|
|
1
|
-
export * from './frequently-asked-questions/sc-frequently-asked-questions.component';
|
2
|
-
export * from './frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component';
|
3
|
-
export * from './frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component';
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGFnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLG9HQUFvRyxDQUFDO0FBQ25ILGNBQWMsOEZBQThGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLWdyb3VwLXNlbGVjdG9yL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLWdyb3VwLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzL3NjLWZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLXdpdGgtZ3JvdXBzLmNvbXBvbmVudCc7XG4iXX0=
|
package/esm2022/pipes/index.mjs
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './sc-format-date';
|
2
|
-
export * from './sc-phone-format';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1mb3JtYXQtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXBob25lLWZvcm1hdCc7XG4iXX0=
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { inject, Pipe } from '@angular/core';
|
2
|
-
import { SC_DATE_FORMATTER } from '../providers';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
/**
|
5
|
-
* Пайп для форматирования даты и времени.
|
6
|
-
*/
|
7
|
-
export class ScFormatDatePipe {
|
8
|
-
constructor() {
|
9
|
-
/**
|
10
|
-
* Функция форматирования даты и времени.
|
11
|
-
*/
|
12
|
-
this.formatter = inject(SC_DATE_FORMATTER);
|
13
|
-
}
|
14
|
-
/**
|
15
|
-
* Форматирует строку даты через {@link SC_DATE_FORMATTER}.
|
16
|
-
*
|
17
|
-
* @param timeString - Строка времени.
|
18
|
-
* @returns Форматированная дата и время.
|
19
|
-
*/
|
20
|
-
transform(timeString) {
|
21
|
-
return timeString && this.formatter(timeString);
|
22
|
-
}
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScFormatDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
24
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScFormatDatePipe, isStandalone: true, name: "scFormatDate" }); }
|
25
|
-
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScFormatDatePipe, decorators: [{
|
27
|
-
type: Pipe,
|
28
|
-
args: [{
|
29
|
-
standalone: true,
|
30
|
-
name: 'scFormatDate',
|
31
|
-
}]
|
32
|
-
}] });
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZm9ybWF0LWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcGlwZXMvc2MtZm9ybWF0LWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUVqRDs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFKN0I7UUFLSTs7V0FFRztRQUNjLGNBQVMsR0FBNkIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FXcEY7SUFURzs7Ozs7T0FLRztJQUNJLFNBQVMsQ0FBQyxVQUFtQjtRQUNoQyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBZFEsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxjQUFjO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNDX0RBVEVfRk9STUFUVEVSIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiDQn9Cw0LnQvyDQtNC70Y8g0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjRjyDQtNCw0YLRiyDQuCDQstGA0LXQvNC10L3QuC5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjRm9ybWF0RGF0ZScsXG59KVxuZXhwb3J0IGNsYXNzIFNjRm9ybWF0RGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKipcbiAgICAgKiDQpNGD0L3QutGG0LjRjyDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNGPINC00LDRgtGLINC4INCy0YDQtdC80LXQvdC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0dGVyOiAoZGF0ZTogc3RyaW5nKSA9PiBzdHJpbmcgPSBpbmplY3QoU0NfREFURV9GT1JNQVRURVIpO1xuXG4gICAgLyoqXG4gICAgICog0KTQvtGA0LzQsNGC0LjRgNGD0LXRgiDRgdGC0YDQvtC60YMg0LTQsNGC0Ysg0YfQtdGA0LXQtyB7QGxpbmsgU0NfREFURV9GT1JNQVRURVJ9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVTdHJpbmcgLSDQodGC0YDQvtC60LAg0LLRgNC10LzQtdC90LguXG4gICAgICogQHJldHVybnMg0KTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3QsNGPINC00LDRgtCwINC4INCy0YDQtdC80Y8uXG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybSh0aW1lU3RyaW5nPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRpbWVTdHJpbmcgJiYgdGhpcy5mb3JtYXR0ZXIodGltZVN0cmluZyk7XG4gICAgfVxufVxuIl19
|
@@ -1,44 +0,0 @@
|
|
1
|
-
/* eslint-disable class-methods-use-this */
|
2
|
-
import { Pipe } from '@angular/core';
|
3
|
-
import { ScPhoneService } from '@snabcentr/client-core';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
/**
|
6
|
-
* Пайп для форматирования номера телефона.
|
7
|
-
*
|
8
|
-
* Если переданный номер телефона валиден, он будет отформатирован с использованием метода `formatPhoneNumber` сервиса `ScPhoneService`.
|
9
|
-
* Если номер невалиден, возвращается исходное значение.
|
10
|
-
*/
|
11
|
-
export class ScPhoneFormatPipe {
|
12
|
-
/**
|
13
|
-
* Преобразует строковое значение номера телефона.
|
14
|
-
*
|
15
|
-
* @param value Строка, содержащая номер телефона.
|
16
|
-
* @param format Формат возвращаемого значения. `normal` - удобочитаемое представление номера телефона, `clean` - очищенное от лишних символов представление номера телефона, `cleanWithPlus` - очищенное от лишних символов представление номера телефона с `+` в начале.
|
17
|
-
*
|
18
|
-
* @returns Отформатированный номер телефона, если он валиден, или исходное значение, если он невалиден.
|
19
|
-
*/
|
20
|
-
transform(value, format = 'normal') {
|
21
|
-
if (ScPhoneService.isValidPhoneNumber(value)) {
|
22
|
-
// eslint-disable-next-line default-case
|
23
|
-
switch (format) {
|
24
|
-
case 'normal':
|
25
|
-
return ScPhoneService.formatPhoneNumber(value);
|
26
|
-
case 'clean':
|
27
|
-
return ScPhoneService.cleanPhoneNumber(value);
|
28
|
-
case 'cleanWithPlus':
|
29
|
-
return `+${ScPhoneService.cleanPhoneNumber(value)}`;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
return value; // Возвращаем оригинальный номер, если он невалиден.
|
33
|
-
}
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPhoneFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
35
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ScPhoneFormatPipe, isStandalone: true, name: "scPhoneFormat" }); }
|
36
|
-
}
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScPhoneFormatPipe, decorators: [{
|
38
|
-
type: Pipe,
|
39
|
-
args: [{
|
40
|
-
standalone: true,
|
41
|
-
name: 'scPhoneFormat',
|
42
|
-
}]
|
43
|
-
}] });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcGhvbmUtZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BpcGVzL3NjLXBob25lLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV4RDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDMUI7Ozs7Ozs7T0FPRztJQUNJLFNBQVMsQ0FBQyxLQUFhLEVBQUUsU0FBK0MsUUFBUTtRQUNuRixJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLHdDQUF3QztZQUN4QyxRQUFRLE1BQU0sRUFBRSxDQUFDO2dCQUNiLEtBQUssUUFBUTtvQkFDVCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsS0FBSyxPQUFPO29CQUNSLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRCxLQUFLLGVBQWU7b0JBQ2hCLE9BQU8sSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsb0RBQW9EO0lBQ3RFLENBQUM7K0dBdkJRLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZUFBZTtpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjUGhvbmVTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKlxuICog0JXRgdC70Lgg0L/QtdGA0LXQtNCw0L3QvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwINCy0LDQu9C40LTQtdC9LCDQvtC9INCx0YPQtNC10YIg0L7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC80LXRgtC+0LTQsCBgZm9ybWF0UGhvbmVOdW1iZXJgINGB0LXRgNCy0LjRgdCwIGBTY1Bob25lU2VydmljZWAuXG4gKiDQldGB0LvQuCDQvdC+0LzQtdGAINC90LXQstCw0LvQuNC00LXQvSwg0LLQvtC30LLRgNCw0YnQsNC10YLRgdGPINC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjUGhvbmVGb3JtYXQnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1Bob25lRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKlxuICAgICAqINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0YHRgtGA0L7QutC+0LLQvtC1INC30L3QsNGH0LXQvdC40LUg0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0KHRgtGA0L7QutCwLCDRgdC+0LTQtdGA0LbQsNGJ0LDRjyDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAuXG4gICAgICogQHBhcmFtIGZvcm1hdCDQpNC+0YDQvNCw0YIg0LLQvtC30LLRgNCw0YnQsNC10LzQvtCz0L4g0LfQvdCw0YfQtdC90LjRjy4gYG5vcm1hbGAgLSDRg9C00L7QsdC+0YfQuNGC0LDQtdC80L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCwgYGNsZWFuYCAtINC+0YfQuNGJ0LXQvdC90L7QtSDQvtGCINC70LjRiNC90LjRhSDRgdC40LzQstC+0LvQvtCyINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INC90L7QvNC10YDQsCDRgtC10LvQtdGE0L7QvdCwLCBgY2xlYW5XaXRoUGx1c2AgLSDQvtGH0LjRidC10L3QvdC+0LUg0L7RgiDQu9C40YjQvdC40YUg0YHQuNC80LLQvtC70L7QsiDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsCDRgSBgK2Ag0LIg0L3QsNGH0LDQu9C1LlxuICAgICAqXG4gICAgICogQHJldHVybnMg0J7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC90YvQuSDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAsINC10YHQu9C4INC+0L0g0LLQsNC70LjQtNC10L0sINC40LvQuCDQuNGB0YXQvtC00L3QvtC1INC30L3QsNGH0LXQvdC40LUsINC10YHQu9C4INC+0L0g0L3QtdCy0LDQu9C40LTQtdC9LlxuICAgICAqL1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZm9ybWF0OiAnbm9ybWFsJyB8ICdjbGVhbicgfCAnY2xlYW5XaXRoUGx1cycgPSAnbm9ybWFsJyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChTY1Bob25lU2VydmljZS5pc1ZhbGlkUGhvbmVOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmYXVsdC1jYXNlXG4gICAgICAgICAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ25vcm1hbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBTY1Bob25lU2VydmljZS5mb3JtYXRQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2xlYW4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gU2NQaG9uZVNlcnZpY2UuY2xlYW5QaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2xlYW5XaXRoUGx1cyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKyR7U2NQaG9uZVNlcnZpY2UuY2xlYW5QaG9uZU51bWJlcih2YWx1ZSl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTsgLy8g0JLQvtC30LLRgNCw0YnQsNC10Lwg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C5INC90L7QvNC10YAsINC10YHQu9C4INC+0L0g0L3QtdCy0LDQu9C40LTQtdC9LlxuICAgIH1cbn1cbiJdfQ==
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export * from './sc-profile-accordions-content/sc-profile-accordions-content.component';
|
2
|
-
export * from './sc-profile.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvZmlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50L3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXByb2ZpbGUubW9kdWxlJztcbiJdfQ==
|
package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs
DELETED
@@ -1,175 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Output } from '@angular/core';
|
2
|
-
import { FormControl } from '@angular/forms';
|
3
|
-
import { ScContactsService, ScUserService, ScVerificationService, } from '@snabcentr/client-core';
|
4
|
-
import { TUI_TRUE_HANDLER, tuiIsFalsy, tuiIsPresent } from '@taiga-ui/cdk';
|
5
|
-
import { tuiFadeIn } from '@taiga-ui/core';
|
6
|
-
import { filter, map, share, skip, startWith, Subject, switchMap, tap } from 'rxjs';
|
7
|
-
import { SC_USER_CITY_INFO, SC_USER_INFO } from '../../providers';
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "@angular/common";
|
10
|
-
import * as i2 from "../../user/reset-user-password/sc-reset-user-password.component";
|
11
|
-
import * as i3 from "../../accordion/sc-accordion.component";
|
12
|
-
import * as i4 from "../../accordion/sc-accordion-content.directive";
|
13
|
-
import * as i5 from "../../contragents/contragents-accordion/sc-contragents-accordion.component";
|
14
|
-
import * as i6 from "../../delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component";
|
15
|
-
import * as i7 from "@taiga-ui/core";
|
16
|
-
import * as i8 from "@taiga-ui/cdk";
|
17
|
-
import * as i9 from "@angular/forms";
|
18
|
-
import * as i10 from "../../contacts/contacts-accordion/sc-contacts-accordion.component";
|
19
|
-
import * as i11 from "../../directives/terminal-link/sc-terminal-link.directive";
|
20
|
-
import * as i12 from "../../directives/links/sc-tel-link.directive";
|
21
|
-
import * as i13 from "../../directives/links/sc-email-link.directive";
|
22
|
-
import * as i14 from "@taiga-ui/kit";
|
23
|
-
import * as i15 from "../../pipes/sc-phone-format";
|
24
|
-
/**
|
25
|
-
* Компонент контента профиля пользователя в виде раскрывающихся смысловых блоков.
|
26
|
-
*/
|
27
|
-
export class ScProfileAccordionsContentComponent {
|
28
|
-
constructor() {
|
29
|
-
/**
|
30
|
-
* Сервис данных о пользователе.
|
31
|
-
*/
|
32
|
-
this.userService = inject(ScUserService);
|
33
|
-
/**
|
34
|
-
* Сервис для работы с контактными лицами..
|
35
|
-
*/
|
36
|
-
this.contactsService = inject(ScContactsService);
|
37
|
-
/**
|
38
|
-
* Сервис верификации.
|
39
|
-
*/
|
40
|
-
this.verificationService = inject(ScVerificationService);
|
41
|
-
/**
|
42
|
-
* Поток данных о текущем пользователе.
|
43
|
-
*/
|
44
|
-
this.user$ = inject(SC_USER_INFO);
|
45
|
-
/**
|
46
|
-
* Поток данных о текущем городе пользователя.
|
47
|
-
*/
|
48
|
-
this.userCity$ = inject(SC_USER_CITY_INFO);
|
49
|
-
/**
|
50
|
-
* {@link FormControl} переключателя 'Я хочу получать рассылку'.
|
51
|
-
*/
|
52
|
-
this.getNewsControl = new FormControl(false, { nonNullable: true });
|
53
|
-
/**
|
54
|
-
* {@link Observable} запроса изменения признака пользователя 'Я хочу получать рассылку'.
|
55
|
-
*/
|
56
|
-
this.getNewsRequest$ = this.getNewsControl.valueChanges.pipe(skip(1), switchMap((value) => this.userService.updateUserInfo$({ getNews: value }).pipe(switchMap(() => this.userService.updateUserChange$().pipe(tap((user) => {
|
57
|
-
this.getNewsControl.patchValue(user.getNews, { emitEvent: false });
|
58
|
-
}), startWith(null))), startWith(null))), share());
|
59
|
-
/**
|
60
|
-
* {@link Observable} изменения состояния загрузки данных изменения признака пользователя 'Я хочу получать рассылку'.
|
61
|
-
*/
|
62
|
-
this.getNewsLoading$ = this.getNewsRequest$.pipe(map(tuiIsFalsy));
|
63
|
-
/**
|
64
|
-
* {@link Subject} события отправки сообщения для подтверждения адреса электронной почты.
|
65
|
-
*/
|
66
|
-
this.onSendApproveEmail = new Subject();
|
67
|
-
/**
|
68
|
-
* {@link Observable} запроса данных аутентификации.
|
69
|
-
*/
|
70
|
-
this.sendApproveEmailRequest$ = this.onSendApproveEmail.pipe(switchMap((value) => this.verificationService.sendEmailApproveCode(value).pipe(map(TUI_TRUE_HANDLER), startWith(null))), startWith(false), share());
|
71
|
-
/**
|
72
|
-
* {@link Observable} изменения состояния загрузки данных отправки сообщения для подтверждения адреса электронной почты.
|
73
|
-
*/
|
74
|
-
this.approveEmailLoading$ = this.sendApproveEmailRequest$.pipe(map(tuiIsFalsy));
|
75
|
-
/**
|
76
|
-
* {@link Observable} изменения состояния признака, отправлено ли сообщение для подтверждения адреса электронной почты.
|
77
|
-
*/
|
78
|
-
this.isSendApproveEmail$ = this.sendApproveEmailRequest$.pipe(filter(tuiIsPresent));
|
79
|
-
/**
|
80
|
-
* {@link Observable} изменения списка контактных лиц пользователя.
|
81
|
-
*/
|
82
|
-
this.userContacts$ = this.contactsService.userContacts.item$;
|
83
|
-
/**
|
84
|
-
* Событие нажатия на кнопку редактирование профиля пользователя.
|
85
|
-
*/
|
86
|
-
this.editProfileClick = new EventEmitter();
|
87
|
-
/**
|
88
|
-
* Событие нажатия на кнопку подтверждения телефона.
|
89
|
-
*/
|
90
|
-
this.approvePhoneClick = new EventEmitter();
|
91
|
-
/**
|
92
|
-
* Событие нажатия на кнопку добавления контрагента.
|
93
|
-
*/
|
94
|
-
this.addContragentClick = new EventEmitter();
|
95
|
-
/**
|
96
|
-
* Событие нажатия на кнопку удаления контрагента.
|
97
|
-
*/
|
98
|
-
this.deleteContragentClick = new EventEmitter();
|
99
|
-
/**
|
100
|
-
* Событие нажатия на кнопку добавления банковского счёта контрагенту.
|
101
|
-
*/
|
102
|
-
this.addContragentBankAccountClick = new EventEmitter();
|
103
|
-
/**
|
104
|
-
* Событие нажатия на кнопку удаления банковского счёта контрагента.
|
105
|
-
*/
|
106
|
-
this.deleteContragentBankAccountClick = new EventEmitter();
|
107
|
-
/**
|
108
|
-
* Событие нажатия на кнопку добавления контактного лица контрагенту.
|
109
|
-
*/
|
110
|
-
this.addContragentContactClick = new EventEmitter();
|
111
|
-
/**
|
112
|
-
* Событие нажатия на кнопку удаления контактного лица у контрагента.
|
113
|
-
*/
|
114
|
-
this.deleteContragentContactClick = new EventEmitter();
|
115
|
-
/**
|
116
|
-
* Событие нажатия на кнопку добавления адреса доставки клиента.
|
117
|
-
*/
|
118
|
-
this.addDeliveryAddressClick = new EventEmitter();
|
119
|
-
/**
|
120
|
-
* Событие нажатия на кнопку удаления адреса доставки у клиента.
|
121
|
-
*/
|
122
|
-
this.deleteDeliveryAddressClick = new EventEmitter();
|
123
|
-
/**
|
124
|
-
* Событие нажатия на кнопку добавления контактного лица для адреса доставки.
|
125
|
-
*/
|
126
|
-
this.addDeliveryAddressContactClick = new EventEmitter();
|
127
|
-
/**
|
128
|
-
* Событие нажатия на кнопку удаления контактного лица у адреса доставки.
|
129
|
-
*/
|
130
|
-
this.deleteDeliveryAddressContactClick = new EventEmitter();
|
131
|
-
/**
|
132
|
-
* Событие нажатия на кнопку добавления контактного лица клиенту.
|
133
|
-
*/
|
134
|
-
this.addUserContactClick = new EventEmitter();
|
135
|
-
/**
|
136
|
-
* Событие нажатия на кнопку удаления контактного лица у клиента.
|
137
|
-
*/
|
138
|
-
this.deleteUserContactClick = new EventEmitter();
|
139
|
-
}
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScProfileAccordionsContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScProfileAccordionsContentComponent, selector: "sc-profile-accordions-content", outputs: { editProfileClick: "editProfileClick", approvePhoneClick: "approvePhoneClick", addContragentClick: "addContragentClick", deleteContragentClick: "deleteContragentClick", addContragentBankAccountClick: "addContragentBankAccountClick", deleteContragentBankAccountClick: "deleteContragentBankAccountClick", addContragentContactClick: "addContragentContactClick", deleteContragentContactClick: "deleteContragentContactClick", addDeliveryAddressClick: "addDeliveryAddressClick", deleteDeliveryAddressClick: "deleteDeliveryAddressClick", addDeliveryAddressContactClick: "addDeliveryAddressContactClick", deleteDeliveryAddressContactClick: "deleteDeliveryAddressContactClick", addUserContactClick: "addUserContactClick", deleteUserContactClick: "deleteUserContactClick" }, ngImport: i0, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (userCity$ | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n linkLocation=\"profile\"\n href=\"tel:{{ user.contacts.phone.value | scPhoneFormat }}\"\n >\n {{ user.contacts.phone.value | scPhoneFormat }}\n </a>\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n <div\n *tuiLet=\"!!(isSendApproveEmail$ | async) as isSendApproveEmail\"\n class=\"flex flex-wrap gap-x-2\"\n >\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"profile\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i3.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size", "disabledButtons"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i4.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i5.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i6.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i7.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i8.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i7.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i7.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i9.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i10.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i11.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i12.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i13.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "component", type: i14.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.ScPhoneFormatPipe, name: "scPhoneFormat" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
142
|
-
}
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScProfileAccordionsContentComponent, decorators: [{
|
144
|
-
type: Component,
|
145
|
-
args: [{ selector: 'sc-profile-accordions-content', animations: [tuiFadeIn], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (userCity$ | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n linkLocation=\"profile\"\n href=\"tel:{{ user.contacts.phone.value | scPhoneFormat }}\"\n >\n {{ user.contacts.phone.value | scPhoneFormat }}\n </a>\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n <div\n *tuiLet=\"!!(isSendApproveEmail$ | async) as isSendApproveEmail\"\n class=\"flex flex-wrap gap-x-2\"\n >\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n scEmailLink\n linkLocation=\"profile\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n" }]
|
146
|
-
}], propDecorators: { editProfileClick: [{
|
147
|
-
type: Output
|
148
|
-
}], approvePhoneClick: [{
|
149
|
-
type: Output
|
150
|
-
}], addContragentClick: [{
|
151
|
-
type: Output
|
152
|
-
}], deleteContragentClick: [{
|
153
|
-
type: Output
|
154
|
-
}], addContragentBankAccountClick: [{
|
155
|
-
type: Output
|
156
|
-
}], deleteContragentBankAccountClick: [{
|
157
|
-
type: Output
|
158
|
-
}], addContragentContactClick: [{
|
159
|
-
type: Output
|
160
|
-
}], deleteContragentContactClick: [{
|
161
|
-
type: Output
|
162
|
-
}], addDeliveryAddressClick: [{
|
163
|
-
type: Output
|
164
|
-
}], deleteDeliveryAddressClick: [{
|
165
|
-
type: Output
|
166
|
-
}], addDeliveryAddressContactClick: [{
|
167
|
-
type: Output
|
168
|
-
}], deleteDeliveryAddressContactClick: [{
|
169
|
-
type: Output
|
170
|
-
}], addUserContactClick: [{
|
171
|
-
type: Output
|
172
|
-
}], deleteUserContactClick: [{
|
173
|
-
type: Output
|
174
|
-
}] } });
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNILGlCQUFpQixFQU9qQixhQUFhLEVBQ2IscUJBQXFCLEdBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sbUNBQW1DO0lBTmhEO1FBT0k7O1dBRUc7UUFDYyxnQkFBVyxHQUFH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Z0JBT0Esc0JBQXNCO3NCQUQ1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFNjQ29udGFjdHNTZXJ2aWNlLFxuICAgIFNjQ29udHJhZ2VudCxcbiAgICBTY0lCYW5rQWNjb3VudCxcbiAgICBTY0lDaXR5V2l0aFJlZ2lvbkFuZENvdW50cnksXG4gICAgU2NJQ29udGFjdCxcbiAgICBTY0lEZWxpdmVyeUFkZHJlc3MsXG4gICAgU2NVc2VyLFxuICAgIFNjVXNlclNlcnZpY2UsXG4gICAgU2NWZXJpZmljYXRpb25TZXJ2aWNlLFxufSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFRVSV9UUlVFX0hBTkRMRVIsIHR1aUlzRmFsc3ksIHR1aUlzUHJlc2VudCB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgdHVpRmFkZUluIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHNoYXJlLCBza2lwLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNDX1VTRVJfQ0lUWV9JTkZPLCBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQutC+0L3RgtC10L3RgtCwINC/0YDQvtGE0LjQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQsiDQstC40LTQtSDRgNCw0YHQutGA0YvQstCw0Y7RidC40YXRgdGPINGB0LzRi9GB0LvQvtCy0YvRhSDQsdC70L7QutC+0LIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlID0gaW5qZWN0KFNjVXNlclNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLQsNC60YLQvdGL0LzQuCDQu9C40YbQsNC80LguLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFjdHNTZXJ2aWNlID0gaW5qZWN0KFNjQ29udGFjdHNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQstC10YDQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyaWZpY2F0aW9uU2VydmljZSA9IGluamVjdChTY1ZlcmlmaWNhdGlvblNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyJCA9IGluamVjdDxPYnNlcnZhYmxlPFNjVXNlcj4+KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0YLQvtC6INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQs9C+0YDQvtC00LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyQ2l0eSQgPSBpbmplY3Q8T2JzZXJ2YWJsZTxTY0lDaXR5V2l0aFJlZ2lvbkFuZENvdW50cnk+PihTQ19VU0VSX0NJVFlfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgRm9ybUNvbnRyb2x9INC/0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXROZXdzQ29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj4gPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0TmV3c1JlcXVlc3QkID0gdGhpcy5nZXROZXdzQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckluZm8kKHsgZ2V0TmV3czogdmFsdWUgfSkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VyQ2hhbmdlJCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE5ld3NDb250cm9sLnBhdGNoVmFsdWUodXNlci5nZXROZXdzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcblxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC40LfQvNC10L3QtdC90LjRjyDQv9GA0LjQt9C90LDQutCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAn0K8g0YXQvtGH0YMg0L/QvtC70YPRh9Cw0YLRjCDRgNCw0YHRgdGL0LvQutGDJy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ2V0TmV3c0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5nZXROZXdzUmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvblNlbmRBcHByb3ZlRW1haWw6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbmRBcHByb3ZlRW1haWxSZXF1ZXN0JDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4gPSB0aGlzLm9uU2VuZEFwcHJvdmVFbWFpbC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB0aGlzLnZlcmlmaWNhdGlvblNlcnZpY2Uuc2VuZEVtYWlsQXBwcm92ZUNvZGUodmFsdWUpLnBpcGUobWFwKFRVSV9UUlVFX0hBTkRMRVIpLCBzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQvtGC0L/RgNCw0LLQutC4INGB0L7QvtCx0YnQtdC90LjRjyDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0LDQtNGA0LXRgdCwINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwcm92ZUVtYWlsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnNlbmRBcHByb3ZlRW1haWxSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQv9GA0LjQt9C90LDQutCwLCDQvtGC0L/RgNCw0LLQu9C10L3QviDQu9C4INGB0L7QvtCx0YnQtdC90LjQtSDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0LDQtNGA0LXRgdCwINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTZW5kQXBwcm92ZUVtYWlsJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUoZmlsdGVyKHR1aUlzUHJlc2VudCkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0LrQvtC90YLQsNC60YLQvdGL0YUg0LvQuNGGINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlckNvbnRhY3RzJCA9IHRoaXMuY29udGFjdHNTZXJ2aWNlLnVzZXJDb250YWN0cy5pdGVtJDtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUg0L/RgNC+0YTQuNC70Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBlZGl0UHJvZmlsZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRgtC10LvQtdGE0L7QvdCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhcHByb3ZlUGhvbmVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtGDLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDRgdGH0ZHRgtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NJQmFua0FjY291bnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lCYW5rQWNjb3VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudENvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50Q29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8eyBjb250YWN0OiBTY0lDb250YWN0OyBjb250cmFnZW50OiBTY0NvbnRyYWdlbnQgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgY29udHJhZ2VudDogU2NDb250cmFnZW50IH0+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkRGVsaXZlcnlBZGRyZXNzQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60Lgg0YMg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NsaWNrOiBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQtNC70Y8g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8eyBjb250YWN0OiBTY0lDb250YWN0OyBhZGRyZXNzOiBTY0lEZWxpdmVyeUFkZHJlc3MgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgY29udGFjdDogU2NJQ29udGFjdDtcbiAgICAgICAgYWRkcmVzczogU2NJRGVsaXZlcnlBZGRyZXNzO1xuICAgIH0+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC60LvQuNC10L3RgtGDLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRVc2VyQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINGDINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVVc2VyQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8U2NJQ29udGFjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSUNvbnRhY3Q+KCk7XG59XG4iLCI8ZGl2XG4gICAgKnR1aUxldD1cInVzZXIkIHwgYXN5bmMgYXMgdXNlclwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCJcbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcGVuXT1cInRydWVcIlxuICAgID5cbiAgICAgICAg0J7QsdGJ0LjQtSDQtNCw0L3QvdGL0LVcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwidXNlciA9PT0gbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgcGwtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCI+e3sgdXNlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5jaXR5ICYmICh1c2VyQ2l0eSQgfCBhc3luYykgYXMgY2l0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pY29uIGljb249XCJAdHVpLm1hcC1waW5cIj48L3R1aS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7Qsy4ge3sgY2l0eS5uYW1lIH19LCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2l0eS5yZWdpb25cIj57eyBjaXR5LnJlZ2lvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY1RlbExpbmtdPVwidXNlci5jb250YWN0cy5waG9uZS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rTG9jYXRpb249XCJwcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cInRlbDp7eyB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlIHwgc2NQaG9uZUZvcm1hdCB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlIHwgc2NQaG9uZUZvcm1hdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiF1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKNCi0LXQu9C10YTQvtC9INC90LUg0L/QvtC00YLQstC10YDQttC00LXQvS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHByb3ZlUGhvbmVDbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMPC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdHVpTGV0PVwiISEoaXNTZW5kQXBwcm92ZUVtYWlsJCB8IGFzeW5jKSBhcyBpc1NlbmRBcHByb3ZlRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXgtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLm1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY0VtYWlsTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rTG9jYXRpb249XCJwcm9maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIm1haWx0bzp7eyB1c2VyLmNvbnRhY3RzLmVtYWlsLnZhbHVlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNTZW5kQXBwcm92ZUVtYWlsICYmICF1c2VyLmNvbnRhY3RzLmVtYWlsLmlzQXBwcm92ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlubGluZS1mbGV4IGZsZXgtd3JhcCBnYXAtMSB0ZXh0LXR1aS10ZXh0LTAzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEUtbWFpbCDQvdC1INC/0L7QtNGC0LLQtdGA0LbQtNC10L0uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShhcHByb3ZlRW1haWxMb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbmRBcHByb3ZlRW1haWwubmV4dCh1c2VyLmNvbnRhY3RzLmVtYWlsLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC00YLQstC10YDQtNC40YLRjFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1NlbmRBcHByb3ZlRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXN1Y2Nlc3MtZmlsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB0dWlGYWRlSW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0LjRgdGM0LzQviDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YPRgdC/0LXRiNC90L4g0L7RgtC/0YDQsNCy0LvQtdC90L4uINCf0LXRgNC10LnQtNC40YLQtSDQv9C+INGB0YHRi9C70LrQtSDQsiDQv9C40YHRjNC80LUg0Lgg0L7QsdC90L7QstC40YLQtSDRjdGC0YMg0YHRgtGA0LDQvdC40YbRgy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEoZ2V0TmV3c0xvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQ2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0TmV3c0NvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidXNlci5nZXROZXdzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0K8g0YXQvtGH0YMg0L/QvtC70YPRh9Cw0YLRjCDRgNCw0YHRgdGL0LvQutGDINCh0L3QsNCx0YbQtdC90YLRgCDQviDRgdC60LjQtNC60LDRhSDQuCDQvdC+0LLQvtGB0YLRj9GFINC/0L4g0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtC1LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5wZW5jaWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRQcm9maWxlQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc2MtYWNjb3JkaW9uPlxuICAgIDxzYy1jb250cmFnZW50cy1hY2NvcmRpb25cbiAgICAgICAgKGFkZENvbnRyYWdlbnRDbGljayk9XCJhZGRDb250cmFnZW50Q2xpY2suZW1pdCgpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRDbGljayk9XCJkZWxldGVDb250cmFnZW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGFkZENvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrKT1cImFkZENvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljayk9XCJkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkQ29udHJhZ2VudENvbnRhY3RDbGljayk9XCJhZGRDb250cmFnZW50Q29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChkZWxldGVDb250cmFnZW50Q29udGFjdENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9zYy1jb250cmFnZW50cy1hY2NvcmRpb24+XG4gICAgPHNjLWRlbGl2ZXJ5LWFkZHJlc3MtYWNjb3JkaW9uXG4gICAgICAgIChhZGREZWxpdmVyeUFkZHJlc3NDbGljayk9XCJhZGREZWxpdmVyeUFkZHJlc3NDbGljay5lbWl0KClcIlxuICAgICAgICAoZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ2xpY2spPVwiZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGFkZERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljayk9XCJhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljayk9XCJkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9zYy1kZWxpdmVyeS1hZGRyZXNzLWFjY29yZGlvbj5cbiAgICA8c2MtY29udGFjdHMtYWNjb3JkaW9uXG4gICAgICAgICpuZ0lmPVwidXNlclwiXG4gICAgICAgIFtjb250YWN0cyRdPVwidXNlckNvbnRhY3RzJFwiXG4gICAgICAgIChhZGRDb250YWN0Q2xpY2spPVwiYWRkVXNlckNvbnRhY3RDbGljay5lbWl0KHVzZXIuaWQpXCJcbiAgICAgICAgKGRlbGV0ZUJ1dHRvbkNsaWNrKT1cImRlbGV0ZVVzZXJDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICA+PC9zYy1jb250YWN0cy1hY2NvcmRpb24+XG4gICAgPHNjLWFjY29yZGlvblxuICAgICAgICAjcGFzc3dvcmRBY2NvcmRpb25cbiAgICAgICAgW3Nob3dBcnJvd109XCJmYWxzZVwiXG4gICAgICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgINCY0LfQvNC10L3QuNGC0Ywg0L/QsNGA0L7Qu9GMXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBzY0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgICAgICA8c2MtcmVzZXQtdXNlci1wYXNzd29yZCAoc3VjY2Vzc1Jlc2V0UGFzc3dvcmQpPVwicGFzc3dvcmRBY2NvcmRpb24uY2xvc2UoKVwiPjwvc2MtcmVzZXQtdXNlci1wYXNzd29yZD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NjLWFjY29yZGlvbj5cbjwvZGl2PlxuIl19
|