barsa-develop-components 0.0.2 → 1.0.248
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/esm2020/lib/accept-reject/accept-reject.component.mjs +69 -0
- package/esm2020/lib/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +1 -1
- package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +1 -1
- package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +1 -1
- package/esm2020/lib/barsa-develop-components.module.mjs +36 -4
- package/esm2020/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +104 -0
- package/esm2020/lib/barsa-documents/barsa-documents.component.mjs +173 -0
- package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +3 -3
- package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +3 -3
- package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +3 -3
- package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +1 -1
- package/esm2020/lib/checkbox-button/checkbox-button.component.mjs +3 -3
- package/esm2020/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +3 -3
- package/esm2020/lib/footer/footer.component.mjs +41 -0
- package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +3 -3
- package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +14 -5
- package/esm2020/lib/g4b-details/g4b-details.component.mjs +3 -3
- package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +3 -3
- package/esm2020/lib/login-form/login-form.component.mjs +17 -12
- package/esm2020/lib/login-social-conncetions/login-social-conncetions.component.mjs +3 -3
- package/esm2020/lib/master-detail-card-form/master-detail-card-form.component.mjs +17 -0
- package/esm2020/lib/media-file-uploader/media-file-uploader.component.mjs +238 -0
- package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +12 -7
- package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +1 -1
- package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +3 -3
- package/esm2020/lib/models/document-item.mjs +2 -0
- package/esm2020/lib/models/documents-setting.mjs +2 -0
- package/esm2020/lib/models/index.mjs +7 -0
- package/esm2020/lib/models/micro-process-flow-view-setting.mjs +2 -0
- package/esm2020/lib/models/service-desk-view-of-services-setting.mjs +2 -0
- package/esm2020/lib/models/tab-process-view-setting.mjs +2 -0
- package/esm2020/lib/pipes/datasource-to-flow-item.mjs +1 -1
- package/esm2020/lib/pipes/index.mjs +1 -1
- package/esm2020/lib/pipes/mo-list-to-flow-item.pipe.mjs +1 -1
- package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +1 -1
- package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +1 -1
- package/esm2020/lib/report-button-view/report-button-view.component.mjs +38 -0
- package/esm2020/lib/report-line-chart-view/report-line-chart-view.component.mjs +3 -3
- package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +3 -3
- package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +3 -3
- package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +1 -1
- package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +7 -6
- package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +3 -3
- package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +3 -3
- package/esm2020/lib/setting-form/setting-form.component.mjs +3 -3
- package/esm2020/lib/subform-in-row-report/subform-in-row-report.component.mjs +24 -0
- package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +1 -1
- package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +4 -3
- package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +6 -6
- package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +1 -1
- package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +3 -3
- package/esm2020/lib/ui-person/ui-person.component.mjs +1 -1
- package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +3 -3
- package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +16 -5
- package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +1 -1
- package/esm2020/public-api.mjs +9 -1
- package/fesm2015/barsa-develop-components.mjs +812 -116
- package/fesm2015/barsa-develop-components.mjs.map +1 -1
- package/fesm2020/barsa-develop-components.mjs +803 -114
- package/fesm2020/barsa-develop-components.mjs.map +1 -1
- package/lib/accept-reject/accept-reject.component.d.ts +28 -0
- package/lib/barsa-develop-components.module.d.ts +30 -18
- package/lib/barsa-document-list-item/barsa-document-list-item.component.d.ts +39 -0
- package/lib/barsa-documents/barsa-documents.component.d.ts +47 -0
- package/lib/footer/footer.component.d.ts +15 -0
- package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +1 -0
- package/lib/login-form/login-form.component.d.ts +3 -1
- package/lib/master-detail-card-form/master-detail-card-form.component.d.ts +8 -0
- package/lib/media-file-uploader/media-file-uploader.component.d.ts +52 -0
- package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +7 -1
- package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +1 -1
- package/lib/models/document-item.d.ts +19 -0
- package/lib/models/documents-setting.d.ts +11 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/micro-process-flow-view-setting.d.ts +8 -0
- package/lib/models/service-desk-view-of-services-setting.d.ts +6 -0
- package/lib/models/tab-process-view-setting.d.ts +7 -0
- package/lib/report-button-view/report-button-view.component.d.ts +12 -0
- package/lib/service-desk-header/service-desk-header.component.d.ts +2 -1
- package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +1 -1
- package/lib/subform-in-row-report/subform-in-row-report.component.d.ts +10 -0
- package/lib/tab-process-view/tab-process-view.component.d.ts +1 -1
- package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +3 -0
- package/package.json +4 -4
- package/public-api.d.ts +8 -0
- package/esm2020/lib/models/models.mjs +0 -2
- package/lib/models/models.d.ts +0 -19
|
@@ -23,7 +23,7 @@ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
|
|
|
23
23
|
this._router = _router;
|
|
24
24
|
this._activatedRoute = _activatedRoute;
|
|
25
25
|
this.selectedTabIndex = 0;
|
|
26
|
-
this.heightOfSpaceHolder =
|
|
26
|
+
this.heightOfSpaceHolder = 88;
|
|
27
27
|
this.searchTerm = '';
|
|
28
28
|
this._enableScroll = false;
|
|
29
29
|
this._stickyTopPosition = 66;
|
|
@@ -38,14 +38,14 @@ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
|
|
|
38
38
|
this._cdr.detectChanges();
|
|
39
39
|
});
|
|
40
40
|
this.appTileGroups$.subscribe((appTileGroups) => appTileGroups.forEach((c) => this._tilesViewerService.loadAppGroup(c)));
|
|
41
|
-
this.heightOfSpaceHolder = 625;
|
|
42
41
|
this._renderer.setStyle(this.navHolder.nativeElement, 'top', this._stickyTopPosition + 'px');
|
|
43
42
|
this.setGridTemplateRows(this.heightOfSpaceHolder);
|
|
43
|
+
this.deviceSize$ = this._portalService.deviceSize$;
|
|
44
44
|
this._portalService.deviceSize$.subscribe((c) => {
|
|
45
45
|
let newHeight = this.heightOfSpaceHolder;
|
|
46
46
|
this.tabSize = c;
|
|
47
47
|
if (c === 's') {
|
|
48
|
-
newHeight =
|
|
48
|
+
newHeight = 88;
|
|
49
49
|
}
|
|
50
50
|
else if (c === 'm') {
|
|
51
51
|
newHeight = 220;
|
|
@@ -56,6 +56,7 @@ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
|
|
|
56
56
|
else {
|
|
57
57
|
newHeight = 325;
|
|
58
58
|
}
|
|
59
|
+
newHeight = 88;
|
|
59
60
|
if (this.heightOfSpaceHolder !== newHeight) {
|
|
60
61
|
this.heightOfSpaceHolder = newHeight;
|
|
61
62
|
this.setGridTemplateRows(newHeight);
|
|
@@ -191,10 +192,10 @@ export class ServiceDeskHeaderComponent extends TilesViewerContainerComponent {
|
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
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 });
|
|
194
|
-
ServiceDeskHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", 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(78px, 15%) 46px 32px 1fr auto 12%; height: 248px\" #headerGrid>\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\n <fdp-search-field\n contentDensity=\"cozy\"\n fd-toolbar-item\n [inputText]=\"searchTerm\"\n [placeholder]=\"'Search' | bbbTranslate\"\n [suggestions]=\"[]\"\n (searchSubmit)=\"onSearchSubmit($event)\"\n ></fdp-search-field>\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 [editHome]=\"false\"\n [stackContent]=\"true\"\n [isAppTileSubGroup]=\"false\"\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}fdp-search-field .fdp-search-field__input-group{border-radius:3px}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 #bgOuterHolder{height:100%;overflow:hidden;position:fixed;width:100%;top:0;right:0}bdc-service-desk-header #bgOuterHolder.sticky{position:fixed;top:0;z-index:5;background:rgb(247,247,247)}bdc-service-desk-header #bgInnerHolder{height:100%;opacity:1;overflow:hidden;top:0;transform:scale(1);width:100%}bdc-service-desk-header .backgroundImage{height:100%;width:100%}bdc-service-desk-header .overlay{background-attachment:fixed;background-image:radial-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%),radial-gradient(rgba(0,0,0,0) 33%,rgba(0,0,0,.3) 166%);background-position-y:0%;background-repeat:no-repeat;background-size:cover;height:100%;opacity:1;position:absolute;top:0;transition:opacity .3s linear 0s;width:100%}bdc-service-desk-header .picture{background-position:center center;background-repeat:no-repeat;background-size:cover;height:100%;margin:-1px 0 0 -1px;object-fit:cover;padding:0;position:absolute;width:100%}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}@media (max-width: 480px){.nav-container,.content-feed{width:100%}.content-feed{padding:0 1.5rem}#searchHolder.sticky{display:none}#searchHolder .fdp-search-field{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .fdp-search-field{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .fdp-search-field{width:480px}}@media (min-width: 1251px){#searchHolder .fdp-search-field{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .fdp-search-field{width:280px!important}}@media (min-width: 480px) and (max-width: 935px){.nav-container,.content-feed{width:600px}.content-feed{padding:0 2rem}}@media (min-width: 1224px) and (max-width: 1551px){.content-feed{padding:0 2rem}}@media (min-width: 1244px){.nav-container,.content-feed{width:1224px}#searchHolder.sticky .fdp-search-field{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: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i5.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i5.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "directive", type: i7.PlatformContentDensityDeprecationDirective, selector: " fdp-action-bar[contentDensity], fdp-button[contentDensity], fdp-object-list-item[contentDensity], fdp-standard-list-item[contentDensity], fdp-menu[contentDensity], fdp-menu-button[contentDensity], fdp-panel[contentDensity], fdp-search-field[contentDensity], fdp-split-menu-button[contentDensity], fdp-file-uploader[contentDensity], fdp-upload-collection[contentDensity], fdp-table[contentDensity], fdp-multi-input[contentDensity], fdp-list[contentDensity], fdp-slider[contentDensity], fdp-time-picker[contentDensity], fdp-textarea[contentDensity], fdp-switch[contentDensity], fdp-number-step-input[contentDensity], fdp-select[contentDensity], fdp-date-picker[contentDensity], fdp-checkbox[contentDensity], fdp-checkbox-group[contentDensity], fdp-combobox[contentDensity], fdp-datetime-picker[contentDensity], fdp-input[contentDensity], fdp-radio-group[contentDensity], fdp-radio-button[contentDensity], fdp-multi-combobox[contentDensity], fdp-input-group-addon-body[contentDensity], fdp-input-group[contentDensity], fdp-value-help-dialog[contentDensity], fdp-filter-single-select[contentDensity], fdp-filter-multi-select[contentDensity], fdp-filter-custom[contentDensity] " }, { kind: "component", type: i8.SearchFieldComponent, selector: "fdp-search-field", inputs: ["placeholder", "mobile", "mobileConfig", "disableRefresh", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
195
|
+
ServiceDeskHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskHeaderComponent, selector: "bdc-service-desk-header", 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>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fdp-search-field\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n [inputText]=\"searchTerm\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [suggestions]=\"[]\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n <fd-tab\r\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\r\n [id]=\"'' + i\"\r\n [title]=\"appTileGroup.navigatorTitle\"\r\n >\r\n </fd-tab>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n <bt-tiles-viewer-group\r\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n</ng-template>\r\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}fdp-search-field .fdp-search-field__input-group{border-radius:3px}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 #bgOuterHolder{height:100%;overflow:hidden;position:fixed;width:100%;top:0;right:0}bdc-service-desk-header #bgOuterHolder.sticky{position:fixed;top:0;z-index:5;background:rgb(247,247,247)}bdc-service-desk-header #bgInnerHolder{height:100%;opacity:1;overflow:hidden;top:0;transform:scale(1);width:100%}bdc-service-desk-header .backgroundImage{height:100%;width:100%}bdc-service-desk-header .overlay{background-attachment:fixed;background-image:radial-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%),radial-gradient(rgba(0,0,0,0) 33%,rgba(0,0,0,.3) 166%);background-position-y:0%;background-repeat:no-repeat;background-size:cover;height:100%;opacity:1;position:absolute;top:0;transition:opacity .3s linear 0s;width:100%}bdc-service-desk-header .picture{background-position:center center;background-repeat:no-repeat;background-size:cover;height:100%;margin:-1px 0 0 -1px;object-fit:cover;padding:0;position:absolute;width:100%}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}@media (max-width: 480px){.nav-container,.content-feed{width:380}#searchHolder.sticky{display:none}#searchHolder .fdp-search-field{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .fdp-search-field{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .fdp-search-field{width:480px}}@media (min-width: 1251px){#searchHolder .fdp-search-field{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .fdp-search-field{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 .fdp-search-field{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: "component", type: i2.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "editHome", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "component", type: i5.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i5.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "directive", type: i7.PlatformContentDensityDeprecationDirective, selector: " fdp-action-bar[contentDensity], fdp-button[contentDensity], fdp-object-list-item[contentDensity], fdp-standard-list-item[contentDensity], fdp-menu[contentDensity], fdp-menu-button[contentDensity], fdp-panel[contentDensity], fdp-search-field[contentDensity], fdp-split-menu-button[contentDensity], fdp-file-uploader[contentDensity], fdp-upload-collection[contentDensity], fdp-table[contentDensity], fdp-multi-input[contentDensity], fdp-list[contentDensity], fdp-slider[contentDensity], fdp-time-picker[contentDensity], fdp-textarea[contentDensity], fdp-switch[contentDensity], fdp-number-step-input[contentDensity], fdp-select[contentDensity], fdp-date-picker[contentDensity], fdp-checkbox[contentDensity], fdp-checkbox-group[contentDensity], fdp-combobox[contentDensity], fdp-datetime-picker[contentDensity], fdp-input[contentDensity], fdp-radio-group[contentDensity], fdp-radio-button[contentDensity], fdp-multi-combobox[contentDensity], fdp-input-group-addon-body[contentDensity], fdp-input-group[contentDensity], fdp-value-help-dialog[contentDensity], fdp-filter-single-select[contentDensity], fdp-filter-multi-select[contentDensity], fdp-filter-custom[contentDensity] " }, { kind: "component", type: i8.SearchFieldComponent, selector: "fdp-search-field", inputs: ["placeholder", "mobile", "mobileConfig", "disableRefresh", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
195
196
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskHeaderComponent, decorators: [{
|
|
196
197
|
type: Component,
|
|
197
|
-
args: [{ selector: 'bdc-service-desk-header', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div id=\"headerGrid\" style=\"grid-template-rows: minmax(
|
|
198
|
+
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>\r\n <div class=\"companyLogoHolder_aboveSearch\" #aboveSearch></div>\r\n <div id=\"searchHolder\" style=\"grid-row: 2\" #searchHolder>\r\n <fdp-search-field\r\n contentDensity=\"cozy\"\r\n fd-toolbar-item\r\n [inputText]=\"searchTerm\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [suggestions]=\"[]\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n </div>\r\n</div>\r\n<div id=\"headerSpaceHolder\" #headerSpaceHolder>\r\n <div id=\"bgOuterHolder\" #bgOuterHolder>\r\n <div id=\"bgInnerHolder\" style=\"height: 100vh\">\r\n <div class=\"backgroundImage\" id=\"backgroundImage\">\r\n <img class=\"picture\" src=\"/assets/back.jpg\" loading=\"lazy\" />\r\n <span id=\"backgroundImageOverlay\" class=\"overlay\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div id=\"contentHolderAndNav\" first=\"true\" #contentAndNav>\r\n <div class=\"aboveContent\" #aboveContent></div>\r\n <div id=\"contentHolder\">\r\n <div class=\"nav\" #navHolder>\r\n <div class=\"nav-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderTabs; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"nav_surrogate\" style=\"height: 10px\"></div>\r\n <div class=\"content-feed\">\r\n <ng-container\r\n *ngTemplateOutlet=\"renderGroups; context: { $implicit: (appTileGroups$ | async)!! }\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #renderTabs let-appTileGroups>\r\n <fd-tab-list\r\n [size]=\"tabSize\"\r\n [collapseOverflow]=\"tabSize === 's' || appTileGroups.length > 5\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (selectedTabChange)=\"onSelectedTabChange3($event)\"\r\n >\r\n <fd-tab\r\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\r\n [id]=\"'' + i\"\r\n [title]=\"appTileGroup.navigatorTitle\"\r\n >\r\n </fd-tab>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderGroups let-appTileGroups>\r\n <bt-tiles-viewer-group\r\n *ngFor=\"let appTileGroup of appTileGroups; let i = index\"\r\n [attr.index]=\"i\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"false\"\r\n [stackContent]=\"true\"\r\n [isAppTileSubGroup]=\"false\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n ></bt-tiles-viewer-group>\r\n</ng-template>\r\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}fdp-search-field .fdp-search-field__input-group{border-radius:3px}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 #bgOuterHolder{height:100%;overflow:hidden;position:fixed;width:100%;top:0;right:0}bdc-service-desk-header #bgOuterHolder.sticky{position:fixed;top:0;z-index:5;background:rgb(247,247,247)}bdc-service-desk-header #bgInnerHolder{height:100%;opacity:1;overflow:hidden;top:0;transform:scale(1);width:100%}bdc-service-desk-header .backgroundImage{height:100%;width:100%}bdc-service-desk-header .overlay{background-attachment:fixed;background-image:radial-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%),radial-gradient(rgba(0,0,0,0) 33%,rgba(0,0,0,.3) 166%);background-position-y:0%;background-repeat:no-repeat;background-size:cover;height:100%;opacity:1;position:absolute;top:0;transition:opacity .3s linear 0s;width:100%}bdc-service-desk-header .picture{background-position:center center;background-repeat:no-repeat;background-size:cover;height:100%;margin:-1px 0 0 -1px;object-fit:cover;padding:0;position:absolute;width:100%}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}@media (max-width: 480px){.nav-container,.content-feed{width:380}#searchHolder.sticky{display:none}#searchHolder .fdp-search-field{width:250px}}@media (min-width: 481px) and (max-width: 935px){#searchHolder .fdp-search-field{width:360px}}@media (min-width: 936px) and (max-width: 1250px){#searchHolder .fdp-search-field{width:480px}}@media (min-width: 1251px){#searchHolder .fdp-search-field{width:690px}}@media (max-width: 1180){div#searchHolder.sticky .fdp-search-field{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 .fdp-search-field{width:690px}}\n"] }]
|
|
198
199
|
}], 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: [{
|
|
199
200
|
type: ViewChild,
|
|
200
201
|
args: ['headerSpaceHolder', { static: true }]
|
|
@@ -226,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
226
227
|
type: ViewChildren,
|
|
227
228
|
args: [TabPanelComponent]
|
|
228
229
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDdEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFXN0MsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDZCQUE2QjtJQXlCekUsWUFDYyxjQUE2QixFQUM3QixhQUEyQixFQUMzQixtQkFBdUMsRUFDdkMsU0FBb0IsRUFDdEIsaUJBQW1DLEVBQ25DLElBQXVCLEVBQ3ZCLE9BQWUsRUFDZixlQUErQjtRQUV2QyxLQUFLLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBVGhELG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsY0FBUyxHQUFULFNB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YUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0QsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNLLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxhQUFhO3NCQUExRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNtQixzQkFBc0I7c0JBQXBGLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUc1QixrQkFBa0I7c0JBQWxELFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWaWV3cG9ydFNjcm9sbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVGFiUGFuZWxDb21wb25lbnQsIFRhYlNpemVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgVGlsZXNTZXJ2aWNlLFxyXG4gICAgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudFxyXG59IGZyb20gJ2JhcnNhLXRpbGVzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2staGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1RpbGVzVmlld2VyU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyU3BhY2VIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJTcGFjZUhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyR3JpZCcsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlckdyaWQ6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2Fib3ZlU2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSkgYWJvdmVTZWFyY2g6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlYXJjaEhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnbmF2SG9sZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgbmF2SG9sZGVyOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdhYm92ZUNvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhYm92ZUNvbnRlbnQ6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2JnT3V0ZXJIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ091dGVySG9sZGVyOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdjb250ZW50QW5kTmF2JywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudEFuZE5hdjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZHJlbihUaWxlc1ZpZXdlckdyb3VwQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgdGlsZXNWaWV3ZXJHcm91cEVsTGlzdDogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKFRhYlBhbmVsQ29tcG9uZW50KSB0YWJQYW5lbENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUYWJQYW5lbENvbXBvbmVudD47XHJcbiAgICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcclxuICAgIGhlaWdodE9mU3BhY2VIb2xkZXIgPSAyNDg7XHJcbiAgICB0YWJTaXplOiBUYWJTaXplcztcclxuICAgIHNlYXJjaFRlcm0kOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBzZWFyY2hUZXJtID0gJyc7XHJcbiAgICBwcml2YXRlIF9lbmFibGVTY3JvbGwgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX2Rpc2FibGVJbnRlcnNlY3Rpb246IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9pc0Zvcm1PcGVuZWQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9zdGlja3lUb3BQb3NpdGlvbiA9IDY2O1xyXG4gICAgcHJpdmF0ZSBvYnNlcnZlckxpc3Q6IHsgZWw6IGFueTsgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIH1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfbGFzdFNjcm9sbFBvczogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNWaWV3ZXJTZXJ2aWNlOiBUaWxlc1ZpZXdlclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9wb3J0YWxTZXJ2aWNlLCBfdGlsZXNTZXJ2aWNlLCBfdGlsZXNWaWV3ZXJTZXJ2aWNlKTtcclxuICAgICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoJy0tYWJzb2x1dGUtcGFnZS10b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xyXG4gICAgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNlYXJjaFRlcm0kLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHRlcm0pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGVybTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnN1YnNjcmliZSgoYXBwVGlsZUdyb3VwcykgPT5cclxuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChjKSA9PiB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGMpKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyID0gNjI1O1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF2SG9sZGVyLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xyXG5cclxuICAgICAgICB0aGlzLnNldEdyaWRUZW1wbGF0ZVJvd3ModGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbmV3SGVpZ2h0ID0gdGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyO1xyXG4gICAgICAgICAgICB0aGlzLnRhYlNpemUgPSBjO1xyXG4gICAgICAgICAgICBpZiAoYyA9PT0gJ3MnKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAxNDg7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ20nKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyMjA7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ2wnKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAyNTA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuZXdIZWlnaHQgPSAzMjU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIgIT09IG5ld0hlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyID0gbmV3SGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmlkVGVtcGxhdGVSb3dzKG5ld0hlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkZXZpY2VTaXplID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplO1xyXG4gICAgICAgIGxldCBzdGlja3lUb3BQb3NpdGlvbiA9IDIwO1xyXG4gICAgICAgIGlmIChkZXZpY2VTaXplID09PSAncycpIHtcclxuICAgICAgICAgICAgc3RpY2t5VG9wUG9zaXRpb24gPSA2MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKHRoaXMuYWJvdmVTZWFyY2gubmF0aXZlRWxlbWVudCwgdGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgLXN0aWNreVRvcFBvc2l0aW9uLCAnc3RpY2t5Jyk7XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKFxyXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB0aGlzLm5hdkhvbGRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICdzdGlja3knXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9zdGlja3lEb20oXHJcbiAgICAgICAgICAgIHRoaXMuYWJvdmVDb250ZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtdGhpcy5fc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICdzdGlja3knLFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIHRoaXMuX3N0aWNreVRvcFBvc2l0aW9uICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmdPdXRlckhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKFxyXG4gICAgICAgICAgICB0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAtc3RpY2t5VG9wUG9zaXRpb24sXHJcbiAgICAgICAgICAgICduYXZBbmRDb250ZW50X3RiJyxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnZmlyc3QnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnZmlyc3QnLCAndHJ1ZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fZW5hYmxlU2Nyb2xsID0gdHJ1ZTtcclxuICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlnYXRpb25TdGFydCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbGFzdFNjcm9sbFBvcyA9IHdpbmRvdy5zY3JvbGxZO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQ/LnVybCAhPT0gJy9ob21lJyAmJiBldmVudD8udXJsICE9PSAnLycgJiYgIXRoaXMuX2Rpc2FibGVJbnRlcnNlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJlcGFyZUZvcm0oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWdhdGlvbkVuZCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50ICE9PSBudWxsICYmIChldmVudD8udXJsID09PSAnL2hvbWUnIHx8IGV2ZW50Py51cmwgPT09ICcvJykpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5QcmVwYXJlRm9ybSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaFN1Ym1pdCgkZXZlbnQ6IFNlYXJjaElucHV0KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoVGVybSA9ICRldmVudC50ZXh0O1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lL3NlYXJjaD90ZXJtPScgKyBzZWFyY2hUZXJtKTtcclxuICAgICAgICAvLyB2YXIgc2VhcmNoTW8gPSBCYXJzYUFwaS5Cdy5SdW5CbE1ldGhvZCgnR2V0U2VhcmNoTW8nLCB0aGlzLnNlYXJjaFRlcm0pO1xyXG4gICAgICAgIC8vIEJhcnNhQXBpLkJ3LkZvcm0uU2hvdyh7IE1vOiBzZWFyY2hNbyB9KTtcclxuICAgIH1cclxuICAgIHByZXBhcmVGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVJbnRlcnNlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRhY2goKTtcclxuICAgICAgICB0aGlzLmRpc2Nvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdzdGlja3knKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcclxuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KGZhbHNlKTtcclxuICAgICAgICBjb25zdCBmbGFncyA9IFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50O1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdoaWRkZW4nLCBmbGFncyk7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xyXG4gICAgfVxyXG4gICAgdW5QcmVwYXJlRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICAvLyB0aGlzLnNldEhlaWdodFNlYXJjaEhvbGRlcih0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZUNvbnRlbnQodHJ1ZSk7XHJcbiAgICAgICAgLy8gdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ3N0aWNreScpO1xyXG5cclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnaGlkZScpO1xyXG4gICAgICAgIGNvbnN0IGZsYWdzID0gUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQ7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2F1dG8nLCBmbGFncyk7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5yZWF0dGFjaCgpO1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVJbnRlcnNlY3Rpb24gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpO1xyXG4gICAgfVxyXG4gICAgc2V0SGVpZ2h0U2VhcmNoSG9sZGVyKGhlaWdodCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyU3BhY2VIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgfVxyXG4gICAgdmlzaWJsZUNvbnRlbnQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29udGVudEFuZE5hdi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIHZpc2libGUgPyAnZmxleCcgOiAnbm9uZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEdyaWRUZW1wbGF0ZVJvd3MoaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcclxuICAgICAgICAgICAgdGhpcy5oZWFkZXJHcmlkLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgICdncmlkLXRlbXBsYXRlLXJvd3MnLFxyXG4gICAgICAgICAgICBgbWlubWF4KDc4cHgsIDE1JSkgNDZweCAzMnB4IDFmciBhdXRvIDEyJTsgaGVpZ2h0OiR7aGVpZ2h0fXB4YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXJHcmlkLm5hdGl2ZUVsZW1lbnQsICdiYWNrZ3JvdW5kLWNvbG9yJywgYHJlZGApO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyU3BhY2VIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgfVxyXG4gICAgb25TZWxlY3RlZFRhYkNoYW5nZTMoc2VsZWN0ZWRUYWI6IFRhYlBhbmVsQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZFRhYi5pZCA9PT0gJzAnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZk9mc2VsZWN0ZWRUaWxlR3JvdXA6IEhUTUxFbGVtZW50ID0gdGhpcy50aWxlc1ZpZXdlckdyb3VwRWxMaXN0LmdldChcclxuICAgICAgICAgICAgTnVtYmVyKHNlbGVjdGVkVGFiLmlkKVxyXG4gICAgICAgICk/Lm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICAgIGVsZW1lbnRSZWZPZnNlbGVjdGVkVGlsZUdyb3VwLnNjcm9sbEludG9WaWV3KHtcclxuICAgICAgICAgICAgYmxvY2s6ICdzdGFydCdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgc2Nyb2xsVG9MYXN0UG9zKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3ZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9Qb3NpdGlvbihbMCwgdGhpcy5fbGFzdFNjcm9sbFBvc10pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fZW5hYmxlU2Nyb2xsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdwb3J0U2Nyb2xsZXIuc2Nyb2xsVG9Qb3NpdGlvbihbMCwgdGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyIC0gdGhpcy5fc3RpY2t5VG9wUG9zaXRpb25dKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGRpc2Nvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGNvbm5lY3RJbnRlcnNjdGlvbk9ic2VydmVyTGlzdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5mb3JFYWNoKChjKSA9PiBjLm9ic2VydmVyLm9ic2VydmUoYy5lbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N0aWNreURvbShcclxuICAgICAgICBhYm92ZSxcclxuICAgICAgICBob2xkZXIsXHJcbiAgICAgICAgbWFyZ2luVG9wLFxyXG4gICAgICAgIGNsYXNzTmFtZSxcclxuICAgICAgICB2aXNpYmxlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxyXG4gICAgICAgIGhpZGRlbkNhbGxCYWNrPzogKCkgPT4gdm9pZFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChlbnRyaWVzKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFlbnRyaWVzWzBdLmlzSW50ZXJzZWN0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhob2xkZXIsIGNsYXNzTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZpc2libGVDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVDYWxsYmFjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBoaWRkZW5DYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbkNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIHJvb3RNYXJnaW46IGAke21hcmdpblRvcH1weCAwcHggMHB4IDBweGAsXHJcbiAgICAgICAgICAgIHRocmVzaG9sZDogMC4xXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyB3aW5kb3cuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoaGFuZGxlciwgb3B0aW9ucyk7XHJcblxyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoYWJvdmUpO1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJMaXN0LnB1c2goeyBlbDogYWJvdmUsIG9ic2VydmVyIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJoZWFkZXJHcmlkXCIgc3R5bGU9XCJncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg3OHB4LCAxNSUpIDQ2cHggMzJweCAxZnIgYXV0byAxMiU7IGhlaWdodDogMjQ4cHhcIiAjaGVhZGVyR3JpZD5cbiAgICA8ZGl2IGNsYXNzPVwiY29tcGFueUxvZ29Ib2xkZXJfYWJvdmVTZWFyY2hcIiAjYWJvdmVTZWFyY2g+PC9kaXY+XG4gICAgPGRpdiBpZD1cInNlYXJjaEhvbGRlclwiIHN0eWxlPVwiZ3JpZC1yb3c6IDJcIiAjc2VhcmNoSG9sZGVyPlxuICAgICAgICA8ZmRwLXNlYXJjaC1maWVsZFxuICAgICAgICAgICAgY29udGVudERlbnNpdHk9XCJjb3p5XCJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgW2lucHV0VGV4dF09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwiW11cIlxuICAgICAgICAgICAgKHNlYXJjaFN1Ym1pdCk9XCJvblNlYXJjaFN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZmRwLXNlYXJjaC1maWVsZD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxuICAgIDxkaXYgaWQ9XCJiZ091dGVySG9sZGVyXCIgI2JnT3V0ZXJIb2xkZXI+XG4gICAgICAgIDxkaXYgaWQ9XCJiZ0lubmVySG9sZGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCIgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwicGljdHVyZVwiIHNyYz1cIi9hc3NldHMvYmFjay5qcGdcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGlkPVwiY29udGVudEhvbGRlckFuZE5hdlwiIGZpcnN0PVwidHJ1ZVwiICNjb250ZW50QW5kTmF2PlxuICAgIDxkaXYgY2xhc3M9XCJhYm92ZUNvbnRlbnRcIiAjYWJvdmVDb250ZW50PjwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb250ZW50SG9sZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXZcIiAjbmF2SG9sZGVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGFiczsgY29udGV4dDogeyAkaW1wbGljaXQ6IChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jKSEhIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdl9zdXJyb2dhdGVcIiBzdHlsZT1cImhlaWdodDogMTBweFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mZWVkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJHcm91cHM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiAoYXBwVGlsZUdyb3VwcyQgfCBhc3luYykhISB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyVGFicyBsZXQtYXBwVGlsZUdyb3Vwcz5cbiAgICA8ZmQtdGFiLWxpc3RcbiAgICAgICAgW3NpemVdPVwidGFiU2l6ZVwiXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRhYlNpemUgPT09ICdzJyB8fCBhcHBUaWxlR3JvdXBzLmxlbmd0aCA+IDVcIlxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlMygkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxmZC10YWJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhcHBUaWxlR3JvdXAgb2YgYXBwVGlsZUdyb3VwczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICBbaWRdPVwiJycgKyBpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgIDwvZmQtdGFiLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNyZW5kZXJHcm91cHMgbGV0LWFwcFRpbGVHcm91cHM+XG4gICAgPGJ0LXRpbGVzLXZpZXdlci1ncm91cFxuICAgICAgICAqbmdGb3I9XCJsZXQgYXBwVGlsZUdyb3VwIG9mIGFwcFRpbGVHcm91cHM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbYXR0ci5pbmRleF09XCJpXCJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlR3JvdXBcIlxuICAgICAgICBbZWRpdEhvbWVdPVwiZmFsc2VcIlxuICAgICAgICBbc3RhY2tDb250ZW50XT1cInRydWVcIlxuICAgICAgICBbaXNBcHBUaWxlU3ViR3JvdXBdPVwiZmFsc2VcIlxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlLWRlc2staGVhZGVyL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLWhlYWRlci9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFHWixtQkFBbUIsRUFDdEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFFcEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixrQkFBa0IsRUFFbEIseUJBQXlCLEVBQzVCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFXN0MsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDZCQUE2QjtJQTBCekUsWUFDYyxjQUE2QixFQUM3QixhQUEyQixFQUMzQixtQkFBdUMsRUFDdkMsU0FBb0IsRUFDdEIsaUJBQW1DLEVBQ25DLElBQXVCLEVBQ3ZCLE9BQWUsRUFDZixlQUErQjtRQUV2QyxLQUFLLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBVGhELG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsY0FBUyxHQUFULFNB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QUFFLElBQUksRUFBRTtnQkFDRyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNELFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNFLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDbUIsc0JBQXNCO3NCQUFwRixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHNUIsa0JBQWtCO3NCQUFsRCxZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIFJlbmRlcmVyU3R5bGVGbGFnczJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmlld3BvcnRTY3JvbGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50LCBUYWJTaXplcyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVGlsZXNWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgVGlsZXNTZXJ2aWNlLFxyXG4gICAgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudFxyXG59IGZyb20gJ2JhcnNhLXRpbGVzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2staGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2staGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1RpbGVzVmlld2VyU2VydmljZV0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgVGlsZXNWaWV3ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyU3BhY2VIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJTcGFjZUhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyR3JpZCcsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlckdyaWQ6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2Fib3ZlU2VhcmNoJywgeyBzdGF0aWM6IHRydWUgfSkgYWJvdmVTZWFyY2g6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaEhvbGRlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlYXJjaEhvbGRlcjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZCgnbmF2SG9sZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgbmF2SG9sZGVyOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdhYm92ZUNvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBhYm92ZUNvbnRlbnQ6IEVsZW1lbnRSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2JnT3V0ZXJIb2xkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBiZ091dGVySG9sZGVyOiBFbGVtZW50UmVmPGFueT47XHJcbiAgICBAVmlld0NoaWxkKCdjb250ZW50QW5kTmF2JywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudEFuZE5hdjogRWxlbWVudFJlZjxhbnk+O1xyXG4gICAgQFZpZXdDaGlsZHJlbihUaWxlc1ZpZXdlckdyb3VwQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgdGlsZXNWaWV3ZXJHcm91cEVsTGlzdDogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgLy8gQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBwYWdlQ29udGVudENsYXNzID0gdHJ1ZTtcclxuXHJcbiAgICBAVmlld0NoaWxkcmVuKFRhYlBhbmVsQ29tcG9uZW50KSB0YWJQYW5lbENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUYWJQYW5lbENvbXBvbmVudD47XHJcbiAgICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcclxuICAgIGhlaWdodE9mU3BhY2VIb2xkZXIgPSA4ODtcclxuICAgIHRhYlNpemU6IFRhYlNpemVzO1xyXG4gICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHNlYXJjaFRlcm0gPSAnJztcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBwcml2YXRlIF9lbmFibGVTY3JvbGwgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX2Rpc2FibGVJbnRlcnNlY3Rpb246IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9pc0Zvcm1PcGVuZWQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIF9zdGlja3lUb3BQb3NpdGlvbiA9IDY2O1xyXG4gICAgcHJpdmF0ZSBvYnNlcnZlckxpc3Q6IHsgZWw6IGFueTsgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIH1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfbGFzdFNjcm9sbFBvczogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNWaWV3ZXJTZXJ2aWNlOiBUaWxlc1ZpZXdlclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0U2Nyb2xsZXI6IFZpZXdwb3J0U2Nyb2xsZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9wb3J0YWxTZXJ2aWNlLCBfdGlsZXNTZXJ2aWNlLCBfdGlsZXNWaWV3ZXJTZXJ2aWNlKTtcclxuICAgICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoJy0tYWJzb2x1dGUtcGFnZS10b3AnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xyXG4gICAgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNlYXJjaFRlcm0kLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHRlcm0pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gdGVybTtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnN1YnNjcmliZSgoYXBwVGlsZUdyb3VwcykgPT5cclxuICAgICAgICAgICAgYXBwVGlsZUdyb3Vwcy5mb3JFYWNoKChjKSA9PiB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UubG9hZEFwcEdyb3VwKGMpKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5uYXZIb2xkZXIubmF0aXZlRWxlbWVudCwgJ3RvcCcsIHRoaXMuX3N0aWNreVRvcFBvc2l0aW9uICsgJ3B4Jyk7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0R3JpZFRlbXBsYXRlUm93cyh0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXIpO1xyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBuZXdIZWlnaHQgPSB0aGlzLmhlaWdodE9mU3BhY2VIb2xkZXI7XHJcbiAgICAgICAgICAgIHRoaXMudGFiU2l6ZSA9IGM7XHJcbiAgICAgICAgICAgIGlmIChjID09PSAncycpIHtcclxuICAgICAgICAgICAgICAgIG5ld0hlaWdodCA9IDg4O1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09ICdtJykge1xyXG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMjIwO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09ICdsJykge1xyXG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMjUwO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbmV3SGVpZ2h0ID0gMzI1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5ld0hlaWdodCA9IDg4O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyICE9PSBuZXdIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZTcGFjZUhvbGRlciA9IG5ld0hlaWdodDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R3JpZFRlbXBsYXRlUm93cyhuZXdIZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGV2aWNlU2l6ZSA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZTtcclxuICAgICAgICBsZXQgc3RpY2t5VG9wUG9zaXRpb24gPSAyMDtcclxuICAgICAgICBpZiAoZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICAgICAgICAgIHN0aWNreVRvcFBvc2l0aW9uID0gNjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3N0aWNreURvbSh0aGlzLmFib3ZlU2VhcmNoLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsIC1zdGlja3lUb3BQb3NpdGlvbiwgJ3N0aWNreScpO1xyXG4gICAgICAgIHRoaXMuX3N0aWNreURvbShcclxuICAgICAgICAgICAgdGhpcy5hYm92ZUNvbnRlbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgdGhpcy5uYXZIb2xkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgLXRoaXMuX3N0aWNreVRvcFBvc2l0aW9uLFxyXG4gICAgICAgICAgICAnc3RpY2t5J1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fc3RpY2t5RG9tKFxyXG4gICAgICAgICAgICB0aGlzLmFib3ZlQ29udGVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgLXRoaXMuX3N0aWNreVRvcFBvc2l0aW9uLFxyXG4gICAgICAgICAgICAnc3RpY2t5JyxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iZ091dGVySG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCB0aGlzLl9zdGlja3lUb3BQb3NpdGlvbiArICdweCcpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJnT3V0ZXJIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcxMDAlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX3N0aWNreURvbShcclxuICAgICAgICAgICAgdGhpcy5hYm92ZVNlYXJjaC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgLXN0aWNreVRvcFBvc2l0aW9uLFxyXG4gICAgICAgICAgICAnbmF2QW5kQ29udGVudF90YicsXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCwgJ2ZpcnN0Jyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCwgJ2ZpcnN0JywgJ3RydWUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2VuYWJsZVNjcm9sbCA9IHRydWU7XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5uYXZpZ2F0aW9uU3RhcnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xhc3RTY3JvbGxQb3MgPSB3aW5kb3cuc2Nyb2xsWTtcclxuICAgICAgICAgICAgaWYgKGV2ZW50ID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGV2ZW50Py51cmwgIT09ICcvaG9tZScgJiYgZXZlbnQ/LnVybCAhPT0gJy8nICYmICF0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmVGb3JtKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlnYXRpb25FbmQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCAhPT0gbnVsbCAmJiAoZXZlbnQ/LnVybCA9PT0gJy9ob21lJyB8fCBldmVudD8udXJsID09PSAnLycpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuUHJlcGFyZUZvcm0oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25TZWFyY2hTdWJtaXQoJGV2ZW50OiBTZWFyY2hJbnB1dCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSAkZXZlbnQudGV4dDtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnaG9tZS9zZWFyY2g/dGVybT0nICsgc2VhcmNoVGVybSk7XHJcbiAgICAgICAgLy8gdmFyIHNlYXJjaE1vID0gQmFyc2FBcGkuQncuUnVuQmxNZXRob2QoJ0dldFNlYXJjaE1vJywgdGhpcy5zZWFyY2hUZXJtKTtcclxuICAgICAgICAvLyBCYXJzYUFwaS5Cdy5Gb3JtLlNob3coeyBNbzogc2VhcmNoTW8gfSk7XHJcbiAgICB9XHJcbiAgICBwcmVwYXJlRm9ybSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0SW50ZXJzY3Rpb25PYnNlcnZlckxpc3QoKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlYXJjaEhvbGRlci5uYXRpdmVFbGVtZW50LCAnc3RpY2t5Jyk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5jb250ZW50QW5kTmF2Lm5hdGl2ZUVsZW1lbnQsICdoaWRlJyk7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ29udGVudChmYWxzZSk7XHJcbiAgICAgICAgY29uc3QgZmxhZ3MgPSBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudDtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShkb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJywgZmxhZ3MpO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcclxuICAgIH1cclxuICAgIHVuUHJlcGFyZUZvcm0oKTogdm9pZCB7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRIZWlnaHRTZWFyY2hIb2xkZXIodGhpcy5oZWlnaHRPZlNwYWNlSG9sZGVyKTtcclxuICAgICAgICB0aGlzLnZpc2libGVDb250ZW50KHRydWUpO1xyXG4gICAgICAgIC8vIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuc2VhcmNoSG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdzdGlja3knKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWFyY2hIb2xkZXIubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCwgJ2hpZGUnKTtcclxuICAgICAgICBjb25zdCBmbGFncyA9IFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50O1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdhdXRvJywgZmxhZ3MpO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcclxuICAgICAgICB0aGlzLl9jZHIucmVhdHRhY2goKTtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlSW50ZXJzZWN0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0SW50ZXJzY3Rpb25PYnNlcnZlckxpc3QoKTtcclxuICAgIH1cclxuICAgIHNldEhlaWdodFNlYXJjaEhvbGRlcihoZWlnaHQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlclNwYWNlSG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIH1cclxuICAgIHZpc2libGVDb250ZW50KHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbnRlbnRBbmROYXYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCB2aXNpYmxlID8gJ2ZsZXgnIDogJ25vbmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRHcmlkVGVtcGxhdGVSb3dzKGhlaWdodDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyR3JpZC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAnZ3JpZC10ZW1wbGF0ZS1yb3dzJyxcclxuICAgICAgICAgICAgYG1pbm1heCg3OHB4LCAxNSUpIDQ2cHggMzJweCAxZnIgYXV0byAxMiU7IGhlaWdodDoke2hlaWdodH1weGBcclxuICAgICAgICApO1xyXG4gICAgICAgIC8vIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuaGVhZGVyR3JpZC5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsIGByZWRgKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlclNwYWNlSG9sZGVyLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIH1cclxuICAgIG9uU2VsZWN0ZWRUYWJDaGFuZ2UzKHNlbGVjdGVkVGFiOiBUYWJQYW5lbENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRUYWIuaWQgPT09ICcwJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWZPZnNlbGVjdGVkVGlsZUdyb3VwOiBIVE1MRWxlbWVudCA9IHRoaXMudGlsZXNWaWV3ZXJHcm91cEVsTGlzdC5nZXQoXHJcbiAgICAgICAgICAgIE51bWJlcihzZWxlY3RlZFRhYi5pZClcclxuICAgICAgICApPy5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICBlbGVtZW50UmVmT2ZzZWxlY3RlZFRpbGVHcm91cC5zY3JvbGxJbnRvVmlldyh7XHJcbiAgICAgICAgICAgIGJsb2NrOiAnc3RhcnQnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHNjcm9sbFRvTGFzdFBvcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl92aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIHRoaXMuX2xhc3RTY3JvbGxQb3NdKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2VuYWJsZVNjcm9sbCkge1xyXG4gICAgICAgICAgICB0aGlzLl92aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIHRoaXMuaGVpZ2h0T2ZTcGFjZUhvbGRlciAtIHRoaXMuX3N0aWNreVRvcFBvc2l0aW9uXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0SW50ZXJzY3Rpb25PYnNlcnZlckxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlckxpc3QuZm9yRWFjaCgoYykgPT4gYy5vYnNlcnZlci5kaXNjb25uZWN0KCkpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBjb25uZWN0SW50ZXJzY3Rpb25PYnNlcnZlckxpc3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlckxpc3QuZm9yRWFjaCgoYykgPT4gYy5vYnNlcnZlci5vYnNlcnZlKGMuZWwpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zdGlja3lEb20oXHJcbiAgICAgICAgYWJvdmUsXHJcbiAgICAgICAgaG9sZGVyLFxyXG4gICAgICAgIG1hcmdpblRvcCxcclxuICAgICAgICBjbGFzc05hbWUsXHJcbiAgICAgICAgdmlzaWJsZUNhbGxiYWNrPzogKCkgPT4gdm9pZCxcclxuICAgICAgICBoaWRkZW5DYWxsQmFjaz86ICgpID0+IHZvaWRcclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZW50cmllcyk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZGlzYWJsZUludGVyc2VjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghZW50cmllc1swXS5pc0ludGVyc2VjdGluZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3MoaG9sZGVyLCBjbGFzc05hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2aXNpYmxlQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKGhvbGRlciwgY2xhc3NOYW1lKTtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaGlkZGVuQ2FsbEJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBoaWRkZW5DYWxsQmFjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICByb290TWFyZ2luOiBgJHttYXJnaW5Ub3B9cHggMHB4IDBweCAwcHhgLFxyXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IDAuMVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZXIsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGFib3ZlKTtcclxuICAgICAgICB0aGlzLm9ic2VydmVyTGlzdC5wdXNoKHsgZWw6IGFib3ZlLCBvYnNlcnZlciB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwiaGVhZGVyR3JpZFwiIHN0eWxlPVwiZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMXB4LCAxNSUpIDQ4cHggMzJweCAxZnIgYXV0byAxMiU7IGhlaWdodDogMTQ4cHhcIiAjaGVhZGVyR3JpZD5cclxuICAgIDxkaXYgY2xhc3M9XCJjb21wYW55TG9nb0hvbGRlcl9hYm92ZVNlYXJjaFwiICNhYm92ZVNlYXJjaD48L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJzZWFyY2hIb2xkZXJcIiBzdHlsZT1cImdyaWQtcm93OiAyXCIgI3NlYXJjaEhvbGRlcj5cclxuICAgICAgICA8ZmRwLXNlYXJjaC1maWVsZFxyXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eT1cImNvenlcIlxyXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgW2lucHV0VGV4dF09XCJzZWFyY2hUZXJtXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2gnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cIltdXCJcclxuICAgICAgICAgICAgKHNlYXJjaFN1Ym1pdCk9XCJvblNlYXJjaFN1Ym1pdCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9mZHAtc2VhcmNoLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGlkPVwiaGVhZGVyU3BhY2VIb2xkZXJcIiAjaGVhZGVyU3BhY2VIb2xkZXI+XHJcbiAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJiZ0lubmVySG9sZGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kSW1hZ2VcIiBpZD1cImJhY2tncm91bmRJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInBpY3R1cmVcIiBzcmM9XCIvYXNzZXRzL2JhY2suanBnXCIgbG9hZGluZz1cImxhenlcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBpZD1cImNvbnRlbnRIb2xkZXJBbmROYXZcIiBmaXJzdD1cInRydWVcIiAjY29udGVudEFuZE5hdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhYm92ZUNvbnRlbnRcIiAjYWJvdmVDb250ZW50PjwvZGl2PlxyXG4gICAgPGRpdiBpZD1cImNvbnRlbnRIb2xkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2XCIgI25hdkhvbGRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlclRhYnM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiAoYXBwVGlsZUdyb3VwcyQgfCBhc3luYykhISB9XCJcclxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdl9zdXJyb2dhdGVcIiBzdHlsZT1cImhlaWdodDogMTBweFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWZlZWRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJHcm91cHM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiAoYXBwVGlsZUdyb3VwcyQgfCBhc3luYykhISB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYnMgbGV0LWFwcFRpbGVHcm91cHM+XHJcbiAgICA8ZmQtdGFiLWxpc3RcclxuICAgICAgICBbc2l6ZV09XCJ0YWJTaXplXCJcclxuICAgICAgICBbY29sbGFwc2VPdmVyZmxvd109XCJ0YWJTaXplID09PSAncycgfHwgYXBwVGlsZUdyb3Vwcy5sZW5ndGggPiA1XCJcclxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uU2VsZWN0ZWRUYWJDaGFuZ2UzKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICAgIDxmZC10YWJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFwcFRpbGVHcm91cCBvZiBhcHBUaWxlR3JvdXBzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgW2lkXT1cIicnICsgaVwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGl0bGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyR3JvdXBzIGxldC1hcHBUaWxlR3JvdXBzPlxyXG4gICAgPGJ0LXRpbGVzLXZpZXdlci1ncm91cFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBhcHBUaWxlR3JvdXAgb2YgYXBwVGlsZUdyb3VwczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2F0dHIuaW5kZXhdPVwiaVwiXHJcbiAgICAgICAgW2FwcFRpbGVHcm91cF09XCJhcHBUaWxlR3JvdXBcIlxyXG4gICAgICAgIFtlZGl0SG9tZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbaXNBcHBUaWxlU3ViR3JvdXBdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtkZXZpY2VTaXplXT1cIihkZXZpY2VTaXplJCB8IGFzeW5jKSEhXCJcclxuICAgID48L2J0LXRpbGVzLXZpZXdlci1ncm91cD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -133,10 +133,10 @@ export class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
ServiceDeskServcieDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
-
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\" 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\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\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\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\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\">\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\"\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\">\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\"\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\">\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\"\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\">\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\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\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\"\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 }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a 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 }}</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] }}\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", "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 });
|
|
136
|
+
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'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab title=\"\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\r\n caption=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\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\"\r\n caption=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\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\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\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\"\r\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\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\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\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\r\n caption=\"\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"configUi\"\r\n caption=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n <ng-container *ngFor=\"let controlItem of array\">\r\n <tr>\r\n <th>{{ controlItem.caption }}</th>\r\n <td>\r\n <ng-container [ngSwitch]=\"controlItem.type\">\r\n <ng-container *ngSwitchCase=\"'Link'\">\r\n <a target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\r\n mo[controlItem.fieldName]\r\n }}</a></ng-container\r\n >\r\n <ng-container *ngSwitchCase=\"'Relation'\">\r\n {{ controlItem.fieldName | val: mo:true }}</ng-container\r\n >\r\n <ng-container *ngSwitchCase=\"'MoList'\">\r\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\r\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] }}\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n</ng-template>\r\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 });
|
|
137
137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
|
-
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\" 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\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\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\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\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\">\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\"\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\">\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\"\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\">\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\"\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\">\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\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\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\"\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 }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a 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 }}</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] }}\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"] }]
|
|
139
|
+
args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\r\n <fd-tab-list\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"false\"\r\n maxContentHeight=\"auto\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n #tablist\r\n >\r\n <fd-tab title=\"\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A\" selected>\r\n <fd-dynamic-page-content>\r\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: firstArray,\r\n showKhadamatMortabet: isOdd,\r\n classNames: 'firstTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderTable;\r\n context: {\r\n $implicit: secondArray,\r\n showKhadamatMortabet: !isOdd,\r\n classNames: 'secondTable'\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </div>\r\n </fd-layout-grid>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\n <fd-tab title=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\r\n caption=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\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\"\r\n caption=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\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\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\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\"\r\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\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n\r\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\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\r\n caption=\"\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\r\n <fd-dynamic-page-content>\r\n <bsu-layout-control\r\n *ngIf=\"configUi\"\r\n caption=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\"\r\n [config]=\"configUi\"\r\n ></bsu-layout-control>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\r\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\r\n <ng-container *ngFor=\"let controlItem of array\">\r\n <tr>\r\n <th>{{ controlItem.caption }}</th>\r\n <td>\r\n <ng-container [ngSwitch]=\"controlItem.type\">\r\n <ng-container *ngSwitchCase=\"'Link'\">\r\n <a target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\r\n mo[controlItem.fieldName]\r\n }}</a></ng-container\r\n >\r\n <ng-container *ngSwitchCase=\"'Relation'\">\r\n {{ controlItem.fieldName | val: mo:true }}</ng-container\r\n >\r\n <ng-container *ngSwitchCase=\"'MoList'\">\r\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\r\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\r\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\r\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\r\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] }}\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"showKhadamatMortabet\">\r\n <tr>\r\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\r\n <td>\r\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\r\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n</ng-template>\r\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"] }]
|
|
140
140
|
}], propDecorators: { tabContainerRef: [{
|
|
141
141
|
type: ViewChild,
|
|
142
142
|
args: ['tabContainerRef']
|
|
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
144
144
|
type: ViewChildren,
|
|
145
145
|
args: ['tablesRef']
|
|
146
146
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdELHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVF0SCxNQUFNLE9BQU8saUNBQWtDLFNBQVEsc0JBQXNCO0lBTjdFOztRQWFJLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBS2pCLGtCQUFhLEdBQWlCLEVBQUUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0tBOEg3QjtJQTFIRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxV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VSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzhIQTVJUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw4UkNqQjlDLGlxU0E4SkE7MkZEN0lhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFyc2FBcGksIEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrU2VydmNpZURldGFpbENvbXBvbmVudCBleHRlbmRzIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCd0YWJsZXNSZWYnKSB0YWJsZXNSZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBmaWx0ZXJlZENvbnRyb2xzOiBGaWVsZHNJbmZvW107XG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdO1xuICAgIHNlY29uZEFycmF5OiBGaWVsZHNJbmZvW107XG4gICAgdmFsdWVTaGFyaEtoZWRtYXQ6IGFueTtcbiAgICBtb0J5Q2FwdGlvbiA9IHt9O1xuICAgIGtoYWRhbWF0bW9ydGFiZXQ6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBzZXJ2aWNlczogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcbiAgICBjb250cm9sQ291bnQ6IG51bWJlcjtcbiAgICBpc09kZDogYm9vbGVhbjtcbiAgICBmaWVsZHNDYXB0aW9uOiBGaWVsZHNJbmZvW10gPSBbXTtcbiAgICB2YWx1ZSA9ICcnO1xuICAgIHJhaG5hbWF5VGFzdmlyaTogYW55O1xuICAgIGlzcmFobmFtYXlUYXN2aXJpID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRUYWI6IG51bWJlcjtcbiAgICBraGFkYW1hdG1vcnRhYmV0UmVwb3J0OiB7IFJlcG9ydElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH07XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBjb25zdCAkRmllbGREaWN0ID0gdGhpcy5maWVsZERpY3Q7XG4gICAgICAgIGlmICghJEZpZWxkRGljdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ByZXBhcmUoJEZpZWxkRGljdCwgdGhpcy5tbyk7XG4gICAgfVxuXG4gICAgb25Eb3dubG9hZChpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLkF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5GaWxlLkRvd25sb2FkRmlsZUlkKGl0ZW0uQXR0YWNobWVudC5GaWxlc1swXS5JZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLmFsaWduVGFibGVzVHIoKTtcbiAgICB9XG4gICAgb25LaGFkYW1hdE1vcnRhYmV0KGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgQmFyc2FBcGkuQncuRm9ybS5TaG93KHtcbiAgICAgICAgICAgIE1vSWQ6IGl0ZW0uSWQsXG4gICAgICAgICAgICBUeXBlRGVmSWQ6IHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydC5UeXBlRGVmSWQsXG4gICAgICAgICAgICBNb0NvbnRleHQ6IHsgUmVwb3J0SWQ6IHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydC5SZXBvcnRJZCB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGFsaWduVGFibGVzVHIoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFibGVzUmVmID0gdGhpcy50YWJsZXNSZWYudG9BcnJheSgpO1xuICAgICAgICAgICAgY29uc3QgZmlyc3RUYWJsZUVsID0gdGFibGVzUmVmWzBdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRUYWJsZUVsID0gdGFibGVzUmVmWzFdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IHRyRmlyc3RUYWJsZSA9IGZpcnN0VGFibGVFbC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpO1xuICAgICAgICAgICAgY29uc3QgdHJTZWNvbmRUYWJsZSA9IHNlY29uZFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcblxuICAgICAgICAgICAgdHJGaXJzdFRhYmxlLmZvckVhY2goKHRyLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IHRyU2Vjb25kVGFibGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyU2Vjb25kID0gdHJTZWNvbmRUYWJsZVtpbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGlmICh0ci5vZmZzZXRIZWlnaHQgPiB0clNlY29uZC5vZmZzZXRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyU2Vjb25kLnN0eWxlLmhlaWdodCA9IGAke3RyLm9mZnNldEhlaWdodH1weGA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ci5zdHlsZS5oZWlnaHQgPSBgJHt0clNlY29uZC5vZmZzZXRIZWlnaHR9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbiAgICBwcml2YXRlIF9wcmVwYXJlKCRGaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIE9iamVjdC5rZXlzKCRGaWVsZERpY3QpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gJEZpZWxkRGljdFtrZXldO1xuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBrZXkgPT09ICfYotiv2LHYsyDYs9in24zYqicgfHxcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdGaWxlcyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpZWxkc0NhcHRpb24ucHVzaChpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmFobmFtYXlUYXN2aXJpID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChtb1skRmllbGREaWN0WyfYsdin2YfZhtmF2KfbjCDYqti12YjbjNix24wnXV0pO1xuICAgICAgICBpZiAodGhpcy5yYWhuYW1heVRhc3ZpcmkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNyYWhuYW1heVRhc3ZpcmkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQ29udHJvbHMgPSB0aGlzLmZpZWxkc0NhcHRpb24uZmlsdGVyKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAnU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9is2YbYsyDZhdis2YjYsicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZhdis2YjYsiDZiNin2KjYs9iq2YcnICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YbZiNi5INiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mE24zZhtqpINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qv2LHZiNmHINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9iu2K/Zhdin2Kog2YXYsdiq2KjYtycgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjZitixINmB2YTZiNqG2KfYsdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9i22YjYp9io2Lcg2K7Yp9i1INin2K7YsCDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYsdin2YfZhtmF2KfbjCDYqti12YjbjNix24wnICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2b7bjNi02YbbjNin2LLZh9in24wg2KfYrtiwINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9io24zYp9mG24zZhyDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINin2LPYqti52YTYp9mFINin2LIg2K/Ys9iq2q/Yp9mH2YfYp9uMINiv24zar9ixJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9in2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inJyAmJlxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2LPYp9uM2Kog2KzYr9in2q/Yp9mG2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfYs9in2YXYp9mG2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINm+2LHYr9in2K7YqiDZh9iy24zZhtmHJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qv2LHZiNmHINiz2KfYrtiq2KfYsScgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYudmG2KfZiNuM2YYg2YXYsdiq2KjYtycgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZgdin24zZhCDYtNmG2KfYs9mG2KfZhdmHINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2KrYudix24zZgSDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjbjNixINmB2YTZiNqG2KfYsdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9iz2YjYp9mE2KfYqiDZhdiq2K/Yp9mI2YQnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINmF2LHYp9is2LnZhyDYrdi22YjYsduMJyAmJlxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2KrZiNi224zYrSDZhdix2KfYrNi52Ycg2K3YttmI2LHbjCcgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYudmG2YjYp9mGJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qp2K8g2K7Yr9mF2KonXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xDb3VudCA9IGZpbHRlcmVkQ29udHJvbHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjb250cm9sQ291bnRNaWRkbGUgPSBNYXRoLmNlaWwoZmlsdGVyZWRDb250cm9scy5sZW5ndGggLyAyKTtcbiAgICAgICAgdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xuICAgICAgICB0aGlzLnNlY29uZEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZShjb250cm9sQ291bnRNaWRkbGUsIGNvbnRyb2xDb3VudCk7XG4gICAgICAgIHRoaXMua2hhZGFtYXRtb3J0YWJldCA9IG1vWyRGaWVsZERpY3RbJ9iu2K/Zhdin2Kog2YXYsdiq2KjYtyddXT8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvbnRyb2xzID0gZmlsdGVyZWRDb250cm9scztcbiAgICAgICAgdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0ID0gbW9bJEZpZWxkRGljdFsn2K7Yr9mF2KfYqiDZhdix2KrYqNi3J11dO1xuXG4gICAgICAgIHRoaXMuaXNPZGQgPSBjb250cm9sQ291bnQgJSAyID09PSAwO1xuICAgIH1cbn1cbmludGVyZmFjZSBGaWVsZHNJbmZvIHtcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGNhcHRpb246IHN0cmluZztcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbn1cbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxuICAgIDxmZC10YWItbGlzdFxuICAgICAgICBbY29sbGFwc2VPdmVyZmxvd109XCJ0cnVlXCJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAjdGFibGlzdFxuICAgID5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cIti02YbYp9iz2YbYp9mF2Ycg2K7Yr9mF2KpcIiBzZWxlY3RlZD5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI2XCIgW2NvbFhsXT1cIjZcIiBzdHlsZT1cInBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJUYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaXJzdEFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0toYWRhbWF0TW9ydGFiZXQ6IGlzT2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lczogJ2ZpcnN0VGFibGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI2XCIgW2NvbFhsXT1cIjZcIiBzdHlsZT1cInBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJUYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZWNvbmRBcnJheSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dLaGFkYW1hdE1vcnRhYmV0OiAhaXNPZGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnc2Vjb25kVGFibGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItm+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbndzZXIgbWVyZ2VcIiBbaW5uZXJIVE1MXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgdmFsOiBtb1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLYtNix2KfZiti3INin2K7YsCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbndzZXIgbWVyZ2VcIiBbaW5uZXJIVE1MXT1cIifYtNix2KfbjNi3INin2K7YsCDYrtiv2YXYqicgfCB2YWw6IG1vXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KpcIj5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW53c2VyIG1lcmdlXCIgW2lubmVySFRNTF09XCIn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonIHwgdmFsOiBtb1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItmF2K/Yp9ix2YMg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFud3NlciBtZXJnZVwiIFtpbm5lckhUTUxdPVwiJ9mF2K/Yp9ix2qkg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqJyB8IHZhbDogbW9cIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuXG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqlwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItmF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KpcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YjYp9it2K/Zh9in24wg2KfYsdin2KbZhyDYr9mH2YbYr9mHINiu2K/ZhdiqXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YdcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2K/Ys9iq2q/Yp9mHINmH2KfbjCDYp9iz2KrYudmE2KfZhSDYr9mH2YbYr9mHXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItin2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCJTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KpcIiAqbmdJZj1cIidTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCJTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KpcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cbiAgICA8L2ZkLXRhYi1saXN0PlxuXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXI+IDwvZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbjwvZmQtZHluYW1pYy1wYWdlPlxuXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYmxlIGxldC1hcnJheSBsZXQtc2hvd0toYWRhbWF0TW9ydGFiZXQ9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiIGxldC1jbGFzc05hbWVzPVwiY2xhc3NOYW1lc1wiPlxuICAgIDx0YWJsZSAjdGFibGVzUmVmIGNsYXNzPVwidGFibGUtZ3JpZFwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29udHJvbEl0ZW0gb2YgYXJyYXlcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+e3sgY29udHJvbEl0ZW0uY2FwdGlvbiB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb250cm9sSXRlbS50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTGluaydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbaHJlZl09XCJtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9hPjwvbmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInUmVsYXRpb24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udHJvbEl0ZW0uZmllbGROYW1lIHwgdmFsOiBtbzp0cnVlIH19PC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidNb0xpc3QnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdPy5Nb0RhdGFMaXN0XCIgY2xhc3M9XCJsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cImZkLWljb24tbGlua1wiIFtnbHlwaF09XCInY2hhaW4tbGluaydcIiBzdHlsZT1cImNvbG9yOiAjMDg1NGEwXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidwZGYtYXR0YWNobWVudCdcIj48L2ZkLWljb24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25Eb3dubG9hZChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidJbWFnZSdcIj4ge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5FeHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidGaWxlcydcIj4ge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5GaWxlcyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZSArICckQ2FwdGlvbiddIHx8IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0aD7Yrtiv2YXYp9iqINmF2LHYqtio2Lc8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Yga2hhZGFtYXRtb3J0YWJldFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uS2hhZGFtYXRNb3J0YWJldChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RhYmxlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdELHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVF0SCxNQUFNLE9BQU8saUNBQWtDLFNBQVEsc0JBQXNCO0lBTjdFOztRQWFJLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBS2pCLGtCQUFhLEdBQWlCLEVBQUUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0tBOEg3QjtJQTFIRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxV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VSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzhIQTVJUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw4UkNqQjlDLDY5U0E4SkE7MkZEN0lhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFyc2FBcGksIEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza1NlcnZjaWVEZXRhaWxDb21wb25lbnQgZXh0ZW5kcyBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYmxlc1JlZicpIHRhYmxlc1JlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gICAgZmlsdGVyZWRDb250cm9sczogRmllbGRzSW5mb1tdO1xyXG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdO1xyXG4gICAgc2Vjb25kQXJyYXk6IEZpZWxkc0luZm9bXTtcclxuICAgIHZhbHVlU2hhcmhLaGVkbWF0OiBhbnk7XHJcbiAgICBtb0J5Q2FwdGlvbiA9IHt9O1xyXG4gICAga2hhZGFtYXRtb3J0YWJldDogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xyXG4gICAgc2VydmljZXM6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsW107XHJcbiAgICBjb250cm9sQ291bnQ6IG51bWJlcjtcclxuICAgIGlzT2RkOiBib29sZWFuO1xyXG4gICAgZmllbGRzQ2FwdGlvbjogRmllbGRzSW5mb1tdID0gW107XHJcbiAgICB2YWx1ZSA9ICcnO1xyXG4gICAgcmFobmFtYXlUYXN2aXJpOiBhbnk7XHJcbiAgICBpc3JhaG5hbWF5VGFzdmlyaSA9IGZhbHNlO1xyXG4gICAgc2VsZWN0ZWRUYWI6IG51bWJlcjtcclxuICAgIGtoYWRhbWF0bW9ydGFiZXRSZXBvcnQ6IHsgUmVwb3J0SWQ6IHN0cmluZzsgVHlwZURlZklkOiBzdHJpbmcgfTtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG5cclxuICAgICAgICBjb25zdCAkRmllbGREaWN0ID0gdGhpcy5maWVsZERpY3Q7XHJcbiAgICAgICAgaWYgKCEkRmllbGREaWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZSgkRmllbGREaWN0LCB0aGlzLm1vKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRvd25sb2FkKGl0ZW0pOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXRlbS5BdHRhY2htZW50KSB7XHJcbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5GaWxlLkRvd25sb2FkRmlsZUlkKGl0ZW0uQXR0YWNobWVudC5GaWxlc1swXS5JZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLmFsaWduVGFibGVzVHIoKTtcclxuICAgIH1cclxuICAgIG9uS2hhZGFtYXRNb3J0YWJldChpdGVtKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuRm9ybS5TaG93KHtcclxuICAgICAgICAgICAgTW9JZDogaXRlbS5JZCxcclxuICAgICAgICAgICAgVHlwZURlZklkOiB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQuVHlwZURlZklkLFxyXG4gICAgICAgICAgICBNb0NvbnRleHQ6IHsgUmVwb3J0SWQ6IHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydC5SZXBvcnRJZCB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGFsaWduVGFibGVzVHIoKTogdm9pZCB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlc1JlZiA9IHRoaXMudGFibGVzUmVmLnRvQXJyYXkoKTtcclxuICAgICAgICAgICAgY29uc3QgZmlyc3RUYWJsZUVsID0gdGFibGVzUmVmWzBdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZFRhYmxlRWwgPSB0YWJsZXNSZWZbMV0ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHRyRmlyc3RUYWJsZSA9IGZpcnN0VGFibGVFbC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpO1xyXG4gICAgICAgICAgICBjb25zdCB0clNlY29uZFRhYmxlID0gc2Vjb25kVGFibGVFbC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpO1xyXG5cclxuICAgICAgICAgICAgdHJGaXJzdFRhYmxlLmZvckVhY2goKHRyLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4IDwgdHJTZWNvbmRUYWJsZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0clNlY29uZCA9IHRyU2Vjb25kVGFibGVbaW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ci5vZmZzZXRIZWlnaHQgPiB0clNlY29uZC5vZmZzZXRIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJTZWNvbmQuc3R5bGUuaGVpZ2h0ID0gYCR7dHIub2Zmc2V0SGVpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ci5zdHlsZS5oZWlnaHQgPSBgJHt0clNlY29uZC5vZmZzZXRIZWlnaHR9cHhgO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9wcmVwYXJlKCRGaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoJEZpZWxkRGljdCkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9ICRGaWVsZERpY3Rba2V5XTtcclxuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAga2V5ID09PSAn2KLYr9ix2LMg2LPYp9uM2KonIHx8XHJcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgKG1vW2ZpZWxkTmFtZV0uc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSkpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbW9bZmllbGROYW1lXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdNb0xpc3QnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRmlsZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnRmlsZXMnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnUmVsYXRpb24nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZmllbGRzQ2FwdGlvbi5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmFobmFtYXlUYXN2aXJpID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChtb1skRmllbGREaWN0WyfYsdin2YfZhtmF2KfbjCDYqti12YjbjNix24wnXV0pO1xyXG4gICAgICAgIGlmICh0aGlzLnJhaG5hbWF5VGFzdmlyaSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzcmFobmFtYXlUYXN2aXJpID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRDb250cm9scyA9IHRoaXMuZmllbGRzQ2FwdGlvbi5maWx0ZXIoXHJcbiAgICAgICAgICAgIChjKSA9PlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ1NMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqicgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9is2YbYsyDZhdis2YjYsicgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mF2KzZiNiyINmI2KfYqNiz2KrZhycgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mG2YjYuSDYrtiv2YXYqicgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mE24zZhtqpINiu2K/ZhdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2q/YsdmI2Ycg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYrtiv2YXYp9iqINmF2LHYqtio2LcnICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjZitixINmB2YTZiNqG2KfYsdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LbZiNin2KjYtyDYrtin2LUg2KfYrtiwINiu2K/ZhdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LHYp9mH2YbZhdin24wg2KrYtdmI24zYsduMJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqNuM2KfZhtuM2Ycg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnICYmXHJcbiAgICAgICAgICAgICAgICAvLyBjLmNhcHRpb24gIT0gJ9mG24zYp9iyINio2Ycg2KfYs9iq2LnZhNin2YUg2KfYsiDYr9iz2Krar9in2YfZh9in24wg2K/bjNqv2LEnICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgJiZcclxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2LPYp9uM2Kog2KzYr9in2q/Yp9mG2YcnICYmXHJcbiAgICAgICAgICAgICAgICAvLyBjLmNhcHRpb24gIT0gJ9iz2KfZhdin2YbZhycgJiZcclxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2YbbjNin2LIg2KjZhyDZvtix2K/Yp9iu2Kog2YfYstuM2YbZhycgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qv2LHZiNmHINiz2KfYrtiq2KfYsScgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mH2LLbjNmG2Ycg2YfYp9uMINiu2K/ZhdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LnZhtin2YjbjNmGINmF2LHYqtio2LcnICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZgdin24zZhCDYtNmG2KfYs9mG2KfZhdmHINiu2K/ZhdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9iq2LnYsduM2YEg2K7Yr9mF2KonICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjbjNixINmB2YTZiNqG2KfYsdiqJyAmJlxyXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LPZiNin2YTYp9iqINmF2KrYr9in2YjZhCcgJiZcclxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2YbbjNin2LIg2KjZhyDZhdix2KfYrNi52Ycg2K3YttmI2LHbjCcgJiZcclxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2KrZiNi224zYrSDZhdix2KfYrNi52Ycg2K3YttmI2LHbjCcgJiZcclxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9i52YbZiNin2YYnICYmXHJcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfaqdivINiu2K/ZhdiqJ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgY29udHJvbENvdW50ID0gZmlsdGVyZWRDb250cm9scy5sZW5ndGg7XHJcbiAgICAgICAgY29uc3QgY29udHJvbENvdW50TWlkZGxlID0gTWF0aC5jZWlsKGZpbHRlcmVkQ29udHJvbHMubGVuZ3RoIC8gMik7XHJcbiAgICAgICAgdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xyXG4gICAgICAgIHRoaXMuc2Vjb25kQXJyYXkgPSBmaWx0ZXJlZENvbnRyb2xzLnNsaWNlKGNvbnRyb2xDb3VudE1pZGRsZSwgY29udHJvbENvdW50KTtcclxuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV0/Lk1vRGF0YUxpc3QgPz8gW107XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvbnRyb2xzID0gZmlsdGVyZWRDb250cm9scztcclxuICAgICAgICB0aGlzLmtoYWRhbWF0bW9ydGFiZXRSZXBvcnQgPSBtb1skRmllbGREaWN0WyfYrtiv2YXYp9iqINmF2LHYqtio2LcnXV07XHJcblxyXG4gICAgICAgIHRoaXMuaXNPZGQgPSBjb250cm9sQ291bnQgJSAyID09PSAwO1xyXG4gICAgfVxyXG59XHJcbmludGVyZmFjZSBGaWVsZHNJbmZvIHtcclxuICAgIHR5cGU/OiBzdHJpbmc7XHJcbiAgICBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcclxufVxyXG4iLCI8ZmQtZHluYW1pYy1wYWdlIFtzaXplXT1cImlzTW9iaWxlID8gJ3NtYWxsJyA6ICdsYXJnZSdcIj5cclxuICAgIDxmZC10YWItbGlzdFxyXG4gICAgICAgIFtjb2xsYXBzZU92ZXJmbG93XT1cInRydWVcIlxyXG4gICAgICAgIFtzdGFja0NvbnRlbnRdPVwiZmFsc2VcIlxyXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcclxuICAgICAgICBbZXhwYW5kT3ZlcmZsb3dUZXh0XT1cIidNb3JlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgI3RhYmxpc3RcclxuICAgID5cclxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2LTZhtin2LPZhtin2YXZhyDYrtiv2YXYqlwiIHNlbGVjdGVkPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxMlwiIFtjb2xNZF09XCI2XCIgW2NvbExnXT1cIjZcIiBbY29sWGxdPVwiNlwiIHN0eWxlPVwicGFkZGluZzogMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlclRhYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaXJzdEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogaXNPZGQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM6ICdmaXJzdFRhYmxlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCIgW2NvbE1kXT1cIjZcIiBbY29sTGddPVwiNlwiIFtjb2xYbF09XCI2XCIgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyVGFibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHNlY29uZEFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93S2hhZGFtYXRNb3J0YWJldDogIWlzT2RkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnc2Vjb25kVGFibGUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItm+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqlwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW53c2VyIG1lcmdlXCIgW2lubmVySFRNTF09XCIn2b7bjNi02YbbjNin2LLZh9in24wg2KfYrtiwINiu2K/ZhdiqJyB8IHZhbDogbW9cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2LTYsdin2YrYtyDYp9iu2LAg2K7Yr9mF2KpcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFud3NlciBtZXJnZVwiIFtpbm5lckhUTUxdPVwiJ9i02LHYp9uM2Lcg2KfYrtiwINiu2K/ZhdiqJyB8IHZhbDogbW9cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuXHJcbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItmF2LHYp9it2YQg2KfYrtiwINiu2K/ZhdiqXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbndzZXIgbWVyZ2VcIiBbaW5uZXJIVE1MXT1cIifZhdix2KfYrdmEINin2K7YsCDYrtiv2YXYqicgfCB2YWw6IG1vXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLZhdiv2KfYsdmDINmF2YjYsdivINmG24zYp9iyINin2K7YsCDYrtiv2YXYqlwiPlxyXG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW53c2VyIG1lcmdlXCIgW2lubmVySFRNTF09XCIn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonIHwgdmFsOiBtb1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG5cclxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KpcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9mH2LLbjNmG2Ycg2YfYp9uMINiu2K/ZhdiqJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQgYXMgY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItmF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KpcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItmF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KpcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxyXG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgIDwvZmQtdGFiPlxyXG5cclxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YjYp9it2K/Zh9in24wg2KfYsdin2KbZhyDYr9mH2YbYr9mHINiu2K/ZhdiqXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItmI2KfYrdiv2YfYp9uMINiz2KfYstmF2KfZhtuMINin2LHYp9im2Ycg2K/Zh9mG2K/Zh1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcblxyXG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLYr9iz2Krar9in2Ycg2YfYp9uMINin2LPYqti52YTYp9mFINiv2YfZhtiv2YdcIj5cclxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiJ9in2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQgYXMgY29uZmlnVWlcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYp1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXHJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9mZC10YWI+XHJcbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cIlNMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqlwiICpuZ0lmPVwiJ1NMQSDZiCDYsdin2YfZhtmF2KfbjCDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCI+XHJcbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgICAgICBjYXB0aW9uPVwiU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcclxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cclxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cclxuICAgICAgICA8L2ZkLXRhYj5cclxuICAgIDwvZmQtdGFiLWxpc3Q+XHJcblxyXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXI+IDwvZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cclxuPC9mZC1keW5hbWljLXBhZ2U+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYmxlIGxldC1hcnJheSBsZXQtc2hvd0toYWRhbWF0TW9ydGFiZXQ9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiIGxldC1jbGFzc05hbWVzPVwiY2xhc3NOYW1lc1wiPlxyXG4gICAgPHRhYmxlICN0YWJsZXNSZWYgY2xhc3M9XCJ0YWJsZS1ncmlkXCIgW25nQ2xhc3NdPVwiY2xhc3NOYW1lc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbnRyb2xJdGVtIG9mIGFycmF5XCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD57eyBjb250cm9sSXRlbS5jYXB0aW9uIH19PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb250cm9sSXRlbS50eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidMaW5rJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwibW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2E+PC9uZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInUmVsYXRpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250cm9sSXRlbS5maWVsZE5hbWUgfCB2YWw6IG1vOnRydWUgfX08L25nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidNb0xpc3QnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0/Lk1vRGF0YUxpc3RcIiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCJmZC1pY29uLWxpbmtcIiBbZ2x5cGhdPVwiJ2NoYWluLWxpbmsnXCIgc3R5bGU9XCJjb2xvcjogIzA4NTRhMFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidwZGYtYXR0YWNobWVudCdcIj48L2ZkLWljb24+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkRvd25sb2FkKGl0ZW0pXCI+e3sgaXRlbS4kQ2FwdGlvbiB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0ltYWdlJ1wiPiB7eyBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdLkV4dCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInRmlsZXMnXCI+IHt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0uRmlsZXMgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lICsgJyRDYXB0aW9uJ10gfHwgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dLaGFkYW1hdE1vcnRhYmV0XCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD7Yrtiv2YXYp9iqINmF2LHYqtio2Lc8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGtoYWRhbWF0bW9ydGFiZXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uS2hhZGFtYXRNb3J0YWJldChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90YWJsZT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|