qms-angular 1.1.14 → 1.1.16

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.
Files changed (41) hide show
  1. package/bundles/qms-angular.umd.js +510 -154
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/breadcrumb/breadcrumb.js +3 -3
  4. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +3 -3
  5. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +12 -3
  6. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +49 -23
  7. package/esm2015/lib/components/select-access-dialog/select-access-dialog.module.js +5 -1
  8. package/esm2015/lib/components/select-department/common/animation.js +4 -4
  9. package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +5 -2
  10. package/esm2015/lib/components/select-department/select-department.component.js +28 -14
  11. package/esm2015/lib/components/select-department/select-department.module.js +4 -2
  12. package/esm2015/lib/components/select-department-tree/animation/animation.js +54 -0
  13. package/esm2015/lib/components/select-department-tree/model/department-search-result.model.js +6 -0
  14. package/esm2015/lib/components/select-department-tree/public-api.js +3 -1
  15. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +296 -73
  16. package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +15 -5
  17. package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +1 -1
  18. package/esm2015/lib/components/select-one/select-one-next.component.js +1 -1
  19. package/esm2015/lib/components/tree/basic-tree.component.js +1 -1
  20. package/esm2015/lib/model/en.js +5 -2
  21. package/esm2015/lib/model/no.js +4 -1
  22. package/fesm2015/qms-angular.js +494 -153
  23. package/fesm2015/qms-angular.js.map +1 -1
  24. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +8 -0
  25. package/lib/components/select-department/model/select-department-popup-data.model.d.ts +2 -0
  26. package/lib/components/select-department/select-department.component.d.ts +14 -8
  27. package/lib/components/select-department-tree/animation/animation.d.ts +1 -0
  28. package/lib/components/select-department-tree/model/department-search-result.model.d.ts +11 -0
  29. package/lib/components/select-department-tree/public-api.d.ts +2 -0
  30. package/lib/components/select-department-tree/select-department-tree.component.d.ts +50 -17
  31. package/lib/model/en.d.ts +3 -0
  32. package/lib/model/no.d.ts +3 -0
  33. package/package.json +1 -1
  34. package/qms-angular.metadata.json +1 -1
  35. package/src/lib/components/breadcrumb/breadcrumb.scss +3 -3
  36. package/src/lib/components/qms-paginator/qms-paginator.component.scss +4 -0
  37. package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +69 -2
  38. package/src/lib/components/select-department/select-department.component.scss +1 -9
  39. package/src/lib/components/select-department-tree/select-department-tree.component.scss +166 -2
  40. package/src/themes/_qms-icon-font.scss +1 -1
  41. package/src/themes/core/_table-pure-gap.scss +0 -1
@@ -2,15 +2,16 @@ import { Component, EventEmitter, Inject, ViewChild, ViewEncapsulation } from '@
2
2
  import { FormBuilder, FormControl } from '@angular/forms';
3
3
  import { MAT_CHECKBOX_DEFAULT_OPTIONS } from '@angular/material/checkbox';
4
4
  import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import * as _ from 'lodash';
5
6
  import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
6
7
  import { debounceTime, takeUntil } from 'rxjs/operators';
7
8
  import { TranslateLibraryService } from "../../services/translation-registry.service";
9
+ import { PaginationSize } from '../qms-paginator';
8
10
  import { SelectDepartmentTreeComponent } from '../select-department-tree/select-department-tree.component';
9
11
  import { SelectAccessAnimationTrigger } from './common/animation';
10
12
  import { OptionSelectAccessEnum } from './common/option-select-access.enum';
11
13
  import { QMSSelectAccessData, QMSSelectAccessResult } from './model/select-access-data';
12
14
  import { QMSSelectAccessGlobalService } from './service/select-access-global.service';
13
- import * as _ from 'lodash';
14
15
  const ɵ0 = {
15
16
  clickAction: 'noop'
16
17
  };
@@ -50,12 +51,18 @@ export class QMSSelectAccessDialogComponent {
50
51
  };
51
52
  this.getPerson$ = new BehaviorSubject([]);
52
53
  this.getUserGroup$ = new BehaviorSubject([]);
54
+ this.PAGINATION_SIZE = PaginationSize;
53
55
  this.resultAccess = new QMSSelectAccessResult();
56
+ this.currentPaginationConfig = {
57
+ pageIndex: 0,
58
+ pageSize: 10,
59
+ length: 0
60
+ };
54
61
  this.resultAccess = _.cloneDeep(this.dataDialog.selectedData);
55
62
  this.optionSelect.valueChanges
56
63
  .pipe(takeUntil(this.ngUnsubcribe))
