@snabcentr/client-ui 3.7.0 → 3.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/contacts/sc-contacts.module.d.ts +4 -4
  2. package/directives/index.d.ts +1 -2
  3. package/directives/links/index.d.ts +4 -0
  4. package/directives/links/sc-email-link.directive.d.ts +25 -0
  5. package/directives/links/sc-link-location.d.ts +5 -0
  6. package/directives/links/sc-links.d.ts +7 -0
  7. package/directives/{tel-link → links}/sc-tel-link.directive.d.ts +15 -2
  8. package/error-handler/consts/error-change-handler.providers.d.ts +5 -0
  9. package/error-handler/error-block-status/error-block-status.component.d.ts +37 -0
  10. package/error-handler/index.d.ts +4 -0
  11. package/error-handler/interfaces/i-block-error.d.ts +17 -0
  12. package/error-handler/sc-error-handler.component.d.ts +40 -0
  13. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +5 -5
  14. package/esm2022/contacts/sc-contacts.module.mjs +7 -11
  15. package/esm2022/directives/index.mjs +2 -3
  16. package/esm2022/directives/links/index.mjs +5 -0
  17. package/esm2022/directives/links/sc-email-link.directive.mjs +49 -0
  18. package/esm2022/directives/links/sc-link-location.mjs +2 -0
  19. package/esm2022/directives/links/sc-links.mjs +8 -0
  20. package/esm2022/directives/links/sc-tel-link.directive.mjs +79 -0
  21. package/esm2022/error-handler/consts/error-change-handler.providers.mjs +8 -0
  22. package/esm2022/error-handler/error-block-status/error-block-status.component.mjs +76 -0
  23. package/esm2022/error-handler/index.mjs +5 -0
  24. package/esm2022/error-handler/interfaces/i-block-error.mjs +2 -0
  25. package/esm2022/error-handler/sc-error-handler.component.mjs +58 -0
  26. package/esm2022/pipes/sc-formatted-phone.mjs +2 -2
  27. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +9 -8
  28. package/esm2022/profile/sc-profile.module.mjs +7 -8
  29. package/esm2022/public-api.mjs +2 -1
  30. package/esm2022/user/sc-user.module.mjs +7 -7
  31. package/esm2022/user/user-managers/sc-user-managers.component.mjs +6 -5
  32. package/fesm2022/snabcentr-client-ui.mjs +648 -475
  33. package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
  34. package/package.json +1 -1
  35. package/profile/sc-profile.module.d.ts +5 -3
  36. package/public-api.d.ts +1 -0
  37. package/release_notes.tmp +2 -6
  38. package/styles/taiga/snabcentr-tailwind-preset.js +10 -0
  39. package/styles/tailwind/tailwind.scss +62 -0
  40. package/user/sc-user.module.d.ts +4 -2
  41. package/directives/tel-link/sc-tel-link.module.d.ts +0 -11
  42. package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +0 -58
  43. package/esm2022/directives/tel-link/sc-tel-link.module.mjs +0 -20
