@eo-sdk/client 10.0.0-beta.2 → 10.0.0-beta.3

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 (168) hide show
  1. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
  2. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  3. package/app/eo-framework/app-shell/app-shell.module.d.ts +2 -1
  4. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  5. package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts.map +1 -1
  6. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +3 -1
  7. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts.map +1 -1
  8. package/app/eo-framework/form-elements/date/date.component.d.ts +2 -0
  9. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  10. package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts.map +1 -0
  11. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +3 -1
  12. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
  13. package/app/eo-framework/form-elements/form-elements.module.d.ts +37 -39
  14. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  15. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
  16. package/app/eo-framework/form-elements/index.d.ts +1 -3
  17. package/app/eo-framework/form-elements/index.d.ts.map +1 -1
  18. package/app/eo-framework/form-elements/reference/reference.component.d.ts.map +1 -1
  19. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +3 -2
  20. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts.map +1 -1
  21. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +1 -5
  22. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
  23. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +4 -7
  24. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  25. package/app/eo-framework/grid/grid.module.d.ts +4 -3
  26. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  27. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +2 -7
  28. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  29. package/app/eo-framework/index.d.ts +0 -1
  30. package/app/eo-framework/index.d.ts.map +1 -1
  31. package/app/eo-framework/object-details/object-details.component.d.ts +2 -7
  32. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  33. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  34. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +6 -59
  35. package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
  36. package/app/eo-framework/object-form/object-form-helper.service.d.ts +86 -2
  37. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  38. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +3 -11
  39. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  40. package/app/eo-framework/plugins/plugin.component.d.ts +0 -2
  41. package/app/eo-framework/plugins/plugin.component.d.ts.map +1 -1
  42. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  43. package/app/eo-framework/process/details/process-details.component.d.ts +2 -7
  44. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  45. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +2 -7
  46. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  47. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -1
  48. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  49. package/assets/_default/i18n/de.json +2 -0
  50. package/assets/_default/i18n/en.json +4 -2
  51. package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
  52. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +3 -3
  53. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +1 -1
  54. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +3 -3
  55. package/esm2020/app/eo-client/login/login.component.mjs +1 -1
  56. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +1 -1
  57. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
  58. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +1 -1
  59. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +3 -3
  60. package/esm2020/app/eo-client/settings/settings.component.mjs +3 -3
  61. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +1 -1
  62. package/esm2020/app/eo-client/version-state/version-state.component.mjs +1 -1
  63. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
  64. package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +1 -1
  65. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +1 -1
  66. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +1 -1
  67. package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +2 -2
  68. package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +1 -1
  69. package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +1 -1
  70. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +32 -20
  71. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +8 -4
  72. package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +1 -4
  73. package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +9 -3
  74. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +9 -24
  75. package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
  76. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +2 -2
  77. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +9 -3
  78. package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +3 -13
  79. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +7 -7
  80. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +2 -2
  81. package/esm2020/app/eo-framework/form-elements/index.mjs +2 -4
  82. package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +1 -1
  83. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +2 -2
  84. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -5
  85. package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +7 -2
  86. package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +9 -17
  87. package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +2 -2
  88. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +9 -27
  89. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +2 -2
  90. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +2 -2
  91. package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
  92. package/esm2020/app/eo-framework/grid/grid.module.mjs +5 -8
  93. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +8 -15
  94. package/esm2020/app/eo-framework/index.mjs +1 -2
  95. package/esm2020/app/eo-framework/media/media.component.mjs +2 -2
  96. package/esm2020/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +1 -1
  97. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +1 -1
  98. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +10 -15
  99. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +1 -2
  100. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +4 -4
  101. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -1
  102. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +18 -494
  103. package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +1 -1
  104. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +506 -7
  105. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +19 -27
  106. package/esm2020/app/eo-framework/plugins/plugin.component.mjs +5 -7
  107. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -4
  108. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +10 -16
  109. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +7 -16
  110. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +1 -1
  111. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +6 -3
  112. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
  113. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +6 -1
  114. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
  115. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  116. package/fesm2015/eo-sdk-client.mjs +3736 -4528
  117. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  118. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
  119. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  120. package/fesm2020/eo-sdk-client.mjs +3739 -4531
  121. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  122. package/package.json +4 -4
  123. package/projects/eo-sdk/core/lib/util/utils.d.ts +1 -0
  124. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
  125. package/scss/_eo-variables.scss +68 -40
  126. package/scss/_form.scss +6 -0
  127. package/scss/_main.scss +1 -1
  128. package/scss/_theme-dark.scss +22 -0
  129. package/scss/_yuuvis-components.scss +12 -2
  130. package/styles.css +51 -24
  131. package/styles.scss +5 -10
  132. package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts +0 -67
  133. package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts.map +0 -1
  134. package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts +0 -21
  135. package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts.map +0 -1
  136. package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts +0 -33
  137. package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts.map +0 -1
  138. package/app/eo-framework/form-elements/datetime/datetime.component.d.ts +0 -51
  139. package/app/eo-framework/form-elements/datetime/datetime.component.d.ts.map +0 -1
  140. package/app/eo-framework/form-elements/datetime/year-range/year-range.directive.d.ts.map +0 -1
  141. package/app/eo-framework/tab-container/index.d.ts +0 -6
  142. package/app/eo-framework/tab-container/index.d.ts.map +0 -1
  143. package/app/eo-framework/tab-container/tab-container.component.d.ts +0 -62
  144. package/app/eo-framework/tab-container/tab-container.component.d.ts.map +0 -1
  145. package/app/eo-framework/tab-container/tab-container.module.d.ts +0 -18
  146. package/app/eo-framework/tab-container/tab-container.module.d.ts.map +0 -1
  147. package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts +0 -13
  148. package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts.map +0 -1
  149. package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts +0 -19
  150. package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts.map +0 -1
  151. package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts +0 -11
  152. package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts.map +0 -1
  153. package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.mjs +0 -239
  154. package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.mjs +0 -2
  155. package/esm2020/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.mjs +0 -109
  156. package/esm2020/app/eo-framework/form-elements/datetime/datetime.component.mjs +0 -142
  157. package/esm2020/app/eo-framework/form-elements/datetime/year-range/year-range.directive.mjs +0 -44
  158. package/esm2020/app/eo-framework/tab-container/index.mjs +0 -6
  159. package/esm2020/app/eo-framework/tab-container/tab-container.component.mjs +0 -184
  160. package/esm2020/app/eo-framework/tab-container/tab-container.module.mjs +0 -47
  161. package/esm2020/app/eo-framework/tab-container/tab-panel/tab-panel.component.mjs +0 -26
  162. package/esm2020/app/eo-framework/tab-container/tab-view/tab-view.component.mjs +0 -61
  163. package/esm2020/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.mjs +0 -25
  164. package/scss/_eo-inverted.scss +0 -73
  165. package/scss/_eo-pink-theme.scss +0 -73
  166. package/scss/_eo-theme.scss +0 -81
  167. package/scss/_eo-vars.scss +0 -3
  168. /package/app/eo-framework/form-elements/{datetime → date}/year-range/year-range.directive.d.ts +0 -0
@@ -1,10 +1,8 @@
1
1
  import { CellRenderer } from './../../../eo-framework-core/api/grid.service';
2
- import { Component, Input, ViewChild, Output, EventEmitter, QueryList, ContentChildren } from '@angular/core';
2
+ import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
3
3
  import { forkJoin, of } from 'rxjs';
4
4
  import { takeUntil, catchError } from 'rxjs/operators';
5
5
  import { EmptyStateService } from '../../../eo-framework-core/empty-state/empty-state.service';
6
- import { TabPluginComponent } from '../../plugins/plugin.component';
7
- import { TabPanelComponent } from '../../tab-container/tab-panel/tab-panel.component';
8
6
  import { UnsubscribeOnDestroy } from '../../util/unsubscribe/unsubscribe.component';
9
7
  import { Utils, ClipboardAction } from '@eo-sdk/core';
10
8
  import * as i0 from "@angular/core";
@@ -45,7 +43,9 @@ export class ProcessDetailsComponent extends UnsubscribeOnDestroy {
45
43
  this.router = router;
46
44
  this.actionProcessing = { closed: true };
47
45
  this.initializing = { closed: true };
48
- this.externalPanels = new QueryList();
46
+ // externalPanels = new QueryList<TabPanelComponent>();
47
+ // @ContentChildren(TabPanelComponent) tabPanels: QueryList<TabPanelComponent>;
48
+ // @ContentChildren(TabPluginComponent) tabPlugins: QueryList<TabPluginComponent>;
49
49
  this.emptyState = EmptyStateService.defaultEmptyState();
50
50
  this.onDmsItemSelected = new EventEmitter();
51
51
  }
@@ -200,25 +200,19 @@ export class ProcessDetailsComponent extends UnsubscribeOnDestroy {
200
200
  .subscribe((clipboard) => this.clipboard = clipboard.action === ClipboardAction.COPY ? clipboard : null);
201
201
  }
202
202
  ngAfterViewInit() {
203
- let panels = this.tabPanels.toArray();
204
- this.tabPlugins.forEach(p => panels = panels.concat(p.tabPanels.toArray()));
205
- this.externalPanels.reset(panels);
203
+ // let panels = this.tabPanels.toArray();
204
+ // this.tabPlugins.forEach(p => panels = panels.concat(p.tabPanels.toArray()));
205
+ // this.externalPanels.reset(panels);
206
206
  }
207
207
  }