57
- .subscribe(result => {
58
- // console.log(result);
64
+ .subscribe(_ => {
65
+ this.resetPagingConfig();
59
66
  });
60
67
  // Filtered Option select person
61
68
  this.filteredSearchTextBox.role.next(this.dataDialog.accessUserGroups);
@@ -66,11 +73,6 @@ export class QMSSelectAccessDialogComponent {
66
73
  set tree(data) {
67
74
  if (data) {
68
75
  this.treeDepartment = data;
69
- data.valueChange$
70
- .pipe(takeUntil(this.ngUnsubcribe))
71
- .subscribe((result) => {
72
- this.resultAccess.departments = result;
73
- });
74
76
  }
75
77
  }
76
78
  get personFiltered() {
@@ -140,6 +142,13 @@ export class QMSSelectAccessDialogComponent {
140
142
  excludedQuitDepartmentId: true
141
143
  });
142
144
  }
145
+ resetPagingConfig() {
146
+ this.currentPaginationConfig = {
147
+ pageIndex: 0,
148
+ pageSize: 10,
149
+ length: 0
150
+ };
151
+ }
143
152
  onFilterPerson() {
144
153
  this.onSearchPersonEvent.emit(this.personForm.value);
145
154
  }
@@ -189,20 +198,20 @@ export class QMSSelectAccessDialogComponent {
189
198
  isCheckAll(type) {
190
199
  switch (type) {
191
200
  case this.OPTION_ENUM.PERSON:
192
- return this.personFiltered.length && this.personFiltered.every(x => x.selected);
201
+ return this.personFiltered.length && this.getPaging(this.personFiltered).every(x => x.selected);
193
202
  case this.OPTION_ENUM.USER_GROUP:
194
- return this.userGroupFiltered.length && this.userGroupFiltered.every(x => x.selected);
203
+ return this.userGroupFiltered.length && this.getPaging(this.userGroupFiltered).every(x => x.selected);
195
204
  default:
196
205
  return false;
197
206
  }
198
207
  }
199
208
  isIndeterminate(type) {
209
+ var _a, _b;
200
210
  switch (type) {
201
211
  case this.OPTION_ENUM.PERSON:
202
- return !this.isCheckAll(type) && this.personFiltered.some(x => x.selected);
212
+ return !this.isCheckAll(type) && ((_a = this.getPaging(this.personFiltered)) === null || _a === void 0 ? void 0 : _a.some(x => x.selected));
203
213
  case this.OPTION_ENUM.USER_GROUP:
204
- return !this.isCheckAll(type) && this.userGroupFiltered.some(x => x.selected);
205
- case this.OPTION_ENUM.DEPARTMENT:
214
+ return !this.isCheckAll(type) && ((_b = this.getPaging(this.userGroupFiltered)) === null || _b === void 0 ? void 0 : _b.some(x => x.selected));
206
215
  default:
207
216
  return false;
208
217
  }
@@ -211,11 +220,14 @@ export class QMSSelectAccessDialogComponent {
211
220
  $event.checked = !$event.checked;
212
221
  switch (type) {
213
222
  case this.OPTION_ENUM.PERSON: {
214
- this.personFiltered.forEach(x => x.selected = $event.checked);
215
- const idFiltered = this.personFiltered.map(x => x.id);
223
+ const userPaging = this.getPaging(this.personFiltered) || [];
224
+ if (!userPaging.length)
225
+ return;
226
+ userPaging.forEach(x => x.selected = $event.checked);
227
+ const idFiltered = userPaging.map(x => x.id);
216
228
  if ($event.checked) {
217
229
  const idPersonSelected = this.resultAccess.persons.map(x => x.id);
218
- this.resultAccess.persons = [...this.resultAccess.persons, ...this.personFiltered.filter(x => !idPersonSelected.includes(x.id))];
230
+ this.resultAccess.persons = [...this.resultAccess.persons, ...userPaging.filter(x => !idPersonSelected.includes(x.id))];
219
231
  }
220
232
  else {
221
233
  this.resultAccess.persons = this.resultAccess.persons.filter(x => !idFiltered.includes(x.id));
@@ -223,11 +235,12 @@ export class QMSSelectAccessDialogComponent {
223
235
  break;
224
236
  }
225
237
  case this.OPTION_ENUM.USER_GROUP: {
226
- this.userGroupFiltered.forEach(x => x.selected = $event.checked);
227
- const idFiltered = this.userGroupFiltered.map(x => x.id);
238
+ const userGroupPaging = this.getPaging(this.userGroupFiltered);
239
+ userGroupPaging.forEach(x => x.selected = $event.checked);
240
+ const idFiltered = userGroupPaging.map(x => x.id);
228
241
  if ($event.checked) {
229
242
  const idSelected = this.resultAccess.userGroups.map(x => x.id);
230
- this.resultAccess.userGroups = [...this.resultAccess.userGroups, ...this.userGroupFiltered.filter(x => !idSelected.includes(x.id))];
243
+ this.resultAccess.userGroups = [...this.resultAccess.userGroups, ...userGroupPaging.filter(x => !idSelected.includes(x.id))];
231
244
  }
232
245
  else {
233
246
  this.resultAccess.userGroups = this.resultAccess.userGroups.filter(x => !idFiltered.includes(x.id));
@@ -239,7 +252,7 @@ export class QMSSelectAccessDialogComponent {
239
252
  }
240
253
  }
241
254
  onScollToNodeTreeDepartment(node) {
242
- this.optionSelect.value === this.OPTION_ENUM.DEPARTMENT && this.treeDepartment.scrollIntoNode(node.id);
255
+ this.optionSelect.value === this.OPTION_ENUM.DEPARTMENT && this.treeDepartment.scrollToNode(node.id);
243
256
  }
244
257
  onRemoveTreeNodeDepartment(node) {
245
258
  if (this.optionSelect.value === this.OPTION_ENUM.DEPARTMENT) {
@@ -251,16 +264,29 @@ export class QMSSelectAccessDialogComponent {
251
264
  return index;
252
265
  }
253
266
  updatePersonFilter(data) {
267
+ this.resetPagingConfig();
254
268
  this.getPerson$.next(data);
255
269
  }
256
270
  updateUserGroupFilter(data) {
271
+ this.resetPagingConfig();
257
272
  this.getUserGroup$.next(data);
258
273
  }
274
+ onPagingEvent(val) {
275
+ this.currentPaginationConfig = val;
276
+ }
277
+ getPaging(source) {
278
+ if (!source.length)
279
+ return;
280
+ return source.slice(this.currentPaginationConfig.pageIndex * this.currentPaginationConfig.pageSize, (this.currentPaginationConfig.pageIndex * this.currentPaginationConfig.pageSize) + this.currentPaginationConfig.pageSize);
281
+ }
282
+ onResultDepartmentChange(event) {
283
+ this.resultAccess.departments = event;
284
+ }
259
285
  }
260
286
  QMSSelectAccessDialogComponent.decorators = [
261
287
  { type: Component, args: [{
262
288
  selector: 'qms-select-access-dialog',
263
- template: "<div class=\"select-access-dialog-container\">\r\n <div class=\"access-dialog-header mb-2\">\r\n <span class=\"header-title\">{{LANG.SELECT_ACCESS}}</span>\r\n <mat-icon mat-dialog-close class=\"mat-icons-outlined\">close</mat-icon>\r\n </div>\r\n <div class=\"access-dialog-wraper\">\r\n <mat-form-field qms-form qms-select-input class=\"field-select-option w-100\" appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.TYPE}}</mat-label>\r\n <mat-select (selectionChange)=\"onSelectionTypeChange($event)\" [formControl]=\"optionSelect\" placeholder=\"Select\"\r\n disableOptionCentering #singleSelect panelClass=\"qms-select-panel\" qms-select>\r\n\r\n <mat-option *ngFor=\"let item of options\" [value]=\"item.type\">\r\n {{ LANG[item.displayName] }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <!-- Person Access -->\r\n <div class=\"option-selected-content\">\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <form [formGroup]=\"personForm\">\r\n <mat-dialog-content>\r\n <div class=\"group-filter-person-option\">\r\n <mat-form-field class=\"w-100 input-option-filter\" qms-form>\r\n <mat-label qms-select-input>{{LANG.ROLE}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering formControlName=\"roleId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"roleFilter\" placeholderLabel=\"{{ LANG.ROLE }}\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.role | async\" [value]=\"item.id\">\r\n {{ item.name }}\r\n </mat-option>\r\n </mat-select>\r\n <span [@inOutAnimation] (click)=\"personForm.get('roleId').setValue('')\" class=\"pointer \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('roleId').value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"w-100 input-select-option\" qms-form qms-select-input>\r\n <mat-label>{{LANG.DEPARTMENT_UNIT}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering\r\n formControlName=\"departmentId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"departmentFilter\" [placeholderLabel]=\"LANG.DEPARTMENT_UNIT\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.department | async\" [value]=\"item.id\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n\r\n <span (click)=\"setFormControlValue(['recursive','departmentId'], [false,''])\" [@inOutAnimation]\r\n class=\"pointer\" matSuffix aria-label=\"Clear\" *ngIf=\"personForm.get('departmentId').value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-slide-toggle class=\"w-100 slide-toggle\" formControlName=\"recursive\"\r\n [disabled]=\"!personForm.get('departmentId').value\" color=\"default\" qms-group-options>\r\n <span class=\"text-label\">{{LANG.INCLUDE_SUB_DEPARTMENTS}}</span>\r\n </mat-slide-toggle>\r\n\r\n <mat-form-field class=\"w-100\" appearance=\"fill\" qms-form qms-search-field>\r\n <!-- <mat-label>{{LANG.SEARCH_WITH_NAME}}</mat-label> -->\r\n <input matInput appearance=\"off\" [placeholder]=\"LANG.SEARCH_WITH_NAME\" formControlName=\"keyword\"\r\n type=\"text\" autocomplete=\"off\" />\r\n\r\n <button qms-btn-icon color=\"light\" [@inOutAnimation] (click)=\"onSearchPersonFreeText()\"\r\n class=\"pointer me-1\" matSuffix aria-label=\"Search\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <span [@inOutAnimation] (click)=\"personForm.get('keyword').setValue('')\"\r\n class=\"pointer btn-icon-clear d-flex justify-content-center align-items-center \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('keyword').value\">\r\n <button qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n <button (click)=\"onFilterPerson()\" qms-btn-outlined class=\"w-100 mb-1 mt-3\">\r\n {{LANG.FILTER}}\r\n </button>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox #checkPerson class=\"w-100\" (click)=\"onCheckAll(OPTION_ENUM.PERSON,checkPerson)\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.PERSON)\" [indeterminate]=\"isIndeterminate(OPTION_ENUM.PERSON)\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}} ({{personFiltered.length}})</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let employee of personFiltered; trackBy: trackByFn\">\r\n <mat-checkbox [checked]=\"employee.selected\" (click)=\"onSelectPerson(employee)\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ employee.name }}\r\n </span>\r\n <span *ngIf=\"employee.subName\" class=\"ms-1 sub-label\">({{employee.subName}})</span>\r\n </div>\r\n <small class=\"text-help px-1 fs-12 sub-label\">{{ employee.helpText }}</small>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- UserGroup Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <form>\r\n <mat-dialog-content>\r\n <mat-form-field class=\"w-100\" qms-form qms-search-field>\r\n <input [formControl]=\"userGroupForm\" matInput type=\"text\" autocomplete=\"off\" placeholder=\"User group\" />\r\n <button (click)=\"onFilterUserGroup()\" qms-btn-icon color=\"light\" matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <div [@inOutAnimation] *ngIf=\"!!userGroupForm.value\" matSuffix qms-input-clear>\r\n <button (click)=\"userGroupForm.setValue('')\" qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </mat-dialog-content>\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox #checkUserGroup class=\"w-100\" color=\"default\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.USER_GROUP)\"\r\n [indeterminate]=\"isIndeterminate(OPTION_ENUM.USER_GROUP)\"\r\n (click)=\"onCheckAll(OPTION_ENUM.USER_GROUP,checkUserGroup)\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}} ({{userGroupFiltered.length}})</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let userGroup of userGroupFiltered\">\r\n <mat-checkbox (click)=\"onSelectUserGroup(userGroup)\" [checked]=\"userGroup.selected\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label\">\r\n {{userGroup.name}}\r\n </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- Department Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\" class=\"person-access\">\r\n <qms-select-department-tree #treeDepartment [treeData]=\"dataDialog.accessDepartments\"\r\n [enableIncludeChild]=\"true\" [enableTreeSearch]=\"true\" [selectedList]=\"resultAccess.departments\">\r\n </qms-select-department-tree>\r\n </ng-container>\r\n </div>\r\n <mat-divider *ngIf=\"optionSelect.value !== null\" class=\"mx-auto\"></mat-divider>\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"header-title my-2\">{{LANG.RESULTS}}</div>\r\n\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"result-selected-container\">\r\n <!-- Result Person -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.PERSON}} <span\r\n class=\"fw-600\">({{resultAccess.persons.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.persons; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{ item.name }}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.PERSON,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result User group -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.USER_GROUP}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.userGroups.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.userGroups; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{item.name}}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.USER_GROUP,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result Department -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.DEPARTMENT}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.departments.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result item-department\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.departments\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScollToNodeTreeDepartment(item)\" qms-chip-body>\r\n <span class=\"chip-item__content_name\" #itemName>\r\n {{item.name}}\r\n </span>\r\n <span class=\"chip-item-children__count ms-1\" *ngIf=\"item?.children\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n <mat-icon class=\"remove-chip-icon\" (click)=\"onRemoveTreeNodeDepartment(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\" [class.none-option]=\"optionSelect.value === null\">\r\n <button *ngIf=\"optionSelect.value !== null\"\r\n [disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n class=\"btn-add\"\r\n [class.qms-btn-disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n [mat-dialog-close]=\"resultAccess\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n {{LANG.CANCEL}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n",
289
+ template: "<div qms-dialog-container-v2 class=\"select-access-dialog-container\">\r\n <div qms-dialog-header>\r\n <div class=\"access-dialog-header mb-2\">\r\n <span class=\"header-title\">{{LANG.SELECT_ACCESS}}</span>\r\n <mat-icon mat-dialog-close class=\"mat-icons-outlined\">close</mat-icon>\r\n </div>\r\n <mat-form-field qms-form qms-select-input class=\"field-select-option w-100\" appearance=\"fill\">\r\n <mat-label qms-select-input>{{LANG.TYPE}}</mat-label>\r\n <mat-select (selectionChange)=\"onSelectionTypeChange($event)\" [formControl]=\"optionSelect\" placeholder=\"Select\"\r\n disableOptionCentering #singleSelect panelClass=\"qms-select-panel\" qms-select>\r\n\r\n <mat-option *ngFor=\"let item of options\" [value]=\"item.type\">\r\n {{ LANG[item.displayName] }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div qms-dialog-content class=\"access-dialog-wraper\">\r\n <!-- Person Access -->\r\n <div class=\"option-selected-content\">\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <form [formGroup]=\"personForm\">\r\n <mat-dialog-content>\r\n <div class=\"group-filter-person-option\">\r\n <mat-form-field class=\"w-100 input-option-filter\" qms-form>\r\n <mat-label qms-select-input>{{LANG.ROLE}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering formControlName=\"roleId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"roleFilter\" placeholderLabel=\"{{ LANG.ROLE }}\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.role | async\" [value]=\"item.id\">\r\n {{ item.name }}\r\n </mat-option>\r\n </mat-select>\r\n <span [@inOutAnimation] (click)=\"personForm.get('roleId').setValue('')\" class=\"pointer \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('roleId').value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"w-100 input-select-option\" qms-form qms-select-input>\r\n <mat-label>{{LANG.DEPARTMENT_UNIT}}</mat-label>\r\n <mat-select panelClass=\"qms-select-panel\" qms-select disableOptionCentering\r\n formControlName=\"departmentId\">\r\n <mat-option>\r\n <ngx-mat-select-search formControlName=\"departmentFilter\" [placeholderLabel]=\"LANG.DEPARTMENT_UNIT\"\r\n noEntriesFoundLabel=\"\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n <mat-option *ngFor=\"let item of filteredSearchTextBox.department | async\" [value]=\"item.id\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n\r\n <span (click)=\"setFormControlValue(['recursive','departmentId'], [false,''])\" [@inOutAnimation]\r\n class=\"pointer\" matSuffix aria-label=\"Clear\" *ngIf=\"personForm.get('departmentId').value\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-slide-toggle class=\"w-100 slide-toggle\" formControlName=\"recursive\"\r\n [disabled]=\"!personForm.get('departmentId').value\" color=\"default\" qms-group-options>\r\n <span class=\"text-label\">{{LANG.INCLUDE_SUB_DEPARTMENTS}}</span>\r\n </mat-slide-toggle>\r\n\r\n <mat-form-field class=\"w-100\" appearance=\"fill\" qms-form qms-search-field>\r\n <!-- <mat-label>{{LANG.SEARCH_WITH_NAME}}</mat-label> -->\r\n <input matInput appearance=\"off\" [placeholder]=\"LANG.SEARCH_WITH_NAME\" formControlName=\"keyword\"\r\n type=\"text\" autocomplete=\"off\" />\r\n\r\n <button qms-btn-icon color=\"light\" [@inOutAnimation] (click)=\"onSearchPersonFreeText()\"\r\n class=\"pointer me-1\" matSuffix aria-label=\"Search\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <span [@inOutAnimation] (click)=\"personForm.get('keyword').setValue('')\"\r\n class=\"pointer btn-icon-clear d-flex justify-content-center align-items-center \" matSuffix\r\n aria-label=\"Clear\" *ngIf=\"personForm.get('keyword').value\">\r\n <button qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n <button (click)=\"onFilterPerson()\" qms-btn-outlined class=\"w-100 mb-1 mt-3\">\r\n {{LANG.FILTER}}\r\n </button>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [disabled]=\"!personFiltered.length\" #checkPerson class=\"w-100\" (click)=\"personFiltered.length && onCheckAll(OPTION_ENUM.PERSON,checkPerson)\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.PERSON)\" [indeterminate]=\"isIndeterminate(OPTION_ENUM.PERSON)\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}} </span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let employee of getPaging(personFiltered); trackBy: trackByFn\">\r\n <mat-checkbox [checked]=\"employee.selected\" (click)=\"onSelectPerson(employee)\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <div class=\"text-label\">\r\n <span class=\"text-label label-item fs-14 \">\r\n {{ employee.name }}\r\n </span>\r\n <span *ngIf=\"employee.subName\" class=\"ms-1 sub-label\">({{employee.subName}})</span>\r\n </div>\r\n <small class=\"text-help px-1 fs-12 sub-label\">{{ employee.helpText }}</small>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator *ngIf=\"personFiltered.length > 10\" [length]=\"personFiltered.length\"\r\n [numHidden]=\"0\" [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)='onPagingEvent($event)'\r\n [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- UserGroup Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <form>\r\n <mat-dialog-content>\r\n <mat-form-field class=\"w-100\" qms-form qms-search-field>\r\n <input [formControl]=\"userGroupForm\" matInput type=\"text\" autocomplete=\"off\" placeholder=\"User group\" />\r\n <button (click)=\"onFilterUserGroup()\" qms-btn-icon color=\"light\" matSuffix>\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n <div [@inOutAnimation] *ngIf=\"!!userGroupForm.value\" matSuffix qms-input-clear>\r\n <button (click)=\"userGroupForm.setValue('')\" qms-btn-icon color=\"light\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </mat-dialog-content>\r\n <mat-dialog-content class=\"items-list\">\r\n <div qms-scrollbar>\r\n <div class=\"item\">\r\n <mat-checkbox [disabled]=\"!userGroupFiltered.length\" #checkUserGroup class=\"w-100\" color=\"default\"\r\n [checked]=\"isCheckAll(OPTION_ENUM.USER_GROUP)\"\r\n [indeterminate]=\"isIndeterminate(OPTION_ENUM.USER_GROUP)\"\r\n (click)=\"userGroupFiltered.length && onCheckAll(OPTION_ENUM.USER_GROUP,checkUserGroup)\" qms-group-options>\r\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\r\n </mat-checkbox>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <div class=\"item-list-wrapper\">\r\n <div class=\"item mt-1\" *ngFor=\"let userGroup of getPaging(userGroupFiltered)\">\r\n <mat-checkbox (click)=\"onSelectUserGroup(userGroup)\" [checked]=\"userGroup.selected\" class=\"w-100\"\r\n color=\"default\" qms-group-options>\r\n <span class=\"text-label\">\r\n {{userGroup.name}}\r\n </span>\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <mat-divider class=\"mx-auto\"></mat-divider>\r\n <qms-paginator *ngIf=\"userGroupFiltered.length > 10\" [length]=\"userGroupFiltered.length\" [numHidden]=\"0\" [pageSize]=\"10\" [pageSizeOptions]=\"[5, 10, 25, 100]\" (page)='onPagingEvent($event)'\r\n [size]='PAGINATION_SIZE.medium'>\r\n </qms-paginator>\r\n </div>\r\n </mat-dialog-content>\r\n </form>\r\n </ng-container>\r\n\r\n <!-- Department Access -->\r\n <ng-container *ngIf=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\" class=\"person-access\">\r\n <qms-select-department-tree\r\n #treeDepartment\r\n [treeData]=\"dataDialog.accessDepartments\"\r\n [enableIncludeChild]=\"true\"\r\n [enableTreeSearch]=\"true\"\r\n [selectedList]=\"resultAccess.departments\"\r\n (onSearchEvent)=\"onSearchDepartmentEvent.emit($event)\"\r\n (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n >\r\n </qms-select-department-tree>\r\n </ng-container>\r\n </div>\r\n <mat-divider *ngIf=\"optionSelect.value !== null\" class=\"mx-auto\"></mat-divider>\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"header-title my-2\">{{LANG.RESULTS}}</div>\r\n\r\n <div *ngIf=\"optionSelect.value !== null\" class=\"result-selected-container\">\r\n <!-- Result Person -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.PERSON\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.PERSON}} <span\r\n class=\"fw-600\">({{resultAccess.persons.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.persons; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{ item.name }}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.PERSON,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result User group -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.USER_GROUP\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.USER_GROUP}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.userGroups.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.userGroups; let i = index\" qms-chip [removable]=\"true\">\r\n <span qms-chip-body>\r\n <span class=\"text-label\">\r\n {{item.name}}\r\n <span *ngIf=\"item.subName\">({{ item.subName }})</span>\r\n </span>\r\n </span>\r\n <mat-icon (click)=\"onRemoveChip(OPTION_ENUM.USER_GROUP,i)\" class=\"remove-chip-icon\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n\r\n <!-- Result Department -->\r\n <mat-expansion-panel qms-expansion [expanded]=\"optionSelect.value === OPTION_ENUM.DEPARTMENT\">\r\n <mat-expansion-panel-header>\r\n <div class=\"title-content\">\r\n <div class=\"qms-list-text\">\r\n <div qms-line color=\"default-subtitle\">{{LANG.DEPARTMENT}}\r\n <span class=\"fw-600\">\r\n ({{resultAccess.departments.length}})\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <mat-chip class=\"chip-item-result item-department\" [qms-tool-tip]=\"item.name\" position=\"top\" mode=\"dark\"\r\n *ngFor=\"let item of resultAccess.departments\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScollToNodeTreeDepartment(item)\" qms-chip-body>\r\n <span class=\"chip-item__content_name\" #itemName>\r\n {{item.name}}\r\n </span>\r\n <span class=\"chip-item-children__count ms-1\" *ngIf=\"item?.children\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n <mat-icon class=\"remove-chip-icon\" (click)=\"onRemoveTreeNodeDepartment(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </mat-expansion-panel>\r\n </div>\r\n <!-- <mat-divider class=\"mx-auto\"></mat-divider> -->\r\n </div>\r\n <div qms-dialog-footer class=\"confirm__button__groups\" [class.none-option]=\"optionSelect.value === null\">\r\n <button *ngIf=\"optionSelect.value !== null\"\r\n [disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n class=\"btn-add\"\r\n [class.qms-btn-disabled]=\"!(!!resultAccess.departments.length || !!resultAccess.persons.length || !!resultAccess.userGroups.length)\"\r\n [mat-dialog-close]=\"resultAccess\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n {{LANG.CANCEL}}\r\n </button>\r\n </div>\r\n</div>\r\n",
264
290
  animations: [SelectAccessAnimationTrigger],
265
291
  providers: [
266
292
  {
@@ -269,7 +295,7 @@ QMSSelectAccessDialogComponent.decorators = [
269
295
  }
270
296
  ],
271
297
  encapsulation: ViewEncapsulation.None,
272
- styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.select-access-dialog-container{font-family:Open Sans}.select-access-dialog-container .mat-expansion-panel .mat-expansion-panel-body{padding-top:0!important}.select-access-dialog-container .mat-expansion-panel-header{font-size:12px!important;font-weight:800!important}.select-access-dialog-container .w-100{width:100%}.select-access-dialog-container .h-100{height:100%}.select-access-dialog-container .pointer{cursor:pointer}.select-access-dialog-container .fw-600{font-weight:600}.select-access-dialog-container .label-item{font-weight:600;color:var(--ws-text-primary)}.select-access-dialog-container .sub-label{color:var(--ws-text-secondary)}.select-access-dialog-container .fs-14{font-size:14px}.select-access-dialog-container .fs-12{font-size:12px}.select-access-dialog-container .header-title{font-weight:600;color:var(--ws-text-primary);font-size:16px}.select-access-dialog-container .chip-item-result{max-width:250px}.select-access-dialog-container .chip-item-result.item-department .qms-chip-body{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .remove-chip-icon{color:rgba(0,0,0,.3);cursor:pointer}.select-access-dialog-container .remove-chip-icon:hover{color:rgba(0,0,0,.7)}.select-access-dialog-container .mat-form-field-wrapper{padding-bottom:5px!important}.select-access-dialog-container .mat-expansion-panel{border-radius:unset!important}.select-access-dialog-container .mat-expansion-panel-header:not([aria-disabled=true]){background:unset}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header{background:#e5eefb}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header .qms-line{color:var(--primary-light)!important}.select-access-dialog-container .access-dialog-header{display:flex;justify-content:space-between;align-items:center}.select-access-dialog-container .access-dialog-wraper{width:100%}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-wrapper{padding-bottom:16px!important}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-underline{bottom:16px!important}.select-access-dialog-container .mat-chip-list-wrapper{margin:unset!important}.select-access-dialog-container .result-selected-container{max-height:185px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper{max-height:25vh;padding-right:4px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper .item{min-height:40px}.select-access-dialog-container .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .option-selected-content .group-filter-person-option{display:flex;flex-direction:row-reverse;justify-content:center;align-items:center;grid-gap:8px;gap:8px}.select-access-dialog-container span.chip-item__content_name{display:inline-block;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-access-dialog-container span.chip-item-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600}.select-access-dialog-container .mat-slide-toggle.qms-group-options{padding:unset!important}.select-access-dialog-container .input-option-filter .mat-form-field-wrapper{padding-bottom:8px!important}.select-access-dialog-container .input-option-filter .mat-form-field-underline{bottom:8px!important}.select-access-dialog-container .slide-toggle{margin-bottom:8px}.select-access-dialog-container .confirm__button__groups.none-option{margin-top:85px}.select-access-dialog-container .btn-icon-clear{position:relative;padding:0 1rem}.select-access-dialog-container .btn-icon-clear .qms-btn-icon{margin-right:unset!important}.select-access-dialog-container .btn-icon-clear:after{position:absolute;content:\"\";left:0;top:0;height:100%;width:1px;background:rgba(0,0,0,.3)}"]
298
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.select-access-dialog-container{font-family:Open Sans}.select-access-dialog-container .mat-expansion-panel .mat-expansion-panel-body{padding-top:0!important}.select-access-dialog-container .mat-expansion-panel-header{font-size:12px!important;font-weight:800!important}.select-access-dialog-container .w-100{width:100%}.select-access-dialog-container .h-100{height:100%}.select-access-dialog-container .pointer{cursor:pointer}.select-access-dialog-container .fw-600{font-weight:600}.select-access-dialog-container .label-item{font-weight:600;color:var(--ws-text-primary)}.select-access-dialog-container .sub-label{color:var(--ws-text-secondary)}.select-access-dialog-container .fs-14{font-size:14px}.select-access-dialog-container .fs-12{font-size:12px}.select-access-dialog-container .header-title{font-weight:600;color:var(--ws-text-primary);font-size:16px}.select-access-dialog-container .chip-item-result{max-width:250px}.select-access-dialog-container .chip-item-result.item-department .qms-chip-body{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .remove-chip-icon{color:rgba(0,0,0,.3);cursor:pointer}.select-access-dialog-container .remove-chip-icon:hover{color:rgba(0,0,0,.7)}.select-access-dialog-container .mat-form-field-wrapper{padding-bottom:5px!important}.select-access-dialog-container .mat-expansion-panel{border-radius:unset!important}.select-access-dialog-container .mat-expansion-panel-header:not([aria-disabled=true]){background:unset}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header{background:#e5eefb}.select-access-dialog-container .mat-expansion-panel.mat-expanded .mat-expansion-panel-header .qms-line{color:var(--primary-light)!important}.select-access-dialog-container .access-dialog-header{display:flex;justify-content:space-between;align-items:center}.select-access-dialog-container .access-dialog-wraper{width:100%}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-wrapper{padding-bottom:16px!important}.select-access-dialog-container .access-dialog-wraper .field-select-option .mat-form-field-underline{bottom:16px!important}.select-access-dialog-container .mat-chip-list-wrapper{margin:unset!important}.select-access-dialog-container .result-selected-container{max-height:175px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper{max-height:28vh;padding-right:4px;overflow-y:auto}.select-access-dialog-container .item-list-wrapper .item{min-height:40px}.select-access-dialog-container .confirm__button__groups .btn-add>.qms-btn-wrapper{display:flex;justify-content:center;align-items:center}.select-access-dialog-container .option-selected-content .group-filter-person-option{display:flex;flex-direction:row-reverse;justify-content:center;align-items:center;grid-gap:8px;gap:8px}.select-access-dialog-container span.chip-item__content_name{display:inline-block;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-access-dialog-container span.chip-item-children__count{font-size:.75rem;color:rgba(0,0,0,.5);font-weight:600}.select-access-dialog-container .mat-slide-toggle.qms-group-options{padding:unset!important}.select-access-dialog-container .input-option-filter .mat-form-field-wrapper{padding-bottom:8px!important}.select-access-dialog-container .input-option-filter .mat-form-field-underline{bottom:8px!important}.select-access-dialog-container .slide-toggle{margin-bottom:8px}.select-access-dialog-container .confirm__button__groups.none-option{margin-top:85px}.select-access-dialog-container .btn-icon-clear{position:relative;padding:0 1rem}.select-access-dialog-container .btn-icon-clear .qms-btn-icon{margin-right:unset!important}.select-access-dialog-container .btn-icon-clear:after{position:absolute;content:\"\";left:0;top:0;height:100%;width:1px;background:rgba(0,0,0,.3)}.select-access-dialog-container .qms-paginator .mat-icon{display:flex;align-items:center;justify-content:center}.select-access-dialog-container .qms-paginator .mat-form-field-wrapper{padding-bottom:0}.select-access-dialog-container .qms-paginator .mat-paginator-container{min-height:40px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-total-result{margin-bottom:2px;margin-right:12px;height:30px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-total-result span{font-weight:600;font-size:13px;color:rgba(0,0,0,.8)}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions{margin-bottom:0;grid-column-gap:2px;-moz-column-gap:2px;column-gap:2px}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-total-result{margin-bottom:0}.select-access-dialog-container .qms-paginator .mat-paginator-container .qms-paginator-range-actions>.qms-btn-icon{width:30px;height:30px;line-height:30px}.select-access-dialog-container .qms-paginator>.qms-btn-icon-wrapper{width:30px;height:30px;display:flex;justify-content:center;align-items:center}.select-access-dialog-container .qms-paginator .qms-paginator-page-size{margin-right:12px}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-pagesize-label{display:none}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-form-page-size .mat-form-field-flex{width:60px!important;height:30px;display:flex;align-items:center;padding:0 4px}.select-access-dialog-container .qms-paginator .qms-paginator-page-size>.qms-form-page-size .mat-form-field-flex .mat-form-field-infix{height:30px}.select-access-dialog-container .qms-paginator .mat-form-field.qms-form .mat-select-min-line,.select-access-dialog-container .qms-paginator .mat-form-field.qms-form mat-select-trigger{font-size:14px}.select-access-dialog-container .qms-paginator .mat-select-value{text-align:center}"]
273
299
  },] }
274
300
  ];
275
301
  QMSSelectAccessDialogComponent.ctorParameters = () => [
@@ -285,4 +311,4 @@ QMSSelectAccessDialogComponent.propDecorators = {
285
311
  },] }]
286
312
  };
287
313
  export { ɵ0 };
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQTZCLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUc1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztXQVNaO0lBQ1Is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QWdCLEVBQUU7b0JBQzNCLElBQUksRUFBRSw2QkFBNkI7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94RGVmYXVsdE9wdGlvbnMsIE1BVF9DSEVDS0JPWF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBRTVNUcmVlTm9kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLXRyZWUtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtZGVwYXJ0bWVudC10cmVlL3NlbGVjdC1kZXBhcnRtZW50LXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0QWNjZXNzQW5pbWF0aW9uVHJpZ2dlciB9IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0gfSBmcm9tICcuL2NvbW1vbi9vcHRpb24tc2VsZWN0LWFjY2Vzcy5lbnVtJztcclxuaW1wb3J0IHsgUU1TQWNjZXNzSXRlbSB9IGZyb20gJy4vbW9kZWwvYWNjZXNzLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBPcHRpb25TZWxlY3RBY2Nlc3NNb2RlbCB9IGZyb20gJy4vbW9kZWwvb3B0aW9uLXNlbGVjdC1hY2Nlc3MubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNTZWxlY3RBY2Nlc3NEYXRhLCBRTVNTZWxlY3RBY2Nlc3NSZXN1bHQgfSBmcm9tICcuL21vZGVsL3NlbGVjdC1hY2Nlc3MtZGF0YSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdEFjY2Vzc0dsb2JhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2Uvc2VsZWN0LWFjY2Vzcy1nbG9iYWwuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtc2VsZWN0LWFjY2Vzcy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtYWNjZXNzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbU2VsZWN0QWNjZXNzQW5pbWF0aW9uVHJpZ2dlcl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9DSEVDS0JPWF9ERUZBVUxUX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgY2xpY2tBY3Rpb246ICdub29wJ1xyXG4gICAgICB9IGFzIE1hdENoZWNrYm94RGVmYXVsdE9wdGlvbnNcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgbmdVbnN1YmNyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBMQU5HOiBhbnk7XHJcbiAgb3B0aW9uU2VsZWN0ID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgT1BUSU9OX0VOVU0gPSBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtO1xyXG4gIG9wdGlvbnM6IE9wdGlvblNlbGVjdEFjY2Vzc01vZGVsW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGRpc3BsYXlOYW1lOiAnUEVSU09OJyxcclxuICAgICAgdHlwZTogdGhpcy5PUFRJT05fRU5VTS5QRVJTT05cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGRpc3BsYXlOYW1lOiAnVVNFUl9HUk9VUCcsXHJcbiAgICAgIHR5cGU6IHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgZGlzcGxheU5hbWU6ICdERVBBUlRNRU5UJyxcclxuICAgICAgdHlwZTogdGhpcy5PUFRJT05fRU5VTS5ERVBBUlRNRU5UXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHBlcnNvbkZvcm06IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgdXNlckdyb3VwRm9ybSA9IG5ldyBGb3JtQ29udHJvbCgnJylcclxuXHJcbiAgb25TZWFyY2hQZXJzb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvblNlYXJjaFBlcnNvbkZyZWVUZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgb25TZWFyY2hVc2VyR3JvdXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvblNlYXJjaERlcGFydG1lbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB0cmVlRGVwYXJ0bWVudDogU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnRcclxuICBAVmlld0NoaWxkKCd0cmVlRGVwYXJ0bWVudCcsIHtcclxuICAgIHJlYWQ6IFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50XHJcbiAgfSkgc2V0IHRyZWUoZGF0YTogU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnQpIHtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMudHJlZURlcGFydG1lbnQgPSBkYXRhO1xyXG4gICAgICBkYXRhLnZhbHVlQ2hhbmdlJFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy5kZXBhcnRtZW50cyA9IHJlc3VsdDtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIGxpc3QgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmQgKi9cclxuICBwdWJsaWMgZmlsdGVyZWRTZWFyY2hUZXh0Qm94ID0ge1xyXG4gICAgZGVwYXJ0bWVudDogbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKSxcclxuICAgIHJvbGU6IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSksXHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0UGVyc29uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UU1TQWNjZXNzSXRlbVtdPihbXSk7XHJcbiAgZ2V0IHBlcnNvbkZpbHRlcmVkKCkge1xyXG4gICAgY29uc3QgcGVyc29ucyA9IHRoaXMuZ2V0UGVyc29uJC52YWx1ZTtcclxuICAgIGNvbnN0IGlkcyA9IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMubWFwKHggPT4geC5pZCk7XHJcbiAgICBwZXJzb25zLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gaWRzLmluY2x1ZGVzKHguaWQpKTtcclxuICAgIHJldHVybiBwZXJzb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRVc2VyR3JvdXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRTVNBY2Nlc3NJdGVtW10+KFtdKTtcclxuICBnZXQgdXNlckdyb3VwRmlsdGVyZWQoKSB7XHJcbiAgICBjb25zdCB1c2VyR3JvdXBzID0gdGhpcy5nZXRVc2VyR3JvdXAkLnZhbHVlO1xyXG4gICAgY29uc3QgaWRzID0gdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3Vwcy5tYXAoeCA9PiB4LmlkKTtcclxuICAgIHVzZXJHcm91cHMuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSBpZHMuaW5jbHVkZXMoeC5pZCkpO1xyXG4gICAgcmV0dXJuIHVzZXJHcm91cHM7XHJcbiAgfVxyXG5cclxuICByZXN1bHRBY2Nlc3MgPSBuZXcgUU1TU2VsZWN0QWNjZXNzUmVzdWx0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxRTVNTZWxlY3RBY2Nlc3NEaWFsb2dDb21wb25lbnQ+LFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhRGlhbG9nOiBRTVNTZWxlY3RBY2Nlc3NEYXRhLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHFtc1NlbGVjdEFjY2Vzc1NlcnZpY2U6IFFNU1NlbGVjdEFjY2Vzc0dsb2JhbFNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgICB0aGlzLnJlc3VsdEFjY2VzcyA9IF8uY2xvbmVEZWVwKHRoaXMuZGF0YURpYWxvZy5zZWxlY3RlZERhdGEpO1xyXG5cclxuICAgIHRoaXMub3B0aW9uU2VsZWN0LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gRmlsdGVyZWQgT3B0aW9uIHNlbGVjdCBwZXJzb25cclxuICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LnJvbGUubmV4dCh0aGlzLmRhdGFEaWFsb2cuYWNjZXNzVXNlckdyb3Vwcyk7XHJcbiAgICB0aGlzLmZpbHRlcmVkU2VhcmNoVGV4dEJveC5kZXBhcnRtZW50Lm5leHQodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc0RlcGFydG1lbnRzKTtcclxuXHJcblxyXG4gICAgdGhpcy51cGRhdGVQZXJzb25GaWx0ZXIodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc1BlcnNvbnMpO1xyXG4gICAgdGhpcy51cGRhdGVVc2VyR3JvdXBGaWx0ZXIodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc1VzZXJHcm91cHMpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gUmVzdWx0IGRlcGFydG1lbnQgYWNjZXNzXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSgpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYnVpbGRQZXJzb25Gb3JtKCk7XHJcblxyXG4gICAgLy8gRmlsdGVyIHBlcnNvbiBieSByb2xlc1xyXG4gICAgdGhpcy5wZXJzb25Gb3JtLmdldCgncm9sZUZpbHRlcicpLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpLCBkZWJvdW5jZVRpbWUoNTAwKSlcclxuICAgICAgLnN1YnNjcmliZShrZXl3b3JkID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgha2V5d29yZCkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3gucm9sZS5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3gucm9sZS5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzLmZpbHRlcihyb2xlID0+IHJvbGUubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQudG9Mb2NhbGVMb3dlckNhc2UoKSkpKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gRmlsdGVyIHBlcnNvbiBieSBkZXBhcnRtZW50c1xyXG4gICAgdGhpcy5wZXJzb25Gb3JtLmdldCgnZGVwYXJ0bWVudEZpbHRlcicpLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZGF0YURpYWxvZy5hY2Nlc3NEZXBhcnRtZW50cykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc2VhcmNoID0gdGhpcy5wZXJzb25Gb3JtLmdldCgnZGVwYXJ0bWVudEZpbHRlcicpLnZhbHVlO1xyXG4gICAgICAgIGlmICghc2VhcmNoKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkU2VhcmNoVGV4dEJveC5kZXBhcnRtZW50Lm5leHQodGhpcy5kYXRhRGlhbG9nLmFjY2Vzc0RlcGFydG1lbnRzLnNsaWNlKCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LmRlcGFydG1lbnQubmV4dChcclxuICAgICAgICAgICAgdGhpcy5kYXRhRGlhbG9nLmFjY2Vzc0RlcGFydG1lbnRzLmZpbHRlcih4ID0+IHgubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSA+IC0xKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ1Vuc3ViY3JpYmUubmV4dCgpO1xyXG4gICAgdGhpcy5uZ1Vuc3ViY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRQZXJzb25Gb3JtKCkge1xyXG4gICAgdGhpcy5wZXJzb25Gb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICByb2xlSWQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAgIGRlcGFydG1lbnRJZDogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAgIGRlcGFydG1lbnRGaWx0ZXI6IG5ldyBGb3JtQ29udHJvbChbXSksXHJcbiAgICAgIHJlY3Vyc2l2ZTogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAga2V5d29yZDogbmV3IEZvcm1Db250cm9sKCcnKSxcclxuICAgICAgcm9sZUZpbHRlcjogbmV3IEZvcm1Db250cm9sKCcnKSxcclxuICAgICAgZXhjbHVkZWRRdWl0RGVwYXJ0bWVudElkOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyUGVyc29uKCkge1xyXG4gICAgdGhpcy5vblNlYXJjaFBlcnNvbkV2ZW50LmVtaXQodGhpcy5wZXJzb25Gb3JtLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoUGVyc29uRnJlZVRleHQoKSB7XHJcbiAgICB0aGlzLm9uU2VhcmNoUGVyc29uRnJlZVRleHRFdmVudC5lbWl0KHRoaXMucGVyc29uRm9ybS5nZXQoJ2tleXdvcmQnKS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlclVzZXJHcm91cCgpIHtcclxuICAgIHRoaXMub25TZWFyY2hVc2VyR3JvdXBFdmVudC5lbWl0KHRoaXMudXNlckdyb3VwRm9ybS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdFBlcnNvbihlbXBsb3llZTogUU1TQWNjZXNzSXRlbSkge1xyXG4gICAgZW1wbG95ZWUuc2VsZWN0ZWQgPSAhZW1wbG95ZWUuc2VsZWN0ZWQ7XHJcbiAgICBlbXBsb3llZS5zZWxlY3RlZCA/IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMucHVzaChlbXBsb3llZSkgOiB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zID0gdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBlbXBsb3llZS5pZCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdFVzZXJHcm91cCh1c2VyR3JvdXA6IFFNU0FjY2Vzc0l0ZW0pIHtcclxuICAgIHVzZXJHcm91cC5zZWxlY3RlZCA9ICF1c2VyR3JvdXAuc2VsZWN0ZWQ7XHJcbiAgICB1c2VyR3JvdXAuc2VsZWN0ZWQgPyB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLnB1c2godXNlckdyb3VwKSA6IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMgPSB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IHVzZXJHcm91cC5pZCk7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZUNoaXAodHlwZTogT3B0aW9uU2VsZWN0QWNjZXNzRW51bSwgaW5kZXgpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uUEVSU09OOlxyXG4gICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBpZiAodGhpcy5wZXJzb25GaWx0ZXJlZFtpbmRleF0pIHtcclxuICAgICAgICAgIHRoaXMucGVyc29uRmlsdGVyZWRbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUDpcclxuICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgaWYgKHRoaXMudXNlckdyb3VwRmlsdGVyZWRbaW5kZXhdKSB7XHJcbiAgICAgICAgICB0aGlzLnVzZXJHcm91cEZpbHRlcmVkW2luZGV4XS5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvblR5cGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoJzczMnB4JylcclxuICB9XHJcblxyXG4gIHNldEZvcm1Db250cm9sVmFsdWUoZm9ybUNvbnRyb2xOYW1lczogc3RyaW5nW10sIHZhbHVlcykge1xyXG4gICAgZm9ybUNvbnRyb2xOYW1lcy5mb3JFYWNoKChjb250cm9sTmFtZSwgX2luZGV4KSA9PiB7XHJcbiAgICAgIHRoaXMucGVyc29uRm9ybS5nZXQoY29udHJvbE5hbWUpPy5zZXRWYWx1ZSh2YWx1ZXNbX2luZGV4XSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0UGVyc29uU2VsZWN0ZWQoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgaXNDaGVja0FsbCh0eXBlOiBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlBFUlNPTjpcclxuICAgICAgICByZXR1cm4gdGhpcy5wZXJzb25GaWx0ZXJlZC5sZW5ndGggJiYgdGhpcy5wZXJzb25GaWx0ZXJlZC5ldmVyeSh4ID0+IHguc2VsZWN0ZWQpO1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUDpcclxuICAgICAgICByZXR1cm4gdGhpcy51c2VyR3JvdXBGaWx0ZXJlZC5sZW5ndGggJiYgdGhpcy51c2VyR3JvdXBGaWx0ZXJlZC5ldmVyeSh4ID0+IHguc2VsZWN0ZWQpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzSW5kZXRlcm1pbmF0ZSh0eXBlOiBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlBFUlNPTjpcclxuICAgICAgICByZXR1cm4gIXRoaXMuaXNDaGVja0FsbCh0eXBlKSAmJiB0aGlzLnBlcnNvbkZpbHRlcmVkLnNvbWUoeCA9PiB4LnNlbGVjdGVkKTtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlVTRVJfR1JPVVA6XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzQ2hlY2tBbGwodHlwZSkgJiYgdGhpcy51c2VyR3JvdXBGaWx0ZXJlZC5zb21lKHggPT4geC5zZWxlY3RlZCk7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5ERVBBUlRNRU5UOlxyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrQWxsKHR5cGU6IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0sICRldmVudCkge1xyXG4gICAgJGV2ZW50LmNoZWNrZWQgPSAhJGV2ZW50LmNoZWNrZWQ7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlBFUlNPTjoge1xyXG4gICAgICAgIHRoaXMucGVyc29uRmlsdGVyZWQuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSAkZXZlbnQuY2hlY2tlZCk7XHJcbiAgICAgICAgY29uc3QgaWRGaWx0ZXJlZCA9IHRoaXMucGVyc29uRmlsdGVyZWQubWFwKHggPT4geC5pZCk7XHJcbiAgICAgICAgaWYgKCRldmVudC5jaGVja2VkKSB7XHJcbiAgICAgICAgICBjb25zdCBpZFBlcnNvblNlbGVjdGVkID0gdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5tYXAoeCA9PiB4LmlkKTtcclxuICAgICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMgPSBbLi4udGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucywgLi4udGhpcy5wZXJzb25GaWx0ZXJlZC5maWx0ZXIoeCA9PiAhaWRQZXJzb25TZWxlY3RlZC5pbmNsdWRlcyh4LmlkKSldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMgPSB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zLmZpbHRlcih4ID0+ICFpZEZpbHRlcmVkLmluY2x1ZGVzKHguaWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlVTRVJfR1JPVVA6IHtcclxuICAgICAgICB0aGlzLnVzZXJHcm91cEZpbHRlcmVkLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gJGV2ZW50LmNoZWNrZWQpO1xyXG4gICAgICAgIGNvbnN0IGlkRmlsdGVyZWQgPSB0aGlzLnVzZXJHcm91cEZpbHRlcmVkLm1hcCh4ID0+IHguaWQpO1xyXG4gICAgICAgIGlmICgkZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICAgICAgY29uc3QgaWRTZWxlY3RlZCA9IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMubWFwKHggPT4geC5pZCk7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzID0gWy4uLnRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMsIC4uLnRoaXMudXNlckdyb3VwRmlsdGVyZWQuZmlsdGVyKHggPT4gIWlkU2VsZWN0ZWQuaW5jbHVkZXMoeC5pZCkpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy51c2VyR3JvdXBzID0gdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3Vwcy5maWx0ZXIoeCA9PiAhaWRGaWx0ZXJlZC5pbmNsdWRlcyh4LmlkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TY29sbFRvTm9kZVRyZWVEZXBhcnRtZW50KG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdC52YWx1ZSA9PT0gdGhpcy5PUFRJT05fRU5VTS5ERVBBUlRNRU5UICYmIHRoaXMudHJlZURlcGFydG1lbnQuc2Nyb2xsSW50b05vZGUobm9kZS5pZClcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlVHJlZU5vZGVEZXBhcnRtZW50KG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25TZWxlY3QudmFsdWUgPT09IHRoaXMuT1BUSU9OX0VOVU0uREVQQVJUTUVOVCkge1xyXG4gICAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uUmVtb3ZlTm9kZShub2RlLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzdWx0QWNjZXNzLmRlcGFydG1lbnRzID0gdGhpcy5yZXN1bHRBY2Nlc3MuZGVwYXJ0bWVudHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gbm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Rm4oaW5kZXgsIGl0ZW0pIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBlcnNvbkZpbHRlcihkYXRhOiBRTVNBY2Nlc3NJdGVtW10pIHtcclxuICAgIHRoaXMuZ2V0UGVyc29uJC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVXNlckdyb3VwRmlsdGVyKGRhdGE6IFFNU0FjY2Vzc0l0ZW1bXSkge1xyXG4gICAgdGhpcy5nZXRVc2VyR3JvdXAkLm5leHQoZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQTZCLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDM0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7V0FTdEU7SUFDUixXQUFXLEVBQUUsTUFBTTtDQUNTO0FBS3BDLE1BQU0sT0FBTyw4QkFBOEI7SUFrRXpDLFlBQ1UsU0FBdUQsRUFDL0IsVUFBK0IsRUFDeEQsU0FBa0MsRUFDakMsR0FBZ0IsRUFDaEIsc0JBQW9EO1FBSnBELGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQ3hELGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQ2pDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUE4QjtRQXJFOUQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRW5DLGlCQUFZLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxnQkFBVyxHQUFHLHNCQUFzQixDQUFDO1FBQ3JDLFlBQU8sR0FBOEI7WUFDbkM7Z0JBQ0UsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDOUI7WUFDRDtnQkFDRSxXQUFXLEVBQUUsWUFBWTtnQkFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTthQUNsQztZQUNEO2dCQUNFLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO2FBQ2xDO1NBQ0YsQ0FBQztRQUdLLGtCQUFhLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFMUMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QyxnQ0FBMkIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUMsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVU3QyxzQ0FBc0M7UUFDL0IsMEJBQXFCLEdBQUc7WUFDN0IsVUFBVSxFQUFFLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDO1NBQ2hDLENBQUE7UUFDTyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBUXRELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBT2pFLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLGlCQUFZLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBRW5DLDRCQUF1QixHQUFjO1lBQzNDLFNBQVMsRUFBRSxDQUFDO1lBQ1osUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFVQSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7YUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFTCxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUEzREQsSUFFTyxJQUFJLENBQUMsSUFBbUM7UUFDN0MsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7SUFRRCxJQUFJLGNBQWM7UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUdELElBQUksaUJBQWlCO1FBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFrQ0QsZUFBZTtRQUNiLDJCQUEyQjtJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZO2FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyRCxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3JDLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUN2RSxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0osQ0FBQyxDQUFDLENBQUM7UUFFTCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZO2FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDdEMsT0FBTzthQUNSO1lBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDdkY7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDekYsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsWUFBWSxFQUFFLElBQUksV0FBVyxFQUFFO1lBQy9CLGdCQUFnQixFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQix3QkFBd0IsRUFBRSxJQUFJO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzdCLFNBQVMsRUFBRSxDQUFDO1lBQ1osUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXVCO1FBQ3BDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0osQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQXdCO1FBQ3hDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3pDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0ssQ0FBQztJQUVELFlBQVksQ0FBQyxJQUE0QixFQUFFLEtBQUs7UUFDOUMsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTtnQkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQzdDO2dCQUNELE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2lCQUNoRDtnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTztTQUNWO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLGdCQUEwQixFQUFFLE1BQU07UUFDcEQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFOztZQUMvQyxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQywwQ0FBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsaUJBQWlCO0lBRWpCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBNEI7UUFDckMsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTtnQkFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RztnQkFDRSxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBNEI7O1FBQzFDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFJLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLDBDQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDO1lBQzlGLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO2dCQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSSxNQUFBLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDBDQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQSxDQUFDO1lBQ2pHO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUE0QixFQUFFLE1BQU07UUFDN0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDakMsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDN0QsSUFBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNO29CQUFFLE9BQU87Z0JBQzlCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pIO3FCQUNJO29CQUNILElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0Y7Z0JBQ0QsTUFBTTthQUNQO1lBQ0QsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMvRCxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFELE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtvQkFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzlIO3FCQUNJO29CQUNILElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDckc7Z0JBQ0QsTUFBTTthQUNQO1lBQ0Q7Z0JBQ0UsT0FBTztTQUNWO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQWlCO1FBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0RyxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBaUI7UUFDMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQXFCO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFxQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQWM7UUFDMUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWE7UUFDckIsSUFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUMxQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hPLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxLQUFvQjtRQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQzs7O1lBcFVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyw4eGVBQW9EO2dCQUVwRCxVQUFVLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDMUMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7d0JBQ3JDLFFBQVEsSUFFc0I7cUJBQy9CO2lCQUNGO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBN0JRLFlBQVk7WUFhWixtQkFBbUIsdUJBcUZ2QixNQUFNLFNBQUMsZUFBZTtZQTVGbEIsdUJBQXVCO1lBUnZCLFdBQVc7WUFnQlgsNEJBQTRCOzs7bUJBNkNsQyxTQUFTLFNBQUMsZ0JBQWdCLEVBQUU7b0JBQzNCLElBQUksRUFBRSw2QkFBNkI7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94RGVmYXVsdE9wdGlvbnMsIE1BVF9DSEVDS0JPWF9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFFNU1RyZWVOb2RlIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtdHJlZS1ub2RlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2l6ZSB9IGZyb20gJy4uL3Ftcy1wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBTZWxlY3REZXBhcnRtZW50VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdC1kZXBhcnRtZW50LXRyZWUvc2VsZWN0LWRlcGFydG1lbnQtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RBY2Nlc3NBbmltYXRpb25UcmlnZ2VyIH0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgT3B0aW9uU2VsZWN0QWNjZXNzRW51bSB9IGZyb20gJy4vY29tbW9uL29wdGlvbi1zZWxlY3QtYWNjZXNzLmVudW0nO1xyXG5pbXBvcnQgeyBRTVNBY2Nlc3NJdGVtIH0gZnJvbSAnLi9tb2RlbC9hY2Nlc3MtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IE9wdGlvblNlbGVjdEFjY2Vzc01vZGVsIH0gZnJvbSAnLi9tb2RlbC9vcHRpb24tc2VsZWN0LWFjY2Vzcy5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdEFjY2Vzc0RhdGEsIFFNU1NlbGVjdEFjY2Vzc1Jlc3VsdCB9IGZyb20gJy4vbW9kZWwvc2VsZWN0LWFjY2Vzcy1kYXRhJztcclxuaW1wb3J0IHsgUU1TU2VsZWN0QWNjZXNzR2xvYmFsU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9zZWxlY3QtYWNjZXNzLWdsb2JhbC5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtc2VsZWN0LWFjY2Vzcy1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtYWNjZXNzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbU2VsZWN0QWNjZXNzQW5pbWF0aW9uVHJpZ2dlcl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9DSEVDS0JPWF9ERUZBVUxUX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgY2xpY2tBY3Rpb246ICdub29wJ1xyXG4gICAgICB9IGFzIE1hdENoZWNrYm94RGVmYXVsdE9wdGlvbnNcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgbmdVbnN1YmNyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBMQU5HOiBhbnk7XHJcbiAgb3B0aW9uU2VsZWN0ID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgT1BUSU9OX0VOVU0gPSBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtO1xyXG4gIG9wdGlvbnM6IE9wdGlvblNlbGVjdEFjY2Vzc01vZGVsW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGRpc3BsYXlOYW1lOiAnUEVSU09OJyxcclxuICAgICAgdHlwZTogdGhpcy5PUFRJT05fRU5VTS5QRVJTT05cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGRpc3BsYXlOYW1lOiAnVVNFUl9HUk9VUCcsXHJcbiAgICAgIHR5cGU6IHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgZGlzcGxheU5hbWU6ICdERVBBUlRNRU5UJyxcclxuICAgICAgdHlwZTogdGhpcy5PUFRJT05fRU5VTS5ERVBBUlRNRU5UXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgcHVibGljIHBlcnNvbkZvcm06IEZvcm1Hcm91cDtcclxuICBwdWJsaWMgdXNlckdyb3VwRm9ybSA9IG5ldyBGb3JtQ29udHJvbCgnJylcclxuXHJcbiAgb25TZWFyY2hQZXJzb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvblNlYXJjaFBlcnNvbkZyZWVUZXh0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgb25TZWFyY2hVc2VyR3JvdXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBvblNlYXJjaERlcGFydG1lbnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB0cmVlRGVwYXJ0bWVudDogU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnRcclxuICBAVmlld0NoaWxkKCd0cmVlRGVwYXJ0bWVudCcsIHtcclxuICAgIHJlYWQ6IFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50XHJcbiAgfSkgc2V0IHRyZWUoZGF0YTogU2VsZWN0RGVwYXJ0bWVudFRyZWVDb21wb25lbnQpIHtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMudHJlZURlcGFydG1lbnQgPSBkYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIGxpc3QgZmlsdGVyZWQgYnkgc2VhcmNoIGtleXdvcmQgKi9cclxuICBwdWJsaWMgZmlsdGVyZWRTZWFyY2hUZXh0Qm94ID0ge1xyXG4gICAgZGVwYXJ0bWVudDogbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKSxcclxuICAgIHJvbGU6IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSksXHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0UGVyc29uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UU1TQWNjZXNzSXRlbVtdPihbXSk7XHJcbiAgZ2V0IHBlcnNvbkZpbHRlcmVkKCkge1xyXG4gICAgY29uc3QgcGVyc29ucyA9IHRoaXMuZ2V0UGVyc29uJC52YWx1ZTtcclxuICAgIGNvbnN0IGlkcyA9IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMubWFwKHggPT4geC5pZCk7XHJcbiAgICBwZXJzb25zLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gaWRzLmluY2x1ZGVzKHguaWQpKTtcclxuICAgIHJldHVybiBwZXJzb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRVc2VyR3JvdXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRTVNBY2Nlc3NJdGVtW10+KFtdKTtcclxuICBnZXQgdXNlckdyb3VwRmlsdGVyZWQoKSB7XHJcbiAgICBjb25zdCB1c2VyR3JvdXBzID0gdGhpcy5nZXRVc2VyR3JvdXAkLnZhbHVlO1xyXG4gICAgY29uc3QgaWRzID0gdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3Vwcy5tYXAoeCA9PiB4LmlkKTtcclxuICAgIHVzZXJHcm91cHMuZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSBpZHMuaW5jbHVkZXMoeC5pZCkpO1xyXG4gICAgcmV0dXJuIHVzZXJHcm91cHM7XHJcbiAgfVxyXG4gIFBBR0lOQVRJT05fU0laRSA9IFBhZ2luYXRpb25TaXplO1xyXG4gIHJlc3VsdEFjY2VzcyA9IG5ldyBRTVNTZWxlY3RBY2Nlc3NSZXN1bHQoKTtcclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50UGFnaW5hdGlvbkNvbmZpZzogUGFnZUV2ZW50ID0ge1xyXG4gICAgcGFnZUluZGV4OiAwLFxyXG4gICAgcGFnZVNpemU6IDEwLFxyXG4gICAgbGVuZ3RoOiAwXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGFEaWFsb2c6IFFNU1NlbGVjdEFjY2Vzc0RhdGEsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcW1zU2VsZWN0QWNjZXNzU2VydmljZTogUU1TU2VsZWN0QWNjZXNzR2xvYmFsU2VydmljZVxyXG4gICkge1xyXG5cclxuICAgIHRoaXMucmVzdWx0QWNjZXNzID0gXy5jbG9uZURlZXAodGhpcy5kYXRhRGlhbG9nLnNlbGVjdGVkRGF0YSk7XHJcblxyXG4gICAgdGhpcy5vcHRpb25TZWxlY3QudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgdGhpcy5yZXNldFBhZ2luZ0NvbmZpZygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyBGaWx0ZXJlZCBPcHRpb24gc2VsZWN0IHBlcnNvblxyXG4gICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3gucm9sZS5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKTtcclxuICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LmRlcGFydG1lbnQubmV4dCh0aGlzLmRhdGFEaWFsb2cuYWNjZXNzRGVwYXJ0bWVudHMpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlUGVyc29uRmlsdGVyKHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NQZXJzb25zKTtcclxuICAgIHRoaXMudXBkYXRlVXNlckdyb3VwRmlsdGVyKHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NVc2VyR3JvdXBzKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFJlc3VsdCBkZXBhcnRtZW50IGFjY2Vzc1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmJ1aWxkUGVyc29uRm9ybSgpO1xyXG5cclxuICAgIC8vIEZpbHRlciBwZXJzb24gYnkgcm9sZXNcclxuICAgIHRoaXMucGVyc29uRm9ybS5nZXQoJ3JvbGVGaWx0ZXInKS52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSwgZGVib3VuY2VUaW1lKDUwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoa2V5d29yZCA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFEaWFsb2cuYWNjZXNzVXNlckdyb3Vwcykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWtleXdvcmQpIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LnJvbGUubmV4dCh0aGlzLmRhdGFEaWFsb2cuYWNjZXNzVXNlckdyb3Vwcyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRTZWFyY2hUZXh0Qm94LnJvbGUubmV4dCh0aGlzLmRhdGFEaWFsb2cuYWNjZXNzVXNlckdyb3Vwcy5maWx0ZXIocm9sZSA9PiByb2xlLm5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhrZXl3b3JkLnRvTG9jYWxlTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIEZpbHRlciBwZXJzb24gYnkgZGVwYXJ0bWVudHNcclxuICAgIHRoaXMucGVyc29uRm9ybS5nZXQoJ2RlcGFydG1lbnRGaWx0ZXInKS52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFEaWFsb2cuYWNjZXNzRGVwYXJ0bWVudHMpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHNlYXJjaCA9IHRoaXMucGVyc29uRm9ybS5nZXQoJ2RlcGFydG1lbnRGaWx0ZXInKS52YWx1ZTtcclxuICAgICAgICBpZiAoIXNlYXJjaCkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJlZFNlYXJjaFRleHRCb3guZGVwYXJ0bWVudC5uZXh0KHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NEZXBhcnRtZW50cy5zbGljZSgpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc2VhcmNoID0gc2VhcmNoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkU2VhcmNoVGV4dEJveC5kZXBhcnRtZW50Lm5leHQoXHJcbiAgICAgICAgICAgIHRoaXMuZGF0YURpYWxvZy5hY2Nlc3NEZXBhcnRtZW50cy5maWx0ZXIoeCA9PiB4Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgPiAtMSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdVbnN1YmNyaWJlLm5leHQoKTtcclxuICAgIHRoaXMubmdVbnN1YmNyaWJlLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkUGVyc29uRm9ybSgpIHtcclxuICAgIHRoaXMucGVyc29uRm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgcm9sZUlkOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgICBkZXBhcnRtZW50SWQ6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICBkZXBhcnRtZW50RmlsdGVyOiBuZXcgRm9ybUNvbnRyb2woW10pLFxyXG4gICAgICByZWN1cnNpdmU6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGtleXdvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAgIHJvbGVGaWx0ZXI6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAgIGV4Y2x1ZGVkUXVpdERlcGFydG1lbnRJZDogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0UGFnaW5nQ29uZmlnKCl7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdpbmF0aW9uQ29uZmlnID0ge1xyXG4gICAgICBwYWdlSW5kZXg6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiAxMCxcclxuICAgICAgbGVuZ3RoOiAwXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJQZXJzb24oKSB7XHJcbiAgICB0aGlzLm9uU2VhcmNoUGVyc29uRXZlbnQuZW1pdCh0aGlzLnBlcnNvbkZvcm0udmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hQZXJzb25GcmVlVGV4dCgpIHtcclxuICAgIHRoaXMub25TZWFyY2hQZXJzb25GcmVlVGV4dEV2ZW50LmVtaXQodGhpcy5wZXJzb25Gb3JtLmdldCgna2V5d29yZCcpLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyVXNlckdyb3VwKCkge1xyXG4gICAgdGhpcy5vblNlYXJjaFVzZXJHcm91cEV2ZW50LmVtaXQodGhpcy51c2VyR3JvdXBGb3JtLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0UGVyc29uKGVtcGxveWVlOiBRTVNBY2Nlc3NJdGVtKSB7XHJcbiAgICBlbXBsb3llZS5zZWxlY3RlZCA9ICFlbXBsb3llZS5zZWxlY3RlZDtcclxuICAgIGVtcGxveWVlLnNlbGVjdGVkID8gdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5wdXNoKGVtcGxveWVlKSA6IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMgPSB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IGVtcGxveWVlLmlkKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0VXNlckdyb3VwKHVzZXJHcm91cDogUU1TQWNjZXNzSXRlbSkge1xyXG4gICAgdXNlckdyb3VwLnNlbGVjdGVkID0gIXVzZXJHcm91cC5zZWxlY3RlZDtcclxuICAgIHVzZXJHcm91cC5zZWxlY3RlZCA/IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMucHVzaCh1c2VyR3JvdXApIDogdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3VwcyA9IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gdXNlckdyb3VwLmlkKTtcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlQ2hpcCh0eXBlOiBPcHRpb25TZWxlY3RBY2Nlc3NFbnVtLCBpbmRleCkge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5QRVJTT046XHJcbiAgICAgICAgdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIGlmICh0aGlzLnBlcnNvbkZpbHRlcmVkW2luZGV4XSkge1xyXG4gICAgICAgICAgdGhpcy5wZXJzb25GaWx0ZXJlZFtpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5VU0VSX0dST1VQOlxyXG4gICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBpZiAodGhpcy51c2VyR3JvdXBGaWx0ZXJlZFtpbmRleF0pIHtcclxuICAgICAgICAgIHRoaXMudXNlckdyb3VwRmlsdGVyZWRbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uVHlwZUNoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnNzMycHgnKVxyXG4gIH1cclxuXHJcbiAgc2V0Rm9ybUNvbnRyb2xWYWx1ZShmb3JtQ29udHJvbE5hbWVzOiBzdHJpbmdbXSwgdmFsdWVzKSB7XHJcbiAgICBmb3JtQ29udHJvbE5hbWVzLmZvckVhY2goKGNvbnRyb2xOYW1lLCBfaW5kZXgpID0+IHtcclxuICAgICAgdGhpcy5wZXJzb25Gb3JtLmdldChjb250cm9sTmFtZSk/LnNldFZhbHVlKHZhbHVlc1tfaW5kZXhdKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRQZXJzb25TZWxlY3RlZCgpIHtcclxuXHJcbiAgfVxyXG5cclxuICBpc0NoZWNrQWxsKHR5cGU6IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0pIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uUEVSU09OOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnBlcnNvbkZpbHRlcmVkLmxlbmd0aCAmJiB0aGlzLmdldFBhZ2luZyh0aGlzLnBlcnNvbkZpbHRlcmVkKS5ldmVyeSh4ID0+IHguc2VsZWN0ZWQpO1xyXG4gICAgICBjYXNlIHRoaXMuT1BUSU9OX0VOVU0uVVNFUl9HUk9VUDpcclxuICAgICAgICByZXR1cm4gdGhpcy51c2VyR3JvdXBGaWx0ZXJlZC5sZW5ndGggJiYgdGhpcy5nZXRQYWdpbmcodGhpcy51c2VyR3JvdXBGaWx0ZXJlZCkuZXZlcnkoeCA9PiB4LnNlbGVjdGVkKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0luZGV0ZXJtaW5hdGUodHlwZTogT3B0aW9uU2VsZWN0QWNjZXNzRW51bSkge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5QRVJTT046XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzQ2hlY2tBbGwodHlwZSkgJiYgdGhpcy5nZXRQYWdpbmcodGhpcy5wZXJzb25GaWx0ZXJlZCk/LnNvbWUoeCA9PiB4LnNlbGVjdGVkKTtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlVTRVJfR1JPVVA6XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzQ2hlY2tBbGwodHlwZSkgJiYgdGhpcy5nZXRQYWdpbmcodGhpcy51c2VyR3JvdXBGaWx0ZXJlZCk/LnNvbWUoeCA9PiB4LnNlbGVjdGVkKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrQWxsKHR5cGU6IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0sICRldmVudCkge1xyXG4gICAgJGV2ZW50LmNoZWNrZWQgPSAhJGV2ZW50LmNoZWNrZWQ7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSB0aGlzLk9QVElPTl9FTlVNLlBFUlNPTjoge1xyXG4gICAgICAgIGNvbnN0IHVzZXJQYWdpbmcgPSB0aGlzLmdldFBhZ2luZyh0aGlzLnBlcnNvbkZpbHRlcmVkKSB8fCBbXTtcclxuICAgICAgICBpZighdXNlclBhZ2luZy5sZW5ndGgpIHJldHVybjtcclxuICAgICAgICB1c2VyUGFnaW5nLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gJGV2ZW50LmNoZWNrZWQpO1xyXG4gICAgICAgIGNvbnN0IGlkRmlsdGVyZWQgPSB1c2VyUGFnaW5nLm1hcCh4ID0+IHguaWQpO1xyXG4gICAgICAgIGlmICgkZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICAgICAgY29uc3QgaWRQZXJzb25TZWxlY3RlZCA9IHRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMubWFwKHggPT4geC5pZCk7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zID0gWy4uLnRoaXMucmVzdWx0QWNjZXNzLnBlcnNvbnMsIC4uLnVzZXJQYWdpbmcuZmlsdGVyKHggPT4gIWlkUGVyc29uU2VsZWN0ZWQuaW5jbHVkZXMoeC5pZCkpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdEFjY2Vzcy5wZXJzb25zID0gdGhpcy5yZXN1bHRBY2Nlc3MucGVyc29ucy5maWx0ZXIoeCA9PiAhaWRGaWx0ZXJlZC5pbmNsdWRlcyh4LmlkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgdGhpcy5PUFRJT05fRU5VTS5VU0VSX0dST1VQOiB7XHJcbiAgICAgICAgY29uc3QgdXNlckdyb3VwUGFnaW5nID0gdGhpcy5nZXRQYWdpbmcodGhpcy51c2VyR3JvdXBGaWx0ZXJlZCk7XHJcbiAgICAgICAgdXNlckdyb3VwUGFnaW5nLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gJGV2ZW50LmNoZWNrZWQpO1xyXG4gICAgICAgIGNvbnN0IGlkRmlsdGVyZWQgPSB1c2VyR3JvdXBQYWdpbmcubWFwKHggPT4geC5pZCk7XHJcbiAgICAgICAgaWYgKCRldmVudC5jaGVja2VkKSB7XHJcbiAgICAgICAgICBjb25zdCBpZFNlbGVjdGVkID0gdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3Vwcy5tYXAoeCA9PiB4LmlkKTtcclxuICAgICAgICAgIHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMgPSBbLi4udGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3VwcywgLi4udXNlckdyb3VwUGFnaW5nLmZpbHRlcih4ID0+ICFpZFNlbGVjdGVkLmluY2x1ZGVzKHguaWQpKV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHRBY2Nlc3MudXNlckdyb3VwcyA9IHRoaXMucmVzdWx0QWNjZXNzLnVzZXJHcm91cHMuZmlsdGVyKHggPT4gIWlkRmlsdGVyZWQuaW5jbHVkZXMoeC5pZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2NvbGxUb05vZGVUcmVlRGVwYXJ0bWVudChub2RlOiBRTVNUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5vcHRpb25TZWxlY3QudmFsdWUgPT09IHRoaXMuT1BUSU9OX0VOVU0uREVQQVJUTUVOVCAmJiB0aGlzLnRyZWVEZXBhcnRtZW50LnNjcm9sbFRvTm9kZShub2RlLmlkKVxyXG4gIH1cclxuXHJcbiAgb25SZW1vdmVUcmVlTm9kZURlcGFydG1lbnQobm9kZTogUU1TVHJlZU5vZGUpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvblNlbGVjdC52YWx1ZSA9PT0gdGhpcy5PUFRJT05fRU5VTS5ERVBBUlRNRU5UKSB7XHJcbiAgICAgIHRoaXMudHJlZURlcGFydG1lbnQub25SZW1vdmVOb2RlKG5vZGUuaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN1bHRBY2Nlc3MuZGVwYXJ0bWVudHMgPSB0aGlzLnJlc3VsdEFjY2Vzcy5kZXBhcnRtZW50cy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGVyc29uRmlsdGVyKGRhdGE6IFFNU0FjY2Vzc0l0ZW1bXSkge1xyXG4gICAgdGhpcy5yZXNldFBhZ2luZ0NvbmZpZygpO1xyXG4gICAgdGhpcy5nZXRQZXJzb24kLm5leHQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVVc2VyR3JvdXBGaWx0ZXIoZGF0YTogUU1TQWNjZXNzSXRlbVtdKSB7XHJcbiAgICB0aGlzLnJlc2V0UGFnaW5nQ29uZmlnKCk7XHJcbiAgICB0aGlzLmdldFVzZXJHcm91cCQubmV4dChkYXRhKTtcclxuICB9XHJcblxyXG4gIG9uUGFnaW5nRXZlbnQodmFsOiBQYWdlRXZlbnQpe1xyXG4gICAgdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZyA9IHZhbDtcclxuICB9XHJcblxyXG4gIGdldFBhZ2luZyhzb3VyY2U6IGFueVtdKXtcclxuICAgIGlmKCFzb3VyY2UubGVuZ3RoKSByZXR1cm47XHJcbiAgICByZXR1cm4gc291cmNlLnNsaWNlKHRoaXMuY3VycmVudFBhZ2luYXRpb25Db25maWcucGFnZUluZGV4ICogdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZy5wYWdlU2l6ZSwgKHRoaXMuY3VycmVudFBhZ2luYXRpb25Db25maWcucGFnZUluZGV4ICogdGhpcy5jdXJyZW50UGFnaW5hdGlvbkNvbmZpZy5wYWdlU2l6ZSkgKyB0aGlzLmN1cnJlbnRQYWdpbmF0aW9uQ29uZmlnLnBhZ2VTaXplKTtcclxuICB9XHJcbiAgb25SZXN1bHREZXBhcnRtZW50Q2hhbmdlKGV2ZW50OiBRTVNUcmVlTm9kZVtdKXtcclxuICAgIHRoaXMucmVzdWx0QWNjZXNzLmRlcGFydG1lbnRzID0gZXZlbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,12 +10,14 @@ import { MatExpansionModule } from '@angular/material/expansion';
10
10
  import { MatFormFieldModule } from '@angular/material/form-field';
11
11
  import { MatIconModule } from '@angular/material/icon';
12
12
  import { MatInputModule } from '@angular/material/input';
13
+ import { MatPaginatorModule } from '@angular/material/paginator';
13
14
  import { MatSelectModule } from '@angular/material/select';
14
15
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
15
16
  import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
16
17
  import { QmsAngularModule } from '../../qms-angular.module';
17
18
  import { QMSButtonModule } from '../button/button.module';
18
19
  import { QMSListModule } from '../list/list.module';
20
+ import { QmsPaginatorModule } from '../qms-paginator';
19
21
  import { QMSSelectDepartmentTreeModule } from '../select-department-tree/select-department-tree.module';
20
22
  import { QMSSelectDepartmentModule } from '../select-department/select-department.module';
21
23
  import { QMSSelectAccessDialogComponent } from './select-access-dialog.component';
@@ -47,10 +49,12 @@ QMSSelectAccessDialogModule.decorators = [
47
49
  QMSSelectDepartmentTreeModule,
48
50
  MatSlideToggleModule,
49
51
  QMSListModule,
52
+ QmsPaginatorModule,
53
+ MatPaginatorModule
50
54
  ],
51
55
  exports: [
52
56
  QMSSelectAccessDialogComponent
53
57
  ]
54
58
  },] }
55
59
  ];
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQW1DbEYsTUFBTSxPQUFPLDJCQUEyQjs7O1lBaEN2QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZix3QkFBd0I7b0JBQ3hCLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQiw2QkFBNkI7b0JBQzdCLG9CQUFvQjtvQkFDcEIsYUFBYTtpQkFDZDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsOEJBQThCO2lCQUMvQjthQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUgfSBmcm9tICduZ3gtbWF0LXNlbGVjdC1zZWFyY2gnO1xyXG5pbXBvcnQgeyBRbXNBbmd1bGFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vcW1zLWFuZ3VsYXIubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBRTVNMaXN0TW9kdWxlIH0gZnJvbSAnLi4vbGlzdC9saXN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdERlcGFydG1lbnRUcmVlTW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0LWRlcGFydG1lbnQtdHJlZS9zZWxlY3QtZGVwYXJ0bWVudC10cmVlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdERlcGFydG1lbnRNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3QtZGVwYXJ0bWVudC9zZWxlY3QtZGVwYXJ0bWVudC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBRTVNTZWxlY3RBY2Nlc3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUU1TU2VsZWN0RGVwYXJ0bWVudE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBRbXNBbmd1bGFyTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIFFNU0J1dHRvbk1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIFFNU1NlbGVjdERlcGFydG1lbnRUcmVlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBRTVNMaXN0TW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUU1TU2VsZWN0QWNjZXNzRGlhbG9nQ29tcG9uZW50XHJcbiAgXVxyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBRTVNTZWxlY3RBY2Nlc3NEaWFsb2dNb2R1bGUgeyB9XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXFDbEYsTUFBTSxPQUFPLDJCQUEyQjs7O1lBbEN2QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZix3QkFBd0I7b0JBQ3hCLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQiw2QkFBNkI7b0JBQzdCLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDhCQUE4QjtpQkFDL0I7YUFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTmd4TWF0U2VsZWN0U2VhcmNoTW9kdWxlIH0gZnJvbSAnbmd4LW1hdC1zZWxlY3Qtc2VhcmNoJztcclxuaW1wb3J0IHsgUW1zQW5ndWxhck1vZHVsZSB9IGZyb20gJy4uLy4uL3Ftcy1hbmd1bGFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU0J1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TTGlzdE1vZHVsZSB9IGZyb20gJy4uL2xpc3QvbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBRbXNQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICcuLi9xbXMtcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgUU1TU2VsZWN0RGVwYXJ0bWVudFRyZWVNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3QtZGVwYXJ0bWVudC10cmVlL3NlbGVjdC1kZXBhcnRtZW50LXRyZWUubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TU2VsZWN0RGVwYXJ0bWVudE1vZHVsZSB9IGZyb20gJy4uL3NlbGVjdC1kZXBhcnRtZW50L3NlbGVjdC1kZXBhcnRtZW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWFjY2Vzcy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUU1TU2VsZWN0QWNjZXNzRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBRTVNTZWxlY3REZXBhcnRtZW50TW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIFFtc0FuZ3VsYXJNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgUU1TQnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgUU1TU2VsZWN0RGVwYXJ0bWVudFRyZWVNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIFFNU0xpc3RNb2R1bGUsXHJcbiAgICBRbXNQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFFNU1NlbGVjdEFjY2Vzc0RpYWxvZ0NvbXBvbmVudFxyXG4gIF1cclxuXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUU1TU2VsZWN0QWNjZXNzRGlhbG9nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -22,9 +22,9 @@ export const SelectDepartmentAnimationTrigger = [
22
22
  animate('0.1s ease-in', style({ maxHeight: '175px', minHeight: '40px' }))
23
23
  ]),
24
24
  transition(':leave', [
25
- style({ maxHeight: '175px', minHeight: '40px' }),
26
- animate('0.1s ease-out', style({ minHeight: 0, maxHeight: 0 }))
25
+ style({ maxHeight: '175px', minHeight: '40px', opacity: 1 }),
26
+ animate('0.1s ease-out', style({ minHeight: 0, maxHeight: 0, opacity: 0 }))
27
27
  ])
28
- ]),
28
+ ])
29
29
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kZXBhcnRtZW50L2NvbW1vbi9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHO0lBQzlDLE9BQU8sQ0FDTCxnQkFBZ0IsRUFDaEI7UUFDRSxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCLENBQ0Y7S0FFRixDQUNGO0lBQ0QsT0FBTyxDQUNMLGlCQUFpQixFQUNqQjtRQUNFLFVBQVUsQ0FDUixRQUFRLEVBQ1I7WUFDRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQztZQUNqRCxPQUFPLENBQUMsZUFBZSxFQUNyQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1NBQy9DLENBQ0Y7UUFDRCxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLENBQUM7WUFDMUMsT0FBTyxDQUFDLGNBQWMsRUFDcEIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztTQUNyRCxDQUNGO0tBQ0YsQ0FDRjtJQUNELE9BQU8sQ0FDTCxpQkFBaUIsRUFDakI7UUFDRSxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLGNBQWMsRUFDcEIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNwRCxDQUNGO1FBQ0QsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekMsQ0FDRjtLQUNGLENBQ0Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNlbGVjdERlcGFydG1lbnRBbmltYXRpb25UcmlnZ2VyID0gW1xyXG4gIHRyaWdnZXIoXHJcbiAgICAnaW5PdXRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG5cclxuICAgIF0sXHJcbiAgKSxcclxuICB0cmlnZ2VyKFxyXG4gICAgJ3JvdGF0ZUFuaW1hdGlvbicsXHJcbiAgICBbXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJzplbnRlcicsXHJcbiAgICAgICAgW1xyXG4gICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwKSAgcm90YXRlKC0xODBkZWcpJyB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpICByb3RhdGUoMCknIH0pKVxyXG4gICAgICAgIF1cclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmxlYXZlJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpIHJvdGF0ZSgwKScgfSksXHJcbiAgICAgICAgICBhbmltYXRlKCcwLjNzIGVhc2UtaW4nLFxyXG4gICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApIHJvdGF0ZSgtMTgwZGVnKSAnIH0pKVxyXG4gICAgICAgIF1cclxuICAgICAgKVxyXG4gICAgXSxcclxuICApLFxyXG4gIHRyaWdnZXIoXHJcbiAgICAnaGVpZ2h0QW5pbWF0aW9uJyxcclxuICAgIFtcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmVudGVyJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBzdHlsZSh7IG1pbkhlaWdodDogMCwgbWF4SGVpZ2h0OiAwIH0pLFxyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4xcyBlYXNlLWluJyxcclxuICAgICAgICAgICAgc3R5bGUoeyBtYXhIZWlnaHQ6ICcxNzVweCcsIG1pbkhlaWdodDogJzQwcHgnIH0pKVxyXG4gICAgICAgIF1cclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmxlYXZlJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBzdHlsZSh7IG1heEhlaWdodDogJzE3NXB4JywgbWluSGVpZ2h0OiAnNDBweCcgfSksXHJcbiAgICAgICAgICBhbmltYXRlKCcwLjFzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgc3R5bGUoeyBtaW5IZWlnaHQ6IDAsIG1heEhlaWdodDogMCB9KSlcclxuICAgICAgICBdXHJcbiAgICAgIClcclxuICAgIF0sXHJcbiAgKSxcclxuXVxyXG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kZXBhcnRtZW50L2NvbW1vbi9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUl4RixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRztJQUM5QyxPQUFPLENBQ0wsZ0JBQWdCLEVBQ2hCO1FBQ0UsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsZUFBZSxFQUNyQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN6QixDQUNGO0tBQ0YsQ0FDRjtJQUNELE9BQU8sQ0FDTCxpQkFBaUIsRUFDakI7UUFDRSxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLDJCQUEyQixFQUFFLENBQUM7WUFDakQsT0FBTyxDQUFDLGVBQWUsRUFDckIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztTQUMvQyxDQUNGO1FBQ0QsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLE9BQU8sQ0FBQyxjQUFjLEVBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7U0FDckQsQ0FDRjtLQUNGLENBQ0Y7SUFDRCxPQUFPLENBQ0wsaUJBQWlCLEVBQ2pCO1FBQ0UsVUFBVSxDQUNSLFFBQVEsRUFDUjtZQUNFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxjQUFjLEVBQ3BCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDcEQsQ0FDRjtRQUNELFVBQVUsQ0FDUixRQUFRLEVBQ1I7WUFDRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzNELE9BQU8sQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyRCxDQUNGO0tBQ0YsQ0FDRjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFNlbGVjdERlcGFydG1lbnRBbmltYXRpb25UcmlnZ2VyID0gW1xyXG4gIHRyaWdnZXIoXHJcbiAgICAnaW5PdXRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgXSxcclxuICApLFxyXG4gIHRyaWdnZXIoXHJcbiAgICAncm90YXRlQW5pbWF0aW9uJyxcclxuICAgIFtcclxuICAgICAgdHJhbnNpdGlvbihcclxuICAgICAgICAnOmVudGVyJyxcclxuICAgICAgICBbXHJcbiAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDApICByb3RhdGUoLTE4MGRlZyknIH0pLFxyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4zcyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSkgIHJvdGF0ZSgwKScgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6bGVhdmUnLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSkgcm90YXRlKDApJyB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1pbicsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMCkgcm90YXRlKC0xODBkZWcpICcgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApXHJcbiAgICBdLFxyXG4gICksXHJcbiAgdHJpZ2dlcihcclxuICAgICdoZWlnaHRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgbWluSGVpZ2h0OiAwLCBtYXhIZWlnaHQ6IDAgfSksXHJcbiAgICAgICAgICBhbmltYXRlKCcwLjFzIGVhc2UtaW4nLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG1heEhlaWdodDogJzE3NXB4JywgbWluSGVpZ2h0OiAnNDBweCcgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6bGVhdmUnLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgbWF4SGVpZ2h0OiAnMTc1cHgnLCBtaW5IZWlnaHQ6ICc0MHB4JyxvcGFjaXR5OiAxIH0pLFxyXG4gICAgICAgICAgYW5pbWF0ZSgnMC4xcyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgIHN0eWxlKHsgbWluSGVpZ2h0OiAwLCBtYXhIZWlnaHQ6IDAsIG9wYWNpdHk6IDAgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApXHJcbiAgICBdLFxyXG4gIClcclxuXVxyXG4iXX0=