@@ -0,0 +1,76 @@
1
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, output } from '@angular/core';
2
+ import { ActivatedRoute, RouterLink } from '@angular/router';
3
+ import { TuiAppearance, TuiButton, TuiIcons, TuiWithAppearance, TuiWithIcons } from '@taiga-ui/core';
4
+ import { ScErrorHandlerComponent } from '../sc-error-handler.component';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Компонент представления данных об ошибке.
8
+ */
9
+ export class ScErrorBlockStatusComponent {
10
+ /**
11
+ * Инициализирует экземпляр класса {@link ErrorPageComponent}.
12
+ */
13
+ constructor() {
14
+ /**
15
+ * Компонент управляющий кодом ошибки отображаемой на странице.
16
+ */
17
+ this.errorHandlerComponent = inject(ScErrorHandlerComponent, { skipSelf: true });
18
+ /**
19
+ * Сигнал кода ошибки.
20
+ */
21
+ this.code = this.errorHandlerComponent.getErrorCode();
22
+ /**
23
+ * Данные об ошибке.
24
+ */
25
+ // eslint-disable-next-line unicorn/consistent-function-scoping
26
+ this.error = computed(() => this.getErrorMessage(this.code()));
27
+ /**
28
+ * Создает сигнал изменения строкового представления об ошибке.
29
+ */
30
+ this.pageErrorChange = output();
31
+ // Если компонент отображён маршрутизацией из-за перехода по неизвестному маршруту, то устанавливаем код 404.
32
+ if (inject(ActivatedRoute).snapshot.data['routes_key'] === 'error') {
33
+ this.errorHandlerComponent.setErrorCode(404);
34
+ }
35
+ effect(() => {
36
+ if (this.code() !== null) {
37
+ this.pageErrorChange.emit(this.error());
38
+ }
39
+ });
40
+ }
41
+ /**
42
+ * Возвращает описание ошибки.
43
+ *
44
+ * @param code Код ошибки.
45
+ */
46
+ // eslint-disable-next-line class-methods-use-this
47
+ getErrorMessage(code) {
48
+ switch (code) {
49
+ case 403:
50
+ return {
51
+ message: 'К сожалению, у вас нет доступа к этому ресурсу',
52
+ description: 'Воспользуйтесь навигацией в шапке или подвале сайта, чтобы перейти в интересующий вас раздел',
53
+ code,
54
+ };
55
+ case 404:
56
+ return {
57
+ message: 'К сожалению, такой страницы нет',
58
+ description: 'Воспользуйтесь навигацией в шапке или подвале сайта, чтобы перейти в интересующий вас раздел',
59
+ code,
60
+ };
61
+ default:
62
+ return {
63
+ message: 'Неизвестная ошибка',
64
+ description: 'Пожалуйста обновите страницу или обратитесь к менеджеру',
65
+ code: 0,
66
+ };
67
+ }
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScErrorBlockStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ScErrorBlockStatusComponent, isStandalone: true, selector: "sc-error-block-status", outputs: { pageErrorChange: "pageErrorChange" }, ngImport: i0, template: "<div class=\"flex flex-col items-center gap-8\">\n <div class=\"border-20 border-solid border-tui-primary text-center sm:border-32\">\n <div class=\"text-8xl leading-1.15 text-black sm:text-44\">\n {{ error().code }}\n </div>\n <div class=\"text-6xl leading-1.15 text-tui-primary sm:text-8xl\">ERROR</div>\n </div>\n <div class=\"flex flex-col gap-2 text-center\">\n <div class=\"text-h5 sm:text-h4\">{{ error().message }}</div>\n <div class=\"text-body-m-bold sm:text-h6\">{{ error().description }}</div>\n </div>\n <button\n tuiButton\n appearance=\"primary\"\n routerLink=\"/\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScErrorBlockStatusComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ standalone: true, selector: 'sc-error-block-status', imports: [TuiAppearance, TuiWithAppearance, TuiIcons, TuiWithIcons, TuiButton, RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col items-center gap-8\">\n <div class=\"border-20 border-solid border-tui-primary text-center sm:border-32\">\n <div class=\"text-8xl leading-1.15 text-black sm:text-44\">\n {{ error().code }}\n </div>\n <div class=\"text-6xl leading-1.15 text-tui-primary sm:text-8xl\">ERROR</div>\n </div>\n <div class=\"flex flex-col gap-2 text-center\">\n <div class=\"text-h5 sm:text-h4\">{{ error().message }}</div>\n <div class=\"text-body-m-bold sm:text-h6\">{{ error().description }}</div>\n </div>\n <button\n tuiButton\n appearance=\"primary\"\n routerLink=\"/\"\n >\n \u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E\n </button>\n</div>\n" }]
75
+ }], ctorParameters: () => [] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYmxvY2stc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9lcnJvci1oYW5kbGVyL2Vycm9yLWJsb2NrLXN0YXR1cy9lcnJvci1ibG9jay1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2Vycm9yLWhhbmRsZXIvZXJyb3ItYmxvY2stc3RhdHVzL2Vycm9yLWJsb2NrLXN0YXR1cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFeEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sMkJBQTJCO0lBc0JwQzs7T0FFRztJQUNIO1FBeEJBOztXQUVHO1FBQ2dCLDBCQUFxQixHQUE0QixNQUFNLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4SDs7V0FFRztRQUNnQixTQUFJLEdBQTBCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUzRjs7V0FFRztRQUNILCtEQUErRDtRQUM1QyxVQUFLLEdBQXdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEc7O1dBRUc7UUFDZ0Isb0JBQWUsR0FBRyxNQUFNLEVBQWUsQ0FBQztRQU12RCw2R0FBNkc7UUFDN0csSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0RBQWtEO0lBQ3hDLGVBQWUsQ0FBQyxJQUFtQjtRQUN6QyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ1gsS0FBSyxHQUFHO2dCQUNKLE9BQU87b0JBQ0gsT0FBTyxFQUFFLGdEQUFnRDtvQkFDekQsV0FBVyxFQUFFLDhGQUE4RjtvQkFDM0csSUFBSTtpQkFDUCxDQUFDO1lBRU4sS0FBSyxHQUFHO2dCQUNKLE9BQU87b0JBQ0gsT0FBTyxFQUFFLGlDQUFpQztvQkFDMUMsV0FBVyxFQUFFLDhGQUE4RjtvQkFDM0csSUFBSTtpQkFDUCxDQUFDO1lBRU47Z0JBQ0ksT0FBTztvQkFDSCxPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixXQUFXLEVBQUUseURBQXlEO29CQUN0RSxJQUFJLEVBQUUsQ0FBQztpQkFDVixDQUFDO1FBQ1YsQ0FBQztJQUNMLENBQUM7K0dBbkVRLDJCQUEyQjttR0FBM0IsMkJBQTJCLGtJQ2pCeEMsZ3pCQW1CQSw0Q0RMd0UsU0FBUyxvSUFBRSxVQUFVOzs0RkFHaEYsMkJBQTJCO2tCQVB2QyxTQUFTO2lDQUNNLElBQUksWUFDTix1QkFBdUIsV0FFeEIsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLG1CQUN6RSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBvdXRwdXQsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHVpQXBwZWFyYW5jZSwgVHVpQnV0dG9uLCBUdWlJY29ucywgVHVpV2l0aEFwcGVhcmFuY2UsIFR1aVdpdGhJY29ucyB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHsgSUJsb2NrRXJyb3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ktYmxvY2stZXJyb3InO1xuaW1wb3J0IHsgU2NFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuLi9zYy1lcnJvci1oYW5kbGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINC00LDQvdC90YvRhSDQvtCxINC+0YjQuNCx0LrQtS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLWVycm9yLWJsb2NrLXN0YXR1cycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLWJsb2NrLXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1R1aUFwcGVhcmFuY2UsIFR1aVdpdGhBcHBlYXJhbmNlLCBUdWlJY29ucywgVHVpV2l0aEljb25zLCBUdWlCdXR0b24sIFJvdXRlckxpbmtdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0Vycm9yQmxvY2tTdGF0dXNDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCa0L7QvNC/0L7QvdC10L3RgiDRg9C/0YDQsNCy0LvRj9GO0YnQuNC5INC60L7QtNC+0Lwg0L7RiNC40LHQutC4INC+0YLQvtCx0YDQsNC20LDQtdC80L7QuSDQvdCwINGB0YLRgNCw0L3QuNGG0LUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVycm9ySGFuZGxlckNvbXBvbmVudDogU2NFcnJvckhhbmRsZXJDb21wb25lbnQgPSBpbmplY3QoU2NFcnJvckhhbmRsZXJDb21wb25lbnQsIHsgc2tpcFNlbGY6IHRydWUgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0LrQvtC00LAg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2RlOiBTaWduYWw8bnVtYmVyIHwgbnVsbD4gPSB0aGlzLmVycm9ySGFuZGxlckNvbXBvbmVudC5nZXRFcnJvckNvZGUoKTtcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQvtCxINC+0YjQuNCx0LrQtS5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9jb25zaXN0ZW50LWZ1bmN0aW9uLXNjb3BpbmdcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3I6IFNpZ25hbDxJQmxvY2tFcnJvcj4gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmdldEVycm9yTWVzc2FnZSh0aGlzLmNvZGUoKSkpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0YHQuNCz0L3QsNC7INC40LfQvNC10L3QtdC90LjRjyDRgdGC0YDQvtC60L7QstC+0LPQviDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDQvtCxINC+0YjQuNCx0LrQtS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZUVycm9yQ2hhbmdlID0gb3V0cHV0PElCbG9ja0Vycm9yPigpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBFcnJvclBhZ2VDb21wb25lbnR9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8g0JXRgdC70Lgg0LrQvtC80L/QvtC90LXQvdGCINC+0YLQvtCx0YDQsNC20ZHQvSDQvNCw0YDRiNGA0YPRgtC40LfQsNGG0LjQtdC5INC40Lct0LfQsCDQv9C10YDQtdGF0L7QtNCwINC/0L4g0L3QtdC40LfQstC10YHRgtC90L7QvNGDINC80LDRgNGI0YDRg9GC0YMsINGC0L4g0YPRgdGC0LDQvdCw0LLQu9C40LLQsNC10Lwg0LrQvtC0IDQwNC5cbiAgICAgICAgaWYgKGluamVjdChBY3RpdmF0ZWRSb3V0ZSkuc25hcHNob3QuZGF0YVsncm91dGVzX2tleSddID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ySGFuZGxlckNvbXBvbmVudC5zZXRFcnJvckNvZGUoNDA0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb2RlKCkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VFcnJvckNoYW5nZS5lbWl0KHRoaXMuZXJyb3IoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0L/QuNGB0LDQvdC40LUg0L7RiNC40LHQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvZGUg0JrQvtC0INC+0YjQuNCx0LrQuC5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICAgIHByb3RlY3RlZCBnZXRFcnJvck1lc3NhZ2UoY29kZTogbnVtYmVyIHwgbnVsbCk6IElCbG9ja0Vycm9yIHtcbiAgICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn0Jog0YHQvtC20LDQu9C10L3QuNGOLCDRgyDQstCw0YEg0L3QtdGCINC00L7RgdGC0YPQv9CwINC6INGN0YLQvtC80YMg0YDQtdGB0YPRgNGB0YMnLFxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ9CS0L7RgdC/0L7Qu9GM0LfRg9C50YLQtdGB0Ywg0L3QsNCy0LjQs9Cw0YbQuNC10Lkg0LIg0YjQsNC/0LrQtSDQuNC70Lgg0L/QvtC00LLQsNC70LUg0YHQsNC50YLQsCwg0YfRgtC+0LHRiyDQv9C10YDQtdC50YLQuCDQsiDQuNC90YLQtdGA0LXRgdGD0Y7RidC40Lkg0LLQsNGBINGA0LDQt9C00LXQuycsXG4gICAgICAgICAgICAgICAgICAgIGNvZGUsXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY2FzZSA0MDQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ9CaINGB0L7QttCw0LvQtdC90LjRjiwg0YLQsNC60L7QuSDRgdGC0YDQsNC90LjRhtGLINC90LXRgicsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn0JLQvtGB0L/QvtC70YzQt9GD0LnRgtC10YHRjCDQvdCw0LLQuNCz0LDRhtC40LXQuSDQsiDRiNCw0L/QutC1INC40LvQuCDQv9C+0LTQstCw0LvQtSDRgdCw0LnRgtCwLCDRh9GC0L7QsdGLINC/0LXRgNC10LnRgtC4INCyINC40L3RgtC10YDQtdGB0YPRjtGJ0LjQuSDQstCw0YEg0YDQsNC30LTQtdC7JyxcbiAgICAgICAgICAgICAgICAgICAgY29kZSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfQndC10LjQt9Cy0LXRgdGC0L3QsNGPINC+0YjQuNCx0LrQsCcsXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn0J/QvtC20LDQu9GD0LnRgdGC0LAg0L7QsdC90L7QstC40YLQtSDRgdGC0YDQsNC90LjRhtGDINC40LvQuCDQvtCx0YDQsNGC0LjRgtC10YHRjCDQuiDQvNC10L3QtdC00LbQtdGA0YMnLFxuICAgICAgICAgICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLTIwIGJvcmRlci1zb2xpZCBib3JkZXItdHVpLXByaW1hcnkgdGV4dC1jZW50ZXIgc206Ym9yZGVyLTMyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTh4bCBsZWFkaW5nLTEuMTUgdGV4dC1ibGFjayBzbTp0ZXh0LTQ0XCI+XG4gICAgICAgICAgICB7eyBlcnJvcigpLmNvZGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LTZ4bCBsZWFkaW5nLTEuMTUgdGV4dC10dWktcHJpbWFyeSBzbTp0ZXh0LTh4bFwiPkVSUk9SPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtaDUgc206dGV4dC1oNFwiPnt7IGVycm9yKCkubWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ib2R5LW0tYm9sZCBzbTp0ZXh0LWg2XCI+e3sgZXJyb3IoKS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgcm91dGVyTGluaz1cIi9cIlxuICAgID5cbiAgICAgICAg0JLQtdGA0L3Rg9GC0YzRgdGPINC90LAg0LPQu9Cw0LLQvdGD0Y5cbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './interfaces/i-block-error';
2
+ export * from './consts/error-change-handler.providers';
3
+ export * from './sc-error-handler.component';
4
+ export * from './error-block-status/error-block-status.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZXJyb3ItaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2ktYmxvY2stZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdHMvZXJyb3ItY2hhbmdlLWhhbmRsZXIucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2MtZXJyb3ItaGFuZGxlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1ibG9jay1zdGF0dXMvZXJyb3ItYmxvY2stc3RhdHVzLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ibG9jay1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9lcnJvci1oYW5kbGVyL2ludGVyZmFjZXMvaS1ibG9jay1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQnNC+0LTQtdC70Ywg0LTQsNC90L3Ri9GFINC+0YjQuNCx0LrQuCDQtNC70Y8g0LHQu9C+0LrQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0L7RiNC40LHQutC4LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCbG9ja0Vycm9yIHtcbiAgICAvKipcbiAgICAgKiDQmtC+0LQg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIGNvZGU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCa0YDQsNGC0LrQvtC1INGB0L7QvtCx0YnQtdC90LjQtSDQvtCxINC+0YjQuNCx0LrQtSwg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQtdC1INC60L7QtNGDINC+0YjQuNCx0LrQuC5cbiAgICAgKi9cbiAgICBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0LfQstGR0YDQvdGD0YLQvtC1INC+0L/QuNGB0LDQvdC40LUg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { ChangeDetectionStrategy, Component, inject, input, signal } from '@angular/core';
2
+ import { NavigationEnd, Router } from '@angular/router';
3
+ import { filter } from 'rxjs';
4
+ import { SC_ERROR_CHANGE_HANDLER } from './consts/error-change-handler.providers';
5
+ import { ScErrorBlockStatusComponent } from './error-block-status/error-block-status.component';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Компонент для управления кодом ошибки отображаемой на странице.
9
+ */
10
+ export class ScErrorHandlerComponent {
11
+ /**
12
+ * Инициирует экземпляр класса {@link ErrorHandlerComponent}.
13
+ */
14
+ constructor() {
15
+ /**
16
+ * Сигнал для хранения кода ошибки.
17
+ */
18
+ this.code = signal(null);
19
+ /**
20
+ * Сигнал дефолтного передаваемого из вне значения ошибки.
21
+ */
22
+ // eslint-disable-next-line @angular-eslint/no-input-rename
23
+ this.defaultCode = input(null, { alias: 'code' });
24
+ /**
25
+ * Сервис маршрутизации.
26
+ */
27
+ this.router = inject(Router);
28
+ /**
29
+ * Обработчик изменения ошибки.
30
+ */
31
+ this.errorChangeHandler = inject(SC_ERROR_CHANGE_HANDLER);
32
+ this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
33
+ // Сбрасываем ошибку при переходе на новый маршрут.
34
+ this.code.set(this.defaultCode());
35
+ });
36
+ }
37
+ /**
38
+ * Возвращает текущий сигнал с кодом ошибки.
39
+ */
40
+ getErrorCode() {
41
+ return this.code;
42
+ }
43
+ /**
44
+ * Устанавливает новый код ошибки.
45
+ *
46
+ * @param code Новый код ошибки.
47
+ */
48
+ setErrorCode(code) {
49
+ this.code.set(code);
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScErrorHandlerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ScErrorHandlerComponent, isStandalone: true, selector: "sc-error-handler", inputs: { defaultCode: { classPropertyName: "defaultCode", publicName: "code", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (code() === null) {\n <ng-content />\n} @else {\n <sc-error-block-status (pageErrorChange)=\"errorChangeHandler($event)\"></sc-error-block-status>\n}\n", dependencies: [{ kind: "component", type: ScErrorBlockStatusComponent, selector: "sc-error-block-status", outputs: ["pageErrorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScErrorHandlerComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ standalone: true, selector: 'sc-error-handler', imports: [ScErrorBlockStatusComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (code() === null) {\n <ng-content />\n} @else {\n <sc-error-block-status (pageErrorChange)=\"errorChangeHandler($event)\"></sc-error-block-status>\n}\n" }]
57
+ }], ctorParameters: () => [] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZXJyb3ItaGFuZGxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZXJyb3ItaGFuZGxlci9zYy1lcnJvci1oYW5kbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9lcnJvci1oYW5kbGVyL3NjLWVycm9yLWhhbmRsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBR2hHOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQXNCaEM7O09BRUc7SUFDSDtRQXhCQTs7V0FFRztRQUNnQixTQUFJLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUV0RDs7V0FFRztRQUNILDJEQUEyRDtRQUNwRCxnQkFBVyxHQUFHLEtBQUssQ0FBZ0IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFbkU7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2dCLHVCQUFrQixHQUFpQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQU1sRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RGLG1EQUFtRDtZQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOytHQTlDUSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwyTkNsQnBDLG1LQUtBLDRDRFVjLDJCQUEyQjs7NEZBRzVCLHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sa0JBQWtCLFdBRW5CLENBQUMsMkJBQTJCLENBQUMsbUJBQ3JCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19FUlJPUl9DSEFOR0VfSEFORExFUiB9IGZyb20gJy4vY29uc3RzL2Vycm9yLWNoYW5nZS1oYW5kbGVyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY0Vycm9yQmxvY2tTdGF0dXNDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLWJsb2NrLXN0YXR1cy9lcnJvci1ibG9jay1zdGF0dXMuY29tcG9uZW50JztcbmltcG9ydCB7IElCbG9ja0Vycm9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ktYmxvY2stZXJyb3InO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0LrQvtC00L7QvCDQvtGI0LjQsdC60Lgg0L7RgtC+0LHRgNCw0LbQsNC10LzQvtC5INC90LAg0YHRgtGA0LDQvdC40YbQtS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLWVycm9yLWhhbmRsZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1lcnJvci1oYW5kbGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbU2NFcnJvckJsb2NrU3RhdHVzQ29tcG9uZW50XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NFcnJvckhhbmRsZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDQutC+0LTQsCDQvtGI0LjQsdC60LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGUgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0LTQtdGE0L7Qu9GC0L3QvtCz0L4g0L/QtdGA0LXQtNCw0LLQsNC10LzQvtCz0L4g0LjQtyDQstC90LUg0LfQvdCw0YfQtdC90LjRjyDQvtGI0LjQsdC60LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBwdWJsaWMgZGVmYXVsdENvZGUgPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsLCB7IGFsaWFzOiAnY29kZScgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INC40LfQvNC10L3QtdC90LjRjyDQvtGI0LjQsdC60LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVycm9yQ2hhbmdlSGFuZGxlcjogKGVycm9yOiBJQmxvY2tFcnJvcikgPT4gdm9pZCA9IGluamVjdChTQ19FUlJPUl9DSEFOR0VfSEFORExFUik7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBFcnJvckhhbmRsZXJDb21wb25lbnR9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIC8vINCh0LHRgNCw0YHRi9Cy0LDQtdC8INC+0YjQuNCx0LrRgyDQv9GA0Lgg0L/QtdGA0LXRhdC+0LTQtSDQvdCwINC90L7QstGL0Lkg0LzQsNGA0YjRgNGD0YIuXG4gICAgICAgICAgICB0aGlzLmNvZGUuc2V0KHRoaXMuZGVmYXVsdENvZGUoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGC0LXQutGD0YnQuNC5INGB0LjQs9C90LDQuyDRgSDQutC+0LTQvtC8INC+0YjQuNCx0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXJyb3JDb2RlKCk6IFNpZ25hbDxudW1iZXIgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L3QvtCy0YvQuSDQutC+0LQg0L7RiNC40LHQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvZGUg0J3QvtCy0YvQuSDQutC+0LQg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRFcnJvckNvZGUoY29kZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29kZS5zZXQoY29kZSk7XG4gICAgfVxufVxuIiwiQGlmIChjb2RlKCkgPT09IG51bGwpIHtcbiAgICA8bmctY29udGVudCAvPlxufSBAZWxzZSB7XG4gICAgPHNjLWVycm9yLWJsb2NrLXN0YXR1cyAocGFnZUVycm9yQ2hhbmdlKT1cImVycm9yQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCI+PC9zYy1lcnJvci1ibG9jay1zdGF0dXM+XG59XG4iXX0=
@@ -19,7 +19,7 @@ export class ScFormatePhonePipe {
19
19
  if (ScPhoneService.isValidPhoneNumber(value)) {
20
20
  return ScPhoneService.formatPhoneNumber(value);
21
21
  }
22
- return value; // Возвращаем оригинальный номер, если он невалиден
22
+ return value; // Возвращаем оригинальный номер, если он невалиден.
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScFormatePhonePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
25
25
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: ScFormatePhonePipe, isStandalone: true, name: "scFormatePhone" }); }
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
31
31
  name: 'scFormatePhone',
32
32
  }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZm9ybWF0dGVkLXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BpcGVzL3NjLWZvcm1hdHRlZC1waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV4RDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLG1EQUFtRDtJQUNyRSxDQUFDOytHQVpRLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjUGhvbmVTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKlxuICog0JXRgdC70Lgg0L/QtdGA0LXQtNCw0L3QvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwINCy0LDQu9C40LTQtdC9LCDQvtC9INCx0YPQtNC10YIg0L7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC80LXRgtC+0LTQsCBgZm9ybWF0UGhvbmVOdW1iZXJgINGB0LXRgNCy0LjRgdCwIGBTY1Bob25lU2VydmljZWAuXG4gKiDQldGB0LvQuCDQvdC+0LzQtdGAINC90LXQstCw0LvQuNC00LXQvSwg0LLQvtC30LLRgNCw0YnQsNC10YLRgdGPINC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjRm9ybWF0ZVBob25lJyxcbn0pXG5leHBvcnQgY2xhc3MgU2NGb3JtYXRlUGhvbmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqXG4gICAgICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDRgdGC0YDQvtC60L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSDQodGC0YDQvtC60LAsINGB0L7QtNC10YDQttCw0YnQsNGPINC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKiBAcmV0dXJucyDQntGC0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3Ri9C5INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCwg0LXRgdC70Lgg0L7QvSDQstCw0LvQuNC00LXQvSwg0LjQu9C4INC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSwg0LXRgdC70Lgg0L7QvSDQvdC10LLQsNC70LjQtNC10L0uXG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKFNjUGhvbmVTZXJ2aWNlLmlzVmFsaWRQaG9uZU51bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBTY1Bob25lU2VydmljZS5mb3JtYXRQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlOyAvLyDQktC+0LfQstGA0LDRidCw0LXQvCDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0L3QvtC80LXRgCwg0LXRgdC70Lgg0L7QvSDQvdC10LLQsNC70LjQtNC10L1cbiAgICB9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZm9ybWF0dGVkLXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3BpcGVzL3NjLWZvcm1hdHRlZC1waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV4RDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLG9EQUFvRDtJQUN0RSxDQUFDOytHQVpRLGtCQUFrQjs2R0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjUGhvbmVTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0J/QsNC50L8g0LTQu9GPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y8g0L3QvtC80LXRgNCwINGC0LXQu9C10YTQvtC90LAuXG4gKlxuICog0JXRgdC70Lgg0L/QtdGA0LXQtNCw0L3QvdGL0Lkg0L3QvtC80LXRgCDRgtC10LvQtdGE0L7QvdCwINCy0LDQu9C40LTQtdC9LCDQvtC9INCx0YPQtNC10YIg0L7RgtGE0L7RgNC80LDRgtC40YDQvtCy0LDQvSDRgSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC80LXRgtC+0LTQsCBgZm9ybWF0UGhvbmVOdW1iZXJgINGB0LXRgNCy0LjRgdCwIGBTY1Bob25lU2VydmljZWAuXG4gKiDQldGB0LvQuCDQvdC+0LzQtdGAINC90LXQstCw0LvQuNC00LXQvSwg0LLQvtC30LLRgNCw0YnQsNC10YLRgdGPINC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS5cbiAqL1xuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3NjRm9ybWF0ZVBob25lJyxcbn0pXG5leHBvcnQgY2xhc3MgU2NGb3JtYXRlUGhvbmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqXG4gICAgICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDRgdGC0YDQvtC60L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSDQodGC0YDQvtC60LAsINGB0L7QtNC10YDQttCw0YnQsNGPINC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKiBAcmV0dXJucyDQntGC0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90L3Ri9C5INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCwg0LXRgdC70Lgg0L7QvSDQstCw0LvQuNC00LXQvSwg0LjQu9C4INC40YHRhdC+0LTQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSwg0LXRgdC70Lgg0L7QvSDQvdC10LLQsNC70LjQtNC10L0uXG4gICAgICovXG4gICAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKFNjUGhvbmVTZXJ2aWNlLmlzVmFsaWRQaG9uZU51bWJlcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBTY1Bob25lU2VydmljZS5mb3JtYXRQaG9uZU51bWJlcih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlOyAvLyDQktC+0LfQstGA0LDRidCw0LXQvCDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0L3QvtC80LXRgCwg0LXRgdC70Lgg0L7QvSDQvdC10LLQsNC70LjQtNC10L0uXG4gICAgfVxufVxuIl19