208
208
  ProcessDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessDetailsComponent, deps: [{ token: i1.BpmService }, { token: i1.UserService }, { token: i1.SystemService }, { token: i2.SelectionService }, { token: i1.ClipboardService }, { token: i1.TranslateService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
209
- ProcessDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessDetailsComponent, selector: "eo-process-details", inputs: { emptyState: "emptyState", applySelection: "applySelection", item: "item" }, outputs: { onDmsItemSelected: "onDmsItemSelected" }, queries: [{ propertyName: "tabPanels", predicate: TabPanelComponent }, { propertyName: "tabPlugins", predicate: TabPluginComponent }], viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"process-details\" *ngIf=\"item; else noItem\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [ngClass]=\"{error: item.state === 'ERRORSUSPENDED'}\" *ngIf=\"!item.iconid\" [iconTitle]=\"item.modelname\"\n [iconSrc]=\"item.iconurl\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconid\" [iconId]=\"item.iconid\" [iconTitle]=\"item.modelname\"></eo-icon>\n <div class=\"eo-header-info eo-header__content\">\n <div class=\"eo-header__title\">\n <h2 class=\"eo-header-title\">{{item.localizedsubject}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.modelname}}<span class=\"starter\" *ngIf=\"organisation && organisation.name !== 'sysroot' && organisation.name !== 'system'\">{{organisation.title}} ({{organisation.name}})</span></h3>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_error.svg'\"></eo-icon>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs>\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"item?.file\"\n [isDisabled]=\"false\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addPastedProcessFile($event)\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n <ng-content></ng-content>\n </yvc-tabs>\n </div>\n</div>\n\n<ng-template #noItem>\n <eo-error-message class=\"process-details__empty\" [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".process-details{background-color:var(--panel-background-grey);height:100%;position:relative}.process-details yvc-tabs{height:100%}.process-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.process-details .eo-head{height:calc(var(--app-pane-header-height) - 30px);background-color:var(--color-white)}.process-details .eo-header .avatar{border-radius:50%;-webkit-border-radius:50%;background-repeat:no-repeat;background-position:center center;width:44px;height:44px}.process-details .eo-header-subtitle .starter{display:inline-block;font-size:var(--font-hint);border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);color:var(--text-color-caption);line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);padding:2px calc(var(--app-pane-padding) / 2) 3px calc(var(--app-pane-padding) / 2)}.process-details .eo-header__title{display:flex;flex-direction:column;color:var(--text-color-caption);font-size:var(--font-caption)}.process-details .eo-body{position:absolute;top:calc(var(--app-pane-header-height) - 30px);left:0;right:0;bottom:0}.process-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.process-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.process-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.process-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.process-details .eo-body .tab-panel .panel.process-history{height:100%}.process-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.process-details .eo-body .tab-panel .process-actions button{margin:0 calc(var(--app-pane-padding) * .25)}.process-details .eo-body .tab-panel .process-actions button.ext{position:relative}.process-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.process-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex:1 1 auto;padding:var(--app-pane-padding) 0}.process-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.process-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.process-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.process-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.process-details .eo-body .notice.pastDue{background-color:var(--color-error);color:var(--color-white)}.process-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.process-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.process-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.process-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.process-details .eo-body .process-performer .head .label{flex:1 1 auto}.process-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.process-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.process-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.process-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.process-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;-moz-user-select:none;user-select:none}.process-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.process-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.process-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.process-details .eo-body .process-files .file-item{background-color:var(--color-white);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0;margin-bottom:calc(var(--app-pane-padding) / 4);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;border-left:calc(var(--app-pane-padding) / 4) solid transparent}.process-details .eo-body .process-files .file-item>div{flex:1 1 auto}.process-details .eo-body .process-files .file-item>div .title{font-weight:700}.process-details .eo-body .process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-details .eo-body .process-files .file-item eo-icon.button{padding:0;box-sizing:border-box;margin:0;color:var(--text-color-hint)}.process-details .eo-body .process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.process-details .eo-body .content-paste{display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;margin:var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .content-paste eo-icon{margin:0 calc(var(--app-pane-padding) / 4);transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.process-details .eo-body .content-paste .label{margin:0 calc(var(--app-pane-padding) / 4)}.process-details .eo-body .content-paste.disabled{opacity:.5;pointer-events:none;cursor:default}.process-details .eo-body .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-details .eo-body .no-files{padding:var(--app-pane-padding)}.process-details__empty{background:var(--color-white-smoke)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i8.Tabs, selector: "yvc-tabs", inputs: ["tabs", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i8.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i9.ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: i10.ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
209
+ ProcessDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ProcessDetailsComponent, selector: "eo-process-details", inputs: { emptyState: "emptyState", applySelection: "applySelection", item: "item" }, outputs: { onDmsItemSelected: "onDmsItemSelected" }, viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"process-details\" *ngIf=\"item; else noItem\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [ngClass]=\"{error: item.state === 'ERRORSUSPENDED'}\" *ngIf=\"!item.iconid\" [iconTitle]=\"item.modelname\"\n [iconSrc]=\"item.iconurl\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconid\" [iconId]=\"item.iconid\" [iconTitle]=\"item.modelname\"></eo-icon>\n <div class=\"eo-header-info eo-header__content\">\n <div class=\"eo-header__title\">\n <h2 class=\"eo-header-title\">{{item.localizedsubject}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.modelname}}<span class=\"starter\" *ngIf=\"organisation && organisation.name !== 'sysroot' && organisation.name !== 'system'\">{{organisation.title}} ({{organisation.name}})</span></h3>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_error.svg'\"></eo-icon>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs>\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"item?.file\"\n [isDisabled]=\"false\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addPastedProcessFile($event)\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n <ng-content></ng-content>\n </yvc-tabs>\n </div>\n</div>\n\n<ng-template #noItem>\n <eo-error-message class=\"process-details__empty\" [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".process-details{background-color:var(--panel-background-grey);height:100%;position:relative}.process-details yvc-tabs{height:100%}.process-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.process-details .eo-head{height:calc(var(--app-pane-header-height) - 30px);background-color:var(--color-white)}.process-details .eo-header .avatar{border-radius:50%;-webkit-border-radius:50%;background-repeat:no-repeat;background-position:center center;width:44px;height:44px}.process-details .eo-header-subtitle .starter{display:inline-block;font-size:var(--font-hint);border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);color:var(--text-color-caption);line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);padding:2px calc(var(--app-pane-padding) / 2) 3px calc(var(--app-pane-padding) / 2)}.process-details .eo-header__title{display:flex;flex-direction:column;color:var(--text-color-caption);font-size:var(--font-caption)}.process-details .eo-body{position:absolute;top:calc(var(--app-pane-header-height) - 30px);left:0;right:0;bottom:0}.process-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.process-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.process-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.process-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.process-details .eo-body .tab-panel .panel.process-history{height:100%}.process-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.process-details .eo-body .tab-panel .process-actions button{margin:0 calc(var(--app-pane-padding) * .25)}.process-details .eo-body .tab-panel .process-actions button.ext{position:relative}.process-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.process-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex:1 1 auto;padding:var(--app-pane-padding) 0}.process-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.process-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.process-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.process-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.process-details .eo-body .notice.pastDue{background-color:var(--color-error);color:var(--color-white)}.process-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.process-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.process-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.process-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.process-details .eo-body .process-performer .head .label{flex:1 1 auto}.process-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.process-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.process-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.process-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.process-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;-moz-user-select:none;user-select:none}.process-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.process-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.process-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.process-details .eo-body .process-files .file-item{background-color:var(--color-white);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0;margin-bottom:calc(var(--app-pane-padding) / 4);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;border-left:calc(var(--app-pane-padding) / 4) solid transparent}.process-details .eo-body .process-files .file-item>div{flex:1 1 auto}.process-details .eo-body .process-files .file-item>div .title{font-weight:700}.process-details .eo-body .process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-details .eo-body .process-files .file-item eo-icon.button{padding:0;box-sizing:border-box;margin:0;color:var(--text-color-hint)}.process-details .eo-body .process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.process-details .eo-body .content-paste{display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;margin:var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .content-paste eo-icon{margin:0 calc(var(--app-pane-padding) / 4);transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.process-details .eo-body .content-paste .label{margin:0 calc(var(--app-pane-padding) / 4)}.process-details .eo-body .content-paste.disabled{opacity:.5;pointer-events:none;cursor:default}.process-details .eo-body .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-details .eo-body .no-files{padding:var(--app-pane-padding)}.process-details__empty{background:var(--panel-background)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i8.Tabs, selector: "yvc-tabs", inputs: ["tabs", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i8.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i9.ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: i10.ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
210
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ProcessDetailsComponent, decorators: [{
211
211
  type: Component,
212
- args: [{ selector: 'eo-process-details', template: "<div class=\"process-details\" *ngIf=\"item; else noItem\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [ngClass]=\"{error: item.state === 'ERRORSUSPENDED'}\" *ngIf=\"!item.iconid\" [iconTitle]=\"item.modelname\"\n [iconSrc]=\"item.iconurl\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconid\" [iconId]=\"item.iconid\" [iconTitle]=\"item.modelname\"></eo-icon>\n <div class=\"eo-header-info eo-header__content\">\n <div class=\"eo-header__title\">\n <h2 class=\"eo-header-title\">{{item.localizedsubject}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.modelname}}<span class=\"starter\" *ngIf=\"organisation && organisation.name !== 'sysroot' && organisation.name !== 'system'\">{{organisation.title}} ({{organisation.name}})</span></h3>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_error.svg'\"></eo-icon>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs>\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"item?.file\"\n [isDisabled]=\"false\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addPastedProcessFile($event)\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n <ng-content></ng-content>\n </yvc-tabs>\n </div>\n</div>\n\n<ng-template #noItem>\n <eo-error-message class=\"process-details__empty\" [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".process-details{background-color:var(--panel-background-grey);height:100%;position:relative}.process-details yvc-tabs{height:100%}.process-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.process-details .eo-head{height:calc(var(--app-pane-header-height) - 30px);background-color:var(--color-white)}.process-details .eo-header .avatar{border-radius:50%;-webkit-border-radius:50%;background-repeat:no-repeat;background-position:center center;width:44px;height:44px}.process-details .eo-header-subtitle .starter{display:inline-block;font-size:var(--font-hint);border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);color:var(--text-color-caption);line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);padding:2px calc(var(--app-pane-padding) / 2) 3px calc(var(--app-pane-padding) / 2)}.process-details .eo-header__title{display:flex;flex-direction:column;color:var(--text-color-caption);font-size:var(--font-caption)}.process-details .eo-body{position:absolute;top:calc(var(--app-pane-header-height) - 30px);left:0;right:0;bottom:0}.process-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.process-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.process-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.process-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.process-details .eo-body .tab-panel .panel.process-history{height:100%}.process-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.process-details .eo-body .tab-panel .process-actions button{margin:0 calc(var(--app-pane-padding) * .25)}.process-details .eo-body .tab-panel .process-actions button.ext{position:relative}.process-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.process-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex:1 1 auto;padding:var(--app-pane-padding) 0}.process-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.process-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.process-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.process-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.process-details .eo-body .notice.pastDue{background-color:var(--color-error);color:var(--color-white)}.process-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.process-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.process-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.process-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.process-details .eo-body .process-performer .head .label{flex:1 1 auto}.process-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.process-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.process-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.process-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.process-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;-moz-user-select:none;user-select:none}.process-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.process-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.process-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.process-details .eo-body .process-files .file-item{background-color:var(--color-white);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0;margin-bottom:calc(var(--app-pane-padding) / 4);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;border-left:calc(var(--app-pane-padding) / 4) solid transparent}.process-details .eo-body .process-files .file-item>div{flex:1 1 auto}.process-details .eo-body .process-files .file-item>div .title{font-weight:700}.process-details .eo-body .process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-details .eo-body .process-files .file-item eo-icon.button{padding:0;box-sizing:border-box;margin:0;color:var(--text-color-hint)}.process-details .eo-body .process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.process-details .eo-body .content-paste{display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;margin:var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .content-paste eo-icon{margin:0 calc(var(--app-pane-padding) / 4);transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.process-details .eo-body .content-paste .label{margin:0 calc(var(--app-pane-padding) / 4)}.process-details .eo-body .content-paste.disabled{opacity:.5;pointer-events:none;cursor:default}.process-details .eo-body .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-details .eo-body .no-files{padding:var(--app-pane-padding)}.process-details__empty{background:var(--color-white-smoke)}\n"] }]
212
+ args: [{ selector: 'eo-process-details', template: "<div class=\"process-details\" *ngIf=\"item; else noItem\">\n\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [ngClass]=\"{error: item.state === 'ERRORSUSPENDED'}\" *ngIf=\"!item.iconid\" [iconTitle]=\"item.modelname\"\n [iconSrc]=\"item.iconurl\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconid\" [iconId]=\"item.iconid\" [iconTitle]=\"item.modelname\"></eo-icon>\n <div class=\"eo-header-info eo-header__content\">\n <div class=\"eo-header__title\">\n <h2 class=\"eo-header-title\">{{item.localizedsubject}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.modelname}}<span class=\"starter\" *ngIf=\"organisation && organisation.name !== 'sysroot' && organisation.name !== 'system'\">{{organisation.title}} ({{organisation.name}})</span></h3>\n </div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_error.svg'\"></eo-icon>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs>\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"item?.file\"\n [isDisabled]=\"false\"\n [clipboard]=\"clipboard\"\n [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\"\n (onPasteProcessFile)=\"addPastedProcessFile($event)\">\n </eo-process-file>\n </div>\n </div>\n </ng-template>\n <ng-content></ng-content>\n </yvc-tabs>\n </div>\n</div>\n\n<ng-template #noItem>\n <eo-error-message class=\"process-details__empty\" [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [".process-details{background-color:var(--panel-background-grey);height:100%;position:relative}.process-details yvc-tabs{height:100%}.process-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.process-details .eo-head{height:calc(var(--app-pane-header-height) - 30px);background-color:var(--color-white)}.process-details .eo-header .avatar{border-radius:50%;-webkit-border-radius:50%;background-repeat:no-repeat;background-position:center center;width:44px;height:44px}.process-details .eo-header-subtitle .starter{display:inline-block;font-size:var(--font-hint);border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);color:var(--text-color-caption);line-height:1em;margin:0 calc(var(--app-pane-padding) / 2);padding:2px calc(var(--app-pane-padding) / 2) 3px calc(var(--app-pane-padding) / 2)}.process-details .eo-header__title{display:flex;flex-direction:column;color:var(--text-color-caption);font-size:var(--font-caption)}.process-details .eo-body{position:absolute;top:calc(var(--app-pane-header-height) - 30px);left:0;right:0;bottom:0}.process-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.process-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.process-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.process-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.process-details .eo-body .tab-panel .panel.process-history{height:100%}.process-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.process-details .eo-body .tab-panel .process-actions button{margin:0 calc(var(--app-pane-padding) * .25)}.process-details .eo-body .tab-panel .process-actions button.ext{position:relative}.process-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.process-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex:1 1 auto;padding:var(--app-pane-padding) 0}.process-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.process-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.process-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.process-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.process-details .eo-body .notice.pastDue{background-color:var(--color-error);color:var(--color-white)}.process-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.process-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.process-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.process-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.process-details .eo-body .process-performer .head .label{flex:1 1 auto}.process-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.process-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.process-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.process-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.process-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;-moz-user-select:none;user-select:none}.process-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.process-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.process-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.process-details .eo-body .process-files .file-item{background-color:var(--color-white);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0;margin-bottom:calc(var(--app-pane-padding) / 4);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;border-left:calc(var(--app-pane-padding) / 4) solid transparent}.process-details .eo-body .process-files .file-item>div{flex:1 1 auto}.process-details .eo-body .process-files .file-item>div .title{font-weight:700}.process-details .eo-body .process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-details .eo-body .process-files .file-item eo-icon.button{padding:0;box-sizing:border-box;margin:0;color:var(--text-color-hint)}.process-details .eo-body .process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.process-details .eo-body .content-paste{display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;margin:var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.process-details .eo-body .content-paste eo-icon{margin:0 calc(var(--app-pane-padding) / 4);transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.process-details .eo-body .content-paste .label{margin:0 calc(var(--app-pane-padding) / 4)}.process-details .eo-body .content-paste.disabled{opacity:.5;pointer-events:none;cursor:default}.process-details .eo-body .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-details .eo-body .no-files{padding:var(--app-pane-padding)}.process-details__empty{background:var(--panel-background)}\n"] }]
213
213
  }], ctorParameters: function () { return [{ type: i1.BpmService }, { type: i1.UserService }, { type: i1.SystemService }, { type: i2.SelectionService }, { type: i1.ClipboardService }, { type: i1.TranslateService }, { type: i3.Router }]; }, propDecorators: { bpmFormEl: [{
214
214
  type: ViewChild,
215
215
  args: ['bpmForm']
216
- }], tabPanels: [{
217
- type: ContentChildren,
218
- args: [TabPanelComponent]
219
- }], tabPlugins: [{
220
- type: ContentChildren,
221
- args: [TabPluginComponent]
222
216
  }], emptyState: [{
223
217
  type: Input
224
218
  }], applySelection: [{
@@ -229,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
229
223
  }], onDmsItemSelected: [{
230
224
  type: Output
231
225
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3Byb2Nlc3MvZGV0YWlscy9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcHJvY2Vzcy9kZXRhaWxzL3Byb2Nlc3MtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFDLFFBQVEsRUFBZ0IsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJckQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDN0YsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFLcEYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUVJLEtBQUssRUFBK0IsZUFBZSxFQUM3RCxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU90QixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9CO0lBMkIvRCxJQUNJLElBQUksQ0FBQyxDQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEVBQUU7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QUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4SCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDOztvSEFoUFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsK05BcUJqQixpQkFBaUIsNkNBQ2pCLGtCQUFrQiwwSkNoRHJDLDQ1RkE2REE7MkZEbkNhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7eVFBTVIsU0FBUztzQkFBOUIsU0FBUzt1QkFBQyxTQUFTO2dCQW1CZ0IsU0FBUztzQkFBNUMsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBQ0csVUFBVTtzQkFBOUMsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBRTFCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7dUJBQUMsTUFBTTtnQkFtQkgsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gJy4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYXBpL2dyaWQuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgUXVlcnlMaXN0LCBDb250ZW50Q2hpbGRyZW4sIEFmdGVyVmlld0luaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmb3JrSm9pbiwgU3Vic2NyaXB0aW9uLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbCwgY2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIE5hdmlnYXRpb25FeHRyYXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFiUGx1Z2luQ29tcG9uZW50fSBmcm9tICcuLi8uLi9wbHVnaW5zL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vdGFiLWNvbnRhaW5lci90YWItcGFuZWwvdGFiLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1TdGF0dXNDaGFuZ2VkRXZlbnR9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL2Zvcm0tc3RhdHVzLWNoYW5nZWQtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7T2JqZWN0Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0Rm9ybU9wdGlvbnN9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7U2VsZWN0aW9uQ29uZmlnLCBTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtVbnN1YnNjcmliZU9uRGVzdHJveX0gZnJvbSAnLi4vLi4vdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBGaWxlRW50cnksIFdvcmtJdGVtLCBCcG1TZXJ2aWNlLCBXb3JrSXRlbUhpc3RvcnlFbnRyeSwgVXNlclNlcnZpY2UsIERtc1BhcmFtcyxcbiAgUHJvY2VzcywgVXRpbHMsIENsaXBib2FyZCwgQ2xpcGJvYXJkU2VydmljZSwgQ2xpcGJvYXJkQWN0aW9uLCBTeXN0ZW1TZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXByb2Nlc3MtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBAVmlld0NoaWxkKCdicG1Gb3JtJykgYnBtRm9ybUVsOiBPYmplY3RGb3JtQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2l0ZW06IFByb2Nlc3M7XG4gIHdvcmtJdGVtOiBXb3JrSXRlbTtcbiAgaGlzdG9yeTogV29ya0l0ZW1IaXN0b3J5RW50cnlbXTtcbiAgb3JnYW5pc2F0aW9uOiBhbnk7XG4gIC8vIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgd29yayBpdGVtIGlzIGxvY2tlZCBieSB0aGUgdXNlclxuICBsb2NrZWQ6IGJvb2xlYW47XG5cbiAgZm9ybVN0YXRlOiBGb3JtU3RhdHVzQ2hhbmdlZEV2ZW50O1xuICBmb3JtT3B0aW9uczogT2JqZWN0Rm9ybU9wdGlvbnM7XG4gIHNlbGVjdGVkQ29udGVudEZpbGVJZDogc3RyaW5nO1xuICBhY3Rpb25Qcm9jZXNzaW5nOiBTdWJzY3JpcHRpb24gfCBhbnkgPSB7Y2xvc2VkOiB0cnVlfTtcbiAgaW5pdGlhbGl6aW5nOiBTdWJzY3JpcHRpb24gfCBhbnkgPSB7Y2xvc2VkOiB0cnVlfTtcbiAgbG9hZEVycm9yOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBjbGlwYm9hcmQ6IENsaXBib2FyZDtcblxuICBleHRlcm5hbFBhbmVscyA9IG5ldyBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+KCk7XG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsczogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJQbHVnaW5Db21wb25lbnQpIHRhYlBsdWdpbnM6IFF1ZXJ5TGlzdDxUYWJQbHVnaW5Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSBFbXB0eVN0YXRlU2VydmljZS5kZWZhdWx0RW1wdHlTdGF0ZSgpO1xuICBASW5wdXQoKSBhcHBseVNlbGVjdGlvbjogU2VsZWN0aW9uQ29uZmlnO1xuXG4gIEBJbnB1dCgnaXRlbScpXG4gIHNldCBpdGVtKGk6IFByb2Nlc3MpIHtcbiAgICB0aGlzLl9pdGVtID0gaTtcblxuICAgIGlmIChpKSB7XG4gICAgICAvLyByZXNldCB2YWx1ZXNcbiAgICAgIHRoaXMud29ya0l0ZW0gPSBudWxsO1xuICAgICAgdGhpcy5oaXN0b3J5ID0gW107XG4gICAgICB0aGlzLmxvY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnByb2Nlc3MoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW07XG4gIH1cblxuICBAT3V0cHV0KCkgb25EbXNJdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERtc1BhcmFtcz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHRyYWNrQnlDb2RlKGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0uY29kZTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIG9uRm9ybVN0YXR1c0NoYW5nZWQoZXZ0KSB7XG4gICAgdGhpcy5mb3JtU3RhdGUgPSBldnQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3MoKTogdm9pZCB7XG5cbiAgICB0aGlzLmxvYWRFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdGlhbGl6aW5nLmNsb3NlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdGFza3MgPSBbXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uT2JqZWN0QnlJZCh0aGlzLml0ZW0uY3JlYXRvcmlkKS5waXBlKFxuICAgICAgICAvLyByZXR1cm4gZGVmYXVsdCBiZWNhdXNlIG90aGVyd2lzZSBmb3JrSm9pbiB3aWxsIGZhaWxcbiAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKHtcbiAgICAgICAgICBuYW1lOiAndW5rbm93bidcbiAgICAgICAgfSkpXG4gICAgICApLFxuICAgICAgdGhpcy5icG1TZXJ2aWNlLmdldFByb2Nlc3NIaXN0b3J5KHRoaXMuaXRlbS5wcm9jZXNzaWQpXG4gICAgXTtcblxuICAgIGZvcmtKb2luKHRhc2tzKVxuICAgICAgLnN1YnNjcmliZSh0YXNrc1Jlc3VsdCA9PiB7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IFtvcmdhbmlzYXRpb24sIGhpc3RvcnldID0gdGFza3NSZXN1bHQ7XG4gICAgICAgIHRoaXMub3JnYW5pc2F0aW9uID0gb3JnYW5pc2F0aW9uO1xuICAgICAgICB0aGlzLmdldFByb2Nlc3NGaWxlKHRoaXMuaXRlbS5wcm9jZXNzaWQpO1xuICAgICAgICBpZiAoaGlzdG9yeSkge1xuICAgICAgICAgIGhpc3RvcnkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uZWRpdG9yKSB7XG4gICAgICAgICAgICAgIGl0ZW0uZGF0YS5pbWFnZSA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckltYWdlVXJpKGl0ZW0uZWRpdG9yLmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKHtoaXN0b3J5fSk7XG5cbiAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBoaXN0b3J5LnNvcnQoKGEsIGIpID0+IGIubnVtYmVyIC0gYS5udW1iZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKSB7XG4gICAgdGhpcy5icG1TZXJ2aWNlXG4gICAgICAuZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBGaWxlRW50cnlbXSkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Qcm9jZXNzSXRlbUNvbnRlbnQocmVzWzBdKTtcbiAgICAgICAgdGhpcy5faXRlbS5zZXRGaWxlKHJlcyk7XG4gICAgICB9LCBVdGlscy50aHJvdygoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZEVycm9yID0gdHJ1ZTtcbiAgICAgIH0sIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZGV0YWlscy53b3JraXRlbS5sb2FkLmZhaWwnKSkpXG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHdvcmsgaXRlbXMgZmlsZSBlbnRyeSBhbiBlbWl0cyBvbkRtc0l0ZW1TZWxlY3RlZCBldmVudC5cbiAgICogQHBhcmFtIGZpbGUgRmlsZUVudHJ5IGVsZW1lbnQgdG8gYmUgc2VsZWN0ZWRcbiAgICovXG4gIG9wZW5Qcm9jZXNzSXRlbUNvbnRlbnQoZmlsZT86IEZpbGVFbnRyeSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBudWxsO1xuICAgICAgdGhpcy5vbkRtc0l0ZW1TZWxlY3RlZC5lbWl0KG51bGwpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMobnVsbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWxlLmlkICE9PSB0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBmaWxlLmlkO1xuICAgICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgICAgaWQ6IGZpbGUuaWQsXG4gICAgICAgIHR5cGU6IGZpbGUudHlwZVxuICAgICAgfTtcbiAgICAgIHRoaXMub25EbXNJdGVtU2VsZWN0ZWQuZW1pdChwYXJhbXMpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW1vdmVXb3JrSXRlbUNvbnRlbnQoZXZlbnQ6IFtGaWxlRW50cnksIE1vdXNlRXZlbnRdKSB7XG4gICAgY29uc3QgW2ZpbGUsIGV2dF0gPSBldmVudDtcbiAgICBjb25zdCB7cHJvY2Vzc2lkLCBlbGVtZW50aWR9ID0gdGhpcy53b3JrSXRlbVsnY29udGVudCddWzBdO1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuYWN0aW9uUHJvY2Vzc2luZyA9IHRoaXMuYnBtU2VydmljZVxuICAgICAgLnJlbW92ZUZpbGVFbGVtZW50KHByb2Nlc3NpZCwgZWxlbWVudGlkLCBmaWxlLmlkKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLndvcmtJdGVtLmZpbGUgPSB0aGlzLndvcmtJdGVtLmZpbGUuZmlsdGVyKGYgPT4gZi5pZCAhPT0gZmlsZS5pZCk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCA9PT0gZmlsZS5pZCkge1xuICAgICAgICAgIHRoaXMub3BlblByb2Nlc3NJdGVtQ29udGVudCh0aGlzLndvcmtJdGVtLmZpbGUubGVuZ3RoID8gdGhpcy53b3JrSXRlbS5maWxlWzBdIDogbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0sIFV0aWxzLnRocm93KG51bGwsXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24ucmVtb3ZlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24ucmVtb3ZlLm1lc3NhZ2UnKSlcbiAgICAgICk7XG4gIH1cblxuICBhZGRQYXN0ZWRQcm9jZXNzRmlsZShldmVudCkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmFkZEZpbGVFbGVtZW50c0Zyb21DbGlwYm9hcmQodGhpcy53b3JrSXRlbSwgdGhpcy5jbGlwYm9hcmQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoVXRpbHMuY2F0Y2gobnVsbCxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uYWRkLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uZXJyb3InKSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh3b3JrSXRlbSA9PiB7XG4gICAgICAgICAgdGhpcy53b3JrSXRlbSA9IHdvcmtJdGVtO1xuICAgICAgICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jbGVhcigpO1xuICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQpIHtcbiAgICAgICAgICAgIC8vIG9wZW4gZmlyc3QgaXRlbSB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgIHRoaXMub3BlbldvcmtJdGVtQ29udGVudCh0aGlzLndvcmtJdGVtLmZpbGUubGVuZ3RoID8gdGhpcy53b3JrSXRlbS5maWxlWzBdIDogbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uZXJyb3InKSxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmZpbGUubm90aWZpY2F0aW9uLmFkZC5tZXNzYWdlJykpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGZpbGUgKGF0dGFjaGVkIERNU09iamVjdCkgaW4gb2JqZWN0IHN0YXRlXG4gICAqIEBwYXJhbSBmaWxlXG4gICAqL1xuICBvcGVuV29ya0l0ZW1Db250ZW50SW5Db250ZXh0KGV2dCkge1xuICAgIGNvbnN0IGZpbGU6IEZpbGVFbnRyeSA9IGV2dC5kYXRhIHx8IHt9O1xuICAgIGNvbnN0IGZpbGVUeXBlOiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3R5cGUnOiBmaWxlLnR5cGV9fTtcbiAgICBpZiAoZXZ0LmN0cmxLZXkpIHtcbiAgICAgIHdpbmRvdy5vcGVuKENlbGxSZW5kZXJlci53aW5kb3dVUkkodGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJ29iamVjdCcsIGZpbGUuaWRdLCBmaWxlVHlwZSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb2JqZWN0JywgZmlsZS5pZF0sIGZpbGVUeXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHdvcmsgaXRlbXMgZmlsZSBlbnRyeSBhbiBlbWl0cyBvbkRtc0l0ZW1TZWxlY3RlZCBldmVudC5cbiAgICogQHBhcmFtIGZpbGUgRmlsZUVudHJ5IGVsZW1lbnQgdG8gYmUgc2VsZWN0ZWRcbiAgICovXG4gIG9wZW5Xb3JrSXRlbUNvbnRlbnQoZmlsZT86IEZpbGVFbnRyeSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBudWxsO1xuICAgICAgdGhpcy5vbkRtc0l0ZW1TZWxlY3RlZC5lbWl0KG51bGwpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMobnVsbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWxlLmlkICE9PSB0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBmaWxlLmlkO1xuICAgICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgICAgaWQ6IGZpbGUuaWQsXG4gICAgICAgIHR5cGU6IGZpbGUudHlwZVxuICAgICAgfTtcbiAgICAgIHRoaXMub25EbXNJdGVtU2VsZWN0ZWQuZW1pdChwYXJhbXMpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dClcbiAgICAgICAgICAuZm9jdXMocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5hcHBseVNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgLmZpbmQodGhpcy5hcHBseVNlbGVjdGlvbi5pbilcbiAgICAgICAgLmZvY3VzJC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBhbnkpID0+IHRoaXMuaXRlbSA9IGl0ZW0pO1xuICAgIH1cblxuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZVxuICAgICAgLmNsaXBib2FyZCQucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNsaXBib2FyZDogQ2xpcGJvYXJkKSA9PiB0aGlzLmNsaXBib2FyZCA9IGNsaXBib2FyZC5hY3Rpb24gPT09IENsaXBib2FyZEFjdGlvbi5DT1BZID8gY2xpcGJvYXJkIDogbnVsbCk7XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBsZXQgcGFuZWxzID0gdGhpcy50YWJQYW5lbHMudG9BcnJheSgpO1xuICAgIHRoaXMudGFiUGx1Z2lucy5mb3JFYWNoKHAgPT4gcGFuZWxzID0gcGFuZWxzLmNvbmNhdChwLnRhYlBhbmVscy50b0FycmF5KCkpKTtcbiAgICB0aGlzLmV4dGVybmFsUGFuZWxzLnJlc2V0KHBhbmVscyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9jZXNzLWRldGFpbHNcIiAqbmdJZj1cIml0ZW07IGVsc2Ugbm9JdGVtXCI+XG5cbiAgPGRpdiBjbGFzcz1cImVvLWhlYWRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW25nQ2xhc3NdPVwie2Vycm9yOiBpdGVtLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnfVwiICpuZ0lmPVwiIWl0ZW0uaWNvbmlkXCIgW2ljb25UaXRsZV09XCJpdGVtLm1vZGVsbmFtZVwiXG4gICAgICAgICAgICAgICBbaWNvblNyY109XCJpdGVtLmljb251cmxcIj48L2VvLWljb24+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgKm5nSWY9XCJpdGVtLmljb25pZFwiIFtpY29uSWRdPVwiaXRlbS5pY29uaWRcIiBbaWNvblRpdGxlXT1cIml0ZW0ubW9kZWxuYW1lXCI+PC9lby1pY29uPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvIGVvLWhlYWRlcl9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyX190aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiPnt7aXRlbS5sb2NhbGl6ZWRzdWJqZWN0fX08L2gyPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImVvLWhlYWRlci1zdWJ0aXRsZVwiPnt7aXRlbS5tb2RlbG5hbWV9fTxzcGFuIGNsYXNzPVwic3RhcnRlclwiICpuZ0lmPVwib3JnYW5pc2F0aW9uICYmIG9yZ2FuaXNhdGlvbi5uYW1lICE9PSAnc3lzcm9vdCcgJiYgb3JnYW5pc2F0aW9uLm5hbWUgIT09ICdzeXN0ZW0nXCI+e3tvcmdhbmlzYXRpb24udGl0bGV9fSAoe3tvcmdhbmlzYXRpb24ubmFtZX19KTwvc3Bhbj48L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCIgW3NpemVdPVwiJ3NtYWxsJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZC1lcnJvclwiICpuZ0lmPVwibG9hZEVycm9yXCI+XG4gICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19lcnJvci5zdmcnXCI+PC9lby1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBkZXRhaWxzIGZvciBCUE0gaXRlbXMgLS0+XG4gICAgPHl2Yy10YWJzPlxuICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnaGlzdG9yeScsIGxhYmVsOiAnZW8ucHJvY2Vzcy5kZXRhaWxzLnRhYi5wcm9ncmVzcycgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcHJvY2Vzcy1oaXN0b3J5XCI+XG4gICAgICAgICAgICA8ZW8tcHJvY2Vzcy1oaXN0b3J5IFtoaXN0b3J5XT1cImhpc3RvcnlcIj48L2VvLXByb2Nlc3MtaGlzdG9yeT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnZmlsZScsIGxhYmVsOiAnZW8ucHJvY2Vzcy5kZXRhaWxzLnRhYi5hdHRhY2htZW50cycgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcHJvY2Vzcy1maWxlc1wiPlxuICAgICAgICAgICAgPGVvLXByb2Nlc3MtZmlsZSBbcHJvY2Vzc0ZpbGVdPVwiaXRlbT8uZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZENvbnRlbnRGaWxlSWRdPVwic2VsZWN0ZWRDb250ZW50RmlsZUlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uUmVtb3ZlV29ya0l0ZW1Db250ZW50KT1cInJlbW92ZVdvcmtJdGVtQ29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uT3BlbldvcmtJdGVtQ29udGVudEluQ29udGV4dCk9XCJvcGVuV29ya0l0ZW1Db250ZW50SW5Db250ZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25PcGVuV29ya0l0ZW1Db250ZW50KT1cIm9wZW5Xb3JrSXRlbUNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblJlbW92ZVdvcmtJdGVtQ29udGVudCk9XCJyZW1vdmVXb3JrSXRlbUNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblBhc3RlUHJvY2Vzc0ZpbGUpPVwiYWRkUGFzdGVkUHJvY2Vzc0ZpbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9lby1wcm9jZXNzLWZpbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3l2Yy10YWJzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25vSXRlbT5cbiAgPGVvLWVycm9yLW1lc3NhZ2UgY2xhc3M9XCJwcm9jZXNzLWRldGFpbHNfX2VtcHR5XCIgW2VtcHR5U3RhdGVdPVwie2ljb246IGVtcHR5U3RhdGUuaWNvbiwgdGV4dDogZW1wdHlTdGF0ZS50ZXh0LCBjbGFzc05hbWU6IGVtcHR5U3RhdGUuY2xhc3NOYW1lfVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIi5lcnJvclwiPjwvbmctY29udGVudD5cbiAgPC9lby1lcnJvci1tZXNzYWdlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3Byb2Nlc3MvZGV0YWlscy9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcHJvY2Vzcy9kZXRhaWxzL3Byb2Nlc3MtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQW9ELE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBQyxRQUFRLEVBQWdCLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXJELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBTzdGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBRWxGLE9BQU8sRUFFSSxLQUFLLEVBQStCLGVBQWUsRUFDN0QsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPdEIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQTJCL0QsSUFDSSxJQUFJLENBQUMsQ0FBVTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxFQUFFO1lBQ0wsZUFBZTtZQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FB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QUFDO0lBRXhILENBQUM7SUFFRCxlQUFlO1FBQ2IseUNBQXlDO1FBQ3pDLCtFQUErRTtRQUMvRSxxQ0FBcUM7SUFDdkMsQ0FBQzs7b0hBaFBVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGtVQzFCcEMsNDVGQTZEQTsyRkRuQ2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQjt5UUFNUixTQUFTO3NCQUE5QixTQUFTO3VCQUFDLFNBQVM7Z0JBc0JYLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7dUJBQUMsTUFBTTtnQkFtQkgsaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gJy4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYXBpL2dyaWQuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgUXVlcnlMaXN0LCBDb250ZW50Q2hpbGRyZW4sIEFmdGVyVmlld0luaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmb3JrSm9pbiwgU3Vic2NyaXB0aW9uLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbCwgY2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIE5hdmlnYXRpb25FeHRyYXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7VGFiUGx1Z2luQ29tcG9uZW50fSBmcm9tICcuLi8uLi9wbHVnaW5zL3BsdWdpbi5jb21wb25lbnQnO1xuLy8gaW1wb3J0IHtUYWJQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vdGFiLWNvbnRhaW5lci90YWItcGFuZWwvdGFiLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1TdGF0dXNDaGFuZ2VkRXZlbnR9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL2Zvcm0tc3RhdHVzLWNoYW5nZWQtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7T2JqZWN0Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0Rm9ybU9wdGlvbnN9IGZyb20gJy4uLy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7U2VsZWN0aW9uQ29uZmlnLCBTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtVbnN1YnNjcmliZU9uRGVzdHJveX0gZnJvbSAnLi4vLi4vdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBGaWxlRW50cnksIFdvcmtJdGVtLCBCcG1TZXJ2aWNlLCBXb3JrSXRlbUhpc3RvcnlFbnRyeSwgVXNlclNlcnZpY2UsIERtc1BhcmFtcyxcbiAgUHJvY2VzcywgVXRpbHMsIENsaXBib2FyZCwgQ2xpcGJvYXJkU2VydmljZSwgQ2xpcGJvYXJkQWN0aW9uLCBTeXN0ZW1TZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXByb2Nlc3MtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9jZXNzLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBAVmlld0NoaWxkKCdicG1Gb3JtJykgYnBtRm9ybUVsOiBPYmplY3RGb3JtQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2l0ZW06IFByb2Nlc3M7XG4gIHdvcmtJdGVtOiBXb3JrSXRlbTtcbiAgaGlzdG9yeTogV29ya0l0ZW1IaXN0b3J5RW50cnlbXTtcbiAgb3JnYW5pc2F0aW9uOiBhbnk7XG4gIC8vIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgd29yayBpdGVtIGlzIGxvY2tlZCBieSB0aGUgdXNlclxuICBsb2NrZWQ6IGJvb2xlYW47XG5cbiAgZm9ybVN0YXRlOiBGb3JtU3RhdHVzQ2hhbmdlZEV2ZW50O1xuICBmb3JtT3B0aW9uczogT2JqZWN0Rm9ybU9wdGlvbnM7XG4gIHNlbGVjdGVkQ29udGVudEZpbGVJZDogc3RyaW5nO1xuICBhY3Rpb25Qcm9jZXNzaW5nOiBTdWJzY3JpcHRpb24gfCBhbnkgPSB7Y2xvc2VkOiB0cnVlfTtcbiAgaW5pdGlhbGl6aW5nOiBTdWJzY3JpcHRpb24gfCBhbnkgPSB7Y2xvc2VkOiB0cnVlfTtcbiAgbG9hZEVycm9yOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBjbGlwYm9hcmQ6IENsaXBib2FyZDtcblxuICAvLyBleHRlcm5hbFBhbmVscyA9IG5ldyBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+KCk7XG4gIC8vIEBDb250ZW50Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsczogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgLy8gQENvbnRlbnRDaGlsZHJlbihUYWJQbHVnaW5Db21wb25lbnQpIHRhYlBsdWdpbnM6IFF1ZXJ5TGlzdDxUYWJQbHVnaW5Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSBFbXB0eVN0YXRlU2VydmljZS5kZWZhdWx0RW1wdHlTdGF0ZSgpO1xuICBASW5wdXQoKSBhcHBseVNlbGVjdGlvbjogU2VsZWN0aW9uQ29uZmlnO1xuXG4gIEBJbnB1dCgnaXRlbScpXG4gIHNldCBpdGVtKGk6IFByb2Nlc3MpIHtcbiAgICB0aGlzLl9pdGVtID0gaTtcblxuICAgIGlmIChpKSB7XG4gICAgICAvLyByZXNldCB2YWx1ZXNcbiAgICAgIHRoaXMud29ya0l0ZW0gPSBudWxsO1xuICAgICAgdGhpcy5oaXN0b3J5ID0gW107XG4gICAgICB0aGlzLmxvY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnByb2Nlc3MoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW07XG4gIH1cblxuICBAT3V0cHV0KCkgb25EbXNJdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERtc1BhcmFtcz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHRyYWNrQnlDb2RlKGluZGV4LCBpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0uY29kZTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleCwgaXRlbSkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIG9uRm9ybVN0YXR1c0NoYW5nZWQoZXZ0KSB7XG4gICAgdGhpcy5mb3JtU3RhdGUgPSBldnQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3MoKTogdm9pZCB7XG5cbiAgICB0aGlzLmxvYWRFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdGlhbGl6aW5nLmNsb3NlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdGFza3MgPSBbXG4gICAgICB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uT2JqZWN0QnlJZCh0aGlzLml0ZW0uY3JlYXRvcmlkKS5waXBlKFxuICAgICAgICAvLyByZXR1cm4gZGVmYXVsdCBiZWNhdXNlIG90aGVyd2lzZSBmb3JrSm9pbiB3aWxsIGZhaWxcbiAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKHtcbiAgICAgICAgICBuYW1lOiAndW5rbm93bidcbiAgICAgICAgfSkpXG4gICAgICApLFxuICAgICAgdGhpcy5icG1TZXJ2aWNlLmdldFByb2Nlc3NIaXN0b3J5KHRoaXMuaXRlbS5wcm9jZXNzaWQpXG4gICAgXTtcblxuICAgIGZvcmtKb2luKHRhc2tzKVxuICAgICAgLnN1YnNjcmliZSh0YXNrc1Jlc3VsdCA9PiB7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IFtvcmdhbmlzYXRpb24sIGhpc3RvcnldID0gdGFza3NSZXN1bHQ7XG4gICAgICAgIHRoaXMub3JnYW5pc2F0aW9uID0gb3JnYW5pc2F0aW9uO1xuICAgICAgICB0aGlzLmdldFByb2Nlc3NGaWxlKHRoaXMuaXRlbS5wcm9jZXNzaWQpO1xuICAgICAgICBpZiAoaGlzdG9yeSkge1xuICAgICAgICAgIGhpc3RvcnkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uZWRpdG9yKSB7XG4gICAgICAgICAgICAgIGl0ZW0uZGF0YS5pbWFnZSA9IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlckltYWdlVXJpKGl0ZW0uZWRpdG9yLmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKHtoaXN0b3J5fSk7XG5cbiAgICAgICAgICB0aGlzLmhpc3RvcnkgPSBoaXN0b3J5LnNvcnQoKGEsIGIpID0+IGIubnVtYmVyIC0gYS5udW1iZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKSB7XG4gICAgdGhpcy5icG1TZXJ2aWNlXG4gICAgICAuZ2V0UHJvY2Vzc0ZpbGUocHJvY2Vzc0lkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBGaWxlRW50cnlbXSkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Qcm9jZXNzSXRlbUNvbnRlbnQocmVzWzBdKTtcbiAgICAgICAgdGhpcy5faXRlbS5zZXRGaWxlKHJlcyk7XG4gICAgICB9LCBVdGlscy50aHJvdygoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZEVycm9yID0gdHJ1ZTtcbiAgICAgIH0sIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZGV0YWlscy53b3JraXRlbS5sb2FkLmZhaWwnKSkpXG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHdvcmsgaXRlbXMgZmlsZSBlbnRyeSBhbiBlbWl0cyBvbkRtc0l0ZW1TZWxlY3RlZCBldmVudC5cbiAgICogQHBhcmFtIGZpbGUgRmlsZUVudHJ5IGVsZW1lbnQgdG8gYmUgc2VsZWN0ZWRcbiAgICovXG4gIG9wZW5Qcm9jZXNzSXRlbUNvbnRlbnQoZmlsZT86IEZpbGVFbnRyeSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBudWxsO1xuICAgICAgdGhpcy5vbkRtc0l0ZW1TZWxlY3RlZC5lbWl0KG51bGwpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMobnVsbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWxlLmlkICE9PSB0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBmaWxlLmlkO1xuICAgICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgICAgaWQ6IGZpbGUuaWQsXG4gICAgICAgIHR5cGU6IGZpbGUudHlwZVxuICAgICAgfTtcbiAgICAgIHRoaXMub25EbXNJdGVtU2VsZWN0ZWQuZW1pdChwYXJhbXMpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW1vdmVXb3JrSXRlbUNvbnRlbnQoZXZlbnQ6IFtGaWxlRW50cnksIE1vdXNlRXZlbnRdKSB7XG4gICAgY29uc3QgW2ZpbGUsIGV2dF0gPSBldmVudDtcbiAgICBjb25zdCB7cHJvY2Vzc2lkLCBlbGVtZW50aWR9ID0gdGhpcy53b3JrSXRlbVsnY29udGVudCddWzBdO1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIHRoaXMuYWN0aW9uUHJvY2Vzc2luZyA9IHRoaXMuYnBtU2VydmljZVxuICAgICAgLnJlbW92ZUZpbGVFbGVtZW50KHByb2Nlc3NpZCwgZWxlbWVudGlkLCBmaWxlLmlkKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLndvcmtJdGVtLmZpbGUgPSB0aGlzLndvcmtJdGVtLmZpbGUuZmlsdGVyKGYgPT4gZi5pZCAhPT0gZmlsZS5pZCk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCA9PT0gZmlsZS5pZCkge1xuICAgICAgICAgIHRoaXMub3BlblByb2Nlc3NJdGVtQ29udGVudCh0aGlzLndvcmtJdGVtLmZpbGUubGVuZ3RoID8gdGhpcy53b3JrSXRlbS5maWxlWzBdIDogbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0sIFV0aWxzLnRocm93KG51bGwsXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24ucmVtb3ZlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24ucmVtb3ZlLm1lc3NhZ2UnKSlcbiAgICAgICk7XG4gIH1cblxuICBhZGRQYXN0ZWRQcm9jZXNzRmlsZShldmVudCkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5icG1TZXJ2aWNlLmFkZEZpbGVFbGVtZW50c0Zyb21DbGlwYm9hcmQodGhpcy53b3JrSXRlbSwgdGhpcy5jbGlwYm9hcmQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoVXRpbHMuY2F0Y2gobnVsbCxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uYWRkLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uZXJyb3InKSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh3b3JrSXRlbSA9PiB7XG4gICAgICAgICAgdGhpcy53b3JrSXRlbSA9IHdvcmtJdGVtO1xuICAgICAgICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jbGVhcigpO1xuICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQpIHtcbiAgICAgICAgICAgIC8vIG9wZW4gZmlyc3QgaXRlbSB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgIHRoaXMub3BlbldvcmtJdGVtQ29udGVudCh0aGlzLndvcmtJdGVtLmZpbGUubGVuZ3RoID8gdGhpcy53b3JrSXRlbS5maWxlWzBdIDogbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBVdGlscy50aHJvdyhudWxsLFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnByb2Nlc3MuZmlsZS5ub3RpZmljYXRpb24uZXJyb3InKSxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5wcm9jZXNzLmZpbGUubm90aWZpY2F0aW9uLmFkZC5tZXNzYWdlJykpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGZpbGUgKGF0dGFjaGVkIERNU09iamVjdCkgaW4gb2JqZWN0IHN0YXRlXG4gICAqIEBwYXJhbSBmaWxlXG4gICAqL1xuICBvcGVuV29ya0l0ZW1Db250ZW50SW5Db250ZXh0KGV2dCkge1xuICAgIGNvbnN0IGZpbGU6IEZpbGVFbnRyeSA9IGV2dC5kYXRhIHx8IHt9O1xuICAgIGNvbnN0IGZpbGVUeXBlOiBOYXZpZ2F0aW9uRXh0cmFzID0ge3F1ZXJ5UGFyYW1zOiB7J3R5cGUnOiBmaWxlLnR5cGV9fTtcbiAgICBpZiAoZXZ0LmN0cmxLZXkpIHtcbiAgICAgIHdpbmRvdy5vcGVuKENlbGxSZW5kZXJlci53aW5kb3dVUkkodGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJ29iamVjdCcsIGZpbGUuaWRdLCBmaWxlVHlwZSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb2JqZWN0JywgZmlsZS5pZF0sIGZpbGVUeXBlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHdvcmsgaXRlbXMgZmlsZSBlbnRyeSBhbiBlbWl0cyBvbkRtc0l0ZW1TZWxlY3RlZCBldmVudC5cbiAgICogQHBhcmFtIGZpbGUgRmlsZUVudHJ5IGVsZW1lbnQgdG8gYmUgc2VsZWN0ZWRcbiAgICovXG4gIG9wZW5Xb3JrSXRlbUNvbnRlbnQoZmlsZT86IEZpbGVFbnRyeSkge1xuICAgIGlmICghZmlsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBudWxsO1xuICAgICAgdGhpcy5vbkRtc0l0ZW1TZWxlY3RlZC5lbWl0KG51bGwpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dCkuZm9jdXMobnVsbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWxlLmlkICE9PSB0aGlzLnNlbGVjdGVkQ29udGVudEZpbGVJZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvbnRlbnRGaWxlSWQgPSBmaWxlLmlkO1xuICAgICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgICAgaWQ6IGZpbGUuaWQsXG4gICAgICAgIHR5cGU6IGZpbGUudHlwZVxuICAgICAgfTtcbiAgICAgIHRoaXMub25EbXNJdGVtU2VsZWN0ZWQuZW1pdChwYXJhbXMpO1xuICAgICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLm91dClcbiAgICAgICAgICAuZm9jdXMocGFyYW1zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5hcHBseVNlbGVjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgLmZpbmQodGhpcy5hcHBseVNlbGVjdGlvbi5pbilcbiAgICAgICAgLmZvY3VzJC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBhbnkpID0+IHRoaXMuaXRlbSA9IGl0ZW0pO1xuICAgIH1cblxuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZVxuICAgICAgLmNsaXBib2FyZCQucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNsaXBib2FyZDogQ2xpcGJvYXJkKSA9PiB0aGlzLmNsaXBib2FyZCA9IGNsaXBib2FyZC5hY3Rpb24gPT09IENsaXBib2FyZEFjdGlvbi5DT1BZID8gY2xpcGJvYXJkIDogbnVsbCk7XG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBsZXQgcGFuZWxzID0gdGhpcy50YWJQYW5lbHMudG9BcnJheSgpO1xuICAgIC8vIHRoaXMudGFiUGx1Z2lucy5mb3JFYWNoKHAgPT4gcGFuZWxzID0gcGFuZWxzLmNvbmNhdChwLnRhYlBhbmVscy50b0FycmF5KCkpKTtcbiAgICAvLyB0aGlzLmV4dGVybmFsUGFuZWxzLnJlc2V0KHBhbmVscyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9jZXNzLWRldGFpbHNcIiAqbmdJZj1cIml0ZW07IGVsc2Ugbm9JdGVtXCI+XG5cbiAgPGRpdiBjbGFzcz1cImVvLWhlYWRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW25nQ2xhc3NdPVwie2Vycm9yOiBpdGVtLnN0YXRlID09PSAnRVJST1JTVVNQRU5ERUQnfVwiICpuZ0lmPVwiIWl0ZW0uaWNvbmlkXCIgW2ljb25UaXRsZV09XCJpdGVtLm1vZGVsbmFtZVwiXG4gICAgICAgICAgICAgICBbaWNvblNyY109XCJpdGVtLmljb251cmxcIj48L2VvLWljb24+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgKm5nSWY9XCJpdGVtLmljb25pZFwiIFtpY29uSWRdPVwiaXRlbS5pY29uaWRcIiBbaWNvblRpdGxlXT1cIml0ZW0ubW9kZWxuYW1lXCI+PC9lby1pY29uPlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvIGVvLWhlYWRlcl9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyX190aXRsZVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiPnt7aXRlbS5sb2NhbGl6ZWRzdWJqZWN0fX08L2gyPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImVvLWhlYWRlci1zdWJ0aXRsZVwiPnt7aXRlbS5tb2RlbG5hbWV9fTxzcGFuIGNsYXNzPVwic3RhcnRlclwiICpuZ0lmPVwib3JnYW5pc2F0aW9uICYmIG9yZ2FuaXNhdGlvbi5uYW1lICE9PSAnc3lzcm9vdCcgJiYgb3JnYW5pc2F0aW9uLm5hbWUgIT09ICdzeXN0ZW0nXCI+e3tvcmdhbmlzYXRpb24udGl0bGV9fSAoe3tvcmdhbmlzYXRpb24ubmFtZX19KTwvc3Bhbj48L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgKm5nSWY9XCJsb2FkaW5nXCIgW3NpemVdPVwiJ3NtYWxsJ1wiPjwvZW8tbG9hZGluZy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZC1lcnJvclwiICpuZ0lmPVwibG9hZEVycm9yXCI+XG4gICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19lcnJvci5zdmcnXCI+PC9lby1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBkZXRhaWxzIGZvciBCUE0gaXRlbXMgLS0+XG4gICAgPHl2Yy10YWJzPlxuICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnaGlzdG9yeScsIGxhYmVsOiAnZW8ucHJvY2Vzcy5kZXRhaWxzLnRhYi5wcm9ncmVzcycgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcHJvY2Vzcy1oaXN0b3J5XCI+XG4gICAgICAgICAgICA8ZW8tcHJvY2Vzcy1oaXN0b3J5IFtoaXN0b3J5XT1cImhpc3RvcnlcIj48L2VvLXByb2Nlc3MtaGlzdG9yeT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnZmlsZScsIGxhYmVsOiAnZW8ucHJvY2Vzcy5kZXRhaWxzLnRhYi5hdHRhY2htZW50cycgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItcGFuZWxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcHJvY2Vzcy1maWxlc1wiPlxuICAgICAgICAgICAgPGVvLXByb2Nlc3MtZmlsZSBbcHJvY2Vzc0ZpbGVdPVwiaXRlbT8uZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsaXBib2FyZF09XCJjbGlwYm9hcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZENvbnRlbnRGaWxlSWRdPVwic2VsZWN0ZWRDb250ZW50RmlsZUlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uUmVtb3ZlV29ya0l0ZW1Db250ZW50KT1cInJlbW92ZVdvcmtJdGVtQ29udGVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uT3BlbldvcmtJdGVtQ29udGVudEluQ29udGV4dCk9XCJvcGVuV29ya0l0ZW1Db250ZW50SW5Db250ZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25PcGVuV29ya0l0ZW1Db250ZW50KT1cIm9wZW5Xb3JrSXRlbUNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblJlbW92ZVdvcmtJdGVtQ29udGVudCk9XCJyZW1vdmVXb3JrSXRlbUNvbnRlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblBhc3RlUHJvY2Vzc0ZpbGUpPVwiYWRkUGFzdGVkUHJvY2Vzc0ZpbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9lby1wcm9jZXNzLWZpbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3l2Yy10YWJzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25vSXRlbT5cbiAgPGVvLWVycm9yLW1lc3NhZ2UgY2xhc3M9XCJwcm9jZXNzLWRldGFpbHNfX2VtcHR5XCIgW2VtcHR5U3RhdGVdPVwie2ljb246IGVtcHR5U3RhdGUuaWNvbiwgdGV4dDogZW1wdHlTdGF0ZS50ZXh0LCBjbGFzc05hbWU6IGVtcHR5U3RhdGUuY2xhc3NOYW1lfVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIi5lcnJvclwiPjwvbmctY29udGVudD5cbiAgPC9lby1lcnJvci1tZXNzYWdlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,8 +1,6 @@
1
1
  import { of } from 'rxjs';
2
2
  import { takeUntil, map } from 'rxjs/operators';
3
- import { Component, ViewChild, ContentChildren, Input, QueryList, EventEmitter, Output, HostBinding } from '@angular/core';
4
- import { TabPanelComponent } from '../tab-container/tab-panel/tab-panel.component';
5
- import { TabPluginComponent } from '../plugins/plugin.component';
3
+ import { Component, ViewChild, Input, EventEmitter, Output, HostBinding } from '@angular/core';
6
4
  import { Utils, EnaioEvent } from '@eo-sdk/core';
7
5
  import { UnsubscribeOnDestroy } from '../util/unsubscribe/unsubscribe.component';
8
6
  import { LocaleDatePipe } from '../../eo-framework-core/pipes/locale-date.pipe';
@@ -89,7 +87,6 @@ export class RecyclebinDetailsComponent extends UnsubscribeOnDestroy {
89
87
  this.showLoader = false;
90
88
  this.panelOrder = { 'master': ['summary', 'history'], 'slave': ['preview'] };
91
89
  this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
92
- this.externalPanels = new QueryList();
93
90
  this.parseDmsParams = this.getDmsParams;
94
91
  this.hasContent = new EventEmitter();
95
92
  this.panelOrder = this.configService.getRaw('recyclebinDetailsTabs') || this.panelOrder;
@@ -227,16 +224,16 @@ export class RecyclebinDetailsComponent extends UnsubscribeOnDestroy {
227
224
  });
228
225
  }
229
226
  ngAfterViewInit() {
230
- let panels = this.tabPanels.toArray();
231
- this.tabPlugins.forEach(p => panels = panels.concat(p.tabPanels.toArray()));
232
- this.externalPanels.reset(panels);
227
+ // let panels = this.tabPanels.toArray();
228
+ // this.tabPlugins.forEach(p => panels = panels.concat(p.tabPanels.toArray()));
229
+ // this.externalPanels.reset(panels);
233
230
  }
234
231
  }
235
232
  RecyclebinDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecyclebinDetailsComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.SystemService }, { token: i3.EmptyStateService }, { token: i2.BackendService }, { token: i2.UserService }, { token: i2.NotificationsService }, { token: i2.DmsService }, { token: i4.SelectionService }, { token: i2.CapabilitiesService }, { token: i2.EventService }, { token: i2.Config }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
236
- RecyclebinDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, queries: [{ propertyName: "tabPanels", predicate: TabPanelComponent }, { propertyName: "tabPlugins", predicate: TabPluginComponent }], viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\" class=\"btn btn-download\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"('eo.recyclebin.details.delete.tooltip' | translate)\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <button class=\"btn-tpl-apply\" (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary btn-idx-restoreopen\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\">\n\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [useVersion]=\"item.id === item.content?.id\"\n #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;-moz-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep yvc-tabs{height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}:host ::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i10.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "diff"] }, { kind: "component", type: i11.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i14.ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
233
+ RecyclebinDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\" class=\"btn btn-download\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" *ngIf=\"this.item.rights.delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"('eo.recyclebin.details.delete.tooltip' | translate)\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <button class=\"btn-tpl-apply\" (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary btn-idx-restoreopen\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\">\n\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [useVersion]=\"item.id === item.content?.id\"\n #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;-moz-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i10.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "diff"] }, { kind: "component", type: i11.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i14.ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
237
234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecyclebinDetailsComponent, decorators: [{
238
235
  type: Component,
239
- args: [{ selector: 'eo-recyclebin-details', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\" class=\"btn btn-download\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"('eo.recyclebin.details.delete.tooltip' | translate)\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <button class=\"btn-tpl-apply\" (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary btn-idx-restoreopen\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\">\n\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [useVersion]=\"item.id === item.content?.id\"\n #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;-moz-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep yvc-tabs{height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}:host ::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"] }]
236
+ args: [{ selector: 'eo-recyclebin-details', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\" class=\"btn btn-download\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" *ngIf=\"this.item.rights.delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"('eo.recyclebin.details.delete.tooltip' | translate)\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <button class=\"btn-tpl-apply\" (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary btn-idx-restoreopen\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\">\n\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [useVersion]=\"item.id === item.content?.id\"\n #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;-moz-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"] }]
240
237
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SystemService }, { type: i3.EmptyStateService }, { type: i2.BackendService }, { type: i2.UserService }, { type: i2.NotificationsService }, { type: i2.DmsService }, { type: i4.SelectionService }, { type: i2.CapabilitiesService }, { type: i2.EventService }, { type: i2.Config }, { type: i2.TranslateService }]; }, propDecorators: { preview: [{
241
238
  type: ViewChild,
242
239
  args: ['viewer']
@@ -245,12 +242,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
245
242
  args: ['confirmDelete']
246
243
  }], cacheLayout: [{
247
244
  type: Input
248
- }], tabPanels: [{
249
- type: ContentChildren,
250
- args: [TabPanelComponent]
251
- }], tabPlugins: [{
252
- type: ContentChildren,
253
- args: [TabPluginComponent]
254
245
  }], applySelection: [{
255
246
  type: Input
256
247
  }], parseDmsParams: [{
@@ -269,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
269
260
  type: HostBinding,
270
261
  args: ['attr.data-type']
271
262
  }] } });
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3JlY3ljbGViaW4tZGV0YWlscy9yZWN5Y2xlYmluLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVjeWNsZWJpbi1kZXRhaWxzL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFBRSxXQUFXLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBSy9ELE9BQU8sRUFDTSxLQUFLLEVBRUYsVUFBVSxFQUN6QixNQUFNLGNBQWMsQ0FBQztBQUt0QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFOUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNMUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQWtDbEUsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFZO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ0ksVUFBVSxDQUFDLENBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLFNBQVMsQ0FBQyxNQUFpQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsRUFDQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0ksU0FBUyxDQUFDLENBQVk7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBRWIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUc7c0JBQzdELENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztzQkFDakUsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2FBQzFFO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQW9CLE1BQWMsRUFDeEIsS0FBcUIsRUFDckIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsV0FBd0IsRUFDeEIsS0FBMkIsRUFDM0IsVUFBc0IsRUFDdEIsU0FBMkIsRUFDM0IsaUJBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGFBQXFCLEVBQ3JCLFNBQTJCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBYlUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBQzNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWpHckMsZ0RBQWdEO1FBQ2hELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUlaLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsRUFBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQztRQU05RCxnQkFBVyxHQUFlLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBQyxDQUFDO1FBR3BGLG1CQUFjLEdBQUcsSUFBSSxTQUFTLEVBQXFCLENBQUM7UUFNM0MsbUJBQWMsR0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNoRCxlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUF5RXhFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFTO1FBQzVCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVM7aUJBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2lCQUM1QixNQUFNO2lCQUNOLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQ3BDO2lCQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO29CQUN4RixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ3BGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0Q7b0JBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixDQUFDLEVBQ0MsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLHdCQUF3QixHQUFHLEtBQUs7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksd0JBQXdCLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNqRDtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxFQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsRUFBRSxFQUFDLElBQUksRUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQy9GLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN2RSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9EQUFvRCxDQUFDLENBQUMsQ0FBQzthQUNoRztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVTthQUNaLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ3hELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsRUFDakUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLEVBQUUsRUFBQyxJQUFJLEVBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUM5RixDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRyx1QkFBdUIsQ0FBQyxJQUFlLEVBQUUsUUFBYztRQUM3RCxNQUFNLEVBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFckcsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ3BDLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLGdCQUFnQixHQUFHO2dCQUNyQixJQUFJO2dCQUNKLElBQUksRUFBRSxRQUFRLElBQUksSUFBSTthQUN2QixDQUFDO1lBQ0YsSUFBSSxVQUFVLEdBQWU7Z0JBQzNCLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUMvQixVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUc7Z0JBQ3JELFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHO2dCQUN4RCxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ3pELGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDakUsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUNyQixTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNuRixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUM3RSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ2hFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDbEYsQ0FBQztZQUNGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDMUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWlCO1FBQzdCLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3ZCO1FBQ0QscUJBQXFCO1FBQ3JCLE9BQU8sTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUk7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztpQkFDekMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO29CQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ25DO3FCQUFNO29CQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7b0JBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDcEM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWTthQUNkLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUM7YUFDakMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FDcEM7YUFDQSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3hCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O3VIQTNRVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix1WUEyQnBCLGlCQUFpQiw2Q0FDakIsa0JBQWtCLDhQQ2pFckMsK3dHQThEWTsyRkR6QkMsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHVCQUF1Qjt5YkFNWixPQUFPO3NCQUEzQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ1MsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLGVBQWU7Z0JBZWpCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBUzhCLFNBQVM7c0JBQTVDLGVBQWU7dUJBQUMsaUJBQWlCO2dCQUVsQyxVQUFVO3NCQURULGVBQWU7dUJBQUMsa0JBQWtCO2dCQUUxQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFlSCxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO3VCQUFDLFFBQVE7Z0JBWVgsU0FBUztzQkFEWixLQUFLO3VCQUFDLE1BQU07Z0JBb0JzQixRQUFRO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWwsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgT25Jbml0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RhYlBhbmVsQ29tcG9uZW50fSBmcm9tICcuLi90YWItY29udGFpbmVyL3RhYi1wYW5lbC90YWItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7VGFiUGx1Z2luQ29tcG9uZW50fSBmcm9tICcuLi9wbHVnaW5zL3BsdWdpbi5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBDb25maWcsIFVzZXJTZXJ2aWNlLCBOb3RpZmljYXRpb25zU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7TWVkaWFDb21wb25lbnR9IGZyb20gJy4uL21lZGlhL21lZGlhLmNvbXBvbmVudCc7XG5pbXBvcnQge0luZGV4RGF0YX0gZnJvbSAnLi4vdWkvaW5kZXhkYXRhLXN1bW1hcnkvaW5kZXhkYXRhLXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIERtc09iamVjdCwgVXRpbHMsIEJhc2VQYXJhbXMsIFN5c3RlbVNlcnZpY2UsIERtc1BhcmFtcyxcbiAgRG1zU2VydmljZSwgQmFja2VuZFNlcnZpY2UsIENhcGFiaWxpdGllcywgQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgRXZlbnRTZXJ2aWNlLCBFbmFpb0V2ZW50XG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1xuICBTZWxlY3Rpb25Db25maWcsXG4gIFNlbGVjdGlvblNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uL3V0aWwvdW5zdWJzY3JpYmUvdW5zdWJzY3JpYmUuY29tcG9uZW50JztcbmltcG9ydCB7TG9jYWxlRGF0ZVBpcGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BpcGVzL2xvY2FsZS1kYXRlLnBpcGUnO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWN5Y2xlYmluLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVjeWNsZWJpbkRldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyJykgcHJldmlldzogTWVkaWFDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm1EZWxldGUnKSBjb25maXJtRGVsZXRlQnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIC8vIGdlbmVyYXRlIHVuaXF1ZSBpZCB0byBwYXNzIHRvIHVwbG9hZCByZWdpc3RyeVxuICB1c2VyJCA9IHRoaXMudXNlclNlcnZpY2UudXNlciQ7XG4gIF9zaG93RGVsZXRlRGlhbG9nID0gZmFsc2U7XG4gIHVzZXJJZCA9ICcnO1xuICBpdGVtOiBEbXNPYmplY3Q7XG4gIGluZGV4RGF0YVByZXZpZXc6IEluZGV4RGF0YTtcbiAgYmFzZXBhcmFtczogQmFzZVBhcmFtcztcbiAgaGFzRXJyb3IgPSBmYWxzZTtcbiAgbG9ja1Rvb2x0aXA6IHN0cmluZztcbiAgbm9kbXNvYmplY3QgPSBmYWxzZTtcbiAgc2hvd0xvYWRlciA9IGZhbHNlO1xuICBwYW5lbE9yZGVyID0geydtYXN0ZXInOiBbJ3N1bW1hcnknLCAnaGlzdG9yeSddLCAnc2xhdmUnOiBbJ3ByZXZpZXcnXX07XG5cbiAgQElucHV0KCkgY2FjaGVMYXlvdXQ6IGFueTtcbiAgaXRlbTI6IERtc09iamVjdDtcbiAgaW5kZXhEYXRhUHJldmlldzI6IEluZGV4RGF0YTtcbiAgYmFzZXBhcmFtczI6IEJhc2VQYXJhbXM7XG4gIHByaXZhdGUgX2VtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSB7aWNvbjogJ2ljX25vLWZpbGUuc3ZnJywgdGV4dDogJycsIGNsYXNzTmFtZTogJyd9O1xuXG4gIGNhcGFiaWxpdGllczogQ2FwYWJpbGl0aWVzO1xuICBleHRlcm5hbFBhbmVscyA9IG5ldyBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJQYW5lbENvbXBvbmVudCkgdGFiUGFuZWxzOiBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFRhYlBsdWdpbkNvbXBvbmVudClcbiAgdGFiUGx1Z2luczogUXVlcnlMaXN0PFRhYlBsdWdpbkNvbXBvbmVudD47XG4gIEBJbnB1dCgpIGFwcGx5U2VsZWN0aW9uOiBTZWxlY3Rpb25Db25maWc7XG4gIEBJbnB1dCgpIHBhcnNlRG1zUGFyYW1zOiAoZGF0YSkgPT4ge30gPSB0aGlzLmdldERtc1BhcmFtcztcbiAgQE91dHB1dCgpIGhhc0NvbnRlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2hvd0RlbGV0ZURpYWxvZyh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RGVsZXRlRGlhbG9nID0gdmFsO1xuXG4gICAgaWYgKHRoaXMuX3Nob3dEZWxldGVEaWFsb2cpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb25maXJtRGVsZXRlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dEZWxldGVEaWFsb2coKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEZWxldGVEaWFsb2c7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZW1wdHlTdGF0ZShlOiBFbXB0eVN0YXRlKSB7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZSA9IGUgfHwgRW1wdHlTdGF0ZVNlcnZpY2UuZGVmYXVsdEVtcHR5U3RhdGUoKTtcbiAgfVxuXG4gIGdldCBlbXB0eVN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9lbXB0eVN0YXRlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKVxuICBzZXQgZG1zUGFyYW1zKHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWREbXNPYmplY3QocGFyYW1zKS5zdWJzY3JpYmUoKHJlczogRG1zT2JqZWN0KSA9PiB7XG4gICAgICB0aGlzLmRtc09iamVjdCA9IHJlcztcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgIH0sXG4gICAgICBVdGlscy50aHJvdygoKSA9PiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoJ2l0ZW0nKVxuICBzZXQgZG1zT2JqZWN0KHY6IERtc09iamVjdCkge1xuICAgIHRoaXMuaXRlbSA9IHY7XG4gICAgdGhpcy5vbkhhc0Vycm9yKCk7XG4gICAgLy8gcHJlcGFyZSBpbmRleGRhdGEgcHJldmlld1xuICAgIHRoaXMub25JbmRleERhdGFTYXZlZChudWxsLCB0aGlzLml0ZW0pO1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX0xPQURFRCwgdGhpcy5pdGVtKTtcblxuICAgIGlmICh0aGlzLml0ZW0pIHtcblxuICAgICAgaWYgKHRoaXMuaXRlbS5sb2NrKSB7XG4gICAgICAgIHRoaXMubG9ja1Rvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QubG9jaycpICsgJyAnXG4gICAgICAgICAgKyAobmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKS50cmFuc2Zvcm0odGhpcy5pdGVtLmxvY2sub24pKVxuICAgICAgICAgICsgJywgJyArIHRoaXMuaXRlbS5sb2NrLmJ5LmxhYmVsICsgJyAoJyArIHRoaXMuaXRlbS5sb2NrLmJ5Lm5hbWUgKyAnKSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1wdHlTdGF0ZSA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZSgwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10eXBlJykgZ2V0IGRhdGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW0gPyB0aGlzLml0ZW0udHlwZU5hbWUgOiAnbm9uZSc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdDogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkbXNTZXJ2aWNlOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZyxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnBhbmVsT3JkZXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0UmF3KCdyZWN5Y2xlYmluRGV0YWlsc1RhYnMnKSB8fCB0aGlzLnBhbmVsT3JkZXI7XG4gICAgdGhpcy51c2VyJC5zdWJzY3JpYmUodXNlciA9PiB7dGhpcy51c2VySWQgPSB1c2VyLmlkOyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RG1zUGFyYW1zKGRhdGE6IGFueSk6IERtc1BhcmFtcyB7XG4gICAgcmV0dXJuIGRhdGEgPyB7Li4uZGF0YSwgdHlwZTogZGF0YS50eXBlfSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuYXBwbHlTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uXG4gICAgICAgIC5maW5kKHRoaXMuYXBwbHlTZWxlY3Rpb24uaW4pXG4gICAgICAgIC5mb2N1cyRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWREbXNPYmplY3QodGhpcy5wYXJzZURtc1BhcmFtcyhyZXN1bHQpIGFzIERtc1BhcmFtcykuc3Vic2NyaWJlKChyZXM6IERtc09iamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbSAmJiByZXMgJiYgKHRoaXMuaXRlbS5pZCA9PT0gcmVzLmlkKSAmJiByZXMudmVyc2lvbiA+IHRoaXMuaXRlbS52ZXJzaW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIHJlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRtc09iamVjdCA9IHJlcztcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgICBVdGlscy50aHJvdygoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub25IYXNFcnJvcih0cnVlLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlc3RvcmVGaWxlKG9wZW5Mb2NhdGlvbkFmdGVyUmVzdG9yZSA9IGZhbHNlKSB7XG4gICAgdGhpcy5kbXNTZXJ2aWNlLnJlc3RvcmUodGhpcy5pdGVtLmlkLCB0aGlzLnVzZXJJZCwgdGhpcy5pdGVtLnR5cGVOYW1lKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgICBpZiAob3BlbkxvY2F0aW9uQWZ0ZXJSZXN0b3JlKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL29iamVjdCcsIHRoaXMuaXRlbS5pZF0pO1xuICAgICAgfVxuICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZS5kb25lLnRpdGxlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5yZXN0b3JlLmRvbmUubWVzc2FnZScsIHtpdGVtIDogdGhpcy5pdGVtLnRpdGxlfSksXG4gICAgICApO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfUkVTVE9SRURfT1JfREVMRVRFRCk7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDkpIHtcbiAgICAgICAgdGhpcy50b2FzdC5lcnJvcih0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZS5kbXMub2JqZWN0LmVycm9yLjQwOScpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBkZWxldGVEbXNPYmplY3QoKSB7XG4gICAgdGhpcy5kbXNTZXJ2aWNlXG4gICAgICAuZGVsZXRlRG1zT2JqZWN0KHRoaXMuaXRlbS5pZCwgdGhpcy5pdGVtLnR5cGUubmFtZSwgdHJ1ZSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZG9uZS50aXRsZScpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kb25lLm1lc3NhZ2UnLCB7aXRlbSA6IHRoaXMuaXRlbS50aXRsZX0pXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9zaG93RGVsZXRlRGlhbG9nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfUkVTVE9SRURfT1JfREVMRVRFRCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUluZGV4RGF0YVByZXZpZXcoaXRlbTogRG1zT2JqZWN0LCBmb3JtRGF0YT86IGFueSkge1xuICAgIGNvbnN0IHtpZCwgZGF0YSwgdHlwZSwgY3JlYXRlZCwgbW9kaWZpZWQsIGNvbnRlbnQsIGNvbnRlbnRGaWxlTmFtZSwgY29udGVudEZpbGVTaXplLCB2ZXJzaW9ufSA9IGl0ZW07XG5cbiAgICByZXR1cm4gdGhpcy5zeXN0ZW1cbiAgICAgIC5nZXRPYmplY3RUeXBlRm9ybSh0eXBlLm5hbWUsICdFRElUJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoZm9ybSA9PiB7XG4gICAgICAgICAgbGV0IGluZGV4RGF0YVByZXZpZXcgPSB7XG4gICAgICAgICAgICBmb3JtLFxuICAgICAgICAgICAgZGF0YTogZm9ybURhdGEgfHwgZGF0YVxuICAgICAgICAgIH07XG4gICAgICAgICAgbGV0IGJhc2VwYXJhbXM6IEJhc2VQYXJhbXMgPSB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHR5cGU6IHR5cGUubmFtZSxcbiAgICAgICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoY3JlYXRlZC5vbiksXG4gICAgICAgICAgICBtb2RpZmllZE9uOiBuZXcgRGF0ZShtb2RpZmllZC5vbiksXG4gICAgICAgICAgICBjcmVhdGVkQnk6IGAke2NyZWF0ZWQuYnkudGl0bGV9ICgke2NyZWF0ZWQuYnkubmFtZX0pYCxcbiAgICAgICAgICAgIG1vZGlmaWVkQnk6IGAke21vZGlmaWVkLmJ5LnRpdGxlfSAoJHttb2RpZmllZC5ieS5uYW1lfSlgLFxuICAgICAgICAgICAgY29udGVudEZpbGVOYW1lOiBjb250ZW50RmlsZU5hbWUgPyBjb250ZW50RmlsZU5hbWUgOiBudWxsLFxuICAgICAgICAgICAgY29udGVudEZpbGVTaXplOiBjb250ZW50RmlsZVNpemUgPyBOdW1iZXIoY29udGVudEZpbGVTaXplKSA6IG51bGwsXG4gICAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uIHx8IDAsXG4gICAgICAgICAgICBtaW1lR3JvdXA6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5jb250ZW50c1swXS5taW1lZ3JvdXAgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIGRpZ2VzdDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLmRpZ2VzdCA6IG51bGwgOiBudWxsLFxuICAgICAgICAgICAgY29udGVudElkOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuaWQgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIG1pbWVUeXBlOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuY29udGVudHNbMF0ubWltZXR5cGUgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiB7aW5kZXhEYXRhUHJldmlldywgYmFzZXBhcmFtc307XG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgb25IYXNFcnJvcihoYXNFcnJvciA9IGZhbHNlLCBub2Rtc29iamVjdCA9IGZhbHNlLCBzaG93TG9hZGVyID0gZmFsc2UpIHtcbiAgICB0aGlzLmhhc0Vycm9yID0gaGFzRXJyb3I7XG4gICAgdGhpcy5ub2Rtc29iamVjdCA9IG5vZG1zb2JqZWN0O1xuICAgIHRoaXMuc2hvd0xvYWRlciA9IHNob3dMb2FkZXI7XG4gICAgdGhpcy5oYXNDb250ZW50LmVtaXQoIWhhc0Vycm9yKTtcbiAgfVxuXG4gIGxvYWREbXNPYmplY3QocGFyYW1zOiBEbXNQYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICBkZWxldGUgcGFyYW1zLnZlcnNpb247XG4gICAgfVxuICAgIC8vIGNoZWNrIGZvciB2YWxpZCBpZFxuICAgIHJldHVybiBwYXJhbXM/LmlkPy5sZW5ndGggPT09IDMyID8gdGhpcy5kbXNTZXJ2aWNlLmdldERtc09iamVjdEJ5UGFyYW1zKHBhcmFtcykgOiBvZihudWxsKTtcbiAgfVxuXG4gIGRvd25sb2FkT3JpZ2luYWxDb250ZW50KCkge1xuICAgIHRoaXMuYmFja2VuZC5kb3dubG9hZENvbnRlbnQoW3RoaXMuaXRlbV0sIG51bGwsIGZhbHNlLCB0cnVlKTtcbiAgfVxuXG4gIC8vIGV4ZWN1dGVkIHdoZW4gdGhlIGRtcyBvYmplY3QgY2hhbmdlZCBkdWUgdG8gc2F2aW5nIGl0cyBpbmRleGRhdGFcbiAgb25JbmRleERhdGFTYXZlZChmb3JtRGF0YSwgaXRlbSkge1xuICAgIGlmICghdGhpcy5pdGVtKSB7XG4gICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcgPSBudWxsO1xuICAgICAgdGhpcy5iYXNlcGFyYW1zID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLml0ZW0yKSB7XG4gICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcyID0gbnVsbDtcbiAgICAgIHRoaXMuYmFzZXBhcmFtczIgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5wcmVwYXJlSW5kZXhEYXRhUHJldmlldyhpdGVtLCBmb3JtRGF0YSlcbiAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICBpZiAoaXRlbSA9PT0gdGhpcy5pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcgPSBkYXRhLmluZGV4RGF0YVByZXZpZXc7XG4gICAgICAgICAgICB0aGlzLmJhc2VwYXJhbXMgPSBkYXRhLmJhc2VwYXJhbXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhEYXRhUHJldmlldzIgPSBkYXRhLmluZGV4RGF0YVByZXZpZXc7XG4gICAgICAgICAgICB0aGlzLmJhc2VwYXJhbXMyID0gZGF0YS5iYXNlcGFyYW1zO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaXNWaXNpYmxlKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbE9yZGVyLm1hc3Rlci5pbmNsdWRlcyhpZCkgfHwgdGhpcy5wYW5lbE9yZGVyLnNsYXZlLmluY2x1ZGVzKGlkKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXR5U2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5pdGVtLmlkID09PSBldmVudC5kYXRhLmlkKSB7XG4gICAgICAgICAgdGhpcy5kbXNPYmplY3QgPSB0aGlzLmRtc1NlcnZpY2UuY3JlYXRlTG9jYWxDb3B5T2ZETVNPYmplY3QoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgaWYgKHRoaXMucHJldmlldykge1xuICAgICAgICAgICAgdGhpcy5wcmV2aWV3LnJlZnJlc2goKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGxldCBwYW5lbHMgPSB0aGlzLnRhYlBhbmVscy50b0FycmF5KCk7XG4gICAgdGhpcy50YWJQbHVnaW5zLmZvckVhY2gocCA9PiBwYW5lbHMgPSBwYW5lbHMuY29uY2F0KHAudGFiUGFuZWxzLnRvQXJyYXkoKSkpO1xuICAgIHRoaXMuZXh0ZXJuYWxQYW5lbHMucmVzZXQocGFuZWxzKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBjbGFzcz1cInJlY3ljbGViaW4tZGV0YWlsX19sb2FkZXJcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gJiYgIWhhc0Vycm9yXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZCBlby1oZWFkLXRhYnNcIj5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtvYmplY3RUeXBlXT1cIml0ZW0udHlwZVwiIFtpY29uVGl0bGVdPVwiaXRlbS50eXBlLmxhYmVsXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlXCI+e3tpdGVtLmRlc2NyaXB0aW9ufX08L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gKm5nSWY9XCJpdGVtLmNvbnRlbnRcIiBjbGFzcz1cImJ0biBidG4tZG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jb250ZW50LWRvd25sb2FkLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8uYWN0aW9uLmRvd25sb2FkLmRtcy5vYmplY3QuY29udGVudC5sYWJlbCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkT3JpZ2luYWxDb250ZW50KClcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidG4gYnRuLWRlbGV0ZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3RyYXNoLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS50b29sdGlwJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0RlbGV0ZURpYWxvZyA9IHRydWU7XCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4tdHBsLWFwcGx5XCIgKGNsaWNrKT1cInJlc3RvcmVGaWxlKClcIiB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZXN0b3JlRmlsZSh0cnVlKVwiIGNsYXNzPVwicHJpbWFyeSBidG4taWR4LXJlc3RvcmVvcGVuXCJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnJlY3ljbGViaW4uZGV0YWlscy5yZXN0b3Jlb3BlbjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaGVhZGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDx5dmMtc3BsaXQtdGFicyBbbGF5b3V0U2V0dGluZ3NJRF09XCJjYWNoZUxheW91dFwiPlxuXG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cIntpZDogJ3N1bW1hcnknLCBsYWJlbDogJ2VvLm9iamVjdC5zdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICAgICAgICAgICAgICA8ZW8taW5kZXhkYXRhLXN1bW1hcnkgW2luZGV4ZGF0YV09XCJpbmRleERhdGFQcmV2aWV3XCIgW2Jhc2VwYXJhbXNdPVwiYmFzZXBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtkbXNPYmplY3RdPVwiaXRlbVwiPjwvZW8taW5kZXhkYXRhLXN1bW1hcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7aWQ6ICdwcmV2aWV3JywgbGFiZWw6ICdlby5vYmplY3QuY29udGVudC50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW1lZGlhICpuZ0lmPVwiaXRlbVwiIFtkbXNPYmplY3RdPVwiaXRlbVwiIFt1c2VWZXJzaW9uXT1cIml0ZW0uaWQgPT09IGl0ZW0uY29udGVudD8uaWRcIlxuICAgICAgICAgICAgICAgICAgICAjdmlld2VyPjwvZW8tbWVkaWE+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1Zpc2libGUoJ2hpc3RvcnknKVwiXG4gICAgICAgICAgICAgICAgW3l2Y1RhYl09XCJ7aWQ6ICdoaXN0b3J5JywgbGFiZWw6ICdlby5vYmplY3QuaGlzdG9yeS50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW9iamVjdC1oaXN0b3J5IFtwYXJhbXNdPVwie2lkOiBpdGVtLmlkLCB0eXBlOiBpdGVtLnR5cGU/LnFuYW1lfVwiPlxuICAgICAgICAgICAgICAgIDwvZW8tb2JqZWN0LWhpc3Rvcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3l2Yy1zcGxpdC10YWJzPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cIidlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy50aXRsZScgfCB0cmFuc2xhdGVcIiBbKHZpc2libGUpXT1cInNob3dEZWxldGVEaWFsb2dcIlxuICAgIFtmb2N1c09uU2hvd109XCJmYWxzZVwiIFttaW5XaWR0aF09XCI0MDBcIiBbc3R5bGVDbGFzc109XCIncmVjeWNsZWJpbi1kZWxldGVfX2RpYWxvZydcIj5cblxuICAgIDxkaXY+e3snZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cubWVzc2FnZScgfCB0cmFuc2xhdGV9fTwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIHJlY3ljbGViaW4tZGVsZXRlLS1hY3Rpb24tYnV0dG9ucyBmbGV4LXJvd1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlXCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2NvbmZpcm1EZWxldGUgKGNsaWNrKT1cImRlbGV0ZURtc09iamVjdCgpXCIgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiXG4gICAgICAgICAgICB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuZGVsZXRlPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2VvLWRpYWxvZz4iXX0=
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3JlY3ljbGViaW4tZGV0YWlscy9yZWN5Y2xlYmluLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVjeWNsZWJpbi1kZXRhaWxzL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBRVQsS0FBSyxFQUdMLFlBQVksRUFDWixNQUFNLEVBQUUsV0FBVyxFQUNwQixNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQ00sS0FBSyxFQUVGLFVBQVUsRUFDekIsTUFBTSxjQUFjLENBQUM7QUFLdEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTTFGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxvQkFBb0I7SUFrQ2xFLElBQUksZ0JBQWdCLENBQUMsR0FBWTtRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMs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LElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDeEI7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDYix5Q0FBeUM7UUFDekMsK0VBQStFO1FBQy9FLHFDQUFxQztJQUN2QyxDQUFDOzt1SEEzUVUsMEJBQTBCOzJHQUExQiwwQkFBMEIsOGtCQ3JDdkMsKytHQWtFWTsyRkQ3QkMsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHVCQUF1Qjt5YkFNWixPQUFPO3NCQUEzQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ1MsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLGVBQWU7Z0JBZWpCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBWUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBZUgsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxRQUFRO2dCQVlYLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxNQUFNO2dCQW9Cc0IsUUFBUTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG4gIE9uSW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsIEhvc3RCaW5kaW5nLCBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0IHtUYWJQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vdGFiLWNvbnRhaW5lci90YWItcGFuZWwvdGFiLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge1RhYlBsdWdpbkNvbXBvbmVudH0gZnJvbSAnLi4vcGx1Z2lucy9wbHVnaW4uY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyLCBBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgQ29uZmlnLCBVc2VyU2VydmljZSwgTm90aWZpY2F0aW9uc1NlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge01lZGlhQ29tcG9uZW50fSBmcm9tICcuLi9tZWRpYS9tZWRpYS5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmRleERhdGF9IGZyb20gJy4uL3VpL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBEbXNPYmplY3QsIFV0aWxzLCBCYXNlUGFyYW1zLCBTeXN0ZW1TZXJ2aWNlLCBEbXNQYXJhbXMsXG4gIERtc1NlcnZpY2UsIEJhY2tlbmRTZXJ2aWNlLCBDYXBhYmlsaXRpZXMsIENhcGFiaWxpdGllc1NlcnZpY2UsXG4gIEV2ZW50U2VydmljZSwgRW5haW9FdmVudFxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2VsZWN0aW9uQ29uZmlnLFxuICBTZWxlY3Rpb25TZXJ2aWNlXG59IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvY2FsZURhdGVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcbmltcG9ydCB7RW1wdHlTdGF0ZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7RW1wdHlTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tcmVjeWNsZWJpbi1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlY3ljbGViaW5EZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgVW5zdWJzY3JpYmVPbkRlc3Ryb3kgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlcicpIHByZXZpZXc6IE1lZGlhQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdjb25maXJtRGVsZXRlJykgY29uZmlybURlbGV0ZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAvLyBnZW5lcmF0ZSB1bmlxdWUgaWQgdG8gcGFzcyB0byB1cGxvYWQgcmVnaXN0cnlcbiAgdXNlciQgPSB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkO1xuICBfc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICB1c2VySWQgPSAnJztcbiAgaXRlbTogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3OiBJbmRleERhdGE7XG4gIGJhc2VwYXJhbXM6IEJhc2VQYXJhbXM7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGxvY2tUb29sdGlwOiBzdHJpbmc7XG4gIG5vZG1zb2JqZWN0ID0gZmFsc2U7XG4gIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgcGFuZWxPcmRlciA9IHsnbWFzdGVyJzogWydzdW1tYXJ5JywgJ2hpc3RvcnknXSwgJ3NsYXZlJzogWydwcmV2aWV3J119O1xuXG4gIEBJbnB1dCgpIGNhY2hlTGF5b3V0OiBhbnk7XG4gIGl0ZW0yOiBEbXNPYmplY3Q7XG4gIGluZGV4RGF0YVByZXZpZXcyOiBJbmRleERhdGE7XG4gIGJhc2VwYXJhbXMyOiBCYXNlUGFyYW1zO1xuICBwcml2YXRlIF9lbXB0eVN0YXRlOiBFbXB0eVN0YXRlID0ge2ljb246ICdpY19uby1maWxlLnN2ZycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcblxuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgLy8gZXh0ZXJuYWxQYW5lbHMgPSBuZXcgUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PigpO1xuXG4gIC8vIEBDb250ZW50Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpIHRhYlBhbmVsczogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcbiAgLy8gQENvbnRlbnRDaGlsZHJlbihUYWJQbHVnaW5Db21wb25lbnQpXG4gIC8vIHRhYlBsdWdpbnM6IFF1ZXJ5TGlzdDxUYWJQbHVnaW5Db21wb25lbnQ+O1xuICBASW5wdXQoKSBhcHBseVNlbGVjdGlvbjogU2VsZWN0aW9uQ29uZmlnO1xuICBASW5wdXQoKSBwYXJzZURtc1BhcmFtczogKGRhdGEpID0+IHt9ID0gdGhpcy5nZXREbXNQYXJhbXM7XG4gIEBPdXRwdXQoKSBoYXNDb250ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgc2V0IHNob3dEZWxldGVEaWFsb2codmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0RlbGV0ZURpYWxvZyA9IHZhbDtcblxuICAgIGlmICh0aGlzLl9zaG93RGVsZXRlRGlhbG9nKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29uZmlybURlbGV0ZUJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCksIDApO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93RGVsZXRlRGlhbG9nKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93RGVsZXRlRGlhbG9nO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGVtcHR5U3RhdGUoZTogRW1wdHlTdGF0ZSkge1xuICAgIHRoaXMuX2VtcHR5U3RhdGUgPSBlIHx8IEVtcHR5U3RhdGVTZXJ2aWNlLmRlZmF1bHRFbXB0eVN0YXRlKCk7XG4gIH1cblxuICBnZXQgZW1wdHlTdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZW1wdHlTdGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgncGFyYW1zJylcbiAgc2V0IGRtc1BhcmFtcyhwYXJhbXM6IERtc1BhcmFtcykge1xuICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5sb2FkRG1zT2JqZWN0KHBhcmFtcykuc3Vic2NyaWJlKChyZXM6IERtc09iamVjdCkgPT4ge1xuICAgICAgdGhpcy5kbXNPYmplY3QgPSByZXM7XG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICB9LFxuICAgICAgVXRpbHMudGhyb3coKCkgPT4gdGhpcy5vbkhhc0Vycm9yKHRydWUsIHRydWUsIGZhbHNlKSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KCdpdGVtJylcbiAgc2V0IGRtc09iamVjdCh2OiBEbXNPYmplY3QpIHtcbiAgICB0aGlzLml0ZW0gPSB2O1xuICAgIHRoaXMub25IYXNFcnJvcigpO1xuICAgIC8vIHByZXBhcmUgaW5kZXhkYXRhIHByZXZpZXdcbiAgICB0aGlzLm9uSW5kZXhEYXRhU2F2ZWQobnVsbCwgdGhpcy5pdGVtKTtcbiAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9MT0FERUQsIHRoaXMuaXRlbSk7XG5cbiAgICBpZiAodGhpcy5pdGVtKSB7XG5cbiAgICAgIGlmICh0aGlzLml0ZW0ubG9jaykge1xuICAgICAgICB0aGlzLmxvY2tUb29sdGlwID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmxvY2snKSArICcgJ1xuICAgICAgICAgICsgKG5ldyBMb2NhbGVEYXRlUGlwZSh0aGlzLnRyYW5zbGF0ZSkudHJhbnNmb3JtKHRoaXMuaXRlbS5sb2NrLm9uKSlcbiAgICAgICAgICArICcsICcgKyB0aGlzLml0ZW0ubG9jay5ieS5sYWJlbCArICcgKCcgKyB0aGlzLml0ZW0ubG9jay5ieS5uYW1lICsgJyknO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtcHR5U3RhdGUgPSB0aGlzLmVtcHR5LmdldEVtcHR5U3RhdGUoMCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHlwZScpIGdldCBkYXRhVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtID8gdGhpcy5pdGVtLnR5cGVOYW1lIDogJ25vbmUnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHN5c3RlbTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3Q6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zU2VydmljZTogRG1zU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdHlTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWcsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5wYW5lbE9yZGVyID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFJhdygncmVjeWNsZWJpbkRldGFpbHNUYWJzJykgfHwgdGhpcy5wYW5lbE9yZGVyO1xuICAgIHRoaXMudXNlciQuc3Vic2NyaWJlKHVzZXIgPT4ge3RoaXMudXNlcklkID0gdXNlci5pZDsgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERtc1BhcmFtcyhkYXRhOiBhbnkpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8gey4uLmRhdGEsIHR5cGU6IGRhdGEudHlwZX0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250ZW50KCkge1xuICAgIGlmICh0aGlzLmFwcGx5U2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvblxuICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLmluKVxuICAgICAgICAuZm9jdXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5sb2FkRG1zT2JqZWN0KHRoaXMucGFyc2VEbXNQYXJhbXMocmVzdWx0KSBhcyBEbXNQYXJhbXMpLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gJiYgcmVzICYmICh0aGlzLml0ZW0uaWQgPT09IHJlcy5pZCkgJiYgcmVzLnZlcnNpb24gPiB0aGlzLml0ZW0udmVyc2lvbikge1xuICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCByZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kbXNPYmplY3QgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICAgVXRpbHMudGhyb3coKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXN0b3JlRmlsZShvcGVuTG9jYXRpb25BZnRlclJlc3RvcmUgPSBmYWxzZSkge1xuICAgIHRoaXMuZG1zU2VydmljZS5yZXN0b3JlKHRoaXMuaXRlbS5pZCwgdGhpcy51c2VySWQsIHRoaXMuaXRlbS50eXBlTmFtZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgaWYgKG9wZW5Mb2NhdGlvbkFmdGVyUmVzdG9yZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9vYmplY3QnLCB0aGlzLml0ZW0uaWRdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG9uZS50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZS5kb25lLm1lc3NhZ2UnLCB7aXRlbSA6IHRoaXMuaXRlbS50aXRsZX0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA5KSB7XG4gICAgICAgIHRoaXMudG9hc3QuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG1zLm9iamVjdC5lcnJvci40MDknKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlRG1zT2JqZWN0KCkge1xuICAgIHRoaXMuZG1zU2VydmljZVxuICAgICAgLmRlbGV0ZURtc09iamVjdCh0aGlzLml0ZW0uaWQsIHRoaXMuaXRlbS50eXBlLm5hbWUsIHRydWUpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRvbmUudGl0bGUnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZG9uZS5tZXNzYWdlJywge2l0ZW0gOiB0aGlzLml0ZW0udGl0bGV9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICBwcml2YXRlIHByZXBhcmVJbmRleERhdGFQcmV2aWV3KGl0ZW06IERtc09iamVjdCwgZm9ybURhdGE/OiBhbnkpIHtcbiAgICBjb25zdCB7aWQsIGRhdGEsIHR5cGUsIGNyZWF0ZWQsIG1vZGlmaWVkLCBjb250ZW50LCBjb250ZW50RmlsZU5hbWUsIGNvbnRlbnRGaWxlU2l6ZSwgdmVyc2lvbn0gPSBpdGVtO1xuXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtXG4gICAgICAuZ2V0T2JqZWN0VHlwZUZvcm0odHlwZS5uYW1lLCAnRURJVCcpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGZvcm0gPT4ge1xuICAgICAgICAgIGxldCBpbmRleERhdGFQcmV2aWV3ID0ge1xuICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhIHx8IGRhdGFcbiAgICAgICAgICB9O1xuICAgICAgICAgIGxldCBiYXNlcGFyYW1zOiBCYXNlUGFyYW1zID0ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgICAgICAgICBjcmVhdGVkT246IG5ldyBEYXRlKGNyZWF0ZWQub24pLFxuICAgICAgICAgICAgbW9kaWZpZWRPbjogbmV3IERhdGUobW9kaWZpZWQub24pLFxuICAgICAgICAgICAgY3JlYXRlZEJ5OiBgJHtjcmVhdGVkLmJ5LnRpdGxlfSAoJHtjcmVhdGVkLmJ5Lm5hbWV9KWAsXG4gICAgICAgICAgICBtb2RpZmllZEJ5OiBgJHttb2RpZmllZC5ieS50aXRsZX0gKCR7bW9kaWZpZWQuYnkubmFtZX0pYCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlTmFtZTogY29udGVudEZpbGVOYW1lID8gY29udGVudEZpbGVOYW1lIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlU2l6ZTogY29udGVudEZpbGVTaXplID8gTnVtYmVyKGNvbnRlbnRGaWxlU2l6ZSkgOiBudWxsLFxuICAgICAgICAgICAgdmVyc2lvbjogdmVyc2lvbiB8fCAwLFxuICAgICAgICAgICAgbWltZUdyb3VwOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuY29udGVudHNbMF0ubWltZWdyb3VwIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBkaWdlc3Q6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5jb250ZW50c1swXS5kaWdlc3QgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmlkIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBtaW1lVHlwZTogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLm1pbWV0eXBlIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge2luZGV4RGF0YVByZXZpZXcsIGJhc2VwYXJhbXN9O1xuICAgICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIG9uSGFzRXJyb3IoaGFzRXJyb3IgPSBmYWxzZSwgbm9kbXNvYmplY3QgPSBmYWxzZSwgc2hvd0xvYWRlciA9IGZhbHNlKSB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgIHRoaXMubm9kbXNvYmplY3QgPSBub2Rtc29iamVjdDtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBzaG93TG9hZGVyO1xuICAgIHRoaXMuaGFzQ29udGVudC5lbWl0KCFoYXNFcnJvcik7XG4gIH1cblxuICBsb2FkRG1zT2JqZWN0KHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgZGVsZXRlIHBhcmFtcy52ZXJzaW9uO1xuICAgIH1cbiAgICAvLyBjaGVjayBmb3IgdmFsaWQgaWRcbiAgICByZXR1cm4gcGFyYW1zPy5pZD8ubGVuZ3RoID09PSAzMiA/IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3RCeVBhcmFtcyhwYXJhbXMpIDogb2YobnVsbCk7XG4gIH1cblxuICBkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpIHtcbiAgICB0aGlzLmJhY2tlbmQuZG93bmxvYWRDb250ZW50KFt0aGlzLml0ZW1dLCBudWxsLCBmYWxzZSwgdHJ1ZSk7XG4gIH1cblxuICAvLyBleGVjdXRlZCB3aGVuIHRoZSBkbXMgb2JqZWN0IGNoYW5nZWQgZHVlIHRvIHNhdmluZyBpdHMgaW5kZXhkYXRhXG4gIG9uSW5kZXhEYXRhU2F2ZWQoZm9ybURhdGEsIGl0ZW0pIHtcbiAgICBpZiAoIXRoaXMuaXRlbSkge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gbnVsbDtcbiAgICAgIHRoaXMuYmFzZXBhcmFtcyA9IG51bGw7XG4gICAgfVxuICAgIGlmICghdGhpcy5pdGVtMikge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3MiA9IG51bGw7XG4gICAgICB0aGlzLmJhc2VwYXJhbXMyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHRoaXMucHJlcGFyZUluZGV4RGF0YVByZXZpZXcoaXRlbSwgZm9ybURhdGEpXG4gICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zID0gZGF0YS5iYXNlcGFyYW1zO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcyID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zMiA9IGRhdGEuYmFzZXBhcmFtcztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzVmlzaWJsZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxPcmRlci5tYXN0ZXIuaW5jbHVkZXMoaWQpIHx8IHRoaXMucGFuZWxPcmRlci5zbGF2ZS5pbmNsdWRlcyhpZCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC5kYXRhICYmIHRoaXMuaXRlbS5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gdGhpcy5kbXNTZXJ2aWNlLmNyZWF0ZUxvY2FsQ29weU9mRE1TT2JqZWN0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgIGlmICh0aGlzLnByZXZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBsZXQgcGFuZWxzID0gdGhpcy50YWJQYW5lbHMudG9BcnJheSgpO1xuICAgIC8vIHRoaXMudGFiUGx1Z2lucy5mb3JFYWNoKHAgPT4gcGFuZWxzID0gcGFuZWxzLmNvbmNhdChwLnRhYlBhbmVscy50b0FycmF5KCkpKTtcbiAgICAvLyB0aGlzLmV4dGVybmFsUGFuZWxzLnJlc2V0KHBhbmVscyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsb2FkZXItb3ZlcmxheV9fbWFza1wiICpuZ0lmPVwic2hvd0xvYWRlclwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJyZWN5Y2xlYmluLWRldGFpbF9fbG9hZGVyXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtICYmICFoYXNFcnJvclwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImVvLWhlYWQgZW8taGVhZC10YWJzXCI+XG4gICAgICAgIDxoZWFkZXIgY2xhc3M9XCJlby1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbb2JqZWN0VHlwZV09XCJpdGVtLnR5cGVcIiBbaWNvblRpdGxlXT1cIml0ZW0udHlwZS5sYWJlbFwiPjwvZW8taWNvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZW8taGVhZGVyLXRpdGxlXCI+e3tpdGVtLnRpdGxlfX08L2gyPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImVvLWhlYWRlci1zdWJ0aXRsZVwiPnt7aXRlbS5kZXNjcmlwdGlvbn19PC9oMz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxlby1pY29uICpuZ0lmPVwiaXRlbS5jb250ZW50XCIgY2xhc3M9XCJidG4gYnRuLWRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY29udGVudC1kb3dubG9hZC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmFjdGlvbi5kb3dubG9hZC5kbXMub2JqZWN0LmNvbnRlbnQubGFiZWwnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnRuIGJ0bi1kZWxldGVcIiAqbmdJZj1cInRoaXMuaXRlbS5yaWdodHMuZGVsZXRlXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLnRvb2x0aXAnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGVsZXRlRGlhbG9nID0gdHJ1ZTtcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi10cGwtYXBwbHlcIiAoY2xpY2spPVwicmVzdG9yZUZpbGUoKVwiIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlc3RvcmVGaWxlKHRydWUpXCIgY2xhc3M9XCJwcmltYXJ5IGJ0bi1pZHgtcmVzdG9yZW9wZW5cIlxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmVvcGVuPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVvLWJvZHlcIj5cbiAgICAgICAgPHl2Yy1zcGxpdC10YWJzIFtsYXlvdXRTZXR0aW5nc0lEXT1cImNhY2hlTGF5b3V0XCI+XG5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFt5dmNUYWJdPVwie2lkOiAnc3VtbWFyeScsIGxhYmVsOiAnZW8ub2JqZWN0LnN1bW1hcnkudGl0bGUnIHwgdHJhbnNsYXRlfVwiPlxuICAgICAgICAgICAgICAgIDxlby1pbmRleGRhdGEtc3VtbWFyeSBbaW5kZXhkYXRhXT1cImluZGV4RGF0YVByZXZpZXdcIiBbYmFzZXBhcmFtc109XCJiYXNlcGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rtc09iamVjdF09XCJpdGVtXCI+PC9lby1pbmRleGRhdGEtc3VtbWFyeT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cIntpZDogJ3ByZXZpZXcnLCBsYWJlbDogJ2VvLm9iamVjdC5jb250ZW50LnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICAgICAgICAgICAgICA8ZW8tbWVkaWEgKm5nSWY9XCJpdGVtXCIgW2Rtc09iamVjdF09XCJpdGVtXCIgW3VzZVZlcnNpb25dPVwiaXRlbS5pZCA9PT0gaXRlbS5jb250ZW50Py5pZFwiXG4gICAgICAgICAgICAgICAgICAgICN2aWV3ZXI+PC9lby1tZWRpYT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVmlzaWJsZSgnaGlzdG9yeScpXCJcbiAgICAgICAgICAgICAgICBbeXZjVGFiXT1cIntpZDogJ2hpc3RvcnknLCBsYWJlbDogJ2VvLm9iamVjdC5oaXN0b3J5LnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICAgICAgICAgICAgICA8ZW8tb2JqZWN0LWhpc3RvcnkgW3BhcmFtc109XCJ7aWQ6IGl0ZW0uaWQsIHR5cGU6IGl0ZW0udHlwZT8ucW5hbWV9XCI+XG4gICAgICAgICAgICAgICAgPC9lby1vYmplY3QtaGlzdG9yeT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwveXZjLXNwbGl0LXRhYnM+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGVvLWRpYWxvZyBbdGl0bGVdPVwiJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZGlhbG9nLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFsodmlzaWJsZSldPVwic2hvd0RlbGV0ZURpYWxvZ1wiXG4gICAgW2ZvY3VzT25TaG93XT1cImZhbHNlXCIgW21pbldpZHRoXT1cIjQwMFwiIFtzdHlsZUNsYXNzXT1cIidyZWN5Y2xlYmluLWRlbGV0ZV9fZGlhbG9nJ1wiPlxuXG4gICAgPGRpdj5cbiAgICAgICAgPHNwYW4+e3snZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cubWVzc2FnZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGJyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlY3ljbGViaW4tZGVsZXRlX19kaWFsb2dfd2FybmluZ1wiPnt7J2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZGlhbG9nLm1lc3NhZ2Uud2FybmluZycgfFxuICAgICAgICAgICAgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b25zIHJlY3ljbGViaW4tZGVsZXRlLS1hY3Rpb24tYnV0dG9ucyBmbGV4LXJvd1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiBjYW5jZWxcIiAoY2xpY2spPVwic2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlXCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5jYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2NvbmZpcm1EZWxldGUgKGNsaWNrKT1cImRlbGV0ZURtc09iamVjdCgpXCIgY2xhc3M9XCJidXR0b24gcHJpbWFyeVwiXG4gICAgICAgICAgICB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuZGVsZXRlPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2VvLWRpYWxvZz4iXX0=