barsa-develop-components 1.0.455 → 1.0.457
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/barsa-develop-components.mjs +3774 -0
- package/fesm2022/barsa-develop-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/accept-reject/accept-reject.component.d.ts +28 -28
- package/lib/avatar/avatar.component.d.ts +12 -12
- package/lib/barcode-format-pipe.d.ts +7 -7
- package/lib/barcode-reader/barcode-reader.component.d.ts +19 -19
- package/lib/barcode-reader-dialog/barcode-reader-dialog.component.d.ts +32 -32
- package/lib/barcode-reader-video/barcode-reader-video.component.d.ts +22 -22
- package/lib/barcode.service.d.ts +98 -98
- package/lib/barsa-develop-components.module.d.ts +120 -117
- package/lib/barsa-document-list-item/barsa-document-list-item.component.d.ts +39 -39
- package/lib/barsa-documents/barsa-documents.component.d.ts +47 -47
- package/lib/barsa-geographic-location/barsa-geographic-location.component.d.ts +46 -46
- package/lib/card-content-image-and-title/card-content-image-and-title.component.d.ts +18 -18
- package/lib/card-content-line-chart/card-content-line-chart.component.d.ts +9 -9
- package/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.d.ts +6 -6
- package/lib/card-header-kpi/card-header-kpi.component.d.ts +14 -14
- package/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.d.ts +23 -23
- package/lib/checkbox-button/checkbox-button.component.d.ts +13 -13
- package/lib/column-chip/column-chip.component.d.ts +17 -0
- package/lib/column-form-viewer/column-form-viewer.component.d.ts +30 -30
- package/lib/column-progressbar/column-progressbar.component.d.ts +41 -0
- package/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.d.ts +8 -8
- package/lib/footer/footer.component.d.ts +15 -15
- package/lib/form-card/form-card.component.d.ts +8 -8
- package/lib/form-chart-content/form-chart-content.component.d.ts +9 -9
- package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +18 -18
- package/lib/form-report-view/form-report-view.component.d.ts +13 -13
- package/lib/form-report-view-item/form-report-view-item.component.d.ts +15 -15
- package/lib/g4b-details/g4b-details.component.d.ts +9 -9
- package/lib/g4b-estelam/g4b-estelam.component.d.ts +11 -11
- package/lib/geographic-location/geographic-location.component.d.ts +34 -34
- package/lib/login-form/login-form.component.d.ts +12 -12
- package/lib/login-social-conncetions/login-social-conncetions.component.d.ts +12 -12
- package/lib/master-detail-card-form/master-detail-card-form.component.d.ts +8 -8
- package/lib/media-file-uploader/media-file-uploader.component.d.ts +52 -52
- package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +28 -28
- package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +14 -14
- package/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.d.ts +9 -9
- package/lib/models/document-item.d.ts +19 -19
- package/lib/models/documents-setting.d.ts +11 -11
- package/lib/models/form-report-view-setting.d.ts +7 -7
- package/lib/models/index.d.ts +7 -7
- package/lib/models/micro-process-flow-view-setting.d.ts +8 -8
- package/lib/models/person.d.ts +10 -10
- package/lib/models/service-desk-view-of-services-setting.d.ts +6 -6
- package/lib/models/tab-process-view-setting.d.ts +7 -7
- package/lib/pipes/datasource-to-flow-item.d.ts +10 -10
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/mo-list-to-flow-item.pipe.d.ts +10 -10
- package/lib/query-string-form-observable/query-string-form-observable.component.d.ts +13 -13
- package/lib/query-string-observable/query-string-observable.component.d.ts +9 -9
- package/lib/report-button-view/report-button-view.component.d.ts +12 -12
- package/lib/report-line-chart-view/report-line-chart-view.component.d.ts +7 -7
- package/lib/report-tab-view/report-tab-view.component.d.ts +15 -15
- package/lib/resend-verification-code/resend-verification-code.component.d.ts +19 -18
- package/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.d.ts +15 -15
- package/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.d.ts +26 -26
- package/lib/service-desk-header/service-desk-header.component.d.ts +61 -63
- package/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.d.ts +39 -39
- package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +16 -16
- package/lib/setting-form/setting-form.component.d.ts +20 -20
- package/lib/subform-in-row-report/subform-in-row-report.component.d.ts +22 -21
- package/lib/tab-process-view/tab-process-view.component.d.ts +20 -20
- package/lib/table-view-vertical-columns/table-view-vertical-columns.component.d.ts +6 -6
- package/lib/timer-count-down/timer-count-down.component.d.ts +16 -15
- package/lib/token-report-view/token-report-view.component.d.ts +15 -15
- package/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.d.ts +9 -9
- package/lib/ui-num-rate/ui-num-rate.component.d.ts +9 -9
- package/lib/ui-person/ui-person.component.d.ts +31 -31
- package/lib/ui-person/ui-person.pipe.d.ts +7 -7
- package/lib/ui-pictures-carousel/ui-pictures-carousel.component.d.ts +6 -6
- package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +17 -17
- package/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.d.ts +25 -25
- package/package.json +5 -13
- package/public-api.d.ts +60 -58
- package/esm2020/barsa-develop-components.mjs +0 -5
- package/esm2020/lib/accept-reject/accept-reject.component.mjs +0 -69
- package/esm2020/lib/avatar/avatar.component.mjs +0 -29
- package/esm2020/lib/barcode-format-pipe.mjs +0 -24
- package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +0 -62
- package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +0 -82
- package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +0 -66
- package/esm2020/lib/barcode.service.mjs +0 -330
- package/esm2020/lib/barsa-develop-components.module.mjs +0 -284
- package/esm2020/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +0 -104
- package/esm2020/lib/barsa-documents/barsa-documents.component.mjs +0 -173
- package/esm2020/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -174
- package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +0 -51
- package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +0 -38
- package/esm2020/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +0 -20
- package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +0 -41
- package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +0 -46
- package/esm2020/lib/checkbox-button/checkbox-button.component.mjs +0 -23
- package/esm2020/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
- package/esm2020/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +0 -18
- package/esm2020/lib/footer/footer.component.mjs +0 -44
- package/esm2020/lib/form-card/form-card.component.mjs +0 -18
- package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +0 -38
- package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +0 -102
- package/esm2020/lib/form-report-view/form-report-view.component.mjs +0 -26
- package/esm2020/lib/form-report-view-item/form-report-view-item.component.mjs +0 -45
- package/esm2020/lib/g4b-details/g4b-details.component.mjs +0 -28
- package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +0 -30
- package/esm2020/lib/geographic-location/geographic-location.component.mjs +0 -88
- package/esm2020/lib/login-form/login-form.component.mjs +0 -55
- package/esm2020/lib/login-social-conncetions/login-social-conncetions.component.mjs +0 -30
- package/esm2020/lib/master-detail-card-form/master-detail-card-form.component.mjs +0 -17
- package/esm2020/lib/media-file-uploader/media-file-uploader.component.mjs +0 -238
- package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +0 -53
- package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +0 -24
- package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +0 -23
- package/esm2020/lib/models/document-item.mjs +0 -2
- package/esm2020/lib/models/documents-setting.mjs +0 -2
- package/esm2020/lib/models/form-report-view-setting.mjs +0 -2
- package/esm2020/lib/models/index.mjs +0 -8
- package/esm2020/lib/models/micro-process-flow-view-setting.mjs +0 -2
- package/esm2020/lib/models/person.mjs +0 -2
- package/esm2020/lib/models/service-desk-view-of-services-setting.mjs +0 -2
- package/esm2020/lib/models/tab-process-view-setting.mjs +0 -2
- package/esm2020/lib/pipes/datasource-to-flow-item.mjs +0 -22
- package/esm2020/lib/pipes/index.mjs +0 -3
- package/esm2020/lib/pipes/mo-list-to-flow-item.pipe.mjs +0 -22
- package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +0 -37
- package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +0 -22
- package/esm2020/lib/report-button-view/report-button-view.component.mjs +0 -38
- package/esm2020/lib/report-line-chart-view/report-line-chart-view.component.mjs +0 -13
- package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +0 -28
- package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +0 -59
- package/esm2020/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +0 -28
- package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +0 -110
- package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +0 -236
- package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +0 -142
- package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +0 -37
- package/esm2020/lib/setting-form/setting-form.component.mjs +0 -64
- package/esm2020/lib/subform-in-row-report/subform-in-row-report.component.mjs +0 -65
- package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +0 -49
- package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +0 -16
- package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +0 -98
- package/esm2020/lib/token-report-view/token-report-view.component.mjs +0 -27
- package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +0 -25
- package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +0 -29
- package/esm2020/lib/ui-person/ui-person.component.mjs +0 -160
- package/esm2020/lib/ui-person/ui-person.pipe.mjs +0 -40
- package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +0 -17
- package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +0 -42
- package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +0 -70
- package/esm2020/public-api.mjs +0 -62
- package/fesm2015/barsa-develop-components.mjs +0 -3660
- package/fesm2015/barsa-develop-components.mjs.map +0 -1
- package/fesm2020/barsa-develop-components.mjs +0 -3625
- package/fesm2020/barsa-develop-components.mjs.map +0 -1
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ViewChild, ViewChildren, RendererStyleFlags2, Input } from '@angular/core';
|
|
2
|
-
import { takeUntil } from 'rxjs';
|
|
3
|
-
import { TabPanelComponent } from '@fundamental-ngx/core';
|
|
4
|
-
import { TilesViewerContainerComponent, TilesViewerService, TilesViewerGroupComponent } from 'barsa-tiles';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "barsa-novin-ray-core";
|
|
7
|
-
import * as i2 from "barsa-tiles";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@angular/router";
|
|
10
|
-
import * as i5 from "@angular/forms";
|
|
11
|
-
import * as i6 from "@fundamental-ngx/core/input-group";
|
|
12
|
-
import * as i7 from "@fundamental-ngx/core/tabs";
|
|
13
|
-
import * as i8 from "@fundamental-ngx/core/toolbar";
|
|
14
|
-
export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
|
|
15
|
-
constructor(_portalService, _tilesService, _tilesViewerService, _renderer, _viewportScroller, _cdr, _router, _activatedRoute) {
|
|
16
|
-
super(_portalService, _tilesService, _tilesViewerService);
|
|
17
|
-
this._portalService = _portalService;
|
|
18
|
-
this._tilesService = _tilesService;
|
|
19
|
-
this._tilesViewerService = _tilesViewerService;
|
|
20
|
-
this._renderer = _renderer;
|
|
21
|
-
this._viewportScroller = _viewportScroller;
|
|
22
|
-
this._cdr = _cdr;
|
|
23
|
-
this._router = _router;
|
|
24
|
-
this._activatedRoute = _activatedRoute;
|
|
25
|
-
this.selectedTabIndex = 0;
|
|
26
|
-
this.heightOfSpaceHolder = 88;
|
|
27
|
-
this.searchTerm = '';
|
|
28
|
-
this._enableScroll = false;
|
|
29
|
-
this._stickyTopPosition = 66;
|
|
30
|
-
this.observerList = [];
|
|
31
|
-
this.appGroups = [];
|
|
32
|
-
const root = document.documentElement;
|
|
33
|
-
root.style.setProperty('--absolute-page-top', this._stickyTopPosition + 'px');
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
super.ngOnInit();
|
|
37
|
-
this._portalService.searchTerm$.pipe(takeUntil(this._onDestroy$)).subscribe((term) => {
|
|
38
|
-
this.searchTerm = term;
|
|
39
|
-
this._cdr.detectChanges();
|
|
40
|
-
});
|
|
41
|
-
this.appTileGroups$.subscribe((appTileGroups) => {
|
|
42
|
-
appTileGroups.forEach((c) => this._tilesViewerService.loadAppGroup(c));
|
|
43
|
-
this.appGroups = appTileGroups;
|
|
44
|
-
});
|
|
45
|
-
this._renderer.setStyle(this.navHolder.nativeElement, 'top', this._stickyTopPosition + 'px');
|
|
46
|
-
this.setGridTemplateRows(this.heightOfSpaceHolder);
|
|
47
|
-
this.deviceSize$ = this._portalService.deviceSize$;
|
|
48
|
-
this._portalService.deviceSize$.subscribe((c) => {
|
|
49
|
-
let newHeight = this.heightOfSpaceHolder;
|
|
50
|
-
this.tabSize = c;
|
|
51
|
-
if (c === 's') {
|
|
52
|
-
newHeight = 88;
|
|
53
|
-
}
|
|
54
|
-
else if (c === 'm') {
|
|
55
|
-
newHeight = 220;
|
|
56
|
-
}
|
|
57
|
-
else if (c === 'l') {
|
|
58
|
-
newHeight = 250;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
newHeight = 325;
|
|
62
|
-
}
|
|
63
|
-
newHeight = 88;
|
|
64
|
-
if (this.heightOfSpaceHolder !== newHeight) {
|
|
65
|
-
this.heightOfSpaceHolder = newHeight;
|
|
66
|
-
this.setGridTemplateRows(newHeight);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
ngAfterViewInit() {
|
|
71
|
-
const deviceSize = this._portalService.deviceSize;
|
|
72
|
-
let stickyTopPosition = 20;
|
|
73
|
-
if (deviceSize === 's') {
|
|
74
|
-
stickyTopPosition = 60;
|
|
75
|
-
}
|
|
76
|
-
this._stickyDom(this.aboveSearch.nativeElement, this.searchHolder.nativeElement, -stickyTopPosition, 'sticky');
|
|
77
|
-
this._stickyDom(this.aboveContent.nativeElement, this.navHolder.nativeElement, -this._stickyTopPosition, 'sticky');
|
|
78
|
-
this._stickyDom(this.aboveContent.nativeElement, this.bgOuterHolder.nativeElement, -this._stickyTopPosition, 'sticky', () => {
|
|
79
|
-
this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', this._stickyTopPosition + 'px');
|
|
80
|
-
}, () => {
|
|
81
|
-
this._renderer.setStyle(this.bgOuterHolder.nativeElement, 'height', '100%');
|
|
82
|
-
});
|
|
83
|
-
this._stickyDom(this.aboveSearch.nativeElement, this.contentAndNav.nativeElement, -stickyTopPosition, 'navAndContent_tb', () => {
|
|
84
|
-
this._renderer.removeAttribute(this.contentAndNav.nativeElement, 'first');
|
|
85
|
-
}, () => {
|
|
86
|
-
this._renderer.setAttribute(this.contentAndNav.nativeElement, 'first', 'true');
|
|
87
|
-
});
|
|
88
|
-
setTimeout(() => {
|
|
89
|
-
this._enableScroll = true;
|
|
90
|
-
}, 1000);
|
|
91
|
-
this._portalService.navigationStart$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {
|
|
92
|
-
this._lastScrollPos = window.scrollY;
|
|
93
|
-
if (event === null) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if (event?.url !== '/servicedesk' && event?.url !== '/' && !this._disableIntersection) {
|
|
97
|
-
this.prepareForm();
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {
|
|
101
|
-
if (event !== null &&
|
|
102
|
-
(event?.url === '/servicedesk' || event?.url === '/' || event.urlAfterRedirects === '/servicedesk')) {
|
|
103
|
-
this.unPrepareForm();
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
onSearchSubmit() {
|
|
108
|
-
this._router.navigateByUrl('servicedesk/search?term=' + this.searchTerm);
|
|
109
|
-
// var searchMo = BarsaApi.Bw.RunBlMethod('GetSearchMo', this.searchTerm);
|
|
110
|
-
// BarsaApi.Bw.Form.Show({ Mo: searchMo });
|
|
111
|
-
}
|
|
112
|
-
prepareForm() {
|
|
113
|
-
this._disableIntersection = true;
|
|
114
|
-
this._cdr.detach();
|
|
115
|
-
this.disconnectIntersctionObserverList();
|
|
116
|
-
this._renderer.addClass(this.searchHolder.nativeElement, 'sticky');
|
|
117
|
-
this._renderer.addClass(this.contentAndNav.nativeElement, 'hide');
|
|
118
|
-
this.visibleContent(false);
|
|
119
|
-
const flags = RendererStyleFlags2.Important;
|
|
120
|
-
this._renderer.setStyle(document.body, 'overflow', 'hidden', flags);
|
|
121
|
-
this.scrollToTop();
|
|
122
|
-
}
|
|
123
|
-
unPrepareForm() {
|
|
124
|
-
// this.setHeightSearchHolder(this.heightOfSpaceHolder);
|
|
125
|
-
this.visibleContent(true);
|
|
126
|
-
// this._renderer.removeClass(this.searchHolder.nativeElement, 'sticky');
|
|
127
|
-
this._renderer.removeClass(this.searchHolder.nativeElement, 'hide');
|
|
128
|
-
this._renderer.removeClass(this.contentAndNav.nativeElement, 'hide');
|
|
129
|
-
const flags = RendererStyleFlags2.Important;
|
|
130
|
-
this._renderer.setStyle(document.body, 'overflow', 'auto', flags);
|
|
131
|
-
this.scrollToTop();
|
|
132
|
-
this._cdr.reattach();
|
|
133
|
-
this._disableIntersection = false;
|
|
134
|
-
this.connectIntersctionObserverList();
|
|
135
|
-
}
|
|
136
|
-
setHeightSearchHolder(height) {
|
|
137
|
-
this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);
|
|
138
|
-
}
|
|
139
|
-
visibleContent(visible) {
|
|
140
|
-
this._renderer.setStyle(this.contentAndNav.nativeElement, 'display', visible ? 'flex' : 'none');
|
|
141
|
-
}
|
|
142
|
-
setGridTemplateRows(height) {
|
|
143
|
-
this._renderer.setStyle(this.headerGrid.nativeElement, 'grid-template-rows', `minmax(78px, 15%) 46px 32px 1fr auto 12%; height:${height}px`);
|
|
144
|
-
// this._renderer.setStyle(this.headerGrid.nativeElement, 'background-color', `red`);
|
|
145
|
-
this._renderer.setStyle(this.headerSpaceHolder.nativeElement, 'height', `${height}px`);
|
|
146
|
-
}
|
|
147
|
-
onSelectedTabChange3(selectedTab) {
|
|
148
|
-
this.scrollToTop();
|
|
149
|
-
if (selectedTab.id === '0') {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const elementRefOfselectedTileGroup = this.tilesViewerGroupElList.get(Number(selectedTab.id))?.nativeElement;
|
|
153
|
-
elementRefOfselectedTileGroup.scrollIntoView({
|
|
154
|
-
block: 'start'
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
scrollToLastPos() {
|
|
158
|
-
this._viewportScroller.scrollToPosition([0, this._lastScrollPos]);
|
|
159
|
-
}
|
|
160
|
-
scrollToTop() {
|
|
161
|
-
if (this._enableScroll) {
|
|
162
|
-
this._viewportScroller.scrollToPosition([0, this.heightOfSpaceHolder - this._stickyTopPosition]);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
disconnectIntersctionObserverList() {
|
|
166
|
-
this.observerList.forEach((c) => c.observer.disconnect());
|
|
167
|
-
}
|
|
168
|
-
connectIntersctionObserverList() {
|
|
169
|
-
this.observerList.forEach((c) => c.observer.observe(c.el));
|
|
170
|
-
}
|
|
171
|
-
_stickyDom(above, holder, marginTop, className, visibleCallback, hiddenCallBack) {
|
|
172
|
-
const handler = (entries) => {
|
|
173
|
-
if (this._disableIntersection) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
if (!entries[0].isIntersecting) {
|
|
177
|
-
this._renderer.addClass(holder, className);
|
|
178
|
-
if (typeof visibleCallback === 'function') {
|
|
179
|
-
visibleCallback();
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
this._renderer.removeClass(holder, className);
|
|
184
|
-
if (typeof hiddenCallBack === 'function') {
|
|
185
|
-
hiddenCallBack();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
const options = {
|
|
190
|
-
rootMargin: `${marginTop}px 0px 0px 0px`,
|
|
191
|
-
threshold: 0.1
|
|
192
|
-
};
|
|
193
|
-
const observer = new window.IntersectionObserver(handler, options);
|
|
194
|
-
observer.observe(above);
|
|
195
|
-
this.observerList.push({ el: above, observer });
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
ServiceDeskHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskHeaderComponent, deps: [{ token: i1.PortalService }, { token: i2.TilesService }, { token: i2.TilesViewerService }, { token: i0.Renderer2 }, { token: i3.ViewportScroller }, { token: i0.ChangeDetectorRef }, { token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
-
ServiceDeskHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", inputs: { settings: "settings" }, providers: [TilesViewerService], viewQueries: [{ propertyName: "headerSpaceHolder", first: true, predicate: ["headerSpaceHolder"], descendants: true, static: true }, { propertyName: "headerGrid", first: true, predicate: ["headerGrid"], descendants: true, static: true }, { propertyName: "aboveSearch", first: true, predicate: ["aboveSearch"], descendants: true, static: true }, { propertyName: "searchHolder", first: true, predicate: ["searchHolder"], descendants: true, static: true }, { propertyName: "navHolder", first: true, predicate: ["navHolder"], descendants: true, static: true }, { propertyName: "aboveContent", first: true, predicate: ["aboveContent"], descendants: true, static: true }, { propertyName: "bgOuterHolder", first: true, predicate: ["bgOuterHolder"], descendants: true, static: true }, { propertyName: "contentAndNav", first: true, predicate: ["contentAndNav"], descendants: true, static: true }, { propertyName: "tilesViewerGroupElList", predicate: TilesViewerGroupComponent, descendants: true, read: ElementRef }, { propertyName: "tabPanelComponents", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n <fd-tab\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\n [id]=\"'' + i\"\n [title]=\"appTileGroup.navigatorTitle\"\n >\n </fd-tab>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n <bt-tiles-viewer-group\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:rgba(0,0,0,.318);display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:rgb(247,247,247)}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:rgb(247,247,247);position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i6.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i7.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i7.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskHeaderComponent, decorators: [{
|
|
201
|
-
type: Component,
|
|
202
|
-
args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(1px, 15%) 48px 32px 1fr auto 12%; height: 148px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fd-input-group\n [style.display]=\"settings?.HideSearch ? 'none' : null\"\n class=\"input-search\"\n contentDensity=\"cozy\"\n fd-toolbar-item\n type=\"search\"\n glyph=\"search\"\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"onSearchSubmit()\"\n >\n </fd-input-group>\n </div>\n</div>\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\n <div id=\"bgOuterHolder\" #bgOuterHolder>\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\n <div class=\"backgroundImage\" id=\"backgroundImage\">\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\n </div>\n </div>\n </div>\n</div>\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\n <div class=\"aboveContent\" #aboveContent></div>\n <div id=\"contentHolder\">\n <div class=\"nav\" #navHolder>\n <div class=\"nav-container\">\n <ng-container\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\n <div class=\"content-feed\">\n <ng-container\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\n ></ng-container>\n </div>\n </div>\n</div>\n<ng-template #renderTabs let-appTileGroups>\n <fd-tab-list\n [size]=\"tabSize\"\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\n >\n <fd-tab\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\n [id]=\"'' + i\"\n [title]=\"appTileGroup.navigatorTitle\"\n >\n </fd-tab>\n </fd-tab-list>\n</ng-template>\n<ng-template #renderGroups let-appTileGroups>\n <bt-tiles-viewer-group\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\n [attr.index]=\"i\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n ></bt-tiles-viewer-group>\n</ng-template>\n", styles: ["html{scroll-behavior:smooth}body{overflow-y:auto!important;overflow-x:hidden!important}bt-shellbar{position:fixed;top:10px;width:100%;z-index:6}bt-shellbar .fd-shellbar{background:transparent;box-shadow:none}bt-shellbar .fd-shellbar__product{display:none}bdc-service-desk-header{display:block}bdc-service-desk-header #headerGrid{display:grid;justify-items:center;position:absolute;top:0;width:100%}bdc-service-desk-header #headerSpaceHolder{transition:height .3s ease-out 0s;width:100%}bdc-service-desk-header #searchHolder{z-index:302}bdc-service-desk-header #searchHolder.sticky{position:fixed;top:15px;will-change:transform}bdc-service-desk-header #contentHolderAndNav{align-items:center;background:rgba(0,0,0,.318);display:flex;flex-direction:column;min-height:100vh;position:relative;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list{background-color:transparent!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav fd-tab-list fd-tab,bdc-service-desk-header #contentHolderAndNav fd-tab-list .fd-tabs{background-color:transparent!important;box-shadow:none!important;transition:background-color .3s ease-out 0s}bdc-service-desk-header #contentHolderAndNav[first=true] span.fd-tabs__tag{color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-tabs__link.is-selected>span.fd-tabs__tag:after{background-color:#fff!important}bdc-service-desk-header #contentHolderAndNav[first=true] .fd-layout-panel__title{color:#fff!important}bdc-service-desk-header #contentHolderAndNav.navAndContent_tb{background:rgb(247,247,247)}bdc-service-desk-header #contentHolder{align-items:center;display:flex;flex-direction:column}bdc-service-desk-header .nav-container{align-items:center;display:flex;gap:5px}bdc-service-desk-header .nav-container fd-tab-list{width:100%}bdc-service-desk-header .nav_surrogate{height:1px}bdc-service-desk-header .nav{display:flex;height:50px;justify-content:center;z-index:500;width:100%}bdc-service-desk-header .nav ul{height:auto;overflow:hidden;list-style:none;padding-inline:0px 15px;margin:0;display:inline-flex;align-items:center}bdc-service-desk-header .nav ul li{display:inline;list-style:none;padding:0 16px;color:#fff}bdc-service-desk-header .nav.sticky{background:rgb(247,247,247);position:fixed;will-change:transform}bt-tiles-viewer-group:first-child fd-layout-panel-header{display:none!important}bt-tiles-viewer-group:first-child .fd-panel__content{border-bottom:none}.content-feed{padding:0}.input-search{display:block}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.nav-container .fd-tabs,.content-feed .fd-tabs{padding:0}#searchHolder.sticky{display:none}#searchHolder .input-search{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .input-search{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .input-search{width:480px}}@media (min-width: 1251px){#searchHolder .input-search{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .input-search{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:860px}}@media (min-width: 1244px){.nav-container,.content-feed{width:1250px}#searchHolder.sticky .input-search{width:690px}}\n"] }]
|
|
203
|
-
}], ctorParameters: function () { return [{ type: i1.PortalService }, { type: i2.TilesService }, { type: i2.TilesViewerService }, { type: i0.Renderer2 }, { type: i3.ViewportScroller }, { type: i0.ChangeDetectorRef }, { type: i4.Router }, { type: i4.ActivatedRoute }]; }, propDecorators: { headerSpaceHolder: [{
|
|
204
|
-
type: ViewChild,
|
|
205
|
-
args: ['headerSpaceHolder', { static: true }]
|
|
206
|
-
}], headerGrid: [{
|
|
207
|
-
type: ViewChild,
|
|
208
|
-
args: ['headerGrid', { static: true }]
|
|
209
|
-
}], aboveSearch: [{
|
|
210
|
-
type: ViewChild,
|
|
211
|
-
args: ['aboveSearch', { static: true }]
|
|
212
|
-
}], searchHolder: [{
|
|
213
|
-
type: ViewChild,
|
|
214
|
-
args: ['searchHolder', { static: true }]
|
|
215
|
-
}], navHolder: [{
|
|
216
|
-
type: ViewChild,
|
|
217
|
-
args: ['navHolder', { static: true }]
|
|
218
|
-
}], aboveContent: [{
|
|
219
|
-
type: ViewChild,
|
|
220
|
-
args: ['aboveContent', { static: true }]
|
|
221
|
-
}], bgOuterHolder: [{
|
|
222
|
-
type: ViewChild,
|
|
223
|
-
args: ['bgOuterHolder', { static: true }]
|
|
224
|
-
}], contentAndNav: [{
|
|
225
|
-
type: ViewChild,
|
|
226
|
-
args: ['contentAndNav', { static: true }]
|
|
227
|
-
}], tilesViewerGroupElList: [{
|
|
228
|
-
type: ViewChildren,
|
|
229
|
-
args: [TilesViewerGroupComponent, { read: ElementRef }]
|
|
230
|
-
}], tabPanelComponents: [{
|
|
231
|
-
type: ViewChildren,
|
|
232
|
-
args: [TabPanelComponent]
|
|
233
|
-
}], settings: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDbkIsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7O0FBVXJCLE1BQU0sT0FBTywwQkFBMkIsU0FBUSw2QkFBNkI7SUE0QnpFLFlBQ2MsY0FBNkIsRUFDN0IsYUFBMkIsRUFDM0IsbUJBQXVDLEVBQ3ZDLFNBQW9CLEVBQ3RCLGlCQUFtQyxFQUNuQyxJQUF1QixFQUN2QixPQUFlLEVBQ2YsZUFBK0I7UUFFdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQVRoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGNB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RSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0wsVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNHLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0QsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNLLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNtQixzQkFBc0I7c0JBQXBGLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUc1QixrQkFBa0I7c0JBQWxELFlBQVk7dUJBQUMsaUJBQWlCO2dCQUN0QixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcclxuICAgIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50LCBUYWJTaXplcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgVGlsZXNTZXJ2aWNlLFxyXG4gICAgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudFxyXG59IGZyb20gJ2JhcnNhLXRpbGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtc2VydmljZS1kZXNrLWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza0hlYWRlckNvbXBvbmVudCBleHRlbmRzIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlclNwYWNlSG9sZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgaGVhZGVyU3BhY2VIb2xkZXI6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckdyaWQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJHcmlkOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdhYm92ZVNlYXJjaCcsIHsgc3RhdGljOiB0cnVlIH0pIGFib3ZlU2VhcmNoOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdzZWFyY2hIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZWFyY2hIb2xkZXI6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ25hdkhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIG5hdkhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnYWJvdmVDb250ZW50JywgeyBzdGF0aWM6IHRydWUgfSkgYWJvdmVDb250ZW50OiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdiZ091dGVySG9sZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgYmdPdXRlckhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnY29udGVudEFuZE5hdicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnRBbmROYXY6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRpbGVzVmlld2VyR3JvdXBFbExpc3Q6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuICAgIC8vIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS1jb250ZW50JykgcGFnZUNvbnRlbnRDbGFzcyA9IHRydWU7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbihUYWJQYW5lbENvbXBvbmVudCkgdGFiUGFuZWxDb21wb25lbnRzOiBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+O1xyXG4gICAgQElucHV0KCkgc2V0dGluZ3M6IFNlcnZpY2VEZXNrSGVhZGVyU2V0dGluZztcclxuICAgIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xyXG4gICAgaGVpZ2h0T2ZTcGFjZUhvbGRlciA9IDg4O1xyXG4gICAgdGFiU2l6ZTogVGFiU2l6ZXM7XHJcbiAgICBzZWFyY2hUZXJtJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgc2VhcmNoVGVybSA9ICcnO1xyXG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8QWJicmV2YXRpb25EZXZpY2VTaXplPjtcclxuICAgIHByaXZhdGUgX2VuYWJsZVNjcm9sbCA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZUludGVyc2VjdGlvbjogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2lzRm9ybU9wZW5lZDogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX3N0aWNreVRvcFBvc2l0aW9uID0gNjY7XHJcbiAgICBwcml2YXRlIG9ic2VydmVyTGlzdDogeyBlbDogYW55OyBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfVtdID0gW107XHJcbiAgICBwcml2YXRlIF9sYXN0U2Nyb2xsUG9zOiBudW1iZXI7XHJcbiAgICBhcHBHcm91cHM6IGFueVtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNTZXJ2aWNlOiBUaWxlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF90aWxlc1ZpZXdlclNlcnZpY2U6IFRpbGVzVmlld2VyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBfdmlld3BvcnRTY3JvbGxlcjogVmlld3BvcnRTY3JvbGxlcixcclxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX3BvcnRhbFNlcnZpY2UsIF90aWxlc1NlcnZpY2UsIF90aWxlc1ZpZXdlclNlcnZpY2UpO1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hYnNvbHV0ZS1wYWdlLXRvcCcsIHRoaXMuX3N0aWNreVRvcFBvc2l0aW9uICsgJ3B4Jyk7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2Uuc2VhcmNoVGVybSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodGVybSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB0ZXJtO1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyQuc3Vic2NyaWJlKChhcHBUaWxlR3JvdXBzKSA9PiB7XHJcbiAgICAgICAgICAgIGFwcFRpbGVHcm91cHMuZm9yRWFjaCgoYykgPT4gdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLmxvYWRBcHBHcm91cChjKSk7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwR3JvdXBzID0gYXBwVGlsZUdyb3VwcztcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm5hdkhvbGRlci5uYXRpdmVFbGVtZW50LCAndG9wJywgdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24gKyAncHgnKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKHRoaXMuaGVpZ2h0T2ZTcGFjZUhvbGRlcik7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgbGV0IG5ld0hlaWdodCA9IHRoaXMuaGVpZ2h0T2ZTcGFjZUhvbGRlcjtcclxuICAgICAgICAgICAgdGhpcy50YWJTaXplID0gYztcclxuICAgICAgICAgICAgaWYgKGMgPT09ICdzJykge1xyXG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gODg7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ20nKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyMjA7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ2wnKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyNTA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAzMjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmV3SGVpZ2h0ID0gODg7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgIT09IG5ld0hlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyID0gbmV3SGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKG5ld0hlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkZXZpY2VTaXplID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplO1xyXG4gICAgICAgIGxldCBzdGlja3lUb3BQb3NpdGlvbiA9IDIwO1xyXG4gICAgICAgIGlmIChkZXZpY2VTaXplID09PSAncycpIHtcclxuICAgICAgICAgICAgc3RpY2t5VG9wUG9zaXRpb24gPSA2MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKHRoaXMuYWJvdmVTZWFyY2gubmF0aXZlRWxlbWVudCwgdGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgLXN0aWNreVRvcFBvc2l0aW9uLCAnc3RpY2t5Jyk7XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKFxyXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB0aGlzLm5hdkhvbGRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICdzdGlja3knXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9zdGlja3lEb20oXHJcbiAgICAgICAgICAgIHRoaXMuYWJvdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICdzdGlja3knLFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIHRoaXMuX3N0aWNreVRvcFBvc2l0aW9uICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKFxyXG4gICAgICAgICAgICB0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICduYXZBbmRDb250ZW50X3RiJyxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnZmlyc3QnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnZmlyc3QnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZW5hYmxlU2Nyb2xsID0gdHJ1ZTtcclxuICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlnYXRpb25TdGFydCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbGFzdFNjcm9sbFBvcyA9IHdpbmRvdy5zY3JvbGxZO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQ/LnVybCAhPT0gJy9zZXJ2aWNlZGVzaycgJiYgZXZlbnQ/LnVybCAhPT0gJy8nICYmICF0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmVGb3JtKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlnYXRpb25FbmQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGV2ZW50ICE9PSBudWxsICYmXHJcbiAgICAgICAgICAgICAgICAoZXZlbnQ/LnVybCA9PT0gJy9zZXJ2aWNlZGVzaycgfHwgZXZlbnQ/LnVybCA9PT0gJy8nIHx8IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzID09PSAnL3NlcnZpY2VkZXNrJylcclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuUHJlcGFyZUZvcm0oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25TZWFyY2hTdWJtaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoJ3NlcnZpY2VkZXNrL3NlYXJjaD90ZXJtPScgKyB0aGlzLnNlYXJjaFRlcm0pO1xyXG4gICAgICAgIC8vIHZhciBzZWFyY2hNbyA9IEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kKCdHZXRTZWFyY2hNbycsIHRoaXMuc2VhcmNoVGVybSk7XHJcbiAgICAgICAgLy8gQmFyc2FBcGkuQncuRm9ybS5TaG93KHsgTW86IHNlYXJjaE1vIH0pO1xyXG4gICAgfVxyXG4gICAgcHJlcGFyZUZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGFjaCgpO1xyXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ3N0aWNreScpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbnRlbnQoZmFsc2UpO1xyXG4gICAgICAgIGNvbnN0IGZsYWdzID0gUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQ7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicsIGZsYWdzKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XHJcbiAgICB9XHJcbiAgICB1blByZXBhcmVGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuc2V0SGVpZ2h0U2VhcmNoSG9sZGVyKHRoaXMuaGVpZ2h0T2ZTcGFjZUhvbGRlcik7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ29udGVudCh0cnVlKTtcclxuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XHJcblxyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XHJcbiAgICAgICAgY29uc3QgZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnLCAnYXV0bycsIGZsYWdzKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XHJcbiAgICAgICAgdGhpcy5fY2RyLnJlYXR0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk7XHJcbiAgICB9XHJcbiAgICBzZXRIZWlnaHRTZWFyY2hIb2xkZXIoaGVpZ2h0KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJTcGFjZUhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgICB2aXNpYmxlQ29udGVudCh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgdmlzaWJsZSA/ICdmbGV4JyA6ICdub25lJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0R3JpZFRlbXBsYXRlUm93cyhoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICAgICAgICB0aGlzLmhlYWRlckdyaWQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXHJcbiAgICAgICAgICAgIGBtaW5tYXgoNzhweCwgMTUlKSA0NnB4IDMycHggMWZyIGF1dG8gMTIlOyBoZWlnaHQ6JHtoZWlnaHR9cHhgXHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlckdyaWQubmF0aXZlRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InLCBgcmVkYCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJTcGFjZUhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlMyhzZWxlY3RlZFRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNjcm9sbFRvVG9wKCk7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkVGFiLmlkID09PSAnMCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBlbGVtZW50UmVmT2ZzZWxlY3RlZFRpbGVHcm91cDogSFRNTEVsZW1lbnQgPSB0aGlzLnRpbGVzVmlld2VyR3JvdXBFbExpc3QuZ2V0KFxyXG4gICAgICAgICAgICBOdW1iZXIoc2VsZWN0ZWRUYWIuaWQpXHJcbiAgICAgICAgKT8ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgZWxlbWVudFJlZk9mc2VsZWN0ZWRUaWxlR3JvdXAuc2Nyb2xsSW50b1ZpZXcoe1xyXG4gICAgICAgICAgICBibG9jazogJ3N0YXJ0J1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0xhc3RQb3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKFswLCB0aGlzLl9sYXN0U2Nyb2xsUG9zXSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHNjcm9sbFRvVG9wKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9lbmFibGVTY3JvbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRTY3JvbGxlci5zY3JvbGxUb1Bvc2l0aW9uKFswLCB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgLSB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbl0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgZGlzY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJMaXN0LmZvckVhY2goKGMpID0+IGMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgY29ubmVjdEludGVyc2N0aW9uT2JzZXJ2ZXJMaXN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJMaXN0LmZvckVhY2goKGMpID0+IGMub2JzZXJ2ZXIub2JzZXJ2ZShjLmVsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc3RpY2t5RG9tKFxyXG4gICAgICAgIGFib3ZlLFxyXG4gICAgICAgIGhvbGRlcixcclxuICAgICAgICBtYXJnaW5Ub3AsXHJcbiAgICAgICAgY2xhc3NOYW1lLFxyXG4gICAgICAgIHZpc2libGVDYWxsYmFjaz86ICgpID0+IHZvaWQsXHJcbiAgICAgICAgaGlkZGVuQ2FsbEJhY2s/OiAoKSA9PiB2b2lkXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGVudHJpZXMpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVJbnRlcnNlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoIWVudHJpZXNbMF0uaXNJbnRlcnNlY3RpbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKGhvbGRlciwgY2xhc3NOYW1lKTtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmlzaWJsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZUNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyhob2xkZXIsIGNsYXNzTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGhpZGRlbkNhbGxCYWNrID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGlkZGVuQ2FsbEJhY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgcm9vdE1hcmdpbjogYCR7bWFyZ2luVG9wfXB4IDBweCAwcHggMHB4YCxcclxuICAgICAgICAgICAgdGhyZXNob2xkOiAwLjFcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlcihoYW5kbGVyLCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShhYm92ZSk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlckxpc3QucHVzaCh7IGVsOiBhYm92ZSwgb2JzZXJ2ZXIgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZXJ2aWNlRGVza0hlYWRlclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIEhpZGVTZWFyY2g6IGJvb2xlYW47XHJcbn1cclxuIiwiPGRpdiBpZD1cImhlYWRlckdyaWRcIiBzdHlsZT1cImdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDFweCwgMTUlKSA0OHB4IDMycHggMWZyIGF1dG8gMTIlOyBoZWlnaHQ6IDE0OHB4XCIgI2hlYWRlckdyaWQ+XG4gICAgPGRpdiBjbGFzcz1cImNvbXBhbnlMb2dvSG9sZGVyX2Fib3ZlU2VhcmNoXCIgI2Fib3ZlU2VhcmNoPjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJzZWFyY2hIb2xkZXJcIiBzdHlsZT1cImdyaWQtcm93OiAyXCIgI3NlYXJjaEhvbGRlcj5cbiAgICAgICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzZXR0aW5ncz8uSGlkZVNlYXJjaCA/ICdub25lJyA6IG51bGxcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1zZWFyY2hcIlxuICAgICAgICAgICAgY29udGVudERlbnNpdHk9XCJjb3p5XCJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICBnbHlwaD1cInNlYXJjaFwiXG4gICAgICAgICAgICBbZ2x5cGhBcmlhTGFiZWxdPVwiJ1NlYXJjaCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChhZGRPbkJ1dHRvbkNsaWNrZWQpPVwib25TZWFyY2hTdWJtaXQoKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9mZC1pbnB1dC1ncm91cD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxuICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XG4gICAgICAgIDxkaXYgaWQ9XCJiZ0lubmVySG9sZGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCIgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIHNyYz1cIi9hc3NldHMvYmFjay5qcGdcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGlkPVwiY29udGVudEhvbGRlckFuZE5hdlwiIGZpcnN0PVwidHJ1ZVwiICNjb250ZW50QW5kTmF2PlxuICAgIDxkaXYgY2xhc3M9XCJhYm92ZUNvbnRlbnRcIiAjYWJvdmVDb250ZW50PjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb250ZW50SG9sZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZcIiAjbmF2SG9sZGVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGFiczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdl9zdXJyb2dhdGVcIiBzdHlsZT1cImhlaWdodDogMTBweFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mZWVkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJHcm91cHM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiAoYXBwVGlsZUdyb3VwcyQgfCBhc3luYykhISB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3Vwcz5cbiAgICA8ZmQtdGFiLWxpc3RcbiAgICAgICAgW3NpemVdPVwidGFiU2l6ZVwiXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRhYlNpemUgPT09ICdzJyB8fCBhcHBUaWxlR3JvdXBzLmxlbmd0aCA+IDVcIlxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlMygkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxmZC10YWJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhcHBUaWxlR3JvdXAgb2YgYXBwVGlsZUdyb3VwczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICBbaWRdPVwiJycgKyBpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgIDwvZmQtdGFiLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJHcm91cHMgbGV0LWFwcFRpbGVHcm91cHM+XG4gICAgPGJ0LXRpbGVzLXZpZXdlci1ncm91cFxuICAgICAgICAqbmdGb3I9XCJsZXQgYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlR3JvdXBcIlxuICAgICAgICBbZWRpdF09XCJmYWxzZVwiXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwidHJ1ZVwiXG4gICAgICAgIFtpc0FwcFRpbGVTdWJHcm91cF09XCJmYWxzZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcbiAgICA+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
-
import { BarsaApi, FormPropsBaseComponent, FindLayoutSettingFromLayout94 } from 'barsa-novin-ray-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "barsa-sap-ui";
|
|
6
|
-
import * as i3 from "@fundamental-ngx/core/dynamic-page";
|
|
7
|
-
import * as i4 from "@fundamental-ngx/core/icon";
|
|
8
|
-
import * as i5 from "@fundamental-ngx/core/layout-grid";
|
|
9
|
-
import * as i6 from "@fundamental-ngx/core/tabs";
|
|
10
|
-
import * as i7 from "barsa-novin-ray-core";
|
|
11
|
-
export class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.firstArray = [];
|
|
15
|
-
this.secondArray = [];
|
|
16
|
-
this.moByCaption = {};
|
|
17
|
-
this.fieldsCaption = [];
|
|
18
|
-
this.value = '';
|
|
19
|
-
this.israhnamayTasviri = false;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
super.ngOnInit();
|
|
23
|
-
const $FieldDict = this.fieldDict;
|
|
24
|
-
if (!$FieldDict) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
this._prepare($FieldDict, this.mo);
|
|
28
|
-
}
|
|
29
|
-
onDownload(item) {
|
|
30
|
-
if (item.Attachment) {
|
|
31
|
-
BarsaApi.Common.File.DownloadFileId(item.Attachment.Files[0].Id);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
ngAfterViewInit() {
|
|
35
|
-
super.ngAfterViewInit();
|
|
36
|
-
this.alignTablesTr();
|
|
37
|
-
}
|
|
38
|
-
onKhadamatMortabet(item) {
|
|
39
|
-
BarsaApi.Bw.Form.Show({
|
|
40
|
-
MoId: item.Id,
|
|
41
|
-
TypeDefId: this.khadamatmortabetReport.TypeDefId,
|
|
42
|
-
MoContext: { ReportId: this.khadamatmortabetReport.ReportId }
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
alignTablesTr() {
|
|
46
|
-
setTimeout(() => {
|
|
47
|
-
const tablesRef = this.tablesRef.toArray();
|
|
48
|
-
const firstTableEl = tablesRef[0].nativeElement;
|
|
49
|
-
const secondTableEl = tablesRef[1].nativeElement;
|
|
50
|
-
const trFirstTable = firstTableEl.querySelectorAll('tr');
|
|
51
|
-
const trSecondTable = secondTableEl.querySelectorAll('tr');
|
|
52
|
-
trFirstTable.forEach((tr, index) => {
|
|
53
|
-
if (index < trSecondTable.length) {
|
|
54
|
-
const trSecond = trSecondTable[index];
|
|
55
|
-
if (tr.offsetHeight > trSecond.offsetHeight) {
|
|
56
|
-
trSecond.style.height = `${tr.offsetHeight}px`;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
tr.style.height = `${trSecond.offsetHeight}px`;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}, 0);
|
|
64
|
-
}
|
|
65
|
-
_prepare($FieldDict, mo) {
|
|
66
|
-
const leftside = FindLayoutSettingFromLayout94(this.layout94, 'جدول چپ');
|
|
67
|
-
const rightside = FindLayoutSettingFromLayout94(this.layout94, 'جدول راست');
|
|
68
|
-
leftside?.items[0]?.items?.forEach((item2) => {
|
|
69
|
-
const key = item2.Caption;
|
|
70
|
-
const fieldName = item2.ControlId;
|
|
71
|
-
const item = { caption: key, fieldName };
|
|
72
|
-
if (key === 'آدرس سایت' ||
|
|
73
|
-
(typeof mo[fieldName] === 'string' &&
|
|
74
|
-
(mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))) {
|
|
75
|
-
item.type = 'Link';
|
|
76
|
-
}
|
|
77
|
-
if (typeof mo[fieldName] === 'object') {
|
|
78
|
-
if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {
|
|
79
|
-
item.type = 'MoList';
|
|
80
|
-
}
|
|
81
|
-
else if (mo[fieldName].Ext) {
|
|
82
|
-
item.type = 'Image';
|
|
83
|
-
}
|
|
84
|
-
else if (mo[fieldName].Files) {
|
|
85
|
-
item.type = 'Files';
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
item.type = 'Relation';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
this.firstArray.push(item);
|
|
92
|
-
});
|
|
93
|
-
rightside?.items[0]?.items?.forEach((item2) => {
|
|
94
|
-
const key = item2.Caption;
|
|
95
|
-
const fieldName = item2.ControlId;
|
|
96
|
-
const item = { caption: key, fieldName };
|
|
97
|
-
if (key === 'آدرس سایت' ||
|
|
98
|
-
(typeof mo[fieldName] === 'string' &&
|
|
99
|
-
(mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))) {
|
|
100
|
-
item.type = 'Link';
|
|
101
|
-
}
|
|
102
|
-
if (typeof mo[fieldName] === 'object') {
|
|
103
|
-
if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {
|
|
104
|
-
item.type = 'MoList';
|
|
105
|
-
}
|
|
106
|
-
else if (mo[fieldName].Ext) {
|
|
107
|
-
item.type = 'Image';
|
|
108
|
-
}
|
|
109
|
-
else if (mo[fieldName].Files) {
|
|
110
|
-
item.type = 'Files';
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
item.type = 'Relation';
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
this.secondArray.push(item);
|
|
117
|
-
});
|
|
118
|
-
this.rahnamayTasviri = this._sanitizer.bypassSecurityTrustResourceUrl(mo[$FieldDict['راهنمای تصویری']]);
|
|
119
|
-
if (this.rahnamayTasviri) {
|
|
120
|
-
this.israhnamayTasviri = true;
|
|
121
|
-
}
|
|
122
|
-
// this.firstArray = filteredControls.slice(0, controlCountMiddle);
|
|
123
|
-
// this.secondArray = filteredControls.slice(controlCountMiddle, controlCount);
|
|
124
|
-
this.khadamatmortabet = mo[$FieldDict['خدمات مرتبط']]?.MoDataList ?? [];
|
|
125
|
-
this.khadamatmortabetReport = mo[$FieldDict['خدمات مرتبط']];
|
|
126
|
-
// this.isOdd = controlCount % 2 === 0;
|
|
127
|
-
this.isOdd = false;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
ServiceDeskServcieDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
ServiceDeskServcieDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskServcieDetailComponent, selector: "bdc-service-desk-servcie-detail", viewQueries: [{ propertyName: "tabContainerRef", first: true, predicate: ["tabContainerRef"], descendants: true }, { propertyName: "tablesRef", predicate: ["tablesRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\n <fd-tab-list\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n #tablist\n >\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\n <fd-dynamic-page-content>\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: firstArray,\n showKhadamatMortabet: isOdd,\n classNames: 'firstTable'\n }\n \"\n >\n </ng-container>\n </div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: secondArray,\n showKhadamatMortabet: !isOdd,\n classNames: 'secondTable'\n }\n \"\n >\n </ng-container>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n <bsu-layout-control\n *ngIf=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab\n [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n >\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"configUi\"\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n </fd-tab-list>\n\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\n <ng-container *ngFor=\"let controlItem of array\">\n <tr>\n <th>{{ controlItem.caption | bbbTranslate }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\n mo[controlItem.fieldName]\n }}</a></ng-container\n >\n <ng-container *ngSwitchCase=\"'Relation'\">\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}</ng-container\n >\n <ng-container *ngSwitchCase=\"'MoList'\">\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\n <ng-container *ngSwitchDefault>\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\n <tr>\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\n <td>\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\n </div>\n </td>\n </tr>\n </ng-container> -->\n </table>\n</ng-template>\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "pipe", type: i7.MoValuePipe, name: "val" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i7.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, decorators: [{
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\n <fd-tab-list\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n #tablist\n >\n <fd-tab [title]=\"'\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\" selected>\n <fd-dynamic-page-content>\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: firstArray,\n showKhadamatMortabet: isOdd,\n classNames: 'firstTable'\n }\n \"\n >\n </ng-container>\n </div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: secondArray,\n showKhadamatMortabet: !isOdd,\n classNames: 'secondTable'\n }\n \"\n >\n </ng-container>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n <bsu-layout-control\n *ngIf=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0641\u0631\u0622\u06CC\u0646\u062F \u0645\u062C\u0648\u0632' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab [title]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab [title]=\"'\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647' | bbbTranslate\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\n [caption]=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab\n [title]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n >\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"configUi\"\n [caption]=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | bbbTranslate\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n </fd-tab-list>\n\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\n <ng-container *ngFor=\"let controlItem of array\">\n <tr>\n <th>{{ controlItem.caption | bbbTranslate }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a dir=\"ltr\" target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\n mo[controlItem.fieldName]\n }}</a></ng-container\n >\n <ng-container *ngSwitchCase=\"'Relation'\">\n {{ controlItem.fieldName | val: mo:true | bbbTranslate }}</ng-container\n >\n <ng-container *ngSwitchCase=\"'MoList'\">\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\n <ng-container *ngSwitchDefault>\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] | bbbTranslate }}\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n <!-- <ng-container *ngIf=\"showKhadamatMortabet\">\n <tr>\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\n <td>\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\n </div>\n </td>\n </tr>\n </ng-container> -->\n </table>\n</ng-template>\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"] }]
|
|
135
|
-
}], propDecorators: { tabContainerRef: [{
|
|
136
|
-
type: ViewChild,
|
|
137
|
-
args: ['tabContainerRef']
|
|
138
|
-
}], tablesRef: [{
|
|
139
|
-
type: ViewChildren,
|
|
140
|
-
args: ['tablesRef']
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxRQUFRLEVBR1Isc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUNoQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFROUIsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHNCQUFzQjtJQU43RTs7UUFVSSxlQUFVLEdBQWlCLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFLakIsa0JBQWEsR0FBaUIsRUFBRSxDQUFDO1FBQ2pDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7S0FzSDdCO0lBbEhHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFD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Q0FBQyxDQUFDLENBQUM7UUFFNUQsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OzhIQXBJUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw4UkN2QjlDLHU0VkFzTEE7MkZEL0phLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQsXG4gICAgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTRcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrU2VydmNpZURldGFpbENvbXBvbmVudCBleHRlbmRzIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCd0YWJsZXNSZWYnKSB0YWJsZXNSZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBmaWx0ZXJlZENvbnRyb2xzOiBGaWVsZHNJbmZvW107XG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdID0gW107XG4gICAgc2Vjb25kQXJyYXk6IEZpZWxkc0luZm9bXSA9IFtdO1xuICAgIHZhbHVlU2hhcmhLaGVkbWF0OiBhbnk7XG4gICAgbW9CeUNhcHRpb24gPSB7fTtcbiAgICBraGFkYW1hdG1vcnRhYmV0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgc2VydmljZXM6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XG4gICAgY29udHJvbENvdW50OiBudW1iZXI7XG4gICAgaXNPZGQ6IGJvb2xlYW47XG4gICAgZmllbGRzQ2FwdGlvbjogRmllbGRzSW5mb1tdID0gW107XG4gICAgdmFsdWUgPSAnJztcbiAgICByYWhuYW1heVRhc3Zpcmk6IGFueTtcbiAgICBpc3JhaG5hbWF5VGFzdmlyaSA9IGZhbHNlO1xuICAgIHNlbGVjdGVkVGFiOiBudW1iZXI7XG4gICAga2hhZGFtYXRtb3J0YWJldFJlcG9ydDogeyBSZXBvcnRJZDogc3RyaW5nOyBUeXBlRGVmSWQ6IHN0cmluZyB9O1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgY29uc3QgJEZpZWxkRGljdCA9IHRoaXMuZmllbGREaWN0O1xuICAgICAgICBpZiAoISRGaWVsZERpY3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9wcmVwYXJlKCRGaWVsZERpY3QsIHRoaXMubW8pO1xuICAgIH1cblxuICAgIG9uRG93bmxvYWQoaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5BdHRhY2htZW50KSB7XG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uRmlsZS5Eb3dubG9hZEZpbGVJZChpdGVtLkF0dGFjaG1lbnQuRmlsZXNbMF0uSWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5hbGlnblRhYmxlc1RyKCk7XG4gICAgfVxuICAgIG9uS2hhZGFtYXRNb3J0YWJldChpdGVtKTogdm9pZCB7XG4gICAgICAgIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7XG4gICAgICAgICAgICBNb0lkOiBpdGVtLklkLFxuICAgICAgICAgICAgVHlwZURlZklkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuVHlwZURlZklkLFxuICAgICAgICAgICAgTW9Db250ZXh0OiB7IFJlcG9ydElkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuUmVwb3J0SWQgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBhbGlnblRhYmxlc1RyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlc1JlZiA9IHRoaXMudGFibGVzUmVmLnRvQXJyYXkoKTtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGFibGVFbCA9IHRhYmxlc1JlZlswXS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3Qgc2Vjb25kVGFibGVFbCA9IHRhYmxlc1JlZlsxXS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICBjb25zdCB0ckZpcnN0VGFibGUgPSBmaXJzdFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcbiAgICAgICAgICAgIGNvbnN0IHRyU2Vjb25kVGFibGUgPSBzZWNvbmRUYWJsZUVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJyk7XG5cbiAgICAgICAgICAgIHRyRmlyc3RUYWJsZS5mb3JFYWNoKCh0ciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCB0clNlY29uZFRhYmxlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0clNlY29uZCA9IHRyU2Vjb25kVGFibGVbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodHIub2Zmc2V0SGVpZ2h0ID4gdHJTZWNvbmQub2Zmc2V0SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0clNlY29uZC5zdHlsZS5oZWlnaHQgPSBgJHt0ci5vZmZzZXRIZWlnaHR9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHIuc3R5bGUuaGVpZ2h0ID0gYCR7dHJTZWNvbmQub2Zmc2V0SGVpZ2h0fXB4YDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcmVwYXJlKCRGaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxlZnRzaWRlID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5sYXlvdXQ5NCwgJ9is2K/ZiNmEINqG2b4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRzaWRlID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5sYXlvdXQ5NCwgJ9is2K/ZiNmEINix2KfYs9iqJyk7XG5cbiAgICAgICAgbGVmdHNpZGU/Lml0ZW1zWzBdPy5pdGVtcz8uZm9yRWFjaCgoaXRlbTIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGl0ZW0yLkNhcHRpb247XG4gICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBpdGVtMi5Db250cm9sSWQ7XG4gICAgICAgICAgICBjb25zdCBpdGVtOiBGaWVsZHNJbmZvID0geyBjYXB0aW9uOiBrZXksIGZpZWxkTmFtZSB9O1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGtleSA9PT0gJ9ii2K/YsdizINiz2KfbjNiqJyB8fFxuICAgICAgICAgICAgICAgICh0eXBlb2YgbW9bZmllbGROYW1lXSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgICAgKG1vW2ZpZWxkTmFtZV0uc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTGluayc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1vW2ZpZWxkTmFtZV0uJFR5cGUgPT09ICdDb21tb24uTWV0YU9iamVjdExpc3RXZWInKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdNb0xpc3QnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW9bZmllbGROYW1lXS5FeHQpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0ltYWdlJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0ZpbGVzJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnUmVsYXRpb24nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlyc3RBcnJheS5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmlnaHRzaWRlPy5pdGVtc1swXT8uaXRlbXM/LmZvckVhY2goKGl0ZW0yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBpdGVtMi5DYXB0aW9uO1xuICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gaXRlbTIuQ29udHJvbElkO1xuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBrZXkgPT09ICfYotiv2LHYsyDYs9in24zYqicgfHxcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdGaWxlcyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlY29uZEFycmF5LnB1c2goaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJhaG5hbWF5VGFzdmlyaSA9IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwobW9bJEZpZWxkRGljdFsn2LHYp9mH2YbZhdin24wg2KrYtdmI24zYsduMJ11dKTtcbiAgICAgICAgaWYgKHRoaXMucmFobmFtYXlUYXN2aXJpKSB7XG4gICAgICAgICAgICB0aGlzLmlzcmFobmFtYXlUYXN2aXJpID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMuZmlyc3RBcnJheSA9IGZpbHRlcmVkQ29udHJvbHMuc2xpY2UoMCwgY29udHJvbENvdW50TWlkZGxlKTtcbiAgICAgICAgLy8gdGhpcy5zZWNvbmRBcnJheSA9IGZpbHRlcmVkQ29udHJvbHMuc2xpY2UoY29udHJvbENvdW50TWlkZGxlLCBjb250cm9sQ291bnQpO1xuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV0/Lk1vRGF0YUxpc3QgPz8gW107XG4gICAgICAgIHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydCA9IG1vWyRGaWVsZERpY3RbJ9iu2K/Zhdin2Kog2YXYsdiq2KjYtyddXTtcblxuICAgICAgICAvLyB0aGlzLmlzT2RkID0gY29udHJvbENvdW50ICUgMiA9PT0gMDtcbiAgICAgICAgdGhpcy5pc09kZCA9IGZhbHNlO1xuICAgIH1cbn1cbmludGVyZmFjZSBGaWVsZHNJbmZvIHtcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGNhcHRpb246IHN0cmluZztcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbn1cbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxuICAgIDxmZC10YWItbGlzdFxuICAgICAgICBbY29sbGFwc2VPdmVyZmxvd109XCJ0cnVlXCJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAjdGFibGlzdFxuICAgID5cbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9i02YbYp9iz2YbYp9mF2Ycg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCIgc2VsZWN0ZWQ+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGZkLWxheW91dC1ncmlkIGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW46IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNlwiIFtjb2xYbF09XCI2XCIgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZmlyc3RBcnJheSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dLaGFkYW1hdE1vcnRhYmV0OiBpc09kZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM6ICdmaXJzdFRhYmxlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNlwiIFtjb2xYbF09XCI2XCIgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogc2Vjb25kQXJyYXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogIWlzT2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lczogJ3NlY29uZFRhYmxlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifYtNix2KfZiti3INin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9i02LHYp9uM2Lcg2KfYrtiwINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQgYXMgY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG5cbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mF2LHYp9it2YQg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZgdix2KLbjNmG2K8g2YXYrNmI2LInIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZgdix2KLbjNmG2K8g2YXYrNmI2LInIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG5cbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9mF2K/Yp9ix2qkg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdiv2KfYsdqpINmF2YjYsdivINmG24zYp9iyINin2K7YsCDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhcHRpb25dPVwiJ9mH2LLbjNmG2Ycg2YfYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCIn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgfCBiYmJUcmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZhdio2KfZhtuMINmC2KfZhtmI2YbbjCDYp9ix2KfYptmHINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuXG4gICAgICAgIDxmZC10YWIgW3RpdGxlXT1cIifZiNin2K3Yr9mH2KfbjCDYp9ix2KfYptmHINiv2YfZhtiv2Ycg2K7Yr9mF2KonIHwgYmJiVHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXB0aW9uXT1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG5cbiAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwiJ9iv2LPYqtqv2KfZhyDZh9in24wg2KfYs9iq2LnZhNin2YUg2K/Zh9mG2K/ZhycgfCBiYmJUcmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9in2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQgYXMgY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2KfYs9iq2LnZhNin2YUg2LPYp9iy2YXYp9mGINmH2KcnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWJcbiAgICAgICAgICAgIFt0aXRsZV09XCInU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAqbmdJZj1cIidTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCInU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgIDwvZmQtdGFiLWxpc3Q+XG5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj4gPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxuPC9mZC1keW5hbWljLXBhZ2U+XG5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFibGUgbGV0LWFycmF5IGxldC1zaG93S2hhZGFtYXRNb3J0YWJldD1cInNob3dLaGFkYW1hdE1vcnRhYmV0XCIgbGV0LWNsYXNzTmFtZXM9XCJjbGFzc05hbWVzXCI+XG4gICAgPHRhYmxlICN0YWJsZXNSZWYgY2xhc3M9XCJ0YWJsZS1ncmlkXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb250cm9sSXRlbSBvZiBhcnJheVwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0aD57eyBjb250cm9sSXRlbS5jYXB0aW9uIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRyb2xJdGVtLnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMaW5rJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGRpcj1cImx0clwiIHRhcmdldD1cIl9ibGFua1wiIFtocmVmXT1cIm1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV1cIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2E+PC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidSZWxhdGlvbidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250cm9sSXRlbS5maWVsZE5hbWUgfCB2YWw6IG1vOnRydWUgfCBiYmJUcmFuc2xhdGUgfX08L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ01vTGlzdCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0/Lk1vRGF0YUxpc3RcIiBjbGFzcz1cImxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidjaGFpbi1saW5rJ1wiIHN0eWxlPVwiY29sb3I6ICMwODU0YTBcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGZkLWljb24gY2xhc3M9XCJmZC1pY29uLWxpbmtcIiBbZ2x5cGhdPVwiJ3BkZi1hdHRhY2htZW50J1wiPjwvZmQtaWNvbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkRvd25sb2FkKGl0ZW0pXCI+e3sgaXRlbS4kQ2FwdGlvbiB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0ltYWdlJ1wiPiB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdLkV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0ZpbGVzJ1wiPiB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdLkZpbGVzIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lICsgJyRDYXB0aW9uJ10gfHwgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXSB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0toYWRhbWF0TW9ydGFiZXRcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+2K7Yr9mF2KfYqiDZhdix2KrYqNi3PC90aD5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGtoYWRhbWF0bW9ydGFiZXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbktoYWRhbWF0TW9ydGFiZXQoaXRlbSlcIj57eyBpdGVtLiRDYXB0aW9uIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgIDwvdGFibGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|