@@ -18,10 +18,11 @@ import * as i9 from "@taiga-ui/cdk";
18
18
  import * as i10 from "@angular/forms";
19
19
  import * as i11 from "../../contacts/contacts-accordion/sc-contacts-accordion.component";
20
20
  import * as i12 from "../../directives/terminal-link/sc-terminal-link.directive";
21
- import * as i13 from "../../directives/tel-link/sc-tel-link.directive";
22
- import * as i14 from "@taiga-ui/kit";
23
- import * as i15 from "../../pipes/sc-formatted-phone";
24
- import * as i16 from "rxjs";
21
+ import * as i13 from "../../directives/links/sc-tel-link.directive";
22
+ import * as i14 from "../../directives/links/sc-email-link.directive";
23
+ import * as i15 from "@taiga-ui/kit";
24
+ import * as i16 from "../../pipes/sc-formatted-phone";
25
+ import * as i17 from "rxjs";
25
26
  /**
26
27
  * Компонент контента профиля пользователя в виде раскрывающихся смысловых блоков.
27
28
  */
@@ -139,15 +140,15 @@ export class ScProfileAccordionsContentComponent {
139
140
  return this.locationsService.getUserCity$(cityId);
140
141
  }
141
142
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScProfileAccordionsContentComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScLocationsService }, { token: i1.ScUserService }, { token: i1.ScVerificationService }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", 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" }, providers: [SC_USER_PROVIDERS], 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 && (getUserCity$(user.city) | 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 href=\"tel:{{ user.contacts.phone.value | scFormatePhone }}\"\n >{{ user.contacts.phone.value | scFormatePhone }}</a\n >\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 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i4.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i5.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i6.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i7.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i8.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i9.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i8.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i8.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i8.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i11.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i12.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i13.ScTelLinkDirective, selector: "[scTelLink]", inputs: ["scTelLink"] }, { kind: "component", type: i14.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.ScFormatePhonePipe, name: "scFormatePhone" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", 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" }, providers: [SC_USER_PROVIDERS], 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 && (getUserCity$(user.city) | 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 | scFormatePhone }}\"\n >\n {{ user.contacts.phone.value | scFormatePhone }}\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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i4.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i5.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i6.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i7.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i8.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i9.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i8.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i8.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i8.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i11.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i12.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i13.ScTelLinkDirective, selector: "a[scTelLink]", inputs: ["scTelLink", "linkLocation"] }, { kind: "directive", type: i14.ScEmailLinkDirective, selector: "a[scEmailLink]", inputs: ["linkLocation"] }, { kind: "component", type: i15.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i16.ScFormatePhonePipe, name: "scFormatePhone" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
144
  }
