@eo-sdk/client 10.6.0-rc.3 → 10.6.0-rc.5
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/app/eo-framework/inbox-details/inbox-details.component.d.ts +2 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +7 -9
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
- package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +5 -3
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/app/eo-framework/plugins/plugin.component.d.ts +7 -7
- package/app/eo-framework/plugins/plugin.component.d.ts.map +1 -1
- package/app/eo-framework/plugins/plugins.module.d.ts +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +2 -1
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +2 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +5 -18
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
- package/app/eo-framework/ui/ui.module.d.ts +3 -2
- package/app/eo-framework/ui/ui.module.d.ts.map +1 -1
- package/app/eo-framework-core/api/plugins.service.d.ts +5 -0
- package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +5 -5
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +5 -5
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +5 -5
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +7 -7
- package/esm2020/app/eo-client/process-state/process-state.component.mjs +5 -5
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +5 -5
- package/esm2020/app/eo-client/result-state/result-state.component.mjs +5 -5
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +5 -5
- package/esm2020/app/eo-framework/actions/actions/download-action/download-action.mjs +2 -2
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -5
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +10 -13
- package/esm2020/app/eo-framework/media/media.component.mjs +2 -5
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +44 -36
- package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +19 -23
- package/esm2020/app/eo-framework/plugins/plugin.component.mjs +19 -27
- package/esm2020/app/eo-framework/plugins/plugins.module.mjs +6 -6
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +10 -13
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +7 -7
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +33 -118
- package/esm2020/app/eo-framework/ui/ui.module.mjs +5 -1
- package/esm2020/app/eo-framework-core/api/plugins.service.mjs +6 -3
- package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +3 -2
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +3 -2
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +232 -318
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +3 -2
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +228 -317
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +3 -3
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +1 -0
- package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
- package/scss/_main.scss +2 -1
- package/scss/_yuuvis-components.scss +22 -14
- package/styles.css +8 -1
|
@@ -24,8 +24,8 @@ import * as i19 from "../../eo-framework/form-elements/checkbox/checkbox.compone
|
|
|
24
24
|
import * as i20 from "../../eo-framework/form-elements/dynamic-list/dynamic-list.component";
|
|
25
25
|
import * as i21 from "../../eo-framework/list-container/list-container.component";
|
|
26
26
|
import * as i22 from "../../eo-framework/process/details/process-details.component";
|
|
27
|
-
import * as i23 from "
|
|
28
|
-
import * as i24 from "
|
|
27
|
+
import * as i23 from "@yuuvis/components/split-view";
|
|
28
|
+
import * as i24 from "../../eo-framework/plugins/plugin.component";
|
|
29
29
|
export class ProcessStateComponent {
|
|
30
30
|
constructor(translate, bpmService, selection, empty, backend, fb, titleService, appCache, pendingChanges) {
|
|
31
31
|
this.translate = translate;
|
|
@@ -312,12 +312,12 @@ export class ProcessStateComponent {
|
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
ProcessStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, deps: [{ token: i1.TranslateService }, { token: i1.BpmService }, { token: i2.SelectionService }, { token: i3.EmptyStateService }, { token: i1.BackendService }, { token: i4.UntypedFormBuilder }, { token: i5.PageTitleService }, { token: i1.AppCacheService }, { token: i6.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
315
|
-
ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\">\n <eo-tab-plugin [type]=\"'process-details-tab.process'\"></eo-tab-plugin>\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\">\n <eo-tab-plugin [type]=\"'object-details-tab.process'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i16.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i17.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i18.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i19.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i20.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i23.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i24.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i24.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
315
|
+
ProcessStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessStateComponent, selector: "eo-process-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\" \n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\" \n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["plugins", "reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i16.PaginationComponent, selector: "eo-pagination", inputs: ["settings"], outputs: ["pageChanged"] }, { kind: "component", type: i17.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i18.DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: i19.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i20.DynamicListComponent, selector: "eo-dynamic-list", inputs: ["situation", "multiselect", "pickerTitle", "readonly", "filterFunction", "listObject"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.ProcessDetailsComponent, selector: "eo-process-details", inputs: ["plugins", "emptyState", "applySelection", "item"], outputs: ["onDmsItemSelected"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i24.PluginPipe, name: "plugins" }] });
|
|
316
316
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessStateComponent, decorators: [{
|
|
317
317
|
type: Component,
|
|
318
|
-
args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\">\n <eo-tab-plugin [type]=\"'process-details-tab.process'\"></eo-tab-plugin>\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\">\n <eo-tab-plugin [type]=\"'object-details-tab.process'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
|
|
318
|
+
args: [{ selector: "eo-process-state", template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: processSelectionId}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.state.process</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"refreshList()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n class=\"overlay-filter\"\n [iconTitle]=\"'eo.list.filter' | translate\" [active]=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">\n <div class=\"sort-title\" translate>eo.filter.by</div>\n <form [formGroup]=\"filterForm\" *ngIf='filterForm'>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.model' | translate)\" *ngIf=\"processModelsListObject.entries.length\">\n <eo-dynamic-list formControlName=\"modelFCN\" [pickerTitle]=\"'Models'\" [listObject]=\"processModelsListObject\"></eo-dynamic-list>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.running' | translate)\">\n <eo-checkbox formControlName=\"runningFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.paused' | translate)\">\n <eo-checkbox formControlName=\"pausedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.created' | translate)\">\n <eo-checkbox formControlName=\"createdFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.canceled' | translate)\">\n <eo-checkbox formControlName=\"canceledFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.failed' | translate)\">\n <eo-checkbox formControlName=\"failedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.completed' | translate)\">\n <eo-checkbox formControlName=\"completedFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"('eo.state.process.filter.labels.starttime' | translate)\">\n <eo-datetime-range formControlName=\"startTimeFCN\" [withTime]=\"false\"></eo-datetime-range>\n </eo-form-input>\n </form>\n <button class=\"reset-filter\" (click)=\"resetFilters()\" *ngIf=\"hasChanged(defaultFilterFormValue, filterForm?.value)\">Reset filter</button>\n </eo-overlay>\n\n <eo-overlay #oSort\n class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [active]=\"hasChanged(defaultSortParams, sortParams)\">\n <div class=\"sort\">\n <div class=\"sort-title\" translate>eo.sort.by</div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.startTime === 'asc', desc: sortParams.startTime === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('startTime', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('startTime', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.grid.sort.date</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('startTime', '')\"></eo-icon>\n </div>\n <div class=\"sort-option\" [ngClass]=\"{asc: sortParams.modelName === 'asc', desc: sortParams.modelName === 'desc'}\">\n <eo-icon class=\"asc\" [iconTitle]=\"'eo.sort.asc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_up.svg'\" (click)=\"sort('modelName', 'asc')\"></eo-icon>\n <eo-icon class=\"desc\" [iconTitle]=\"'eo.sort.desc' | translate\" [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\" (click)=\"sort('modelName', 'desc')\"></eo-icon>\n <span class=\"title\" translate>eo.process.sort.type</span>\n <eo-icon class=\"clear\" [iconTitle]=\"'eo.state.process.sort.clear' | translate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"sort('modelName', '')\"></eo-icon>\n </div>\n </div>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\n </div>\n\n <div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_bpm.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.process.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"resetFilters()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- process details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-process-details [applySelection]=\"{in: processSelectionId}\" [emptyState]=\"emptyState1\" \n [plugins]=\"'process-details-tab.process' | plugins\">\n </eo-process-details>\n </ng-template>\n\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{}\"\n [cacheLayout]=\"'process.state.object-details'\"\n [emptyState]=\"emptyState2\" \n [plugins]=\"'object-details-tab.process' | plugins\">\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em}:host yvc-split-view{height:100%}:host::ng-deep .reset-filter{font-size:13px;font-weight:400;border:0;cursor:pointer;background-color:transparent;color:rgba(var(--color-black-rgb),.54);padding:10px 0;transition:all .2s ease-in-out}:host::ng-deep .reset-filter:hover{color:var(--color-accent)!important;background:0 0!important;border:none!important}:host::ng-deep .sort-title{margin:.5em 0;font-weight:700}:host::ng-deep .sort-option{border-top:1px solid var(--color-primary-4);display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center}:host::ng-deep .sort-option eo-icon{margin:0;cursor:pointer}:host::ng-deep .sort-option .title{flex:1;padding:calc(var(--app-pane-padding) / 2);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .sort-option.asc eo-icon.asc,:host::ng-deep .sort-option.desc eo-icon.desc{color:var(--color-accent)}:host::ng-deep .sort-option eo-icon.clear{visibility:hidden}:host::ng-deep .sort-option.asc eo-icon.clear,:host::ng-deep .sort-option.desc eo-icon.clear{visibility:visible}:host::ng-deep .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host::ng-deep .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host::ng-deep .list-item .content{flex:1;padding:16px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host::ng-deep .list-item .content .title{font-weight:700;font-size:13px}:host::ng-deep .list-item .content .description{font-size:12px;color:rgba(var(--color-black-rgb),.54)}:host::ng-deep .list-item .meta{padding:0 8px;display:flex;flex-flow:column;align-items:flex-end}:host::ng-deep .list-item .meta .datelabel{display:flex;flex-flow:column}:host::ng-deep .list-item .meta .date{display:flex;font-size:var(--font-hint);color:var(--text-color-caption);flex-direction:row;border-radius:2px;padding:2px;line-height:1em}:host::ng-deep .list-item .meta .date.end{background-color:rgba(var(--color-success),.3)}:host::ng-deep .list-item .meta .time{padding-left:2px}:host::ng-deep .list-item.notstarted{opacity:.5}:host::ng-deep .list-item.error .content .title,:host::ng-deep .list-item.error .content .description{color:var(--color-error)}:host::ng-deep .list-item.error .meta .datelabel{color:var(--color-error)}\n"] }]
|
|
319
319
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.BpmService }, { type: i2.SelectionService }, { type: i3.EmptyStateService }, { type: i1.BackendService }, { type: i4.UntypedFormBuilder }, { type: i5.PageTitleService }, { type: i1.AppCacheService }, { type: i6.PendingChangesService }]; }, propDecorators: { eoGrid: [{
|
|
320
320
|
type: ViewChild,
|
|
321
321
|
args: ["eoGrid"]
|
|
322
322
|
}] } });
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNuQyxNQUFNLE9BQU8scUJBQXFCO0lBZ0RoQyxZQUNTLFNBQTJCLEVBQzNCLFVBQXNCLEVBQ3RCLFNBQTJCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVCLEVBQ3ZCLEVBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLFFBQXlCLEVBQ3pCLGNBQXFDO1FBUnRDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQXREL0MsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBRS9CLGdCQUFXLEdBQWUsRUFBRSxJQUFJLEVBQUUs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T0FBTyx5QkFBeUIsUUFBUSxJQUFJLG9CQUFvQjtjQUN4RCxJQUFJOzttQ0FFaUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSzt5Q0FDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSzs7OztrQkFJckQsZUFBZTtrQkFDZixhQUFhOzs7O1NBSXRCLENBQUM7U0FDTDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztrSEF6VVUscUJBQXFCO3NHQUFyQixxQkFBcUIsMEpDbkJsQywweU9BbUhBOzJGRGhHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhWQWtEUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIEJwbVNlcnZpY2UsIFByb2Nlc3MsIFJhbmdlVmFsdWUsIFNlYXJjaEZpbHRlciwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJlby1wcm9jZXNzLXN0YXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RhdGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByb2Nlc3NTZWxlY3Rpb25JZCA9IFwicHJvY2Vzc1wiO1xuICBwcm9jZXNzU2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBlbXB0eVN0YXRlMTogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGVtcHR5U3RhdGUyOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZmlsdGVyQ2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5maWx0ZXJcIjtcbiAgc29ydENhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3Quc29ydFwiO1xuICBWSVJUVUFMX0xJU1RfQ0hVTktfU0laRSA9IDUwO1xuICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlID0ge1xuICAgIG1vZGVsRkNOOiBudWxsLFxuICAgIHJ1bm5pbmdGQ046IHRydWUsXG4gICAgcGF1c2VkRkNOOiB0cnVlLFxuICAgIGNyZWF0ZWRGQ046IHRydWUsXG4gICAgY2FuY2VsZWRGQ046IHRydWUsXG4gICAgZmFpbGVkRkNOOiB0cnVlLFxuICAgIGNvbXBsZXRlZEZDTjogdHJ1ZSxcbiAgICBzdGFydFRpbWVGQ046IG51bGxcbiAgfTtcbiAgc29ydFBhcmFtcyA9IHtcbiAgICBzdGFydFRpbWU6ICcnLFxuICAgIG1vZGVsTmFtZTogJydcbiAgfTtcbiAgZGVmYXVsdFNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiBcIlwiLFxuICAgIG1vZGVsTmFtZTogXCJcIlxuICB9O1xuICBzZXR0aW5ncyA9IHt9O1xuICBjb2xEZWZzOiBDb2xEZWZbXSA9IFtcbiAgICB7XG4gICAgICBoZWFkZXJOYW1lOiBcIlwiLFxuICAgICAgZmllbGQ6IFwiX19jdXN0b21cIixcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgfVxuICBdO1xuICBwcm9jZXNzTW9kZWxzTGlzdE9iamVjdCA9IHtcbiAgICBlbnRyaWVzOiBbXSxcbiAgICBjb25maWc6IHtcbiAgICAgIHZhbHVlRmllbGQ6IFwibmFtZVwiLFxuICAgICAgc3ViRW50cmllc0ZpZWxkOiBcIm1vZGVsc1wiXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoXCJlb0dyaWRcIikgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5wcm9jZXNzJykpO1xuXG4gICAgLy9zZWNvbmRhcnkgc2VsZWN0aW9uIGluc3RhbmNlIGZvciBpbmJveCBpdGVtc1xuICAgIHRoaXMucHJvY2Vzc1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmNyZWF0ZU5ldyh0aGlzLnByb2Nlc3NTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLmZldGNoUHJvY2Vzc01vZGVscygpLnN1YnNjcmliZShwcm9jZXNzTW9kZWxzID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcyA9IHByb2Nlc3NNb2RlbHM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcENhY2hlXG4gICAgICAuZ2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgZmlsdGVyVmFsdWUgPT5cbiAgICAgICAgICB0aGlzLmluaXRGaWx0ZXIoXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA/IGZpbHRlclZhbHVlIDogdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlXG4gICAgICAgICAgKSxcbiAgICAgICAgKCkgPT4gdGhpcy5pbml0RmlsdGVyKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmFwcENhY2hlLmdldEl0ZW0odGhpcy5zb3J0Q2FjaGVLZXkpLnN1YnNjcmliZShzb3J0UGFyYW1zID0+IHtcbiAgICAgIGlmIChzb3J0UGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtcyA9IHNvcnRQYXJhbXM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUHJvY2Vzc01vZGVscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KFwiL2JwbS9tYW5hZ2VtZW50L3Byb2plY3Q/aW5jbHVkZU1vZGVscz10cnVlXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKGZpbHRlclZhbHVlKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBtb2RlbEZDTjogW2ZpbHRlclZhbHVlLm1vZGVsRkNOXSxcbiAgICAgIHJ1bm5pbmdGQ046IFtmaWx0ZXJWYWx1ZS5ydW5uaW5nRkNOXSxcbiAgICAgIHBhdXNlZEZDTjogW2ZpbHRlclZhbHVlLnBhdXNlZEZDTl0sXG4gICAgICBjcmVhdGVkRkNOOiBbZmlsdGVyVmFsdWUuY3JlYXRlZEZDTl0sXG4gICAgICBjYW5jZWxlZEZDTjogW2ZpbHRlclZhbHVlLmNhbmNlbGVkRkNOXSxcbiAgICAgIGZhaWxlZEZDTjogW2ZpbHRlclZhbHVlLmZhaWxlZEZDTl0sXG4gICAgICBjb21wbGV0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jb21wbGV0ZWRGQ05dLFxuICAgICAgc3RhcnRUaW1lRkNOOiBbXG4gICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTiA/XG4gICAgICAgIG5ldyBSYW5nZVZhbHVlKFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5vcGVyYXRvcixcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSxcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uc2Vjb25kVmFsdWVcbiAgICAgICAgKSA6IG51bGxcbiAgICAgIF1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcENhY2hlLnNldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSwgdGhpcy5maWx0ZXJGb3JtLnZhbHVlKS5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblBhZ2VDaGFuZ2VkKCksIDEwMCk7XG4gIH1cblxuICByZWZyZXNoTGlzdCgpIHtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIGluaXRHcmlkKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWw6IDAsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkV9O1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMsXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgcm93SGVpZ2h0OiA4MCxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICByb3dEYXRhOiBbXVxuICAgIH07XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybSkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnNldFZhbHVlKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGZpZWxkLCBkaXJlY3Rpb24pIHtcbiAgICB0aGlzLnNvcnRQYXJhbXNbZmllbGRdID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaS5zZXRSb3dEYXRhKHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSb3dEYXRhKHBhcmFtcykge1xuICAgIGNvbnN0IHBhZ2UgPSBNYXRoLmZsb29yKHBhcmFtcy5zdGFydFJvdyAvIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpO1xuICAgIHRoaXMuZ2V0UHJvY2Vzc2VzKHsgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZSB9KS5zdWJzY3JpYmUoKHByb2Nlc3NlcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5zdGFydFJvdyA9PT0gMCkge1xuICAgICAgICB0aGlzLmVtcHR5U3RhdGUxID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKHByb2Nlc3Nlcy5jb250ZW50ID8gcHJvY2Vzc2VzLmNvbnRlbnQubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTIgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socHJvY2Vzc2VzLnByb2Nlc3NlcywgcHJvY2Vzc2VzLnRvdGFsRWxlbWVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9jZXNzZXMob3B0aW9ucykge1xuICAgIGxldCB1cmwgPSBVdGlscy5idWlsZFVyaShgL3Byb2Nlc3Nlc2AsIG9wdGlvbnMgfHwge30pO1xuICAgIHVybCA9IHRoaXMuYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTtcbiAgICB1cmwgPSB0aGlzLmFkZFNvcnRQYXJhbXNUb1VybCh1cmwpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVybCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBwcm9jZXNzZXMgPSByZXNwb25zZS5jb250ZW50Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3MgPSBuZXcgUHJvY2VzcyhpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3BvbnNlLnByb2Nlc3NlcyA9IHRoaXMuYWRkSWNvblVybChwcm9jZXNzZXMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlclBhcmFtc1RvVXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmZpbHRlckZvcm0gfHwgIXRoaXMuZmlsdGVyRm9ybS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNyZWF0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0wXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUucnVubmluZ0ZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTIwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY29tcGxldGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MzBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5wYXVzZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT00MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNhbmNlbGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9NTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5mYWlsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT02MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKSB7XG4gICAgICB1cmwgKz1cbiAgICAgICAgXCImbW9kZWxpZD1cIiArIHRoaXMuZ2V0TW9kZWxJZEZyb21OYW1lKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5tb2RlbEZDTik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhcnRUaW1lRkNOICYmIHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSkge1xuXG4gICAgICBjb25zdCB7b3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlfSA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ047XG4gICAgICBjb25zdCBxdWVyeTogYW55ID0gbmV3IFNlYXJjaEZpbHRlcignc3RhcnR0aW1lJywgb3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlLCB7dGltZTogdHJ1ZSwgdGltZXpvbmU6IHRydWV9KS50b0RhdGVUaW1lUXVlcnkoKTtcblxuICAgICAgaWYgKHF1ZXJ5Lm8gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgICB1cmwgKz0gJyZzdGFydHRpbWVfZXE9JyArIHF1ZXJ5LnYxO1xuICAgICAgfVxuICAgICAgaWYgKHF1ZXJ5Lm8ubWF0Y2goU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpKSB7XG4gICAgICAgIHVybCArPSBcIiZzdGFydHRpbWVfZ3RlPVwiICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9sdGU9XCIgKyAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCA/IHF1ZXJ5LnYyIDogcXVlcnkudjEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTb3J0UGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9c3RhcnR0aW1lLFwiICsgdGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWUpIHtcbiAgICAgIHVybCArPSBcIiZzb3J0PW5hbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMubW9kZWxOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbElkRnJvbU5hbWUobW9kZWxOYW1lKTogc3RyaW5nIHtcbiAgICBsZXQgaWQgPSBcIlwiO1xuICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcy5mb3JFYWNoKG1vZGVsID0+IHtcbiAgICAgIGlmIChtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgaWQgPSBtb2RlbC5pZDtcbiAgICAgIH0gZWxzZSBpZiAobW9kZWwubW9kZWxzKSB7XG4gICAgICAgIG1vZGVsLm1vZGVscy5mb3JFYWNoKHN1Ym1vZGVsID0+IHtcbiAgICAgICAgICBpZiAoc3VibW9kZWwubmFtZSA9PT0gbW9kZWxOYW1lKSB7XG4gICAgICAgICAgICBpZCA9IHN1Ym1vZGVsLmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYWRkSWNvblVybChwcm9jZXNzZXM6IFByb2Nlc3NbXSkge1xuICAgIHByb2Nlc3Nlcy5mb3JFYWNoKChwcm9jZXNzOiBQcm9jZXNzKSA9PiB7XG4gICAgICBpZiAoIXByb2Nlc3MuaWNvbmlkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX3dhcm5pbmcuc3ZnJztcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLnN0YXRlID09PSAnQ09NUExFVEVEJykge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV9kb25lLnN2Zyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gXCJhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbS5zdmdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcm9jZXNzZXM7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcy5kYXRhKSB7XG4gICAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcihcImljb25cIiwgcGFyYW1zLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdXJsOiBwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbnVybCxcbiAgICAgICAgICBpY29uSWQ6ICFwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbmlkLFxuICAgICAgICAgIGxhYmVsOiBwYXJhbXMuZGF0YS5tb2RlbG5hbWVcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLnN0YXJ0dGltZSwgcGF0dGVybjogJ2VvU2hvcnREYXRlJyB9KTtcbiAgICAgIGNvbnN0IGVuZFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7IHZhbHVlOiBwYXJhbXMuZGF0YS5lbmR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgaGFzRXJyb3IgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gJ0VSUk9SU1VTUEVOREVEJyA/ICdlcnJvcicgOiAnJztcbiAgICAgIGNvbnN0IGhhc05vdFlldEJlZW5TdGFydGVkID0gcGFyYW1zLmRhdGEuc3RhdGUgPT09IDAgPyAnbm90c3RhcnRlZCcgOiAnJztcbiAgICAgIGNvbnN0IGVuZFRpbWVNYXJrdXA6IHN0cmluZyA9IChlbmRUaW1lLmxlbmd0aCkgPyBgPGRpdiBjbGFzcz1cImRhdGUgZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5lbmQudGltZS5sYWJlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke2VuZFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBcIlwiO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lTWFya3VwOiBzdHJpbmcgPSBzdGFydFRpbWUubGVuZ3RoXG4gICAgICAgID8gYDxkaXYgY2xhc3M9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZW8ucHJvY2Vzcy5zdGFydC50aW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke3N0YXJ0VGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG5cbiAgICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke2hhc0Vycm9yfSAke2hhc05vdFlldEJlZW5TdGFydGVkfVwiIHVuc2VsZWN0YWJsZT5cbiAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRlbnQnPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5tb2RlbG5hbWUgfHwgXCIuLi5cIn08L2Rpdj5cbiAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAke3N0YXJ0VGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgICAke2VuZFRpbWVNYXJrdXB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgYDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvViwgblYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob1YpICE9PSBKU09OLnN0cmluZ2lmeShuVik7XG4gIH1cblxuICBoYXNQZW5kaW5nQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzaygpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogcHJvY2Vzc1NlbGVjdGlvbklkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uc3RhdGUucHJvY2VzczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoTGlzdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCIgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtdGl0bGVcIiB0cmFuc2xhdGU+ZW8uZmlsdGVyLmJ5PC9kaXY+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5tb2RlbCcgfCB0cmFuc2xhdGUpXCIgKm5nSWY9XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxlby1keW5hbWljLWxpc3QgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxGQ05cIiBbcGlja2VyVGl0bGVdPVwiJ01vZGVscydcIiBbbGlzdE9iamVjdF09XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdFwiPjwvZW8tZHluYW1pYy1saXN0PlxuICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5ydW5uaW5nJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwicnVubmluZ0ZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnBhdXNlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhdXNlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNyZWF0ZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjcmVhdGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY2FuY2VsZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmZhaWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImZhaWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNvbXBsZXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNvbXBsZXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnN0YXJ0dGltZScgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWRhdGV0aW1lLXJhbmdlIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZUZDTlwiIFt3aXRoVGltZV09XCJmYWxzZVwiPjwvZW8tZGF0ZXRpbWUtcmFuZ2U+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZXNldC1maWx0ZXJcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIiAqbmdJZj1cImhhc0NoYW5nZWQoZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSwgZmlsdGVyRm9ybT8udmFsdWUpXCI+UmVzZXQgZmlsdGVyPC9idXR0b24+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LXNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRTb3J0UGFyYW1zLCBzb3J0UGFyYW1zKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC10aXRsZVwiIHRyYW5zbGF0ZT5lby5zb3J0LmJ5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1vcHRpb25cIiBbbmdDbGFzc109XCJ7YXNjOiBzb3J0UGFyYW1zLnN0YXJ0VGltZSA9PT0gJ2FzYycsIGRlc2M6IHNvcnRQYXJhbXMuc3RhcnRUaW1lID09PSAnZGVzYyd9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYXNjXCIgW2ljb25UaXRsZV09XCInZW8uc29ydC5hc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfdXAuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdzdGFydFRpbWUnLCAnYXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZGVzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuZGVzYycgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIiAoY2xpY2spPVwic29ydCgnc3RhcnRUaW1lJywgJ2Rlc2MnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5ncmlkLnNvcnQuZGF0ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJjbGVhclwiIFtpY29uVGl0bGVdPVwiJ2VvLnN0YXRlLnByb2Nlc3Muc29ydC5jbGVhcicgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jbGVhci5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ3N0YXJ0VGltZScsICcnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtb3B0aW9uXCIgW25nQ2xhc3NdPVwie2FzYzogc29ydFBhcmFtcy5tb2RlbE5hbWUgPT09ICdhc2MnLCBkZXNjOiBzb3J0UGFyYW1zLm1vZGVsTmFtZSA9PT0gJ2Rlc2MnfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImFzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuYXNjJyB8IHRyYW5zbGF0ZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X3VwLnN2ZydcIiAoY2xpY2spPVwic29ydCgnbW9kZWxOYW1lJywgJ2FzYycpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImRlc2NcIiBbaWNvblRpdGxlXT1cIidlby5zb3J0LmRlc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ21vZGVsTmFtZScsICdkZXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8ucHJvY2Vzcy5zb3J0LnR5cGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2xlYXJcIiBbaWNvblRpdGxlXT1cIidlby5zdGF0ZS5wcm9jZXNzLnNvcnQuY2xlYXInIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdtb2RlbE5hbWUnLCAnJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCI+XG4gICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCIncHJvY2Vzcy1kZXRhaWxzLXRhYi5wcm9jZXNzJ1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICA8L2VvLXByb2Nlc3MtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ3Byb2Nlc3Muc3RhdGUub2JqZWN0LWRldGFpbHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUyXCI+XG4gICAgICAgICAgPGVvLXRhYi1wbHVnaW4gW3R5cGVdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5wcm9jZXNzJ1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9wcm9jZXNzLXN0YXRlL3Byb2Nlc3Mtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcHJvY2Vzcy1zdGF0ZS9wcm9jZXNzLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQThDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFvQixLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckksT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNuQyxNQUFNLE9BQU8scUJBQXFCO0lBZ0RoQyxZQUNTLFNBQTJCLEVBQzNCLFVBQXNCLEVBQ3RCLFNBQTJCLEVBQzFCLEtBQXdCLEVBQ3hCLE9BQXVCLEVBQ3ZCLEVBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLFFBQXlCLEVBQ3pCLGNBQXFDO1FBUnRDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQXREL0MsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBRS9CLGdCQUFXLEdBQWUsRUFBRSxJQUFJLEVBQUUs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T0FBTyx5QkFBeUIsUUFBUSxJQUFJLG9CQUFvQjtjQUN4RCxJQUFJOzttQ0FFaUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSzt5Q0FDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSzs7OztrQkFJckQsZUFBZTtrQkFDZixhQUFhOzs7O1NBSXRCLENBQUM7U0FDTDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztrSEF6VVUscUJBQXFCO3NHQUFyQixxQkFBcUIsMEpDbkJsQyxxeE9BbUhBOzJGRGhHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhWQWtEUCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FwcENhY2hlU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIEJwbVNlcnZpY2UsIFByb2Nlc3MsIFJhbmdlVmFsdWUsIFNlYXJjaEZpbHRlciwgVHJhbnNsYXRlU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJlby1wcm9jZXNzLXN0YXRlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcHJvY2Vzcy1zdGF0ZS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RhdGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByb2Nlc3NTZWxlY3Rpb25JZCA9IFwicHJvY2Vzc1wiO1xuICBwcm9jZXNzU2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBlbXB0eVN0YXRlMTogRW1wdHlTdGF0ZSA9IHsgaWNvbjogXCJcIiwgdGV4dDogXCJcIiwgY2xhc3NOYW1lOiBcIlwiIH07XG4gIGVtcHR5U3RhdGUyOiBFbXB0eVN0YXRlID0geyBpY29uOiBcIlwiLCB0ZXh0OiBcIlwiLCBjbGFzc05hbWU6IFwiXCIgfTtcbiAgZmlsdGVyQ2FjaGVLZXkgPSBcImVvLnByb2Nlc3MubGlzdC5maWx0ZXJcIjtcbiAgc29ydENhY2hlS2V5ID0gXCJlby5wcm9jZXNzLmxpc3Quc29ydFwiO1xuICBWSVJUVUFMX0xJU1RfQ0hVTktfU0laRSA9IDUwO1xuICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBkZWZhdWx0RmlsdGVyRm9ybVZhbHVlID0ge1xuICAgIG1vZGVsRkNOOiBudWxsLFxuICAgIHJ1bm5pbmdGQ046IHRydWUsXG4gICAgcGF1c2VkRkNOOiB0cnVlLFxuICAgIGNyZWF0ZWRGQ046IHRydWUsXG4gICAgY2FuY2VsZWRGQ046IHRydWUsXG4gICAgZmFpbGVkRkNOOiB0cnVlLFxuICAgIGNvbXBsZXRlZEZDTjogdHJ1ZSxcbiAgICBzdGFydFRpbWVGQ046IG51bGxcbiAgfTtcbiAgc29ydFBhcmFtcyA9IHtcbiAgICBzdGFydFRpbWU6ICcnLFxuICAgIG1vZGVsTmFtZTogJydcbiAgfTtcbiAgZGVmYXVsdFNvcnRQYXJhbXMgPSB7XG4gICAgc3RhcnRUaW1lOiBcIlwiLFxuICAgIG1vZGVsTmFtZTogXCJcIlxuICB9O1xuICBzZXR0aW5ncyA9IHt9O1xuICBjb2xEZWZzOiBDb2xEZWZbXSA9IFtcbiAgICB7XG4gICAgICBoZWFkZXJOYW1lOiBcIlwiLFxuICAgICAgZmllbGQ6IFwiX19jdXN0b21cIixcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgfVxuICBdO1xuICBwcm9jZXNzTW9kZWxzTGlzdE9iamVjdCA9IHtcbiAgICBlbnRyaWVzOiBbXSxcbiAgICBjb25maWc6IHtcbiAgICAgIHZhbHVlRmllbGQ6IFwibmFtZVwiLFxuICAgICAgc3ViRW50cmllc0ZpZWxkOiBcIm1vZGVsc1wiXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoXCJlb0dyaWRcIikgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENhY2hlOiBBcHBDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdGF0ZS5wcm9jZXNzJykpO1xuXG4gICAgLy9zZWNvbmRhcnkgc2VsZWN0aW9uIGluc3RhbmNlIGZvciBpbmJveCBpdGVtc1xuICAgIHRoaXMucHJvY2Vzc1NlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLmNyZWF0ZU5ldyh0aGlzLnByb2Nlc3NTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLmZldGNoUHJvY2Vzc01vZGVscygpLnN1YnNjcmliZShwcm9jZXNzTW9kZWxzID0+IHtcbiAgICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcyA9IHByb2Nlc3NNb2RlbHM7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcENhY2hlXG4gICAgICAuZ2V0SXRlbSh0aGlzLmZpbHRlckNhY2hlS2V5KVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgZmlsdGVyVmFsdWUgPT5cbiAgICAgICAgICB0aGlzLmluaXRGaWx0ZXIoXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZSA/IGZpbHRlclZhbHVlIDogdGhpcy5kZWZhdWx0RmlsdGVyRm9ybVZhbHVlXG4gICAgICAgICAgKSxcbiAgICAgICAgKCkgPT4gdGhpcy5pbml0RmlsdGVyKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSlcbiAgICAgICk7XG5cbiAgICB0aGlzLmFwcENhY2hlLmdldEl0ZW0odGhpcy5zb3J0Q2FjaGVLZXkpLnN1YnNjcmliZShzb3J0UGFyYW1zID0+IHtcbiAgICAgIGlmIChzb3J0UGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtcyA9IHNvcnRQYXJhbXM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZldGNoUHJvY2Vzc01vZGVscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KFwiL2JwbS9tYW5hZ2VtZW50L3Byb2plY3Q/aW5jbHVkZU1vZGVscz10cnVlXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKGZpbHRlclZhbHVlKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBtb2RlbEZDTjogW2ZpbHRlclZhbHVlLm1vZGVsRkNOXSxcbiAgICAgIHJ1bm5pbmdGQ046IFtmaWx0ZXJWYWx1ZS5ydW5uaW5nRkNOXSxcbiAgICAgIHBhdXNlZEZDTjogW2ZpbHRlclZhbHVlLnBhdXNlZEZDTl0sXG4gICAgICBjcmVhdGVkRkNOOiBbZmlsdGVyVmFsdWUuY3JlYXRlZEZDTl0sXG4gICAgICBjYW5jZWxlZEZDTjogW2ZpbHRlclZhbHVlLmNhbmNlbGVkRkNOXSxcbiAgICAgIGZhaWxlZEZDTjogW2ZpbHRlclZhbHVlLmZhaWxlZEZDTl0sXG4gICAgICBjb21wbGV0ZWRGQ046IFtmaWx0ZXJWYWx1ZS5jb21wbGV0ZWRGQ05dLFxuICAgICAgc3RhcnRUaW1lRkNOOiBbXG4gICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTiA/XG4gICAgICAgIG5ldyBSYW5nZVZhbHVlKFxuICAgICAgICAgIGZpbHRlclZhbHVlLnN0YXJ0VGltZUZDTi5vcGVyYXRvcixcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSxcbiAgICAgICAgICBmaWx0ZXJWYWx1ZS5zdGFydFRpbWVGQ04uc2Vjb25kVmFsdWVcbiAgICAgICAgKSA6IG51bGxcbiAgICAgIF1cbiAgICB9KTtcbiAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcENhY2hlLnNldEl0ZW0odGhpcy5maWx0ZXJDYWNoZUtleSwgdGhpcy5maWx0ZXJGb3JtLnZhbHVlKS5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25QYWdlQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vblBhZ2VDaGFuZ2VkKCksIDEwMCk7XG4gIH1cblxuICByZWZyZXNoTGlzdCgpIHtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIGluaXRHcmlkKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSB7dG90YWw6IDAsIHNpemU6IHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkV9O1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiB7IGNvdW50OiAwIH0sXG4gICAgICBjb2x1bW5EZWZzOiB0aGlzLmNvbERlZnMsXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgcm93SGVpZ2h0OiA4MCxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICByb3dEYXRhOiBbXVxuICAgIH07XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybSkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnNldFZhbHVlKHRoaXMuZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSk7XG4gICAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBzb3J0KGZpZWxkLCBkaXJlY3Rpb24pIHtcbiAgICB0aGlzLnNvcnRQYXJhbXNbZmllbGRdID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYXBwQ2FjaGUuc2V0SXRlbSh0aGlzLnNvcnRDYWNoZUtleSwgdGhpcy5zb3J0UGFyYW1zKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uUGFnZUNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZWQocGFnZTogbnVtYmVyID0gMSkge1xuICAgIHRoaXMuZmV0Y2hSb3dEYXRhKHtcbiAgICAgIHN0YXJ0Um93OiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFICogKHBhZ2UgLSAxKSxcbiAgICAgIHN1Y2Nlc3NDYWxsYmFjazogKHJvd3MsIHRvdGFsKSA9PiB7XG4gICAgICAgIHRoaXMuZW9HcmlkLmFwaS5zZXRSb3dEYXRhKHJvd3MpO1xuICAgICAgICB0aGlzLnNldHRpbmdzID0ge3RvdGFsLCBzaXplOiB0aGlzLlZJUlRVQUxfTElTVF9DSFVOS19TSVpFLCBwYWdlfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hSb3dEYXRhKHBhcmFtcykge1xuICAgIGNvbnN0IHBhZ2UgPSBNYXRoLmZsb29yKHBhcmFtcy5zdGFydFJvdyAvIHRoaXMuVklSVFVBTF9MSVNUX0NIVU5LX1NJWkUpO1xuICAgIHRoaXMuZ2V0UHJvY2Vzc2VzKHsgc2l6ZTogdGhpcy5WSVJUVUFMX0xJU1RfQ0hVTktfU0laRSwgcGFnZSB9KS5zdWJzY3JpYmUoKHByb2Nlc3NlcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcy5zdGFydFJvdyA9PT0gMCkge1xuICAgICAgICB0aGlzLmVtcHR5U3RhdGUxID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKHByb2Nlc3Nlcy5jb250ZW50ID8gcHJvY2Vzc2VzLmNvbnRlbnQubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgICAgIHRoaXMuZW1wdHlTdGF0ZTIgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUocHJvY2Vzc2VzLmNvbnRlbnQgPyBwcm9jZXNzZXMuY29udGVudC5sZW5ndGggOiAtMSwgdW5kZWZpbmVkLCAnaWNfbm8tZmlsZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBwcm9jZXNzZXMudG90YWxFbGVtZW50cztcbiAgICAgIHBhcmFtcy5zdWNjZXNzQ2FsbGJhY2socHJvY2Vzc2VzLnByb2Nlc3NlcywgcHJvY2Vzc2VzLnRvdGFsRWxlbWVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9jZXNzZXMob3B0aW9ucykge1xuICAgIGxldCB1cmwgPSBVdGlscy5idWlsZFVyaShgL3Byb2Nlc3Nlc2AsIG9wdGlvbnMgfHwge30pO1xuICAgIHVybCA9IHRoaXMuYWRkRmlsdGVyUGFyYW1zVG9VcmwodXJsKTtcbiAgICB1cmwgPSB0aGlzLmFkZFNvcnRQYXJhbXNUb1VybCh1cmwpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRKc29uKHVybCwgdGhpcy5iYWNrZW5kLmdldEJwbUJhc2UoKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGxldCBwcm9jZXNzZXMgPSByZXNwb25zZS5jb250ZW50Lm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3MgPSBuZXcgUHJvY2VzcyhpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJlc3BvbnNlLnByb2Nlc3NlcyA9IHRoaXMuYWRkSWNvblVybChwcm9jZXNzZXMpO1xuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlclBhcmFtc1RvVXJsKHVybCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmZpbHRlckZvcm0gfHwgIXRoaXMuZmlsdGVyRm9ybS52YWx1ZSkge1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNyZWF0ZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT0wXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUucnVubmluZ0ZDTikge1xuICAgICAgdXJsICs9IFwiJnN0YXRlPTIwXCI7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuY29tcGxldGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9MzBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5wYXVzZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT00MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLmNhbmNlbGVkRkNOKSB7XG4gICAgICB1cmwgKz0gXCImc3RhdGU9NTBcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5mYWlsZWRGQ04pIHtcbiAgICAgIHVybCArPSBcIiZzdGF0ZT02MFwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtLnZhbHVlLm1vZGVsRkNOKSB7XG4gICAgICB1cmwgKz1cbiAgICAgICAgXCImbW9kZWxpZD1cIiArIHRoaXMuZ2V0TW9kZWxJZEZyb21OYW1lKHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5tb2RlbEZDTik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhcnRUaW1lRkNOICYmIHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ04uZmlyc3RWYWx1ZSkge1xuXG4gICAgICBjb25zdCB7b3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlfSA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGFydFRpbWVGQ047XG4gICAgICBjb25zdCBxdWVyeTogYW55ID0gbmV3IFNlYXJjaEZpbHRlcignc3RhcnR0aW1lJywgb3BlcmF0b3IsIGZpcnN0VmFsdWUsIHNlY29uZFZhbHVlLCB7dGltZTogdHJ1ZSwgdGltZXpvbmU6IHRydWV9KS50b0RhdGVUaW1lUXVlcnkoKTtcblxuICAgICAgaWYgKHF1ZXJ5Lm8gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgICB1cmwgKz0gJyZzdGFydHRpbWVfZXE9JyArIHF1ZXJ5LnYxO1xuICAgICAgfVxuICAgICAgaWYgKHF1ZXJ5Lm8ubWF0Y2goU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpKSB7XG4gICAgICAgIHVybCArPSBcIiZzdGFydHRpbWVfZ3RlPVwiICsgcXVlcnkudjE7XG4gICAgICB9XG4gICAgICBpZiAocXVlcnkuby5tYXRjaChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuTEVTU19PUl9FUVVBTCkpIHtcbiAgICAgICAgdXJsICs9IFwiJnN0YXJ0dGltZV9sdGU9XCIgKyAocXVlcnkubyA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOVEVSVkFMX0lOQ0xVREVfQk9USCA/IHF1ZXJ5LnYyIDogcXVlcnkudjEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTb3J0UGFyYW1zVG9VcmwodXJsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdXJsICs9IFwiJnNvcnQ9c3RhcnR0aW1lLFwiICsgdGhpcy5zb3J0UGFyYW1zLnN0YXJ0VGltZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydFBhcmFtcy5tb2RlbE5hbWUpIHtcbiAgICAgIHVybCArPSBcIiZzb3J0PW5hbWUsXCIgKyB0aGlzLnNvcnRQYXJhbXMubW9kZWxOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbElkRnJvbU5hbWUobW9kZWxOYW1lKTogc3RyaW5nIHtcbiAgICBsZXQgaWQgPSBcIlwiO1xuICAgIHRoaXMucHJvY2Vzc01vZGVsc0xpc3RPYmplY3QuZW50cmllcy5mb3JFYWNoKG1vZGVsID0+IHtcbiAgICAgIGlmIChtb2RlbC5uYW1lID09PSBtb2RlbE5hbWUpIHtcbiAgICAgICAgaWQgPSBtb2RlbC5pZDtcbiAgICAgIH0gZWxzZSBpZiAobW9kZWwubW9kZWxzKSB7XG4gICAgICAgIG1vZGVsLm1vZGVscy5mb3JFYWNoKHN1Ym1vZGVsID0+IHtcbiAgICAgICAgICBpZiAoc3VibW9kZWwubmFtZSA9PT0gbW9kZWxOYW1lKSB7XG4gICAgICAgICAgICBpZCA9IHN1Ym1vZGVsLmlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgYWRkSWNvblVybChwcm9jZXNzZXM6IFByb2Nlc3NbXSkge1xuICAgIHByb2Nlc3Nlcy5mb3JFYWNoKChwcm9jZXNzOiBQcm9jZXNzKSA9PiB7XG4gICAgICBpZiAoIXByb2Nlc3MuaWNvbmlkKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnKSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtX3dhcm5pbmcuc3ZnJztcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLnN0YXRlID09PSAnQ09NUExFVEVEJykge1xuICAgICAgICAgIHByb2Nlc3MuaWNvbnVybCA9ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV9kb25lLnN2Zyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvY2Vzcy5pY29udXJsID0gXCJhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbS5zdmdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcm9jZXNzZXM7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcy5kYXRhKSB7XG4gICAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcihcImljb25cIiwgcGFyYW1zLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdXJsOiBwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbnVybCxcbiAgICAgICAgICBpY29uSWQ6ICFwYXJhbXMuZGF0YS5pY29uaWQgPyBcIlwiIDogcGFyYW1zLmRhdGEuaWNvbmlkLFxuICAgICAgICAgIGxhYmVsOiBwYXJhbXMuZGF0YS5tb2RlbG5hbWVcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignZGF0ZVRpbWUnLCBwYXJhbXMsIHsgdmFsdWU6IHBhcmFtcy5kYXRhLnN0YXJ0dGltZSwgcGF0dGVybjogJ2VvU2hvcnREYXRlJyB9KTtcbiAgICAgIGNvbnN0IGVuZFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7IHZhbHVlOiBwYXJhbXMuZGF0YS5lbmR0aW1lLCBwYXR0ZXJuOiAnZW9TaG9ydERhdGUnIH0pO1xuICAgICAgY29uc3QgaGFzRXJyb3IgPSBwYXJhbXMuZGF0YS5zdGF0ZSA9PT0gJ0VSUk9SU1VTUEVOREVEJyA/ICdlcnJvcicgOiAnJztcbiAgICAgIGNvbnN0IGhhc05vdFlldEJlZW5TdGFydGVkID0gcGFyYW1zLmRhdGEuc3RhdGUgPT09IDAgPyAnbm90c3RhcnRlZCcgOiAnJztcbiAgICAgIGNvbnN0IGVuZFRpbWVNYXJrdXA6IHN0cmluZyA9IChlbmRUaW1lLmxlbmd0aCkgPyBgPGRpdiBjbGFzcz1cImRhdGUgZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8ucHJvY2Vzcy5lbmQudGltZS5sYWJlbCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke2VuZFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgOiBcIlwiO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lTWFya3VwOiBzdHJpbmcgPSBzdGFydFRpbWUubGVuZ3RoXG4gICAgICAgID8gYDxkaXYgY2xhc3M9XCJkYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZW8ucHJvY2Vzcy5zdGFydC50aW1lLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPiAke3N0YXJ0VGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6IFwiXCI7XG5cbiAgICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke2hhc0Vycm9yfSAke2hhc05vdFlldEJlZW5TdGFydGVkfVwiIHVuc2VsZWN0YWJsZT5cbiAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J2NvbnRlbnQnPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCBcIi4uLlwifTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5tb2RlbG5hbWUgfHwgXCIuLi5cIn08L2Rpdj5cbiAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAke3N0YXJ0VGltZU1hcmt1cH1cbiAgICAgICAgICAgICAgICAke2VuZFRpbWVNYXJrdXB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgYDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvViwgblYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob1YpICE9PSBKU09OLnN0cmluZ2lmeShuVik7XG4gIH1cblxuICBoYXNQZW5kaW5nQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzaygpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogcHJvY2Vzc1NlbGVjdGlvbklkfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYnBtLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uc3RhdGUucHJvY2VzczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoTGlzdCgpXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCIgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRGaWx0ZXJGb3JtVmFsdWUsIGZpbHRlckZvcm0/LnZhbHVlKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtdGl0bGVcIiB0cmFuc2xhdGU+ZW8uZmlsdGVyLmJ5PC9kaXY+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiAqbmdJZj0nZmlsdGVyRm9ybSc+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5tb2RlbCcgfCB0cmFuc2xhdGUpXCIgKm5nSWY9XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdC5lbnRyaWVzLmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgIDxlby1keW5hbWljLWxpc3QgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxGQ05cIiBbcGlja2VyVGl0bGVdPVwiJ01vZGVscydcIiBbbGlzdE9iamVjdF09XCJwcm9jZXNzTW9kZWxzTGlzdE9iamVjdFwiPjwvZW8tZHluYW1pYy1saXN0PlxuICAgICAgICAgICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICAgICAgICAgIDxlby1mb3JtLWlucHV0IFtsYWJlbF09XCIoJ2VvLnN0YXRlLnByb2Nlc3MuZmlsdGVyLmxhYmVscy5ydW5uaW5nJyB8IHRyYW5zbGF0ZSlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwicnVubmluZ0ZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnBhdXNlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhdXNlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNyZWF0ZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjcmVhdGVkRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgICAgICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiKCdlby5zdGF0ZS5wcm9jZXNzLmZpbHRlci5sYWJlbHMuY2FuY2VsZWQnIHwgdHJhbnNsYXRlKVwiPlxuICAgICAgICAgICAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJjYW5jZWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmZhaWxlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImZhaWxlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLmNvbXBsZXRlZCcgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImNvbXBsZXRlZEZDTlwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIignZW8uc3RhdGUucHJvY2Vzcy5maWx0ZXIubGFiZWxzLnN0YXJ0dGltZScgfCB0cmFuc2xhdGUpXCI+XG4gICAgICAgICAgICAgICAgPGVvLWRhdGV0aW1lLXJhbmdlIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0VGltZUZDTlwiIFt3aXRoVGltZV09XCJmYWxzZVwiPjwvZW8tZGF0ZXRpbWUtcmFuZ2U+XG4gICAgICAgICAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZXNldC1maWx0ZXJcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIiAqbmdJZj1cImhhc0NoYW5nZWQoZGVmYXVsdEZpbHRlckZvcm1WYWx1ZSwgZmlsdGVyRm9ybT8udmFsdWUpXCI+UmVzZXQgZmlsdGVyPC9idXR0b24+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5LXNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJoYXNDaGFuZ2VkKGRlZmF1bHRTb3J0UGFyYW1zLCBzb3J0UGFyYW1zKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC10aXRsZVwiIHRyYW5zbGF0ZT5lby5zb3J0LmJ5PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1vcHRpb25cIiBbbmdDbGFzc109XCJ7YXNjOiBzb3J0UGFyYW1zLnN0YXJ0VGltZSA9PT0gJ2FzYycsIGRlc2M6IHNvcnRQYXJhbXMuc3RhcnRUaW1lID09PSAnZGVzYyd9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYXNjXCIgW2ljb25UaXRsZV09XCInZW8uc29ydC5hc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfdXAuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdzdGFydFRpbWUnLCAnYXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZGVzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuZGVzYycgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIiAoY2xpY2spPVwic29ydCgnc3RhcnRUaW1lJywgJ2Rlc2MnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5ncmlkLnNvcnQuZGF0ZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJjbGVhclwiIFtpY29uVGl0bGVdPVwiJ2VvLnN0YXRlLnByb2Nlc3Muc29ydC5jbGVhcicgfCB0cmFuc2xhdGVcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jbGVhci5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ3N0YXJ0VGltZScsICcnKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtb3B0aW9uXCIgW25nQ2xhc3NdPVwie2FzYzogc29ydFBhcmFtcy5tb2RlbE5hbWUgPT09ICdhc2MnLCBkZXNjOiBzb3J0UGFyYW1zLm1vZGVsTmFtZSA9PT0gJ2Rlc2MnfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImFzY1wiIFtpY29uVGl0bGVdPVwiJ2VvLnNvcnQuYXNjJyB8IHRyYW5zbGF0ZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Fycm93X3VwLnN2ZydcIiAoY2xpY2spPVwic29ydCgnbW9kZWxOYW1lJywgJ2FzYycpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImRlc2NcIiBbaWNvblRpdGxlXT1cIidlby5zb3J0LmRlc2MnIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCIgKGNsaWNrKT1cInNvcnQoJ21vZGVsTmFtZScsICdkZXNjJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8ucHJvY2Vzcy5zb3J0LnR5cGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiY2xlYXJcIiBbaWNvblRpdGxlXT1cIidlby5zdGF0ZS5wcm9jZXNzLnNvcnQuY2xlYXInIHwgdHJhbnNsYXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY2xlYXIuc3ZnJ1wiIChjbGljayk9XCJzb3J0KCdtb2RlbE5hbWUnLCAnJylcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWRcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgW3NlbGVjdEZpcnN0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICAgIDxlby1wYWdpbmF0aW9uIFtzZXR0aW5nc109XCJzZXR0aW5nc1wiIChwYWdlQ2hhbmdlZCk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIj48L2VvLXBhZ2luYXRpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfYnBtLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnByb2Nlc3MubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIiAoY2xpY2spPVwicmVzZXRGaWx0ZXJzKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8IS0tIHByb2Nlc3MgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxlby1wcm9jZXNzLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogcHJvY2Vzc1NlbGVjdGlvbklkfVwiIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGUxXCIgXG4gICAgW3BsdWdpbnNdPVwiJ3Byb2Nlc3MtZGV0YWlscy10YWIucHJvY2VzcycgfCBwbHVnaW5zXCI+XG4gICAgPC9lby1wcm9jZXNzLWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidwcm9jZXNzLnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlMlwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsdWdpbnNdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5wcm9jZXNzJyB8IHBsdWdpbnNcIj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=
|
|
@@ -24,8 +24,8 @@ import * as i15 from "../../eo-framework/grid/extensions/filter/custom/custom-fi
|
|
|
24
24
|
import * as i16 from "../../eo-framework/grid/extensions/filter/text/text-filter.component";
|
|
25
25
|
import * as i17 from "../../eo-framework/grid/extensions/reset-filter/reset-filter.component";
|
|
26
26
|
import * as i18 from "../../eo-framework/list-container/list-container.component";
|
|
27
|
-
import * as i19 from "
|
|
28
|
-
import * as i20 from "
|
|
27
|
+
import * as i19 from "@yuuvis/components/split-view";
|
|
28
|
+
import * as i20 from "../../eo-framework/plugins/plugin.component";
|
|
29
29
|
let RecyclebinStateComponent = class RecyclebinStateComponent {
|
|
30
30
|
constructor(selection, translate, system, empty, pendingChanges, eventService, titleService, userService) {
|
|
31
31
|
this.selection = selection;
|
|
@@ -135,16 +135,16 @@ let RecyclebinStateComponent = class RecyclebinStateComponent {
|
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
RecyclebinStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecyclebinStateComponent, deps: [{ token: i1.SelectionService }, { token: i2.TranslateService }, { token: i3.SystemService }, { token: i4.EmptyStateService }, { token: i5.PendingChangesService }, { token: i3.EventService }, { token: i6.PageTitleService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
138
|
-
RecyclebinStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\"
|
|
138
|
+
RecyclebinStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinStateComponent, selector: "eo-recyclebin-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: ["plugins", "cacheLayout", "applySelection", "parseDmsParams", "emptyState", "params", "item"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i18.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i19.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i19.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i20.PluginPipe, name: "plugins" }] });
|
|
139
139
|
RecyclebinStateComponent = __decorate([
|
|
140
140
|
UntilDestroy()
|
|
141
141
|
], RecyclebinStateComponent);
|
|
142
142
|
export { RecyclebinStateComponent };
|
|
143
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecyclebinStateComponent, decorators: [{
|
|
144
144
|
type: Component,
|
|
145
|
-
args: [{ selector: 'eo-recyclebin-state', template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\"
|
|
145
|
+
args: [{ selector: 'eo-recyclebin-state', template: "<yvc-split-view [layoutSettingsID]=\"'recyclebin.state'\">\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"true\"\n [selectionLimit]=\"1\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\"\n >\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-recyclebin-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\" (hasContent)=\"hasContent = $event\" \n [plugins]=\"'object-details-tab.recyclebin' | plugins\">\n </eo-recyclebin-details>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host yvc-split-view{height:100%}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"] }]
|
|
146
146
|
}], ctorParameters: function () { return [{ type: i1.SelectionService }, { type: i2.TranslateService }, { type: i3.SystemService }, { type: i4.EmptyStateService }, { type: i5.PendingChangesService }, { type: i3.EventService }, { type: i6.PageTitleService }, { type: i3.UserService }]; }, propDecorators: { eoGrid: [{
|
|
147
147
|
type: ViewChild,
|
|
148
148
|
args: ['eoGrid']
|
|
149
149
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcmVjeWNsZWJpbi1zdGF0ZS9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBNEMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFLMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEcsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFXbkMsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsY0FBcUMsRUFDckMsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsV0FBd0I7UUFQZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixp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d0I7MkZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxxQkFBcUI7MFRBY1YsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rtc1BhcmFtcywgRW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge0N1c3RvbVNvcnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvY3VzdG9tLXNvcnQvY3VzdG9tLXNvcnQuY29tcG9uZW50JztcbmltcG9ydCB7U2V0RmlsdGVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2ZpbHRlci9zZXRGaWx0ZXJzL3NldC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7SVNldEZpbHRlcn0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXJlY3ljbGViaW4tc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWN5Y2xlYmluU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXTtcbiAgZ3JpZERhdGE7XG4gIGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWQgPSAnaW5ib3hfZG1zJztcbiAgZW1wdHlTdGF0ZTogRW1wdHlTdGF0ZSA9IEVtcHR5U3RhdGVTZXJ2aWNlLmRlZmF1bHRFbXB0eVN0YXRlKCk7IHNob3dBY3Rpb25zTWVudSA9IHRydWU7XG4gIHRleHRGaWx0ZXJQYXJhbXM6IGFueSA9IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ2VvR3JpZCcpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcbiAgY29uc3RydWN0b3IocHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4ubGlzdC50aXRsZScpKTtcbiAgICB0aGlzLnNlbGVjdGlvbi5jcmVhdGVOZXcodGhpcy5pbmJveERtc09iamVjdFNlbGVjdGlvbklkKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9SRVNUT1JFRF9PUl9ERUxFVEVEKS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hHcmlkKCkpO1xuXG4gIH1cblxuICBzZXQgaGFzQ29udGVudChoYXNDb250ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93QWN0aW9uc01lbnUgPSBoYXNDb250ZW50O1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FjdGlvbnNNZW51O1xuICB9XG5cbiAgaGFzUGVuZGluZ0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2soKTtcbiAgfVxuXG4gIHJlZnJlc2hHcmlkKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0UmVjeWNsZUJpbigpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcGFyc2VEbXNQYXJhbXMoZGF0YSk6IERtc1BhcmFtcyB7XG4gICAgcmV0dXJuIGRhdGEgPyB7aWQ6IGRhdGEuaWQsIHR5cGU6IGRhdGEudHlwZSwgcmVjeWNsZWJpbjogdHJ1ZX0gOiBudWxsO1xuICB9XG5cbiAgdHlwZUZpbHRlcnMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ3JpZERhdGE7XG4gICAgbGV0IHVuaXF1ZUJ5VHlwZSA9IFNldEZpbHRlckNvbXBvbmVudC51bmlxQnkoZGF0YSwgJ3R5cGUnLCB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlcygpKTtcbiAgICB0aGlzLnR5cGVGaWx0ZXJGaWVsZHMgPSB1bmlxdWVCeVR5cGUubWFwKHQgPT4gT2JqZWN0LmFzc2lnbih7XG4gICAgICBsYWJlbDogdC5sYWJlbCxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhID09PSB0LnFuYW1lLFxuICAgICAgaWQ6IHQucW5hbWVcbiAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnR5cGVGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmVtcHR5U3RhdGUgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUoZGF0YSA/IGRhdGEubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHRoaXMuZW9HcmlkLnVwZGF0ZVJvd0RhdGEoZGF0YSk7XG4gICAgICByZXR1cm4gdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0RmlsdGVycygpO1xuXG4gICAgbGV0IGNvbERlZnM6IENvbERlZltdID0gW3tcbiAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgZmllbGQ6ICdfX2N1c3RvbScsXG4gICAgICBjZWxsUmVuZGVyZXI6IHRoaXMuY2VsbFJlbmRlcmVyLFxuICAgICAgZmlsdGVyOiBmYWxzZVxuICAgIH1dO1xuXG4gICAgdGhpcy50ZXh0RmlsdGVyUGFyYW1zID0ge2NvbnRleHQ6IHtkZWZhdWx0VmFsdWU6ICcnfX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAncmVjeWNsZWQnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LmRhdGUnKSwgc29ydDogJyd9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgY29uc3Qgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDoge2NvdW50OiBkYXRhLmxlbmd0aH0sXG4gICAgICByb3dEYXRhOiBkYXRhLFxuICAgICAgY29sdW1uRGVmczogY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODAsXG4gICAgfTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcigndHlwZScsIHBhcmFtcywge1xuICAgICAgdmFsdWU6IHBhcmFtcy5kYXRhLnR5cGVcbiAgICB9KTtcbiAgICBsZXQgcmVjeWNsZWRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWN5Y2xlZH0pO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7cGFyYW1zLmRhdGEuZm9sZGVyID8gJ2ZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8ICcnfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgJHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZGVzY3JpcHRpb24gZGF0ZSc+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVyaW9kXCI+JHtyZWN5Y2xlZFRpbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+YDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEdyaWQoKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlY3ljbGVzR3JpZERhdGEkLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCIncmVjeWNsZWJpbi5zdGF0ZSdcIj5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIyNVwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7fVwiIFtwYXJzZURtc1BhcmFtc109XCJwYXJzZURtc1BhcmFtc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmxpc3QudGl0bGU8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHJlZnJlc2gtYnV0dG9uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjRmlsdGVyLnJlc2V0RmlsdGVyKCk7Y1NvcnQucmVzZXQoKTtyZWZyZXNoR3JpZCgpXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLWZpbHRlciAjY0ZpbHRlciAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5yZWN5Y2xlYmluLmZpbHRlci50aXRsZScgfCB0cmFuc2xhdGVcIiBbaWRdPVwiJ3JlY3ljbGViaW4udGV4dCdcIlxuICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nXVwiIFtmaWx0ZXJQYXJhbXNdPVwidGV4dEZpbHRlclBhcmFtc1wiPlxuICAgICAgICAgICAgICA8L2VvLXRleHQtZmlsdGVyPlxuXG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCIgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ3JlY3ljbGViaW4uc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwidHJ1ZVwiXG4gICAgICAgICAgW3NlbGVjdGlvbkxpbWl0XT1cIjFcIlxuICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3RyYXNoLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnJlY3ljbGViaW4ubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tbGlzdC1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3NVwiPlxuICAgIDxlby1yZWN5Y2xlYmluLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCIgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiXG4gICAgICAgIFtjYWNoZUxheW91dF09XCIncmVjeWNsZWJpbi5zdGF0ZS5kZXRhaWxzJ1wiIChoYXNDb250ZW50KT1cImhhc0NvbnRlbnQgPSAkZXZlbnRcIj5cbiAgICAgICAgPGVvLXRhYi1wbHVnaW4gW3R5cGVdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5mYXZvcml0ZSdcIj48L2VvLXRhYi1wbHVnaW4+XG4gICAgICA8L2VvLXJlY3ljbGViaW4tZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwveXZjLXNwbGl0LXZpZXc+XG4iXX0=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWNsaWVudC9yZWN5Y2xlYmluLXN0YXRlL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvcmVjeWNsZWJpbi1zdGF0ZS9yZWN5Y2xlYmluLXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFZLFVBQVUsRUFBNEMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHbkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFLMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTdEcsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFXbkMsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsY0FBcUMsRUFDckMsWUFBMEIsRUFDMUIsWUFBOEIsRUFDOUIsV0FBd0I7UUFQZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixp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d0I7MkZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxxQkFBcUI7MFRBY1YsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rtc1BhcmFtcywgRW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5pbXBvcnQge0N1c3RvbVNvcnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvY3VzdG9tLXNvcnQvY3VzdG9tLXNvcnQuY29tcG9uZW50JztcbmltcG9ydCB7U2V0RmlsdGVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2ZpbHRlci9zZXRGaWx0ZXJzL3NldC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7SVNldEZpbHRlcn0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXJlY3ljbGViaW4tc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjeWNsZWJpbi1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY3ljbGViaW4tc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWN5Y2xlYmluU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXTtcbiAgZ3JpZERhdGE7XG4gIGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWQgPSAnaW5ib3hfZG1zJztcbiAgZW1wdHlTdGF0ZTogRW1wdHlTdGF0ZSA9IEVtcHR5U3RhdGVTZXJ2aWNlLmRlZmF1bHRFbXB0eVN0YXRlKCk7IHNob3dBY3Rpb25zTWVudSA9IHRydWU7XG4gIHRleHRGaWx0ZXJQYXJhbXM6IGFueSA9IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ2VvR3JpZCcpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcbiAgY29uc3RydWN0b3IocHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlKSB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0QmFzZVRpdGxlKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4ubGlzdC50aXRsZScpKTtcbiAgICB0aGlzLnNlbGVjdGlvbi5jcmVhdGVOZXcodGhpcy5pbmJveERtc09iamVjdFNlbGVjdGlvbklkKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9SRVNUT1JFRF9PUl9ERUxFVEVEKS5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hHcmlkKCkpO1xuXG4gIH1cblxuICBzZXQgaGFzQ29udGVudChoYXNDb250ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93QWN0aW9uc01lbnUgPSBoYXNDb250ZW50O1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FjdGlvbnNNZW51O1xuICB9XG5cbiAgaGFzUGVuZGluZ0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2soKTtcbiAgfVxuXG4gIHJlZnJlc2hHcmlkKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0UmVjeWNsZUJpbigpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcGFyc2VEbXNQYXJhbXMoZGF0YSk6IERtc1BhcmFtcyB7XG4gICAgcmV0dXJuIGRhdGEgPyB7aWQ6IGRhdGEuaWQsIHR5cGU6IGRhdGEudHlwZSwgcmVjeWNsZWJpbjogdHJ1ZX0gOiBudWxsO1xuICB9XG5cbiAgdHlwZUZpbHRlcnMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ3JpZERhdGE7XG4gICAgbGV0IHVuaXF1ZUJ5VHlwZSA9IFNldEZpbHRlckNvbXBvbmVudC51bmlxQnkoZGF0YSwgJ3R5cGUnLCB0aGlzLnN5c3RlbS5nZXRPYmplY3RUeXBlcygpKTtcbiAgICB0aGlzLnR5cGVGaWx0ZXJGaWVsZHMgPSB1bmlxdWVCeVR5cGUubWFwKHQgPT4gT2JqZWN0LmFzc2lnbih7XG4gICAgICBsYWJlbDogdC5sYWJlbCxcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhID09PSB0LnFuYW1lLFxuICAgICAgaWQ6IHQucW5hbWVcbiAgICB9KSkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdsYWJlbCcpKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnR5cGVGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLmVtcHR5U3RhdGUgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUoZGF0YSA/IGRhdGEubGVuZ3RoIDogLTEsIHVuZGVmaW5lZCwgJ2ljX25vLWZpbGUuc3ZnJyk7XG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHRoaXMuZW9HcmlkLnVwZGF0ZVJvd0RhdGEoZGF0YSk7XG4gICAgICByZXR1cm4gdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0RmlsdGVycygpO1xuXG4gICAgbGV0IGNvbERlZnM6IENvbERlZltdID0gW3tcbiAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgZmllbGQ6ICdfX2N1c3RvbScsXG4gICAgICBjZWxsUmVuZGVyZXI6IHRoaXMuY2VsbFJlbmRlcmVyLFxuICAgICAgZmlsdGVyOiBmYWxzZVxuICAgIH1dO1xuXG4gICAgdGhpcy50ZXh0RmlsdGVyUGFyYW1zID0ge2NvbnRleHQ6IHtkZWZhdWx0VmFsdWU6ICcnfX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAncmVjeWNsZWQnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LmRhdGUnKSwgc29ydDogJyd9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgY29uc3Qgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDoge2NvdW50OiBkYXRhLmxlbmd0aH0sXG4gICAgICByb3dEYXRhOiBkYXRhLFxuICAgICAgY29sdW1uRGVmczogY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODAsXG4gICAgfTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcigndHlwZScsIHBhcmFtcywge1xuICAgICAgdmFsdWU6IHBhcmFtcy5kYXRhLnR5cGVcbiAgICB9KTtcbiAgICBsZXQgcmVjeWNsZWRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWN5Y2xlZH0pO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtICR7cGFyYW1zLmRhdGEuZm9sZGVyID8gJ2ZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj4ke3BhcmFtcy5kYXRhLnRpdGxlIHx8ICcnfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgJHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZGVzY3JpcHRpb24gZGF0ZSc+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVyaW9kXCI+JHtyZWN5Y2xlZFRpbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+YDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaEdyaWQoKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlY3ljbGVzR3JpZERhdGEkLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gIH1cbn1cbiIsIjx5dmMtc3BsaXQtdmlldyBbbGF5b3V0U2V0dGluZ3NJRF09XCIncmVjeWNsZWJpbi5zdGF0ZSdcIj5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIyNVwiPlxuICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7fVwiIFtwYXJzZURtc1BhcmFtc109XCJwYXJzZURtc1BhcmFtc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmxpc3QudGl0bGU8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHJlZnJlc2gtYnV0dG9uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjRmlsdGVyLnJlc2V0RmlsdGVyKCk7Y1NvcnQucmVzZXQoKTtyZWZyZXNoR3JpZCgpXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLWZpbHRlciAjY0ZpbHRlciAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5yZWN5Y2xlYmluLmZpbHRlci50aXRsZScgfCB0cmFuc2xhdGVcIiBbaWRdPVwiJ3JlY3ljbGViaW4udGV4dCdcIlxuICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nXVwiIFtmaWx0ZXJQYXJhbXNdPVwidGV4dEZpbHRlclBhcmFtc1wiPlxuICAgICAgICAgICAgICA8L2VvLXRleHQtZmlsdGVyPlxuXG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCIgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ3JlY3ljbGViaW4uc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwidHJ1ZVwiXG4gICAgICAgICAgW3NlbGVjdGlvbkxpbWl0XT1cIjFcIlxuICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3RyYXNoLnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLnJlY3ljbGViaW4ubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tbGlzdC1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3NVwiPlxuICAgIDxlby1yZWN5Y2xlYmluLWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCIgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiXG4gICAgICAgIFtjYWNoZUxheW91dF09XCIncmVjeWNsZWJpbi5zdGF0ZS5kZXRhaWxzJ1wiIChoYXNDb250ZW50KT1cImhhc0NvbnRlbnQgPSAkZXZlbnRcIiBcbiAgICAgICAgW3BsdWdpbnNdPVwiJ29iamVjdC1kZXRhaWxzLXRhYi5yZWN5Y2xlYmluJyB8IHBsdWdpbnNcIj5cbiAgICAgIDwvZW8tcmVjeWNsZWJpbi1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cbiJdfQ==
|