144
145
  __decorate([
145
146
  tuiPure // TODO: TASK[#7615] Удалить поле рефакторинга сервиса работы с пользователем.
146
147
  ], ScProfileAccordionsContentComponent.prototype, "getUserCity$", null);
147
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScProfileAccordionsContentComponent, decorators: [{
148
149
  type: Component,
149
- args: [{ selector: 'sc-profile-accordions-content', providers: [SC_USER_PROVIDERS], 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 && (getUserCity$(user.city) | 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 href=\"tel:{{ user.contacts.phone.value | scFormatePhone }}\"\n >{{ user.contacts.phone.value | scFormatePhone }}</a\n >\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 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" }]
150
- }], ctorParameters: () => [{ type: i16.Observable, decorators: [{
150
+ args: [{ selector: 'sc-profile-accordions-content', providers: [SC_USER_PROVIDERS], 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 && (getUserCity$(user.city) | 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 | scFormatePhone }}\"\n >\n {{ user.contacts.phone.value | scFormatePhone }}\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" }]
151
+ }], ctorParameters: () => [{ type: i17.Observable, decorators: [{
151
152
  type: Inject,
152
153
  args: [SC_USER_INFO]
153
154
  }] }, { type: i1.ScLocationsService }, { type: i1.ScUserService }, { type: i1.ScVerificationService }], propDecorators: { editProfileClick: [{
@@ -179,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
179
180
  }], deleteUserContactClick: [{
180
181
  type: Output
181
182
  }], getUserCity$: [] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUNBQW1DO0lBcUo1Qzs7Ozs7OztPQU9HO0lBQ0gsWUFDMEMsS0FBeUIsRUFDOUMsZ0JBQW9DLEVBQ3BDLFdBQTBCLEVBQzFCLG1CQUEwQztRQUhyQixVQUFLLEdBQUws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O2dCQU9BLDhCQUE4QjtzQkFEcEMsTUFBTTtnQkFPQSxpQ0FBaUM7c0JBRHZDLE1BQU07Z0JBVUEsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLHNCQUFzQjtzQkFENUIsTUFBTTtnQkF3QkEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50LCBTY0lCYW5rQWNjb3VudCwgU2NJQ2l0eSwgU2NJQ29udGFjdCwgU2NJRGVsaXZlcnlBZGRyZXNzLCBTY0xvY2F0aW9uc1NlcnZpY2UsIFNjVXNlciwgU2NVc2VyU2VydmljZSwgU2NWZXJpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfVFJVRV9IQU5ETEVSLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aVB1cmUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IHR1aUZhZGVJbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZSwgc2tpcCwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19VU0VSX0lORk8sIFNDX1VTRVJfUFJPVklERVJTIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQvtC90YLQtdC90YLQsCDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LIg0LLQuNC00LUg0YDQsNGB0LrRgNGL0LLQsNGO0YnQuNGF0YHRjyDRgdC80YvRgdC70L7QstGL0YUg0LHQu9C+0LrQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1NDX1VTRVJfUFJPVklERVJTXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld3NDb250cm9sOiBGb3JtQ29udHJvbDxib29sZWFuPiA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/RgNC40LfQvdCw0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXROZXdzUmVxdWVzdCQgPSB0aGlzLmdldE5ld3NDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBnZXROZXdzOiB2YWx1ZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVwZGF0ZVVzZXJDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c0NvbnRyb2wucGF0Y2hWYWx1ZSh1c2VyLmdldE5ld3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBnZXROZXdzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmdldE5ld3NSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINCw0LTRgNC10YHQsCDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU2VuZEFwcHJvdmVFbWFpbDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiA9IHRoaXMub25TZW5kQXBwcm92ZUVtYWlsLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5zZW5kRW1haWxBcHByb3ZlQ29kZSh2YWx1ZSkucGlwZShtYXAoVFVJX1RSVUVfSEFORExFUiksIHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhcHByb3ZlRW1haWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC/0YDQuNC30L3QsNC60LAsINC+0YLQv9GA0LDQstC70LXQvdC+INC70Lgg0YHQvtC+0LHRidC10L3QuNC1INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc1NlbmRBcHByb3ZlRW1haWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zZW5kQXBwcm92ZUVtYWlsUmVxdWVzdCQucGlwZShmaWx0ZXIodHVpSXNQcmVzZW50KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyQ29udGFjdHMkID0gdGhpcy51c2VyU2VydmljZS5nZXRVc2VyQ29udGFjdHMkKCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0YDQvtGE0LjQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZWRpdFByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYXBwcm92ZVBob25lQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljazogRXZlbnRFbWl0dGVyPFNjSUJhbmtBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJQmFua0FjY291bnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgY29udHJhZ2VudDogU2NDb250cmFnZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGNvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudCB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60Lgg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4INGDINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljazogRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LTQu9GPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgYWRkcmVzczogU2NJRGVsaXZlcnlBZGRyZXNzIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGNvbnRhY3Q6IFNjSUNvbnRhY3Q7XG4gICAgICAgIGFkZHJlc3M6IFNjSURlbGl2ZXJ5QWRkcmVzcztcbiAgICB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC70LjQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjSUNvbnRhY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lDb250YWN0PigpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1Byb2ZpbGVDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIkINCf0L7RgtC+0Log0LTQsNC90L3Ri9GFINC+INGC0LXQutGD0YnQtdC8INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gbG9jYXRpb25zU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60L7QsiDRgdGC0YDQsNC9LCDRgNC10LPQuNC+0L3QvtCyLCDQs9C+0YDQvtC00L7Qsi5cbiAgICAgKiBAcGFyYW0gdXNlclNlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LDQvdC90YvRhSDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICogQHBhcmFtIHZlcmlmaWNhdGlvblNlcnZpY2Ug0KHQtdGA0LLQuNGBINCy0LXRgNC40YTQuNC60LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNDX1VTRVJfSU5GTykgcHVibGljIHJlYWRvbmx5IHVzZXIkOiBPYnNlcnZhYmxlPFNjVXNlcj4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25zU2VydmljZTogU2NMb2NhdGlvbnNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZXJ2aWNlOiBTY1VzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcmlmaWNhdGlvblNlcnZpY2U6IFNjVmVyaWZpY2F0aW9uU2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCh0L7Qt9C00LDQtdGCINC30LDQv9GA0L7RgSDQv9C+0LvRg9GH0LXQvdC40Y8g0LTQsNC90L3Ri9GFINC+INCz0L7RgNC+0LTQtSDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0LPQvtGA0L7QtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNpdHlJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0Lgg0LPQvtGA0L7QtNCwLlxuICAgICAqL1xuICAgIEB0dWlQdXJlIC8vIFRPRE86IFRBU0tbIzc2MTVdINCj0LTQsNC70LjRgtGMINC/0L7Qu9C1INGA0LXRhNCw0LrRgtC+0YDQuNC90LPQsCDRgdC10YDQstC40YHQsCDRgNCw0LHQvtGC0Ysg0YEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwuXG4gICAgcHVibGljIGdldFVzZXJDaXR5JChjaXR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2NJQ2l0eT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbnNTZXJ2aWNlLmdldFVzZXJDaXR5JChjaXR5SWQpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAqdHVpTGV0PVwidXNlciQgfCBhc3luYyBhcyB1c2VyXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTRcIlxuPlxuICAgIDxzYy1hY2NvcmRpb25cbiAgICAgICAgW3Nob3dBcnJvd109XCJmYWxzZVwiXG4gICAgICAgIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgW29wZW5dPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgICDQntCx0YnQuNC1INC00LDQvdC90YvQtVxuICAgICAgICA8bmctdGVtcGxhdGUgc2NBY2NvcmRpb25Db250ZW50PlxuICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJ1c2VyID09PSBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBwbC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBnYXAtMlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1tZWRpdW1cIj57eyB1c2VyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyLmNpdHkgJiYgKGdldFVzZXJDaXR5JCh1c2VyLmNpdHkpIHwgYXN5bmMpIGFzIGNpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaWNvbiBpY29uPVwiQHR1aS5tYXAtcGluXCI+PC90dWktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0LMuIHt7IGNpdHkubmFtZSB9fSwgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNpdHkucmVnaW9uXCI+e3sgY2l0eS5yZWdpb24ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NUZWxMaW5rXT1cInVzZXIuY29udGFjdHMucGhvbmUudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBob25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cInRlbDp7eyB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlIHwgc2NGb3JtYXRlUGhvbmUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSB8IHNjRm9ybWF0ZVBob25lIH19PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktdGV4dC0wM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo0KLQtdC70LXRhNC+0L0g0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTQtdC9LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcHJvdmVQaG9uZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0Yw8L2J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlMZXQ9XCIhIShpc1NlbmRBcHByb3ZlRW1haWwkIHwgYXN5bmMpIGFzIGlzU2VuZEFwcHJvdmVFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAteC0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkubWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86e3sgdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyLmNvbnRhY3RzLmVtYWlsLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzU2VuZEFwcHJvdmVFbWFpbCAmJiAhdXNlci5jb250YWN0cy5lbWFpbC5pc0FwcHJvdmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LXdyYXAgZ2FwLTEgdGV4dC10dWktdGV4dC0wM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFLW1haWwg0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTQtdC9LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEoYXBwcm92ZUVtYWlsTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZW5kQXBwcm92ZUVtYWlsLm5leHQodXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0YxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTZW5kQXBwcm92ZUVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS1zdWNjZXNzLWZpbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHVpRmFkZUluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C40YHRjNC80L4g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGD0YHQv9C10YjQvdC+INC+0YLQv9GA0LDQstC70LXQvdC+LiDQn9C10YDQtdC50LTQuNGC0LUg0L/QviDRgdGB0YvQu9C60LUg0LIg0L/QuNGB0YzQvNC1INC4INC+0LHQvdC+0LLQuNGC0LUg0Y3RgtGDINGB0YLRgNCw0L3QuNGG0YMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGdldE5ld3NMb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImdldE5ld3NDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVzZXIuZ2V0TmV3c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgyDQodC90LDQsdGG0LXQvdGC0YAg0L4g0YHQutC40LTQutCw0YUg0Lgg0L3QvtCy0L7RgdGC0Y/RhSDQv9C+INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLQtS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucGVuY2lsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0UHJvZmlsZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NjLWFjY29yZGlvbj5cbiAgICA8c2MtY29udHJhZ2VudHMtYWNjb3JkaW9uXG4gICAgICAgIChhZGRDb250cmFnZW50Q2xpY2spPVwiYWRkQ29udHJhZ2VudENsaWNrLmVtaXQoKVwiXG4gICAgICAgIChkZWxldGVDb250cmFnZW50Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljayk9XCJhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2spPVwiYWRkQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljayk9XCJkZWxldGVDb250cmFnZW50Q29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtY29udHJhZ2VudHMtYWNjb3JkaW9uPlxuICAgIDxzYy1kZWxpdmVyeS1hZGRyZXNzLWFjY29yZGlvblxuICAgICAgICAoYWRkRGVsaXZlcnlBZGRyZXNzQ2xpY2spPVwiYWRkRGVsaXZlcnlBZGRyZXNzQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgKGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NsaWNrKT1cImRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2spPVwiYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2spPVwiZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtZGVsaXZlcnktYWRkcmVzcy1hY2NvcmRpb24+XG4gICAgPHNjLWNvbnRhY3RzLWFjY29yZGlvblxuICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICBbY29udGFjdHMkXT1cInVzZXJDb250YWN0cyRcIlxuICAgICAgICAoYWRkQ29udGFjdENsaWNrKT1cImFkZFVzZXJDb250YWN0Q2xpY2suZW1pdCh1c2VyLmlkKVwiXG4gICAgICAgIChkZWxldGVCdXR0b25DbGljayk9XCJkZWxldGVVc2VyQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtY29udGFjdHMtYWNjb3JkaW9uPlxuICAgIDxzYy1hY2NvcmRpb25cbiAgICAgICAgI3Bhc3N3b3JkQWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICDQmNC30LzQtdC90LjRgtGMINC/0LDRgNC+0LvRjFxuICAgICAgICA8bmctdGVtcGxhdGUgc2NBY2NvcmRpb25Db250ZW50PlxuICAgICAgICAgICAgPHNjLXJlc2V0LXVzZXItcGFzc3dvcmQgKHN1Y2Nlc3NSZXNldFBhc3N3b3JkKT1cInBhc3N3b3JkQWNjb3JkaW9uLmNsb3NlKClcIj48L3NjLXJlc2V0LXVzZXItcGFzc3dvcmQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zYy1hY2NvcmRpb24+XG48L2Rpdj5cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxFOztHQUVHO0FBUUgsTUFBTSxPQUFPLG1DQUFtQztJQXFKNUM7Ozs7Ozs7T0FPRztJQUNILFlBQzBDLEtBQXlCLEVBQzlDLGdCQUFvQyxFQUNwQyxXQUEwQixFQUMxQixtQkFBMEM7UUFIckIsVUFBSyxHQUFM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TTtnQkFPQSw4QkFBOEI7c0JBRHBDLE1BQU07Z0JBT0EsaUNBQWlDO3NCQUR2QyxNQUFNO2dCQVVBLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFPQSxzQkFBc0I7c0JBRDVCLE1BQU07Z0JBd0JBLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjQ29udHJhZ2VudCwgU2NJQmFua0FjY291bnQsIFNjSUNpdHksIFNjSUNvbnRhY3QsIFNjSURlbGl2ZXJ5QWRkcmVzcywgU2NMb2NhdGlvbnNTZXJ2aWNlLCBTY1VzZXIsIFNjVXNlclNlcnZpY2UsIFNjVmVyaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVFVJX1RSVUVfSEFORExFUiwgdHVpSXNGYWxzeSwgdHVpSXNQcmVzZW50LCB0dWlQdXJlIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyB0dWlGYWRlSW4gfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmUsIHNraXAsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0NfVVNFUl9JTkZPLCBTQ19VU0VSX1BST1ZJREVSUyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60L7QvdGC0LXQvdGC0LAg0L/RgNC+0YTQuNC70Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINCyINCy0LjQtNC1INGA0LDRgdC60YDRi9Cy0LDRjtGJ0LjRhdGB0Y8g0YHQvNGL0YHQu9C+0LLRi9GFINCx0LvQvtC60L7Qsi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtTQ19VU0VSX1BST1ZJREVSU10sXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgRm9ybUNvbnRyb2x9INC/0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROZXdzQ29udHJvbDogRm9ybUNvbnRyb2w8Ym9vbGVhbj4gPSBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LfQsNC/0YDQvtGB0LAg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0TmV3c1JlcXVlc3QkID0gdGhpcy5nZXROZXdzQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckluZm8kKHsgZ2V0TmV3czogdmFsdWUgfSkucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VyQ2hhbmdlJCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKHVzZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldE5ld3NDb250cm9sLnBhdGNoVmFsdWUodXNlci5nZXROZXdzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSxcblxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC40LfQvNC10L3QtdC90LjRjyDQv9GA0LjQt9C90LDQutCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAn0K8g0YXQvtGH0YMg0L/QvtC70YPRh9Cw0YLRjCDRgNCw0YHRgdGL0LvQutGDJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZ2V0TmV3c0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5nZXROZXdzUmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBvblNlbmRBcHByb3ZlRW1haWw6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQtNCw0L3QvdGL0YUg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbmRBcHByb3ZlRW1haWxSZXF1ZXN0JDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4gPSB0aGlzLm9uU2VuZEFwcHJvdmVFbWFpbC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiB0aGlzLnZlcmlmaWNhdGlvblNlcnZpY2Uuc2VuZEVtYWlsQXBwcm92ZUNvZGUodmFsdWUpLnBpcGUobWFwKFRVSV9UUlVFX0hBTkRMRVIpLCBzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQvtGC0L/RgNCw0LLQutC4INGB0L7QvtCx0YnQtdC90LjRjyDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0LDQtNGA0LXRgdCwINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYXBwcm92ZUVtYWlsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnNlbmRBcHByb3ZlRW1haWxSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQv9GA0LjQt9C90LDQutCwLCDQvtGC0L/RgNCw0LLQu9C10L3QviDQu9C4INGB0L7QvtCx0YnQtdC90LjQtSDQtNC70Y8g0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0LDQtNGA0LXRgdCwINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNTZW5kQXBwcm92ZUVtYWlsJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUoZmlsdGVyKHR1aUlzUHJlc2VudCkpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC/0LjRgdC60LAg0LrQvtC90YLQsNC60YLQvdGL0YUg0LvQuNGGINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlckNvbnRhY3RzJCA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckNvbnRhY3RzJCgpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtSDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGVkaXRQcm9maWxlQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFwcHJvdmVQaG9uZUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDRgdGH0ZHRgtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lCYW5rQWNjb3VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSUJhbmtBY2NvdW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC+0L3RgtGA0LDQs9C10L3RgtGDLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50Q29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NDb250cmFnZW50PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINGDINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGNvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudCB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjb250YWN0OiBTY0lDb250YWN0OyBjb250cmFnZW50OiBTY0NvbnRyYWdlbnQgfT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4INC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGREZWxpdmVyeUFkZHJlc3NDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDRgyDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC00LvRjyDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJRGVsaXZlcnlBZGRyZXNzPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINGDINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGFkZHJlc3M6IFNjSURlbGl2ZXJ5QWRkcmVzcyB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBjb250YWN0OiBTY0lDb250YWN0O1xuICAgICAgICBhZGRyZXNzOiBTY0lEZWxpdmVyeUFkZHJlc3M7XG4gICAgfT4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQu9C40LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZFVzZXJDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZVVzZXJDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lDb250YWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJQ29udGFjdD4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcm9maWxlQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1c2VyJCDQn9C+0YLQvtC6INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICogQHBhcmFtIGxvY2F0aW9uc1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutC+0LIg0YHRgtGA0LDQvSwg0YDQtdCz0LjQvtC90L7Qsiwg0LPQvtGA0L7QtNC+0LIuXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNCw0L3QvdGL0YUg0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSB2ZXJpZmljYXRpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDQstC10YDQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTQ19VU0VSX0lORk8pIHB1YmxpYyByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uc1NlcnZpY2U6IFNjTG9jYXRpb25zU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VydmljZTogU2NVc2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2ZXJpZmljYXRpb25TZXJ2aWNlOiBTY1ZlcmlmaWNhdGlvblNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0LXRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhSDQviDQs9C+0YDQvtC00LUg0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINCz0L7RgNC+0LTQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjaXR5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4INCz0L7RgNC+0LTQsC5cbiAgICAgKi9cbiAgICBAdHVpUHVyZSAvLyBUT0RPOiBUQVNLWyM3NjE1XSDQo9C00LDQu9C40YLRjCDQv9C+0LvQtSDRgNC10YTQsNC60YLQvtGA0LjQvdCz0LAg0YHQtdGA0LLQuNGB0LAg0YDQsNCx0L7RgtGLINGBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8LlxuICAgIHB1YmxpYyBnZXRVc2VyQ2l0eSQoY2l0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUNpdHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zU2VydmljZS5nZXRVc2VyQ2l0eSQoY2l0eUlkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aUxldD1cInVzZXIkIHwgYXN5bmMgYXMgdXNlclwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCJcbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcGVuXT1cInRydWVcIlxuICAgID5cbiAgICAgICAg0J7QsdGJ0LjQtSDQtNCw0L3QvdGL0LVcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwidXNlciA9PT0gbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgcGwtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCI+e3sgdXNlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5jaXR5ICYmIChnZXRVc2VyQ2l0eSQodXNlci5jaXR5KSB8IGFzeW5jKSBhcyBjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkubWFwLXBpblwiPjwvdHVpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCzLiB7eyBjaXR5Lm5hbWUgfX0sIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaXR5LnJlZ2lvblwiPnt7IGNpdHkucmVnaW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJ1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5waG9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtMb2NhdGlvbj1cInByb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwidGVsOnt7IHVzZXIuY29udGFjdHMucGhvbmUudmFsdWUgfCBzY0Zvcm1hdGVQaG9uZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlIHwgc2NGb3JtYXRlUGhvbmUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdXNlci5jb250YWN0cy5waG9uZS5pc0FwcHJvdmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjQotC10LvQtdGE0L7QvSDQvdC1INC/0L7QtNGC0LLQtdGA0LbQtNC10L0uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwcm92ZVBob25lQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QvtC00YLQstC10YDQtNC40YLRjDwvYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUxldD1cIiEhKGlzU2VuZEFwcHJvdmVFbWFpbCQgfCBhc3luYykgYXMgaXNTZW5kQXBwcm92ZUVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC14LTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5tYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NFbWFpbExpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua0xvY2F0aW9uPVwicHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJtYWlsdG86e3sgdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyLmNvbnRhY3RzLmVtYWlsLnZhbHVlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzU2VuZEFwcHJvdmVFbWFpbCAmJiAhdXNlci5jb250YWN0cy5lbWFpbC5pc0FwcHJvdmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBmbGV4LXdyYXAgZ2FwLTEgdGV4dC10dWktdGV4dC0wM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFLW1haWwg0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTQtdC9LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEoYXBwcm92ZUVtYWlsTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZW5kQXBwcm92ZUVtYWlsLm5leHQodXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0YxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTZW5kQXBwcm92ZUVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXR1aS1zdWNjZXNzLWZpbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdHVpRmFkZUluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C40YHRjNC80L4g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINGD0YHQv9C10YjQvdC+INC+0YLQv9GA0LDQstC70LXQvdC+LiDQn9C10YDQtdC50LTQuNGC0LUg0L/QviDRgdGB0YvQu9C60LUg0LIg0L/QuNGB0YzQvNC1INC4INC+0LHQvdC+0LLQuNGC0LUg0Y3RgtGDINGB0YLRgNCw0L3QuNGG0YMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGdldE5ld3NMb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImdldE5ld3NDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVzZXIuZ2V0TmV3c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgyDQodC90LDQsdGG0LXQvdGC0YAg0L4g0YHQutC40LTQutCw0YUg0Lgg0L3QvtCy0L7RgdGC0Y/RhSDQv9C+INGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLQtS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucGVuY2lsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0UHJvZmlsZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NjLWFjY29yZGlvbj5cbiAgICA8c2MtY29udHJhZ2VudHMtYWNjb3JkaW9uXG4gICAgICAgIChhZGRDb250cmFnZW50Q2xpY2spPVwiYWRkQ29udHJhZ2VudENsaWNrLmVtaXQoKVwiXG4gICAgICAgIChkZWxldGVDb250cmFnZW50Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljayk9XCJhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2spPVwiYWRkQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljayk9XCJkZWxldGVDb250cmFnZW50Q29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtY29udHJhZ2VudHMtYWNjb3JkaW9uPlxuICAgIDxzYy1kZWxpdmVyeS1hZGRyZXNzLWFjY29yZGlvblxuICAgICAgICAoYWRkRGVsaXZlcnlBZGRyZXNzQ2xpY2spPVwiYWRkRGVsaXZlcnlBZGRyZXNzQ2xpY2suZW1pdCgpXCJcbiAgICAgICAgKGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NsaWNrKT1cImRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2spPVwiYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChkZWxldGVEZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2spPVwiZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtZGVsaXZlcnktYWRkcmVzcy1hY2NvcmRpb24+XG4gICAgPHNjLWNvbnRhY3RzLWFjY29yZGlvblxuICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICBbY29udGFjdHMkXT1cInVzZXJDb250YWN0cyRcIlxuICAgICAgICAoYWRkQ29udGFjdENsaWNrKT1cImFkZFVzZXJDb250YWN0Q2xpY2suZW1pdCh1c2VyLmlkKVwiXG4gICAgICAgIChkZWxldGVCdXR0b25DbGljayk9XCJkZWxldGVVc2VyQ29udGFjdENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvc2MtY29udGFjdHMtYWNjb3JkaW9uPlxuICAgIDxzYy1hY2NvcmRpb25cbiAgICAgICAgI3Bhc3N3b3JkQWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICDQmNC30LzQtdC90LjRgtGMINC/0LDRgNC+0LvRjFxuICAgICAgICA8bmctdGVtcGxhdGUgc2NBY2NvcmRpb25Db250ZW50PlxuICAgICAgICAgICAgPHNjLXJlc2V0LXVzZXItcGFzc3dvcmQgKHN1Y2Nlc3NSZXNldFBhc3N3b3JkKT1cInBhc3N3b3JkQWNjb3JkaW9uLmNsb3NlKClcIj48L3NjLXJlc2V0LXVzZXItcGFzc3dvcmQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zYy1hY2NvcmRpb24+XG48L2Rpdj5cbiJdfQ==
@@ -8,11 +8,13 @@ import { ScAccordionModule } from '../accordion';
8
8
  import { ScContactsModule } from '../contacts';
9
9
  import { ScContragentsModule } from '../contragents';
10
10
  import { ScDeliveryAddressModule } from '../delivery-address';
11
- import { ScTerminalLinkDirective } from '../directives';
12
- import { ScTelLinkModule } from '../directives/tel-link/sc-tel-link.module';
11
+ import { ScLinks, ScTerminalLinkDirective } from '../directives';
13
12
  import { ScUserModule } from '../user';
14
13
  import { ScProfileAccordionsContentComponent } from './sc-profile-accordions-content/sc-profile-accordions-content.component';
15
14
  import * as i0 from "@angular/core";
15
+ import * as i1 from "../directives/links/sc-tel-link.directive";
16
+ import * as i2 from "../directives/links/sc-email-link.directive";
17
+ import * as i3 from "../pipes/sc-formatted-phone";
16
18
  /**
17
19
  * Модуль профиля пользователя.
18
20
  */
@@ -32,9 +34,7 @@ export class ScProfileModule {
32
34
  ReactiveFormsModule,
33
35
  TuiButton,
34
36
  ScContactsModule,
35
- ScTerminalLinkDirective,
36
- ScTelLinkModule,
37
- TuiCheckbox], exports: [ScProfileAccordionsContentComponent] }); }
37
+ ScTerminalLinkDirective, i1.ScTelLinkDirective, i2.ScEmailLinkDirective, i3.ScFormatePhonePipe, TuiCheckbox], exports: [ScProfileAccordionsContentComponent] }); }
38
38
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScProfileModule, imports: [CommonModule,
39
39
  ScUserModule,
40
40
  ScAccordionModule,
@@ -45,7 +45,6 @@ export class ScProfileModule {
45
45
  FormsModule,
46
46
  ReactiveFormsModule,
47
47
  ScContactsModule,
48
- ScTelLinkModule,
49
48
  TuiCheckbox] }); }
50
49
  }
51
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ScProfileModule, decorators: [{
@@ -68,10 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
68
67
  TuiButton,
69
68
  ScContactsModule,
70
69
  ScTerminalLinkDirective,
71
- ScTelLinkModule,
70
+ ...ScLinks,
72
71
  TuiCheckbox,
73
72
  ],
74
73
  exports: [ScProfileAccordionsContentComponent],
75
74
  }]
76
75
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvZmlsZS9zYy1wcm9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7O0FBRTlIOztHQUVHO0FBd0JILE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkF0QlQsbUNBQW1DLGFBRTlDLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsU0FBUztZQUNULE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLE9BQU87WUFDUCxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZixXQUFXLGFBRUwsbUNBQW1DO2dIQUVwQyxlQUFlLFlBcEJwQixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLFNBQVM7WUFJVCxPQUFPO1lBQ1AsV0FBVztZQUNYLG1CQUFtQjtZQUVuQixnQkFBZ0I7WUFFaEIsZUFBZTtZQUNmLFdBQVc7OzRGQUlOLGVBQWU7a0JBdkIzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNuRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLFNBQVM7d0JBQ1QsTUFBTTt3QkFDTixPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixXQUFXO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUdWlMZXQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSWNvbiwgVHVpTGFiZWwsIFR1aUxpbmssIFR1aUxvYWRlciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUNoZWNrYm94IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5cbmltcG9ydCB7IFNjQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi4vYWNjb3JkaW9uJztcbmltcG9ydCB7IFNjQ29udGFjdHNNb2R1bGUgfSBmcm9tICcuLi9jb250YWN0cyc7XG5pbXBvcnQgeyBTY0NvbnRyYWdlbnRzTW9kdWxlIH0gZnJvbSAnLi4vY29udHJhZ2VudHMnO1xuaW1wb3J0IHsgU2NEZWxpdmVyeUFkZHJlc3NNb2R1bGUgfSBmcm9tICcuLi9kZWxpdmVyeS1hZGRyZXNzJztcbmltcG9ydCB7IFNjVGVybWluYWxMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTY1RlbExpbmtNb2R1bGUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3RlbC1saW5rL3NjLXRlbC1saW5rLm1vZHVsZSc7XG5pbXBvcnQgeyBTY1VzZXJNb2R1bGUgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IFNjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudC9zYy1wcm9maWxlLWFjY29yZGlvbnMtY29udGVudC5jb21wb25lbnQnO1xuXG4vKipcbiAqINCc0L7QtNGD0LvRjCDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTY1VzZXJNb2R1bGUsXG4gICAgICAgIFNjQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBTY0NvbnRyYWdlbnRzTW9kdWxlLFxuICAgICAgICBTY0RlbGl2ZXJ5QWRkcmVzc01vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlMZXQsXG4gICAgICAgIFR1aUxpbmssXG4gICAgICAgIFR1aUxhYmVsLFxuICAgICAgICBUdWlJY29uLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBTY0NvbnRhY3RzTW9kdWxlLFxuICAgICAgICBTY1Rlcm1pbmFsTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgU2NUZWxMaW5rTW9kdWxlLFxuICAgICAgICBUdWlDaGVja2JveCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtTY1Byb2ZpbGVBY2NvcmRpb25zQ29udGVudENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJvZmlsZU1vZHVsZSB7fVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvcHJvZmlsZS9zYy1wcm9maWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7Ozs7O0FBRTlIOztHQUVHO0FBd0JILE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkF0QlQsbUNBQW1DLGFBRTlDLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsU0FBUztZQUNULE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLE9BQU87WUFDUCxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsdUJBQXVCLHlFQUV2QixXQUFXLGFBRUwsbUNBQW1DO2dIQUVwQyxlQUFlLFlBcEJwQixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLFNBQVM7WUFJVCxPQUFPO1lBQ1AsV0FBVztZQUNYLG1CQUFtQjtZQUVuQixnQkFBZ0I7WUFHaEIsV0FBVzs7NEZBSU4sZUFBZTtrQkF2QjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsU0FBUzt3QkFDVCxNQUFNO3dCQUNOLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixHQUFHLE9BQU87d0JBQ1YsV0FBVztxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHVpTGV0IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aUljb24sIFR1aUxhYmVsLCBUdWlMaW5rLCBUdWlMb2FkZXIgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUdWlDaGVja2JveCB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuXG5pbXBvcnQgeyBTY0FjY29yZGlvbk1vZHVsZSB9IGZyb20gJy4uL2FjY29yZGlvbic7XG5pbXBvcnQgeyBTY0NvbnRhY3RzTW9kdWxlIH0gZnJvbSAnLi4vY29udGFjdHMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50c01vZHVsZSB9IGZyb20gJy4uL2NvbnRyYWdlbnRzJztcbmltcG9ydCB7IFNjRGVsaXZlcnlBZGRyZXNzTW9kdWxlIH0gZnJvbSAnLi4vZGVsaXZlcnktYWRkcmVzcyc7XG5pbXBvcnQgeyBTY0xpbmtzLCBTY1Rlcm1pbmFsTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU2NVc2VyTW9kdWxlIH0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQgeyBTY1Byb2ZpbGVBY2NvcmRpb25zQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50JztcblxuLyoqXG4gKiDQnNC+0LTRg9C70Ywg0L/RgNC+0YTQuNC70Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1NjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgU2NVc2VyTW9kdWxlLFxuICAgICAgICBTY0FjY29yZGlvbk1vZHVsZSxcbiAgICAgICAgU2NDb250cmFnZW50c01vZHVsZSxcbiAgICAgICAgU2NEZWxpdmVyeUFkZHJlc3NNb2R1bGUsXG4gICAgICAgIFR1aUxvYWRlcixcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlMYWJlbCxcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgU2NDb250YWN0c01vZHVsZSxcbiAgICAgICAgU2NUZXJtaW5hbExpbmtEaXJlY3RpdmUsXG4gICAgICAgIC4uLlNjTGlua3MsXG4gICAgICAgIFR1aUNoZWNrYm94LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1NjUHJvZmlsZUFjY29yZGlvbnNDb250ZW50Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlTW9kdWxlIHt9XG4iXX0=
@@ -11,6 +11,7 @@ export * from './contacts';
11
11
  export * from './delivery-address';
12
12
  export * from './dialogs';
13
13
  export * from './directives';
14
+ export * from './error-handler';
14
15
  export * from './files';
15
16
  export * from './form-fields';
16
17
  export * from './icons';
@@ -27,4 +28,4 @@ export * from './user';
27
28
  export * from './validators';
28
29
  export * from './verification';
29
30
  export * from './profile';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYmFubmVyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FydCc7XG5leHBvcnQgKiBmcm9tICcuL2NhdGFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmFnZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVsaXZlcnktYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL2ljb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYnJhbmRzLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXdzJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NhbXBsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcmlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5uZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyYWdlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWxpdmVyeS1hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9ncyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL2ljb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vYnJhbmRzLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9uZXdzJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NhbXBsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9xcmNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlcmlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3Byb2ZpbGUnO1xuIl19