@provoly/dashboard 1.2.4 → 1.2.6

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 (110) hide show
  1. package/components/color-picker/color-picker.component.d.ts +1 -1
  2. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +1 -1
  3. package/dataset/style/_o-pry-dataset-card.scss +7 -3
  4. package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
  5. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +2 -5
  6. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  7. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +8 -6
  8. package/esm2022/dataset/style/css.component.mjs +2 -2
  9. package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +9 -5
  10. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +3 -3
  11. package/esm2022/lib/core/i18n/en.translations.mjs +4 -2
  12. package/esm2022/lib/core/i18n/fr.translations.mjs +4 -2
  13. package/esm2022/lib/core/model/display-options.interface.mjs +7 -4
  14. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
  15. package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
  16. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -1
  17. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +28 -57
  18. package/esm2022/presentation/components/presentation.component.mjs +15 -13
  19. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -7
  20. package/esm2022/presentation/presentation.module.mjs +10 -14
  21. package/esm2022/presentation/style/css.component.mjs +2 -2
  22. package/esm2022/restitution/style/css.component.mjs +2 -2
  23. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +2 -2
  24. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +2 -2
  25. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +4 -4
  26. package/esm2022/toolbox/components/delete/delete.component.mjs +2 -2
  27. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +2 -2
  28. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +2 -2
  29. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +2 -2
  30. package/esm2022/toolbox/components/edit-presentation/edit-presentation.component.mjs +64 -0
  31. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +2 -2
  32. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +2 -2
  33. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +2 -2
  34. package/esm2022/toolbox/components/save-view/save-view.component.mjs +7 -15
  35. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +2 -2
  36. package/esm2022/toolbox/components/share/share.component.mjs +2 -2
  37. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +2 -2
  38. package/esm2022/toolbox/components/toolbox.component.mjs +16 -13
  39. package/esm2022/toolbox/public-api.mjs +5 -3
  40. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +97 -0
  41. package/esm2022/toolbox/shared/toolbox-action/toolbox-action.component.mjs +44 -0
  42. package/esm2022/toolbox/shared/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +58 -0
  43. package/esm2022/toolbox/style/css.component.mjs +2 -2
  44. package/esm2022/toolbox/toolbox.model.mjs +13 -5
  45. package/esm2022/toolbox/toolbox.module.mjs +21 -10
  46. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  47. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +19 -14
  48. package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
  49. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -4
  51. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-dataset.mjs +11 -9
  53. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-presentation.mjs +56 -87
  55. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
  57. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-toolbox.mjs +205 -59
  59. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  61. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  62. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +18 -13
  63. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  64. package/fesm2022/provoly-dashboard.mjs +26 -14
  65. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  66. package/lib/core/i18n/en.translations.d.ts +2 -0
  67. package/lib/core/i18n/fr.translations.d.ts +2 -0
  68. package/lib/core/model/display-options.interface.d.ts +1 -0
  69. package/lib/dashboard/filter/style/_o-pry-filter-group.scss +0 -4
  70. package/lib/dashboard/store/dashboard.selectors.d.ts +1 -0
  71. package/package.json +7 -7
  72. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +14 -20
  73. package/presentation/components/presentation.component.d.ts +8 -8
  74. package/presentation/style/_o-pry-new-presentation.scss +9 -10
  75. package/presentation/style/_o-pry-presentation.scss +1 -3
  76. package/styles/base/_utils.scss +3 -0
  77. package/styles/components/_a-btn.scss +4 -0
  78. package/styles/components/_m-actions-list.scss +5 -1
  79. package/styles/components/_m-presentation-title.scss +1 -5
  80. package/styles/components/_o-widget.scss +1 -0
  81. package/styles/layout/_o-workspace.scss +4 -21
  82. package/styles-theme/components-theme/_a-btn.theme.scss +16 -0
  83. package/styles-theme/main-theme.scss +0 -2
  84. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +1 -1
  85. package/toolbox/components/clear-view/clear-view.component.d.ts +1 -1
  86. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +1 -1
  87. package/toolbox/components/delete/delete.component.d.ts +1 -1
  88. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +1 -1
  89. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +1 -1
  90. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +1 -1
  91. package/toolbox/components/edit-presentation/edit-presentation.component.d.ts +22 -0
  92. package/toolbox/components/filter-settings/filter-settings.component.d.ts +1 -1
  93. package/toolbox/components/launch-tab/launch-tab.component.d.ts +1 -1
  94. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +1 -1
  95. package/toolbox/components/save-view/save-view.component.d.ts +5 -6
  96. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +1 -1
  97. package/toolbox/components/share/share.component.d.ts +1 -1
  98. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +1 -1
  99. package/toolbox/components/toolbox.component.d.ts +3 -2
  100. package/toolbox/public-api.d.ts +4 -2
  101. package/toolbox/shared/presentation-form/presentation-form.component.d.ts +42 -0
  102. package/toolbox/style/_o-dashboard-details.component.scss +0 -13
  103. package/toolbox/toolbox.model.d.ts +1 -1
  104. package/toolbox/toolbox.module.d.ts +14 -12
  105. package/widgets/widget-map/component/widget-map.component.d.ts +1 -3
  106. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +0 -46
  107. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +0 -58
  108. package/styles-theme/layout-theme/_o-workspace.theme.scss +0 -18
  109. /package/toolbox/{components → shared}/toolbox-action/toolbox-action.component.d.ts +0 -0
  110. /package/toolbox/{components → shared}/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +0 -0
@@ -37,7 +37,7 @@ export declare class PryColorPickerComponent implements ControlValueAccessor, Af
37
37
  componentToHex(c: number): string;
38
38
  rgbToHex(r: number, g: number, b: number): string;
39
39
  clickInput($event: MouseEvent): void;
40
- inputColor($event: any): void;
40
+ inputColor($event?: any): void;
41
41
  strToRGBA(str: string): {
42
42
  r: number;
43
43
  g: number;
@@ -22,6 +22,7 @@ export declare class PryDatasetDetailComponent extends SubscriptionnerDirective
22
22
  activeVersion$: Observable<DatasetVersion | undefined>;
23
23
  activeVersionId$: Observable<string>;
24
24
  isEditingVersion: boolean;
25
+ canModify$: Observable<boolean>;
25
26
  isPanelOpen: boolean;
26
27
  selectedVersion?: DatasetVersion;
27
28
  constructor(store: Store, access: PryBaseAccess);
@@ -40,7 +41,6 @@ export declare class PryDatasetDetailComponent extends SubscriptionnerDirective
40
41
  editVersion(): void;
41
42
  formValidated($event: Partial<DatasetVersion>): void;
42
43
  askDelete(version: DatasetVersion, $event?: Event): void;
43
- canModify$(): Observable<boolean>;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<PryDatasetDetailComponent, [null, { optional: true; }]>;
45
45
  static ɵcmp: i0.ɵɵComponentDeclaration<PryDatasetDetailComponent, "pry-dataset-detail", never, { "dataset": { "alias": "dataset"; "required": false; }; }, { "goToCatalog": "goToCatalog"; }, never, never, false, never>;
46
46
  }
@@ -74,8 +74,12 @@
74
74
  }
75
75
 
76
76
  .dataset-name {
77
- overflow: hidden;
78
- text-overflow: ellipsis;
79
- white-space: nowrap;
77
+ width: toRem(270);
78
+
79
+ &.a-tooltip[data-tooltip]:after {
80
+ top: calc(100% - 15px);
81
+ max-width: toRem(300);
82
+ word-break: break-word;
83
+ }
80
84
  }
81
85
  }
@@ -139,7 +139,7 @@ export class PryColorPickerComponent {
139
139
  $event.stopPropagation();
140
140
  }
141
141
  inputColor($event) {
142
- const possibleColor = !!$event ? ($event.indexOf('#') === -1 ? '#' + $event : $event) : '#40B688';
142
+ const possibleColor = $event !== undefined ? ($event.indexOf('#') === -1 ? '#' + $event : $event) : '#40B688';
143
143
  if (/^#[0-9A-F]{6}$/i.test(possibleColor)) {
144
144
  this.writeValue(possibleColor);
145
145
  const rgba = this.strToRGBA(this.color);
@@ -311,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
311
311
  type: ViewChild,
312
312
  args: ['input']
313
313
  }] } });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWN6RSxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBCMUMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBSSxTQUFTLENBQUM7UUFDbkIsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQU16QiwyQkFBc0IsR0FBcUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBR3RCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0lBRzZCLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lB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Z0JBQ1QsVUFBVSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFM0IsT0FBTztZQUNMLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQzVCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDL0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUMxQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDdEMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNULENBQUMsSUFBSSxHQUFHLENBQUM7UUFFVCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ25DLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQzFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDYixDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVSLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDckIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztRQUNELCtDQUErQztRQUMvQyxhQUFhO1FBQ2IsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGFBQWE7UUFDYixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsYUFBYTtRQUNiLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzQywyQkFBMkI7UUFDM0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDL0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDL0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFL0IsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFrQjtRQUMxQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsTUFBa0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0F0VlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkNBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDhSQ2JILHE4QkE4QkE7OzJGRGZhLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3NGQVdzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRUgsR0FBRztzQkFBcEIsU0FBUzt1QkFBQyxLQUFLO2dCQUtJLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY29sb3ItcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlDb2xvclBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlDb2xvclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcbiAgY29sb3I/ID0gJyMwMDAwMDAnO1xuICBiYXJDb2xvcjogc3RyaW5nID0gJyMwMDAwZmYnO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBpbmhpYmF0ZSA9IHRydWU7XG4gIHBpY2tpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RvcicpIHNlbGVjdG9yITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIHNlbGVjdG9yQ29udGV4dCE6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgQFZpZXdDaGlsZCgnYmFyJykgYmFyITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIGJhckNvbnRleHQhOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIG1hcmtlclNlbGVjdG9yUG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG4gIG1hcmtlckJhclBvc2l0aW9uID0gMDtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgaW5uZXJSYWRpdXMgPSAzO1xuICBvdXRlclJhZGl1cyA9IDg7XG4gIHRlbXBvcmFyeUNvbG9yPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICAvLyBEZWZpbmUgd2hhdCBzaG91bGQgaGFwcGVuIGluIHRoaXMgY29tcG9uZW50LCBpZiBzb21ldGhpbmcgY2hhbmdlcyBvdXRzaWRlXG4gIHdyaXRlVmFsdWUoY29sb3I6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNvbG9yICE9PSBjb2xvciAmJiAhdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5jb2xvciA9IGNvbG9yO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNvbG9yKTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmlucHV0Q29sb3IoY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5oaWJhdGUgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dCA9IHRoaXMuc2VsZWN0b3IubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcsIHsgd2lsbFJlYWRGcmVxdWVudGx5OiB0cnVlIH0pITtcbiAgICB0aGlzLmJhckNvbnRleHQgPSB0aGlzLmJhci5uYXRpdmVFbGVtZW50LmdldENvbnRleHQoJzJkJywgeyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUgfSkhO1xuICB9XG5cbiAgdG9nZ2xlUGlja2VyKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucGlja2luZyA9ICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnBpY2tpbmc7XG4gICAgaWYgKCF0aGlzLnBpY2tpbmcgJiYgdGhpcy50ZW1wb3JhcnlDb2xvcikge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMudGVtcG9yYXJ5Q29sb3IpO1xuICAgIH1cbiAgICBpZiAodGhpcy5waWNraW5nKSB7XG4gICAgICB0aGlzLnJlZHJhd1NlbGVjdG9yKCk7XG4gICAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgIH1cbiAgfVxuXG4gIHJlZHJhd1NlbGVjdG9yKCkge1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmNsZWFyUmVjdCgwLCAwLCB0aGlzLnNlbGVjdG9yQ29udGV4dC5jYW52YXMud2lkdGgsIHRoaXMuc2VsZWN0b3JDb250ZXh0LmNhbnZhcy5oZWlnaHQpO1xuICAgIHRoaXMuZHJhd0NvbG9yR3JhZGllbnQodGhpcy5zZWxlY3RvckNvbnRleHQsIGZhbHNlLCBbJyNmZmZmZmYnLCB0aGlzLmJhckNvbG9yXSk7XG4gICAgdGhpcy5kcmF3Q29sb3JHcmFkaWVudCh0aGlzLnNlbGVjdG9yQ29udGV4dCwgdHJ1ZSwgWydyZ2JhKDAsMCwwLDApJywgJyMwMDAnXSk7XG4gICAgdGhpcy5kcmF3U2VsZWN0b3JNYXJrZXIoKTtcbiAgfVxuXG4gIHJlZHJhd0JhcigpIHtcbiAgICB0aGlzLmJhckNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIHRoaXMuYmFyQ29udGV4dC5jYW52YXMud2lkdGgsIHRoaXMuYmFyQ29udGV4dC5jYW52YXMuaGVpZ2h0KTtcbiAgICB0aGlzLmRyYXdDb2xvckdyYWRpZW50KHRoaXMuYmFyQ29udGV4dCwgdHJ1ZSwgW1xuICAgICAgJyNGRjAwMDAnLFxuICAgICAgJyNmZmZmMDAnLFxuICAgICAgJyMwMEZGMDAnLFxuICAgICAgJyMwMEZGRkYnLFxuICAgICAgJyMwMDAwRkYnLFxuICAgICAgJyNGRjAwRkYnLFxuICAgICAgJyNGRjAwMDAnXG4gICAgXSk7XG4gICAgdGhpcy5kcmF3QmFyTWFya2VyKCk7XG4gIH1cblxuICBkcmF3Q29sb3JHcmFkaWVudChjdHh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHZlcnRpY2FsID0gdHJ1ZSwgY29sb3JzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGdyYWRpZW50QXJnczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSB2ZXJ0aWNhbFxuICAgICAgPyBbMCwgMCwgMCwgY3R4dC5jYW52YXMuaGVpZ2h0XVxuICAgICAgOiBbMCwgMCwgY3R4dC5jYW52YXMud2lkdGgsIDBdO1xuICAgIGxldCBncmFkaWVudCA9IGN0eHQuY3JlYXRlTGluZWFyR3JhZGllbnQoLi4uZ3JhZGllbnRBcmdzKTtcbiAgICBjb2xvcnMuZm9yRWFjaCgoY29sb3IsIGlkeCkgPT4ge1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKGlkeCAvIChjb2xvcnMubGVuZ3RoIC0gMSksIGNvbG9yKTtcbiAgICB9KTtcbiAgICBjdHh0LmZpbGxTdHlsZSA9IGdyYWRpZW50O1xuICAgIGN0eHQuZmlsbFJlY3QoMCwgMCwgY3R4dC5jYW52YXMud2lkdGgsIGN0eHQuY2FudmFzLmhlaWdodCk7XG4gIH1cblxuICBkcmF3U2VsZWN0b3JNYXJrZXIoKSB7XG4gICAgY29uc3QgZ3JhZGllbnQgPSB0aGlzLnNlbGVjdG9yQ29udGV4dC5jcmVhdGVSYWRpYWxHcmFkaWVudChcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblswXSxcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgIHRoaXMuaW5uZXJSYWRpdXMsXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMV0sXG4gICAgICB0aGlzLm91dGVyUmFkaXVzXG4gICAgKTtcbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgJ3JnYmEoMCwwLDAsMCknKTtcbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgJyNmZmZmZmYnKTtcblxuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmFyYyhcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblswXSxcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgIHRoaXMub3V0ZXJSYWRpdXMsXG4gICAgICAwLFxuICAgICAgMiAqIE1hdGguUElcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZSA9IGdyYWRpZW50O1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGwoKTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5zdHJva2UoKTtcbiAgfVxuXG4gIGRyYXdCYXJNYXJrZXIoKSB7XG4gICAgdGhpcy5iYXJDb250ZXh0LnN0cm9rZVN0eWxlID0gJzJweCBzb2xpZCBibGFjayc7XG4gICAgdGhpcy5iYXJDb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5tb3ZlVG8oMCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiAtIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5saW5lVG8odGhpcy5iYXJDb250ZXh0LmNhbnZhcy53aWR0aCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiAtIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5zdHJva2UoKTtcbiAgICB0aGlzLmJhckNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgdGhpcy5iYXJDb250ZXh0Lm1vdmVUbygwLCB0aGlzLm1hcmtlckJhclBvc2l0aW9uICsgdGhpcy5pbm5lclJhZGl1cyk7XG4gICAgdGhpcy5iYXJDb250ZXh0LmxpbmVUbyh0aGlzLmJhckNvbnRleHQuY2FudmFzLndpZHRoLCB0aGlzLm1hcmtlckJhclBvc2l0aW9uICsgdGhpcy5pbm5lclJhZGl1cyk7XG4gICAgdGhpcy5iYXJDb250ZXh0LnN0cm9rZSgpO1xuICB9XG5cbiAgc2VsZWN0Q29sb3IoJGV2ZW50OiBNb3VzZUV2ZW50LCB0ZW1wb3JhcnkgPSBmYWxzZSkge1xuICAgIC8vIFJlYWQgcGl4ZWwgQ29sb3JcbiAgICBjb25zdCBwaXhlbENvbG9yID0gdGhpcy5yZ2JUb0hleChcbiAgICAgIC4uLih0aGlzLnNlbGVjdG9yQ29udGV4dC5nZXRJbWFnZURhdGEoJGV2ZW50Lm9mZnNldFgsICRldmVudC5vZmZzZXRZLCAxLCAxKVsnZGF0YSddIGFzIHVua25vd24gYXMgW1xuICAgICAgICBudW1iZXIsXG4gICAgICAgIG51bWJlcixcbiAgICAgICAgbnVtYmVyXG4gICAgICBdKVxuICAgICk7XG4gICAgaWYgKCF0ZW1wb3JhcnkpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShwaXhlbENvbG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZW1wb3JhcnlDb2xvciA9IHBpeGVsQ29sb3I7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uID0gWyRldmVudC5vZmZzZXRYLCAkZXZlbnQub2Zmc2V0WV07XG4gICAgdGhpcy5yZWRyYXdTZWxlY3RvcigpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNlbGVjdENvbG9yRnJvbUJhcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm1hcmtlckJhclBvc2l0aW9uID0gJGV2ZW50Lm9mZnNldFk7XG4gICAgdGhpcy5iYXJDb2xvciA9IHRoaXMucmdiVG9IZXgoXG4gICAgICAuLi4odGhpcy5iYXJDb250ZXh0LmdldEltYWdlRGF0YSgyMCwgJGV2ZW50Lm9mZnNldFksIDEsIDEpWydkYXRhJ10gYXMgdW5rbm93biBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pXG4gICAgKTtcbiAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgIHRoaXMucmVkcmF3U2VsZWN0b3IoKTtcbiAgICB0aGlzLnNlbGVjdENvbG9yKFxuICAgICAge1xuICAgICAgICBvZmZzZXRYOiB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICAgIG9mZnNldFk6IHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiAoKSA9PiAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIH0gYXMgdW5rbm93biBhcyBNb3VzZUV2ZW50LFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY29tcG9uZW50VG9IZXgoYzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGMudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIH1cblxuICByZ2JUb0hleChyOiBudW1iZXIsIGc6IG51bWJlciwgYjogbnVtYmVyKSB7XG4gICAgcmV0dXJuICcjJyArIHRoaXMuY29tcG9uZW50VG9IZXgocikgKyB0aGlzLmNvbXBvbmVudFRvSGV4KGcpICsgdGhpcy5jb21wb25lbnRUb0hleChiKTtcbiAgfVxuXG4gIGNsaWNrSW5wdXQoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgaW5wdXRDb2xvcigkZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHBvc3NpYmxlQ29sb3IgPSAhISRldmVudCA/ICgkZXZlbnQuaW5kZXhPZignIycpID09PSAtMSA/ICcjJyArICRldmVudCA6ICRldmVudCkgOiAnIzQwQjY4OCc7XG4gICAgaWYgKC9eI1swLTlBLUZdezZ9JC9pLnRlc3QocG9zc2libGVDb2xvcikpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShwb3NzaWJsZUNvbG9yKTtcbiAgICAgIGNvbnN0IHJnYmEgPSB0aGlzLnN0clRvUkdCQSh0aGlzLmNvbG9yISk7XG4gICAgICBjb25zdCBoc3ZhID0gdGhpcy5SR0JBdG9IU1ZBKHJnYmEpO1xuICAgICAgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiA9ICh0aGlzLmJhckNvbnRleHQuY2FudmFzLmhlaWdodCAqIGhzdmEuaCkgLyAzNjA7XG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb24gPSBbXG4gICAgICAgICh0aGlzLnNlbGVjdG9yQ29udGV4dC5jYW52YXMud2lkdGggKiBoc3ZhLnMpIC8gMTAwLFxuICAgICAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5jYW52YXMuaGVpZ2h0ICogKDEgLSBoc3ZhLnYgLyAxMDApXG4gICAgICBdO1xuICAgICAgdGhpcy5iYXJDb2xvciA9IHRoaXMuaHNsVG9IZXgoaHN2YS5oLCAxMDAsIDUwKTtcbiAgICAgIHRoaXMucmVkcmF3QmFyKCk7XG4gICAgICB0aGlzLnJlZHJhd1NlbGVjdG9yKCk7XG4gICAgfVxuICB9XG5cbiAgc3RyVG9SR0JBKHN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVnZXggPSAvXigocmdiYSl8cmdiKVtcXERdKyhbXFxkLl0rKVtcXERdKyhbXFxkLl0rKVtcXERdKyhbXFxkLl0rKVtcXERdKj8oW1xcZC5dK3wkKS9pO1xuICAgIGxldCBtYXRjaCwgcmdiYTtcblxuICAgIC8vIERlZmF1bHQgdG8gYmxhY2sgZm9yIGludmFsaWQgY29sb3Igc3RyaW5nc1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZSA9ICcjMDAwJztcblxuICAgIC8vIFVzZSBjYW52YXMgdG8gY29udmVydCB0aGUgc3RyaW5nIHRvIGEgdmFsaWQgY29sb3Igc3RyaW5nXG4gICAgdGhpcy5zZWxlY3RvckNvbnRleHQuZmlsbFN0eWxlID0gc3RyO1xuICAgIG1hdGNoID0gcmVnZXguZXhlYyh0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGUpO1xuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZ2JhID0ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHI6IG1hdGNoWzNdICogMSxcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBnOiBtYXRjaFs0XSAqIDEsXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgYjogbWF0Y2hbNV0gKiAxLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGE6IG1hdGNoWzZdICogMVxuICAgICAgfTtcblxuICAgICAgLy8gV29ya2Fyb3VuZCB0byBtaXRpZ2F0ZSBhIENocm9taXVtIGJ1ZyB3aGVyZSB0aGUgYWxwaGEgdmFsdWUgaXMgcm91bmRlZCBpbmNvcnJlY3RseVxuICAgICAgcmdiYS5hID0gK3JnYmEuYS50b0ZpeGVkKDIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXRjaCA9IHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZVxuICAgICAgICAucmVwbGFjZSgnIycsICcnKVxuICAgICAgICAubWF0Y2goLy57Mn0vZykhXG4gICAgICAgIC5tYXAoKGgpID0+IHBhcnNlSW50KGgsIDE2KSk7XG4gICAgICByZ2JhID0ge1xuICAgICAgICByOiBtYXRjaFswXSxcbiAgICAgICAgZzogbWF0Y2hbMV0sXG4gICAgICAgIGI6IG1hdGNoWzJdLFxuICAgICAgICBhOiAxXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiByZ2JhO1xuICB9XG5cbiAgUkdCQXRvSFNWQShyZ2JhOiBhbnkpIHtcbiAgICBjb25zdCByZWQgPSByZ2JhLnIgLyAyNTU7XG4gICAgY29uc3QgZ3JlZW4gPSByZ2JhLmcgLyAyNTU7XG4gICAgY29uc3QgYmx1ZSA9IHJnYmEuYiAvIDI1NTtcbiAgICBjb25zdCB4bWF4ID0gTWF0aC5tYXgocmVkLCBncmVlbiwgYmx1ZSk7XG4gICAgY29uc3QgeG1pbiA9IE1hdGgubWluKHJlZCwgZ3JlZW4sIGJsdWUpO1xuICAgIGNvbnN0IGNocm9tYSA9IHhtYXggLSB4bWluO1xuICAgIGNvbnN0IHZhbHVlID0geG1heDtcbiAgICBsZXQgaHVlID0gMDtcbiAgICBsZXQgc2F0dXJhdGlvbiA9IDA7XG5cbiAgICBpZiAoY2hyb21hKSB7XG4gICAgICBpZiAoeG1heCA9PT0gcmVkKSB7XG4gICAgICAgIGh1ZSA9IChncmVlbiAtIGJsdWUpIC8gY2hyb21hO1xuICAgICAgfVxuICAgICAgaWYgKHhtYXggPT09IGdyZWVuKSB7XG4gICAgICAgIGh1ZSA9IDIgKyAoYmx1ZSAtIHJlZCkgLyBjaHJvbWE7XG4gICAgICB9XG4gICAgICBpZiAoeG1heCA9PT0gYmx1ZSkge1xuICAgICAgICBodWUgPSA0ICsgKHJlZCAtIGdyZWVuKSAvIGNocm9tYTtcbiAgICAgIH1cbiAgICAgIGlmICh4bWF4KSB7XG4gICAgICAgIHNhdHVyYXRpb24gPSBjaHJvbWEgLyB4bWF4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGh1ZSA9IE1hdGguZmxvb3IoaHVlICogNjApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGg6IGh1ZSA8IDAgPyBodWUgKyAzNjAgOiBodWUsXG4gICAgICBzOiBNYXRoLnJvdW5kKHNhdHVyYXRpb24gKiAxMDApLFxuICAgICAgdjogTWF0aC5yb3VuZCh2YWx1ZSAqIDEwMCksXG4gICAgICBhOiByZ2JhLmFcbiAgICB9O1xuICB9XG5cbiAgaHNsVG9IZXgoaDogbnVtYmVyLCBzOiBudW1iZXIsIGw6IG51bWJlcikge1xuICAgIHMgLz0gMTAwO1xuICAgIGwgLz0gMTAwO1xuXG4gICAgbGV0IGMgPSAoMSAtIE1hdGguYWJzKDIgKiBsIC0gMSkpICogcyxcbiAgICAgIHggPSBjICogKDEgLSBNYXRoLmFicygoKGggLyA2MCkgJSAyKSAtIDEpKSxcbiAgICAgIG0gPSBsIC0gYyAvIDIsXG4gICAgICByID0gMCxcbiAgICAgIGcgPSAwLFxuICAgICAgYiA9IDA7XG5cbiAgICBpZiAoMCA8PSBoICYmIGggPCA2MCkge1xuICAgICAgciA9IGM7XG4gICAgICBnID0geDtcbiAgICAgIGIgPSAwO1xuICAgIH0gZWxzZSBpZiAoNjAgPD0gaCAmJiBoIDwgMTIwKSB7XG4gICAgICByID0geDtcbiAgICAgIGcgPSBjO1xuICAgICAgYiA9IDA7XG4gICAgfSBlbHNlIGlmICgxMjAgPD0gaCAmJiBoIDwgMTgwKSB7XG4gICAgICByID0gMDtcbiAgICAgIGcgPSBjO1xuICAgICAgYiA9IHg7XG4gICAgfSBlbHNlIGlmICgxODAgPD0gaCAmJiBoIDwgMjQwKSB7XG4gICAgICByID0gMDtcbiAgICAgIGcgPSB4O1xuICAgICAgYiA9IGM7XG4gICAgfSBlbHNlIGlmICgyNDAgPD0gaCAmJiBoIDwgMzAwKSB7XG4gICAgICByID0geDtcbiAgICAgIGcgPSAwO1xuICAgICAgYiA9IGM7XG4gICAgfSBlbHNlIGlmICgzMDAgPD0gaCAmJiBoIDwgMzYwKSB7XG4gICAgICByID0gYztcbiAgICAgIGcgPSAwO1xuICAgICAgYiA9IHg7XG4gICAgfVxuICAgIC8vIEhhdmluZyBvYnRhaW5lZCBSR0IsIGNvbnZlcnQgY2hhbm5lbHMgdG8gaGV4XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHIgPSBNYXRoLnJvdW5kKChyICsgbSkgKiAyNTUpLnRvU3RyaW5nKDE2KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZyA9IE1hdGgucm91bmQoKGcgKyBtKSAqIDI1NSkudG9TdHJpbmcoMTYpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBiID0gTWF0aC5yb3VuZCgoYiArIG0pICogMjU1KS50b1N0cmluZygxNik7XG5cbiAgICAvLyBQcmVwZW5kIDBzLCBpZiBuZWNlc3NhcnlcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHIubGVuZ3RoID09IDEpIHIgPSAnMCcgKyByO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoZy5sZW5ndGggPT0gMSkgZyA9ICcwJyArIGc7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmIChiLmxlbmd0aCA9PSAxKSBiID0gJzAnICsgYjtcblxuICAgIHJldHVybiAnIycgKyByICsgZyArIGI7XG4gIH1cblxuICBtb3VzZU1vdmUoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCRldmVudC5idXR0b25zID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RDb2xvcigkZXZlbnQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIG1vdXNlVXAoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RDb2xvcigkZXZlbnQsIGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImEtY29sb3ItcGlja2VyXCJcbiAgKGNsaWNrKT1cInRvZ2dsZVBpY2tlcigkZXZlbnQpXCJcbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidGVtcG9yYXJ5Q29sb3IgPz8gY29sb3JcIlxuICBbdGl0bGVdPVwiY29sb3JcIlxuICByb2xlPVwiYnV0dG9uXCJcbj5cbiAgPGRpdiBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbFwiIFtzdHlsZS5kaXNwbGF5XT1cInBpY2tpbmcgPyAnZmxleCcgOiAnbm9uZSdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYS1jb2xvci1waWNrZXJfX21vZGFsX19iYWNrZHJvcFwiPlxuICAgICAgPGNhbnZhc1xuICAgICAgICAjc2VsZWN0b3JcbiAgICAgICAgY2xhc3M9XCJhLWNvbG9yLXBpY2tlcl9fbW9kYWxfX3NlbGVjdG9yXCJcbiAgICAgICAgKG1vdXNlbW92ZSk9XCJtb3VzZU1vdmUoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZXVwKT1cIm1vdXNlVXAoJGV2ZW50KVwiXG4gICAgICAgIGhlaWdodD1cIjMwMFwiXG4gICAgICAgIHdpZHRoPVwiMzAwXCJcbiAgICAgID48L2NhbnZhcz5cbiAgICAgIDxjYW52YXNcbiAgICAgICAgI2JhclxuICAgICAgICBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbF9fYmFyXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdENvbG9yRnJvbUJhcigkZXZlbnQpXCJcbiAgICAgICAgaGVpZ2h0PVwiMzAwXCJcbiAgICAgICAgd2lkdGg9XCI0MFwiXG4gICAgICA+PC9jYW52YXM+XG4gICAgICA8ZGl2IGNsYXNzPVwiYS1jb2xvci1waWNrZXJfX21vZGFsX19pbnB1dFwiIChjbGljayk9XCJjbGlja0lucHV0KCRldmVudClcIj5cbiAgICAgICAgIzxpbnB1dCBbbmdNb2RlbF09XCIoY29sb3IgPz8gJyMnKS5zdWJzdHJpbmcoMSlcIiAobmdNb2RlbENoYW5nZSk9XCJpbnB1dENvbG9yKCRldmVudClcIiAjaW5wdXQgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWN6RSxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBCMUMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBSSxTQUFTLENBQUM7UUFDbkIsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQU16QiwyQkFBc0IsR0FBcUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBR3RCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0lBRzZCLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lB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Z0JBQ1QsVUFBVSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFM0IsT0FBTztZQUNMLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQzVCLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDL0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUMxQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDdEMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztRQUNULENBQUMsSUFBSSxHQUFHLENBQUM7UUFFVCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQ25DLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQzFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDYixDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVSLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDckIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDTixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztRQUNELCtDQUErQztRQUMvQyxhQUFhO1FBQ2IsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLGFBQWE7UUFDYixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsYUFBYTtRQUNiLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzQywyQkFBMkI7UUFDM0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDL0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDL0IsYUFBYTtRQUNiLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFL0IsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFrQjtRQUMxQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsTUFBa0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0F0VlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkNBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDhSQ2JILHE4QkE4QkE7OzJGRGZhLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3NGQVdzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRUgsR0FBRztzQkFBcEIsU0FBUzt1QkFBQyxLQUFLO2dCQUtJLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY29sb3ItcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlDb2xvclBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlDb2xvclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcbiAgY29sb3I/ID0gJyMwMDAwMDAnO1xuICBiYXJDb2xvcjogc3RyaW5nID0gJyMwMDAwZmYnO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBpbmhpYmF0ZSA9IHRydWU7XG4gIHBpY2tpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RvcicpIHNlbGVjdG9yITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIHNlbGVjdG9yQ29udGV4dCE6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgQFZpZXdDaGlsZCgnYmFyJykgYmFyITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XG4gIGJhckNvbnRleHQhOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIG1hcmtlclNlbGVjdG9yUG9zaXRpb246IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMF07XG4gIG1hcmtlckJhclBvc2l0aW9uID0gMDtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgaW5uZXJSYWRpdXMgPSAzO1xuICBvdXRlclJhZGl1cyA9IDg7XG4gIHRlbXBvcmFyeUNvbG9yPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICAvLyBEZWZpbmUgd2hhdCBzaG91bGQgaGFwcGVuIGluIHRoaXMgY29tcG9uZW50LCBpZiBzb21ldGhpbmcgY2hhbmdlcyBvdXRzaWRlXG4gIHdyaXRlVmFsdWUoY29sb3I6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNvbG9yICE9PSBjb2xvciAmJiAhdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5jb2xvciA9IGNvbG9yO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNvbG9yKTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLmlucHV0Q29sb3IoY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5oaWJhdGUgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dCA9IHRoaXMuc2VsZWN0b3IubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcsIHsgd2lsbFJlYWRGcmVxdWVudGx5OiB0cnVlIH0pITtcbiAgICB0aGlzLmJhckNvbnRleHQgPSB0aGlzLmJhci5uYXRpdmVFbGVtZW50LmdldENvbnRleHQoJzJkJywgeyB3aWxsUmVhZEZyZXF1ZW50bHk6IHRydWUgfSkhO1xuICB9XG5cbiAgdG9nZ2xlUGlja2VyKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucGlja2luZyA9ICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnBpY2tpbmc7XG4gICAgaWYgKCF0aGlzLnBpY2tpbmcgJiYgdGhpcy50ZW1wb3JhcnlDb2xvcikge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMudGVtcG9yYXJ5Q29sb3IpO1xuICAgIH1cbiAgICBpZiAodGhpcy5waWNraW5nKSB7XG4gICAgICB0aGlzLnJlZHJhd1NlbGVjdG9yKCk7XG4gICAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgIH1cbiAgfVxuXG4gIHJlZHJhd1NlbGVjdG9yKCkge1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmNsZWFyUmVjdCgwLCAwLCB0aGlzLnNlbGVjdG9yQ29udGV4dC5jYW52YXMud2lkdGgsIHRoaXMuc2VsZWN0b3JDb250ZXh0LmNhbnZhcy5oZWlnaHQpO1xuICAgIHRoaXMuZHJhd0NvbG9yR3JhZGllbnQodGhpcy5zZWxlY3RvckNvbnRleHQsIGZhbHNlLCBbJyNmZmZmZmYnLCB0aGlzLmJhckNvbG9yXSk7XG4gICAgdGhpcy5kcmF3Q29sb3JHcmFkaWVudCh0aGlzLnNlbGVjdG9yQ29udGV4dCwgdHJ1ZSwgWydyZ2JhKDAsMCwwLDApJywgJyMwMDAnXSk7XG4gICAgdGhpcy5kcmF3U2VsZWN0b3JNYXJrZXIoKTtcbiAgfVxuXG4gIHJlZHJhd0JhcigpIHtcbiAgICB0aGlzLmJhckNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIHRoaXMuYmFyQ29udGV4dC5jYW52YXMud2lkdGgsIHRoaXMuYmFyQ29udGV4dC5jYW52YXMuaGVpZ2h0KTtcbiAgICB0aGlzLmRyYXdDb2xvckdyYWRpZW50KHRoaXMuYmFyQ29udGV4dCwgdHJ1ZSwgW1xuICAgICAgJyNGRjAwMDAnLFxuICAgICAgJyNmZmZmMDAnLFxuICAgICAgJyMwMEZGMDAnLFxuICAgICAgJyMwMEZGRkYnLFxuICAgICAgJyMwMDAwRkYnLFxuICAgICAgJyNGRjAwRkYnLFxuICAgICAgJyNGRjAwMDAnXG4gICAgXSk7XG4gICAgdGhpcy5kcmF3QmFyTWFya2VyKCk7XG4gIH1cblxuICBkcmF3Q29sb3JHcmFkaWVudChjdHh0OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHZlcnRpY2FsID0gdHJ1ZSwgY29sb3JzOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGdyYWRpZW50QXJnczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSB2ZXJ0aWNhbFxuICAgICAgPyBbMCwgMCwgMCwgY3R4dC5jYW52YXMuaGVpZ2h0XVxuICAgICAgOiBbMCwgMCwgY3R4dC5jYW52YXMud2lkdGgsIDBdO1xuICAgIGxldCBncmFkaWVudCA9IGN0eHQuY3JlYXRlTGluZWFyR3JhZGllbnQoLi4uZ3JhZGllbnRBcmdzKTtcbiAgICBjb2xvcnMuZm9yRWFjaCgoY29sb3IsIGlkeCkgPT4ge1xuICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKGlkeCAvIChjb2xvcnMubGVuZ3RoIC0gMSksIGNvbG9yKTtcbiAgICB9KTtcbiAgICBjdHh0LmZpbGxTdHlsZSA9IGdyYWRpZW50O1xuICAgIGN0eHQuZmlsbFJlY3QoMCwgMCwgY3R4dC5jYW52YXMud2lkdGgsIGN0eHQuY2FudmFzLmhlaWdodCk7XG4gIH1cblxuICBkcmF3U2VsZWN0b3JNYXJrZXIoKSB7XG4gICAgY29uc3QgZ3JhZGllbnQgPSB0aGlzLnNlbGVjdG9yQ29udGV4dC5jcmVhdGVSYWRpYWxHcmFkaWVudChcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblswXSxcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgIHRoaXMuaW5uZXJSYWRpdXMsXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMV0sXG4gICAgICB0aGlzLm91dGVyUmFkaXVzXG4gICAgKTtcbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgJ3JnYmEoMCwwLDAsMCknKTtcbiAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgJyNmZmZmZmYnKTtcblxuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmFyYyhcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblswXSxcbiAgICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgIHRoaXMub3V0ZXJSYWRpdXMsXG4gICAgICAwLFxuICAgICAgMiAqIE1hdGguUElcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZSA9IGdyYWRpZW50O1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGwoKTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5zdHJva2UoKTtcbiAgfVxuXG4gIGRyYXdCYXJNYXJrZXIoKSB7XG4gICAgdGhpcy5iYXJDb250ZXh0LnN0cm9rZVN0eWxlID0gJzJweCBzb2xpZCBibGFjayc7XG4gICAgdGhpcy5iYXJDb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5tb3ZlVG8oMCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiAtIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5saW5lVG8odGhpcy5iYXJDb250ZXh0LmNhbnZhcy53aWR0aCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiAtIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5zdHJva2UoKTtcbiAgICB0aGlzLmJhckNvbnRleHQuYmVnaW5QYXRoKCk7XG4gICAgdGhpcy5iYXJDb250ZXh0Lm1vdmVUbygwLCB0aGlzLm1hcmtlckJhclBvc2l0aW9uICsgdGhpcy5pbm5lclJhZGl1cyk7XG4gICAgdGhpcy5iYXJDb250ZXh0LmxpbmVUbyh0aGlzLmJhckNvbnRleHQuY2FudmFzLndpZHRoLCB0aGlzLm1hcmtlckJhclBvc2l0aW9uICsgdGhpcy5pbm5lclJhZGl1cyk7XG4gICAgdGhpcy5iYXJDb250ZXh0LnN0cm9rZSgpO1xuICB9XG5cbiAgc2VsZWN0Q29sb3IoJGV2ZW50OiBNb3VzZUV2ZW50LCB0ZW1wb3JhcnkgPSBmYWxzZSkge1xuICAgIC8vIFJlYWQgcGl4ZWwgQ29sb3JcbiAgICBjb25zdCBwaXhlbENvbG9yID0gdGhpcy5yZ2JUb0hleChcbiAgICAgIC4uLih0aGlzLnNlbGVjdG9yQ29udGV4dC5nZXRJbWFnZURhdGEoJGV2ZW50Lm9mZnNldFgsICRldmVudC5vZmZzZXRZLCAxLCAxKVsnZGF0YSddIGFzIHVua25vd24gYXMgW1xuICAgICAgICBudW1iZXIsXG4gICAgICAgIG51bWJlcixcbiAgICAgICAgbnVtYmVyXG4gICAgICBdKVxuICAgICk7XG4gICAgaWYgKCF0ZW1wb3JhcnkpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShwaXhlbENvbG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZW1wb3JhcnlDb2xvciA9IHBpeGVsQ29sb3I7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uID0gWyRldmVudC5vZmZzZXRYLCAkZXZlbnQub2Zmc2V0WV07XG4gICAgdGhpcy5yZWRyYXdTZWxlY3RvcigpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHNlbGVjdENvbG9yRnJvbUJhcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm1hcmtlckJhclBvc2l0aW9uID0gJGV2ZW50Lm9mZnNldFk7XG4gICAgdGhpcy5iYXJDb2xvciA9IHRoaXMucmdiVG9IZXgoXG4gICAgICAuLi4odGhpcy5iYXJDb250ZXh0LmdldEltYWdlRGF0YSgyMCwgJGV2ZW50Lm9mZnNldFksIDEsIDEpWydkYXRhJ10gYXMgdW5rbm93biBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pXG4gICAgKTtcbiAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgIHRoaXMucmVkcmF3U2VsZWN0b3IoKTtcbiAgICB0aGlzLnNlbGVjdENvbG9yKFxuICAgICAge1xuICAgICAgICBvZmZzZXRYOiB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICAgIG9mZnNldFk6IHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvblsxXSxcbiAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiAoKSA9PiAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIH0gYXMgdW5rbm93biBhcyBNb3VzZUV2ZW50LFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY29tcG9uZW50VG9IZXgoYzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGMudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyk7XG4gIH1cblxuICByZ2JUb0hleChyOiBudW1iZXIsIGc6IG51bWJlciwgYjogbnVtYmVyKSB7XG4gICAgcmV0dXJuICcjJyArIHRoaXMuY29tcG9uZW50VG9IZXgocikgKyB0aGlzLmNvbXBvbmVudFRvSGV4KGcpICsgdGhpcy5jb21wb25lbnRUb0hleChiKTtcbiAgfVxuXG4gIGNsaWNrSW5wdXQoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgaW5wdXRDb2xvcigkZXZlbnQ/OiBhbnkpIHtcbiAgICBjb25zdCBwb3NzaWJsZUNvbG9yID0gJGV2ZW50ICE9PSB1bmRlZmluZWQgPyAoJGV2ZW50LmluZGV4T2YoJyMnKSA9PT0gLTEgPyAnIycgKyAkZXZlbnQgOiAkZXZlbnQpIDogJyM0MEI2ODgnO1xuICAgIGlmICgvXiNbMC05QS1GXXs2fSQvaS50ZXN0KHBvc3NpYmxlQ29sb3IpKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUocG9zc2libGVDb2xvcik7XG4gICAgICBjb25zdCByZ2JhID0gdGhpcy5zdHJUb1JHQkEodGhpcy5jb2xvciEpO1xuICAgICAgY29uc3QgaHN2YSA9IHRoaXMuUkdCQXRvSFNWQShyZ2JhKTtcbiAgICAgIHRoaXMubWFya2VyQmFyUG9zaXRpb24gPSAodGhpcy5iYXJDb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBoc3ZhLmgpIC8gMzYwO1xuICAgICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uID0gW1xuICAgICAgICAodGhpcy5zZWxlY3RvckNvbnRleHQuY2FudmFzLndpZHRoICogaHN2YS5zKSAvIDEwMCxcbiAgICAgICAgdGhpcy5zZWxlY3RvckNvbnRleHQuY2FudmFzLmhlaWdodCAqICgxIC0gaHN2YS52IC8gMTAwKVxuICAgICAgXTtcbiAgICAgIHRoaXMuYmFyQ29sb3IgPSB0aGlzLmhzbFRvSGV4KGhzdmEuaCwgMTAwLCA1MCk7XG4gICAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgICAgdGhpcy5yZWRyYXdTZWxlY3RvcigpO1xuICAgIH1cbiAgfVxuXG4gIHN0clRvUkdCQShzdHI6IHN0cmluZykge1xuICAgIGNvbnN0IHJlZ2V4ID0gL14oKHJnYmEpfHJnYilbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSo/KFtcXGQuXSt8JCkvaTtcbiAgICBsZXQgbWF0Y2gsIHJnYmE7XG5cbiAgICAvLyBEZWZhdWx0IHRvIGJsYWNrIGZvciBpbnZhbGlkIGNvbG9yIHN0cmluZ3NcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGUgPSAnIzAwMCc7XG5cbiAgICAvLyBVc2UgY2FudmFzIHRvIGNvbnZlcnQgdGhlIHN0cmluZyB0byBhIHZhbGlkIGNvbG9yIHN0cmluZ1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZSA9IHN0cjtcbiAgICBtYXRjaCA9IHJlZ2V4LmV4ZWModGhpcy5zZWxlY3RvckNvbnRleHQuZmlsbFN0eWxlKTtcblxuICAgIGlmIChtYXRjaCkge1xuICAgICAgcmdiYSA9IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByOiBtYXRjaFszXSAqIDEsXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZzogbWF0Y2hbNF0gKiAxLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGI6IG1hdGNoWzVdICogMSxcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBhOiBtYXRjaFs2XSAqIDFcbiAgICAgIH07XG5cbiAgICAgIC8vIFdvcmthcm91bmQgdG8gbWl0aWdhdGUgYSBDaHJvbWl1bSBidWcgd2hlcmUgdGhlIGFscGhhIHZhbHVlIGlzIHJvdW5kZWQgaW5jb3JyZWN0bHlcbiAgICAgIHJnYmEuYSA9ICtyZ2JhLmEudG9GaXhlZCgyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWF0Y2ggPSB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGVcbiAgICAgICAgLnJlcGxhY2UoJyMnLCAnJylcbiAgICAgICAgLm1hdGNoKC8uezJ9L2cpIVxuICAgICAgICAubWFwKChoKSA9PiBwYXJzZUludChoLCAxNikpO1xuICAgICAgcmdiYSA9IHtcbiAgICAgICAgcjogbWF0Y2hbMF0sXG4gICAgICAgIGc6IG1hdGNoWzFdLFxuICAgICAgICBiOiBtYXRjaFsyXSxcbiAgICAgICAgYTogMVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmdiYTtcbiAgfVxuXG4gIFJHQkF0b0hTVkEocmdiYTogYW55KSB7XG4gICAgY29uc3QgcmVkID0gcmdiYS5yIC8gMjU1O1xuICAgIGNvbnN0IGdyZWVuID0gcmdiYS5nIC8gMjU1O1xuICAgIGNvbnN0IGJsdWUgPSByZ2JhLmIgLyAyNTU7XG4gICAgY29uc3QgeG1heCA9IE1hdGgubWF4KHJlZCwgZ3JlZW4sIGJsdWUpO1xuICAgIGNvbnN0IHhtaW4gPSBNYXRoLm1pbihyZWQsIGdyZWVuLCBibHVlKTtcbiAgICBjb25zdCBjaHJvbWEgPSB4bWF4IC0geG1pbjtcbiAgICBjb25zdCB2YWx1ZSA9IHhtYXg7XG4gICAgbGV0IGh1ZSA9IDA7XG4gICAgbGV0IHNhdHVyYXRpb24gPSAwO1xuXG4gICAgaWYgKGNocm9tYSkge1xuICAgICAgaWYgKHhtYXggPT09IHJlZCkge1xuICAgICAgICBodWUgPSAoZ3JlZW4gLSBibHVlKSAvIGNocm9tYTtcbiAgICAgIH1cbiAgICAgIGlmICh4bWF4ID09PSBncmVlbikge1xuICAgICAgICBodWUgPSAyICsgKGJsdWUgLSByZWQpIC8gY2hyb21hO1xuICAgICAgfVxuICAgICAgaWYgKHhtYXggPT09IGJsdWUpIHtcbiAgICAgICAgaHVlID0gNCArIChyZWQgLSBncmVlbikgLyBjaHJvbWE7XG4gICAgICB9XG4gICAgICBpZiAoeG1heCkge1xuICAgICAgICBzYXR1cmF0aW9uID0gY2hyb21hIC8geG1heDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBodWUgPSBNYXRoLmZsb29yKGh1ZSAqIDYwKTtcblxuICAgIHJldHVybiB7XG4gICAgICBoOiBodWUgPCAwID8gaHVlICsgMzYwIDogaHVlLFxuICAgICAgczogTWF0aC5yb3VuZChzYXR1cmF0aW9uICogMTAwKSxcbiAgICAgIHY6IE1hdGgucm91bmQodmFsdWUgKiAxMDApLFxuICAgICAgYTogcmdiYS5hXG4gICAgfTtcbiAgfVxuXG4gIGhzbFRvSGV4KGg6IG51bWJlciwgczogbnVtYmVyLCBsOiBudW1iZXIpIHtcbiAgICBzIC89IDEwMDtcbiAgICBsIC89IDEwMDtcblxuICAgIGxldCBjID0gKDEgLSBNYXRoLmFicygyICogbCAtIDEpKSAqIHMsXG4gICAgICB4ID0gYyAqICgxIC0gTWF0aC5hYnMoKChoIC8gNjApICUgMikgLSAxKSksXG4gICAgICBtID0gbCAtIGMgLyAyLFxuICAgICAgciA9IDAsXG4gICAgICBnID0gMCxcbiAgICAgIGIgPSAwO1xuXG4gICAgaWYgKDAgPD0gaCAmJiBoIDwgNjApIHtcbiAgICAgIHIgPSBjO1xuICAgICAgZyA9IHg7XG4gICAgICBiID0gMDtcbiAgICB9IGVsc2UgaWYgKDYwIDw9IGggJiYgaCA8IDEyMCkge1xuICAgICAgciA9IHg7XG4gICAgICBnID0gYztcbiAgICAgIGIgPSAwO1xuICAgIH0gZWxzZSBpZiAoMTIwIDw9IGggJiYgaCA8IDE4MCkge1xuICAgICAgciA9IDA7XG4gICAgICBnID0gYztcbiAgICAgIGIgPSB4O1xuICAgIH0gZWxzZSBpZiAoMTgwIDw9IGggJiYgaCA8IDI0MCkge1xuICAgICAgciA9IDA7XG4gICAgICBnID0geDtcbiAgICAgIGIgPSBjO1xuICAgIH0gZWxzZSBpZiAoMjQwIDw9IGggJiYgaCA8IDMwMCkge1xuICAgICAgciA9IHg7XG4gICAgICBnID0gMDtcbiAgICAgIGIgPSBjO1xuICAgIH0gZWxzZSBpZiAoMzAwIDw9IGggJiYgaCA8IDM2MCkge1xuICAgICAgciA9IGM7XG4gICAgICBnID0gMDtcbiAgICAgIGIgPSB4O1xuICAgIH1cbiAgICAvLyBIYXZpbmcgb2J0YWluZWQgUkdCLCBjb252ZXJ0IGNoYW5uZWxzIHRvIGhleFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByID0gTWF0aC5yb3VuZCgociArIG0pICogMjU1KS50b1N0cmluZygxNik7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGcgPSBNYXRoLnJvdW5kKChnICsgbSkgKiAyNTUpLnRvU3RyaW5nKDE2KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgYiA9IE1hdGgucm91bmQoKGIgKyBtKSAqIDI1NSkudG9TdHJpbmcoMTYpO1xuXG4gICAgLy8gUHJlcGVuZCAwcywgaWYgbmVjZXNzYXJ5XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmIChyLmxlbmd0aCA9PSAxKSByID0gJzAnICsgcjtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKGcubGVuZ3RoID09IDEpIGcgPSAnMCcgKyBnO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoYi5sZW5ndGggPT0gMSkgYiA9ICcwJyArIGI7XG5cbiAgICByZXR1cm4gJyMnICsgciArIGcgKyBiO1xuICB9XG5cbiAgbW91c2VNb3ZlKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICgkZXZlbnQuYnV0dG9ucyA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29sb3IoJGV2ZW50LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBtb3VzZVVwKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0Q29sb3IoJGV2ZW50LCBmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhLWNvbG9yLXBpY2tlclwiXG4gIChjbGljayk9XCJ0b2dnbGVQaWNrZXIoJGV2ZW50KVwiXG4gIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRlbXBvcmFyeUNvbG9yID8/IGNvbG9yXCJcbiAgW3RpdGxlXT1cImNvbG9yXCJcbiAgcm9sZT1cImJ1dHRvblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhLWNvbG9yLXBpY2tlcl9fbW9kYWxcIiBbc3R5bGUuZGlzcGxheV09XCJwaWNraW5nID8gJ2ZsZXgnIDogJ25vbmUnXCI+XG4gICAgPGRpdiBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbF9fYmFja2Ryb3BcIj5cbiAgICAgIDxjYW52YXNcbiAgICAgICAgI3NlbGVjdG9yXG4gICAgICAgIGNsYXNzPVwiYS1jb2xvci1waWNrZXJfX21vZGFsX19zZWxlY3RvclwiXG4gICAgICAgIChtb3VzZW1vdmUpPVwibW91c2VNb3ZlKCRldmVudClcIlxuICAgICAgICAobW91c2V1cCk9XCJtb3VzZVVwKCRldmVudClcIlxuICAgICAgICBoZWlnaHQ9XCIzMDBcIlxuICAgICAgICB3aWR0aD1cIjMwMFwiXG4gICAgICA+PC9jYW52YXM+XG4gICAgICA8Y2FudmFzXG4gICAgICAgICNiYXJcbiAgICAgICAgY2xhc3M9XCJhLWNvbG9yLXBpY2tlcl9fbW9kYWxfX2JhclwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDb2xvckZyb21CYXIoJGV2ZW50KVwiXG4gICAgICAgIGhlaWdodD1cIjMwMFwiXG4gICAgICAgIHdpZHRoPVwiNDBcIlxuICAgICAgPjwvY2FudmFzPlxuICAgICAgPGRpdiBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbF9faW5wdXRcIiAoY2xpY2spPVwiY2xpY2tJbnB1dCgkZXZlbnQpXCI+XG4gICAgICAgICM8aW5wdXQgW25nTW9kZWxdPVwiKGNvbG9yID8/ICcjJykuc3Vic3RyaW5nKDEpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiaW5wdXRDb2xvcigkZXZlbnQpXCIgI2lucHV0IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -72,10 +72,7 @@ export class PrySchemePickerComponent {
72
72
  }
73
73
  }
74
74
  addColorToScheme() {
75
- this.writeValue(this.schemeService
76
- .getSchemeColors(this.scheme$.getValue())
77
- .concat('#' + this.schemeService.randomColor())
78
- .join(','));
75
+ this.writeValue([this.schemeService.getSchemeColors(this.scheme$.getValue()), this.schemeService.randomColor()].join(','));
79
76
  }
80
77
  removeColorFromScheme(index) {
81
78
  const newScheme = [...this.schemeService.getSchemeColors(this.scheme$.getValue())];
@@ -101,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
101
98
  }
102
99
  ], template: "<div class=\"m-color-scheme\">\n <label class=\"a-label\" for=\"scheme\">{{ '@pry.widget.colorScheme' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"scheme$ | async\"\n [items]=\"schemes$ | async\"\n id=\"scheme\"\n bindValue=\"id\"\n bindLabel=\"label\"\n ></pry-select>\n</div>\n\n<div class=\"m-color-scheme__display\">\n <div class=\"m-color-scheme__display__item\" *ngFor=\"let colorScheme of schemeColors$ | async; let i = index\">\n <pry-color-picker [ngModel]=\"colorScheme\" (ngModelChange)=\"modifyColorScheme($event, i)\"></pry-color-picker>\n <button\n (click)=\"removeColorFromScheme(i)\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.widget.removeColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.removeColor' | i18n }}</span>\n <pry-icon iconSvg=\"trash\"></pry-icon>\n </button>\n </div>\n <button\n (click)=\"addColorToScheme()\"\n class=\"a-btn a-btn--primary a-btn--icon-only\"\n title=\"{{ '@pry.widget.addColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.addColor' | i18n }}</span>\n <pry-icon iconSvg=\"add\"></pry-icon>\n </button>\n</div>\n" }]
103
100
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.PrySchemeService }, { type: i2.PryI18nService }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBZXhELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxHQUFzQixFQUN0QixhQUErQixFQUMvQixXQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBWHJDLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDekIsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFakQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsSUFBSSxZQUFZLEdBQUcsQ0FB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RSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJ5U2NoZW1lU2VydmljZSB9IGZyb20gJy4vc2NoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNjaGVtZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlTY2hlbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2NoZW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuICBzY2hlbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdQcm92b2x5Jyk7XG4gIHNjaGVtZXMkOiBPYnNlcnZhYmxlPHsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W10+O1xuICBpbmhpYmF0ZSA9IHRydWU7XG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHNjaGVtZUNvbG9ycyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNjaGVtZVNlcnZpY2U6IFByeVNjaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zY2hlbWVzJCA9IHRoaXMuc2NoZW1lU2VydmljZS5zY2hlbWVJZHMkLnBpcGUoXG4gICAgICBtYXAoKHNjaGVtZXMpID0+IHtcbiAgICAgICAgbGV0IGN1c3RvbU51bWJlciA9IDE7XG4gICAgICAgIHJldHVybiBzY2hlbWVzLm1hcCgoc2NoZW1lLCBpZHgpID0+ICh7XG4gICAgICAgICAgaWQ6IHNjaGVtZSxcbiAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgIHNjaGVtZS5pbmRleE9mKCcjJykgPT09IDAgPyB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0Bwcnkud2lkZ2V0LmN1c3RvbScsIHsgaWQ6IGN1c3RvbU51bWJlcisrIH0pIDogc2NoZW1lXG4gICAgICAgIH0pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNjaGVtZUNvbG9ycyQgPSB0aGlzLnNjaGVtZSQucGlwZShtYXAoKHNjaGVtZSkgPT4gdGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyhzY2hlbWUpKSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICAvLyBEZWZpbmUgd2hhdCBzaG91bGQgaGFwcGVuIGluIHRoaXMgY29tcG9uZW50LCBpZiBzb21ldGhpbmcgY2hhbmdlcyBvdXRzaWRlXG4gIHdyaXRlVmFsdWUoc2NoZW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkgIT09IHNjaGVtZSAmJiAhdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5zY2hlbWUkLm5leHQoc2NoZW1lKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc2NoZW1lU2VydmljZS5hc3NlcnRTY2hlbWUodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy50ZW1wb3JhcnlEaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB0ZW1wb3JhcnlEaXNhYmxlKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pbmhpYmF0ZSA9IGZhbHNlO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlEaXNhYmxlKCk7XG4gIH1cblxuICBjaGFuZ2VDb2xvclNjaGVtZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQgPT09ICcjJykge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2NoZW1lU2VydmljZS5nZXRTY2hlbWVDb2xvcnModGhpcy5zY2hlbWVTZXJ2aWNlLmdldERlZmF1bHRTY2hlbWUoKSkuam9pbignLCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKCRldmVudCk7XG4gICAgfVxuICB9XG5cbiAgbW9kaWZ5Q29sb3JTY2hlbWUoJGV2ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUpIHtcbiAgICAgIGNvbnN0IG5ld1NjaGVtZSA9IFsuLi50aGlzLnNjaGVtZVNlcnZpY2UuZ2V0U2NoZW1lQ29sb3JzKHRoaXMuc2NoZW1lJC5nZXRWYWx1ZSgpKV07XG4gICAgICBuZXdTY2hlbWVbaW5kZXhdID0gJGV2ZW50O1xuICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1NjaGVtZS5qb2luKCcsJykpO1xuICAgIH1cbiAgfVxuXG4gIGFkZENvbG9yVG9TY2hlbWUoKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKFxuICAgICAgdGhpcy5zY2hlbWVTZXJ2aWNlXG4gICAgICAgIC5nZXRTY2hlbWVDb2xvcnModGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpXG4gICAgICAgIC5jb25jYXQoJyMnICsgdGhpcy5zY2hlbWVTZXJ2aWNlLnJhbmRvbUNvbG9yKCkpXG4gICAgICAgIC5qb2luKCcsJylcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlQ29sb3JGcm9tU2NoZW1lKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXdTY2hlbWUgPSBbLi4udGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSldO1xuICAgIG5ld1NjaGVtZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMud3JpdGVWYWx1ZShuZXdTY2hlbWUuam9pbignLCcpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lXCI+XG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJzY2hlbWVcIj57eyAnQHByeS53aWRnZXQuY29sb3JTY2hlbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gIDxwcnktc2VsZWN0XG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JTY2hlbWUoJGV2ZW50KVwiXG4gICAgW25nTW9kZWxdPVwic2NoZW1lJCB8IGFzeW5jXCJcbiAgICBbaXRlbXNdPVwic2NoZW1lcyQgfCBhc3luY1wiXG4gICAgaWQ9XCJzY2hlbWVcIlxuICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gID48L3ByeS1zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lX19kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJtLWNvbG9yLXNjaGVtZV9fZGlzcGxheV9faXRlbVwiICpuZ0Zvcj1cImxldCBjb2xvclNjaGVtZSBvZiBzY2hlbWVDb2xvcnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8cHJ5LWNvbG9yLXBpY2tlciBbbmdNb2RlbF09XCJjb2xvclNjaGVtZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGlmeUNvbG9yU2NoZW1lKCRldmVudCwgaSlcIj48L3ByeS1jb2xvci1waWNrZXI+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbG9yRnJvbVNjaGVtZShpKVwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgdGl0bGU9XCJ7eyAnQHByeS53aWRnZXQucmVtb3ZlQ29sb3InIHwgaTE4biB9fVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LndpZGdldC5yZW1vdmVDb2xvcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ0cmFzaFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKGNsaWNrKT1cImFkZENvbG9yVG9TY2hlbWUoKVwiXG4gICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICB0aXRsZT1cInt7ICdAcHJ5LndpZGdldC5hZGRDb2xvcicgfCBpMThuIH19XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS53aWRnZXQuYWRkQ29sb3InIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBZXhELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxHQUFzQixFQUN0QixhQUErQixFQUMvQixXQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBWHJDLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDekIsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFakQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsSUFBSSxZQUFZLEdBQUcsQ0FB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Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQcnlTY2hlbWVTZXJ2aWNlIH0gZnJvbSAnLi9zY2hlbWUuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2NoZW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByeVNjaGVtZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlTY2hlbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG4gIHNjaGVtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ1Byb3ZvbHknKTtcbiAgc2NoZW1lcyQ6IE9ic2VydmFibGU8eyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXT47XG4gIGluaGliYXRlID0gdHJ1ZTtcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgc2NoZW1lQ29sb3JzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2NoZW1lU2VydmljZTogUHJ5U2NoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNjaGVtZXMkID0gdGhpcy5zY2hlbWVTZXJ2aWNlLnNjaGVtZUlkcyQucGlwZShcbiAgICAgIG1hcCgoc2NoZW1lcykgPT4ge1xuICAgICAgICBsZXQgY3VzdG9tTnVtYmVyID0gMTtcbiAgICAgICAgcmV0dXJuIHNjaGVtZXMubWFwKChzY2hlbWUsIGlkeCkgPT4gKHtcbiAgICAgICAgICBpZDogc2NoZW1lLFxuICAgICAgICAgIGxhYmVsOlxuICAgICAgICAgICAgc2NoZW1lLmluZGV4T2YoJyMnKSA9PT0gMCA/IHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQHByeS53aWRnZXQuY3VzdG9tJywgeyBpZDogY3VzdG9tTnVtYmVyKysgfSkgOiBzY2hlbWVcbiAgICAgICAgfSkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc2NoZW1lQ29sb3JzJCA9IHRoaXMuc2NoZW1lJC5waXBlKG1hcCgoc2NoZW1lKSA9PiB0aGlzLnNjaGVtZVNlcnZpY2UuZ2V0U2NoZW1lQ29sb3JzKHNjaGVtZSkpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIC8vIERlZmluZSB3aGF0IHNob3VsZCBoYXBwZW4gaW4gdGhpcyBjb21wb25lbnQsIGlmIHNvbWV0aGluZyBjaGFuZ2VzIG91dHNpZGVcbiAgd3JpdGVWYWx1ZShzY2hlbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSAhPT0gc2NoZW1lICYmICF0aGlzLmluaGliYXRlKSB7XG4gICAgICB0aGlzLnNjaGVtZSQubmV4dChzY2hlbWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5zY2hlbWVTZXJ2aWNlLmFzc2VydFNjaGVtZSh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSk7XG4gICAgICB0aGlzLnRlbXBvcmFyeURpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHRlbXBvcmFyeURpc2FibGUoKSB7XG4gICAgdGhpcy5pbmhpYmF0ZSA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmluaGliYXRlID0gZmFsc2U7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBvcmFyeURpc2FibGUoKTtcbiAgfVxuXG4gIGNoYW5nZUNvbG9yU2NoZW1lKCRldmVudDogYW55KSB7XG4gICAgaWYgKCRldmVudCA9PT0gJyMnKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyh0aGlzLnNjaGVtZVNlcnZpY2UuZ2V0RGVmYXVsdFNjaGVtZSgpKS5qb2luKCcsJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBtb2RpZnlDb2xvclNjaGVtZSgkZXZlbnQ6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICghdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgY29uc3QgbmV3U2NoZW1lID0gWy4uLnRoaXMuc2NoZW1lU2VydmljZS5nZXRTY2hlbWVDb2xvcnModGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpXTtcbiAgICAgIG5ld1NjaGVtZVtpbmRleF0gPSAkZXZlbnQ7XG4gICAgICB0aGlzLndyaXRlVmFsdWUobmV3U2NoZW1lLmpvaW4oJywnKSk7XG4gICAgfVxuICB9XG5cbiAgYWRkQ29sb3JUb1NjaGVtZSgpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoXG4gICAgICBbdGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSksIHRoaXMuc2NoZW1lU2VydmljZS5yYW5kb21Db2xvcigpXS5qb2luKCcsJylcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlQ29sb3JGcm9tU2NoZW1lKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXdTY2hlbWUgPSBbLi4udGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSldO1xuICAgIG5ld1NjaGVtZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMud3JpdGVWYWx1ZShuZXdTY2hlbWUuam9pbignLCcpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lXCI+XG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJzY2hlbWVcIj57eyAnQHByeS53aWRnZXQuY29sb3JTY2hlbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gIDxwcnktc2VsZWN0XG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JTY2hlbWUoJGV2ZW50KVwiXG4gICAgW25nTW9kZWxdPVwic2NoZW1lJCB8IGFzeW5jXCJcbiAgICBbaXRlbXNdPVwic2NoZW1lcyQgfCBhc3luY1wiXG4gICAgaWQ9XCJzY2hlbWVcIlxuICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gID48L3ByeS1zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lX19kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJtLWNvbG9yLXNjaGVtZV9fZGlzcGxheV9faXRlbVwiICpuZ0Zvcj1cImxldCBjb2xvclNjaGVtZSBvZiBzY2hlbWVDb2xvcnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8cHJ5LWNvbG9yLXBpY2tlciBbbmdNb2RlbF09XCJjb2xvclNjaGVtZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGlmeUNvbG9yU2NoZW1lKCRldmVudCwgaSlcIj48L3ByeS1jb2xvci1waWNrZXI+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbG9yRnJvbVNjaGVtZShpKVwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgdGl0bGU9XCJ7eyAnQHByeS53aWRnZXQucmVtb3ZlQ29sb3InIHwgaTE4biB9fVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LndpZGdldC5yZW1vdmVDb2xvcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ0cmFzaFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKGNsaWNrKT1cImFkZENvbG9yVG9TY2hlbWUoKVwiXG4gICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICB0aXRsZT1cInt7ICdAcHJ5LndpZGdldC5hZGRDb2xvcicgfCBpMThuIH19XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS53aWRnZXQuYWRkQ29sb3InIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -28,14 +28,14 @@ export class PryDatasetCardComponent {
28
28
  this.consult.emit(this.dataset);
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCardComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCardComponent, selector: "pry-dataset-card", inputs: { dataset: "dataset" }, outputs: { consult: "consult" }, ngImport: i0, template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"a-h4 dataset-name\">{{ dataset.name }}</div>\n </div>\n <div class=\"o-pry-dataset-card__txt\">\n <div class=\"a-p\">\n <ng-container *ngIf=\"activeVersion$ | async; else noActiveVersion\">\n <p class=\"a-p -date\">{{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}</p>\n </ng-container>\n <ng-template #noActiveVersion>\n <span> {{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n </ng-template>\n <div class=\"o-pry-dataset-card__description-container\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i4.PryDatasetCssComponent, selector: "pry-dataset-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCardComponent, selector: "pry-dataset-card", inputs: { dataset: "dataset" }, outputs: { consult: "consult" }, ngImport: i0, template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"a-h4 dataset-name\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n </div>\n <div class=\"o-pry-dataset-card__txt\">\n <div class=\"a-p\">\n <ng-container *ngIf=\"activeVersion$ | async; else noActiveVersion\">\n <p class=\"a-p -date\">{{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}</p>\n </ng-container>\n <ng-template #noActiveVersion>\n <span> {{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n </ng-template>\n <div class=\"o-pry-dataset-card__description-container\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i4.PryDatasetCssComponent, selector: "pry-dataset-css" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }] }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCardComponent, decorators: [{
34
34
  type: Component,
35
- args: [{ selector: 'pry-dataset-card', template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"a-h4 dataset-name\">{{ dataset.name }}</div>\n </div>\n <div class=\"o-pry-dataset-card__txt\">\n <div class=\"a-p\">\n <ng-container *ngIf=\"activeVersion$ | async; else noActiveVersion\">\n <p class=\"a-p -date\">{{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}</p>\n </ng-container>\n <ng-template #noActiveVersion>\n <span> {{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n </ng-template>\n <div class=\"o-pry-dataset-card__description-container\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n" }]
35
+ args: [{ selector: 'pry-dataset-card', template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"a-h4 dataset-name\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n </div>\n <div class=\"o-pry-dataset-card__txt\">\n <div class=\"a-p\">\n <ng-container *ngIf=\"activeVersion$ | async; else noActiveVersion\">\n <p class=\"a-p -date\">{{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}</p>\n </ng-container>\n <ng-template #noActiveVersion>\n <span> {{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n </ng-template>\n <div class=\"o-pry-dataset-card__description-container\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n" }]
36
36
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { dataset: [{
37
37
  type: Input
38
38
  }], consult: [{
39
39
  type: Output
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBMkIsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFKdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFJYixDQUFDO0lBRXBDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDL0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FDRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQ2pILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUErQixFQUFFLFNBQWlCO1FBQ3BFLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQWUsV0FBVyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBN0JVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHlIQ1RwQyxxd0NBZ0NBOzsyRkR2QmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJbkIsT0FBTztzQkFBZixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YXNldCwgRGF0YXNldFZlcnNpb24sIERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzZXQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWNhcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgY29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldD4oKTtcbiAgZGF0YXNldFZlcnNpb25zJCE6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIGFjdGl2ZVZlcnNpb24kITogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMubWF0Y2hpbmdEYXRhc2V0VmVyc2lvbnModGhpcy5kYXRhc2V0LmlkKSlcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiBbLi4ucmVzXS5zb3J0KChhLCBiKSA9PiBiLnZlcnNpb24gLSBhLnZlcnNpb24pKSk7XG4gICAgdGhpcy5hY3RpdmVWZXJzaW9uJCA9IHRoaXMuZGF0YXNldFZlcnNpb25zJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAodmVyc2lvbnMpID0+XG4gICAgICAgICAgdmVyc2lvbnMuc29ydCgodjEsIHYyKSA9PiB2Mi52ZXJzaW9uIC0gdjEudmVyc2lvbikuZmluZCgodmVyc2lvbikgPT4gdmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScpPy5sYXN0TW9kaWZpZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdHJ1bmNhdGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBtYXhMZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGRlc2NyaXB0aW9uICYmIGRlc2NyaXB0aW9uLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uLnNsaWNlKDAsIG1heExlbmd0aCkgKyAnLi4uJztcbiAgICB9XG4gICAgcmV0dXJuIDxzdHJpbmc+ZGVzY3JpcHRpb247XG4gIH1cblxuICBnb1RvRGV0YWlsVmlldygpIHtcbiAgICB0aGlzLmNvbnN1bHQuZW1pdCh0aGlzLmRhdGFzZXQpO1xuICB9XG59XG4iLCI8cHJ5LWRhdGFzZXQtY3NzPjwvcHJ5LWRhdGFzZXQtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZFwiIChjbGljayk9XCJnb1RvRGV0YWlsVmlldygpXCI+XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2hlYWRlclwiPlxuICAgIDxpbWdcbiAgICAgIGFsdD1cIlwiXG4gICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICBbc3JjXT1cImRhdGFzZXQuaWQgfCB0cmFuc2xhdGVJZCA6IHsgdHlwZTogJ2RhdGFzb3VyY2UnLCBvdXRwdXQ6ICdpY29uJyB9IHwgYXN5bmNcIlxuICAgIC8+XG4gICAgPGRpdiBjbGFzcz1cImEtaDQgZGF0YXNldC1uYW1lXCI+e3sgZGF0YXNldC5uYW1lIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1wcnktZGF0YXNldC1jYXJkX190eHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYS1wXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVmVyc2lvbiQgfCBhc3luYzsgZWxzZSBub0FjdGl2ZVZlcnNpb25cIj5cbiAgICAgICAgPHAgY2xhc3M9XCJhLXAgLWRhdGVcIj57eyAnQHByeS5kYXRhc2V0LnNpbmNlX2RheScgfCBpMThuIH19IHt7IChhY3RpdmVWZXJzaW9uJCB8IGFzeW5jKSEgfCBzaW5jZURhdGUgfX08L3A+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9BY3RpdmVWZXJzaW9uPlxuICAgICAgICA8c3Bhbj4ge3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktZGF0YXNldC1jYXJkX19kZXNjcmlwdGlvbi1jb250YWluZXJcIiBlbGxpcHNpcyB0ZXh0RWxlbWVudFNlbGVjdG9yPVwiLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IHRydW5jYXRlRGVzY3JpcHRpb24oZGF0YXNldC5kZXNjcmlwdGlvbiwgMTAwKSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2Zvb3RlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0blwiPlxuICAgICAge3sgJ0BwcnkuZGF0YXNldC5jb25zdWx0JyB8IGkxOG4gfX1cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImFycm93X3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBMkIsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFKdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFJYixDQUFDO0lBRXBDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDL0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FDRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQ2pILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUErQixFQUFFLFNBQWlCO1FBQ3BFLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQWUsV0FBVyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBN0JVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHlIQ1RwQyxpMUNBa0NBOzsyRkR6QmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJbkIsT0FBTztzQkFBZixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YXNldCwgRGF0YXNldFZlcnNpb24sIERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzZXQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWNhcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgY29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldD4oKTtcbiAgZGF0YXNldFZlcnNpb25zJCE6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIGFjdGl2ZVZlcnNpb24kITogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMubWF0Y2hpbmdEYXRhc2V0VmVyc2lvbnModGhpcy5kYXRhc2V0LmlkKSlcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiBbLi4ucmVzXS5zb3J0KChhLCBiKSA9PiBiLnZlcnNpb24gLSBhLnZlcnNpb24pKSk7XG4gICAgdGhpcy5hY3RpdmVWZXJzaW9uJCA9IHRoaXMuZGF0YXNldFZlcnNpb25zJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAodmVyc2lvbnMpID0+XG4gICAgICAgICAgdmVyc2lvbnMuc29ydCgodjEsIHYyKSA9PiB2Mi52ZXJzaW9uIC0gdjEudmVyc2lvbikuZmluZCgodmVyc2lvbikgPT4gdmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScpPy5sYXN0TW9kaWZpZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdHJ1bmNhdGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBtYXhMZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGRlc2NyaXB0aW9uICYmIGRlc2NyaXB0aW9uLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uLnNsaWNlKDAsIG1heExlbmd0aCkgKyAnLi4uJztcbiAgICB9XG4gICAgcmV0dXJuIDxzdHJpbmc+ZGVzY3JpcHRpb247XG4gIH1cblxuICBnb1RvRGV0YWlsVmlldygpIHtcbiAgICB0aGlzLmNvbnN1bHQuZW1pdCh0aGlzLmRhdGFzZXQpO1xuICB9XG59XG4iLCI8cHJ5LWRhdGFzZXQtY3NzPjwvcHJ5LWRhdGFzZXQtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZFwiIChjbGljayk9XCJnb1RvRGV0YWlsVmlldygpXCI+XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2hlYWRlclwiPlxuICAgIDxpbWdcbiAgICAgIGFsdD1cIlwiXG4gICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICBbc3JjXT1cImRhdGFzZXQuaWQgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ2ljb24nIH0gfCBhc3luY1wiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiYS1oNCBkYXRhc2V0LW5hbWVcIiBlbGxpcHNpcyB0ZXh0RWxlbWVudFNlbGVjdG9yPVwiLmEtaDRcIj5cbiAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyBkYXRhc2V0Lm5hbWUgfX08L2g0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZF9fdHh0XCI+XG4gICAgPGRpdiBjbGFzcz1cImEtcFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZVZlcnNpb24kIHwgYXN5bmM7IGVsc2Ugbm9BY3RpdmVWZXJzaW9uXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiYS1wIC1kYXRlXCI+e3sgJ0BwcnkuZGF0YXNldC5zaW5jZV9kYXknIHwgaTE4biB9fSB7eyAoYWN0aXZlVmVyc2lvbiQgfCBhc3luYykhIHwgc2luY2VEYXRlIH19PC9wPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI25vQWN0aXZlVmVyc2lvbj5cbiAgICAgICAgPHNwYW4+IHt7ICdAcHJ5LmRhdGFzZXQubm9BY3RpdmVWZXJzaW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZF9fZGVzY3JpcHRpb24tY29udGFpbmVyXCIgZWxsaXBzaXMgdGV4dEVsZW1lbnRTZWxlY3Rvcj1cIi5kZXNjcmlwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyB0cnVuY2F0ZURlc2NyaXB0aW9uKGRhdGFzZXQuZGVzY3JpcHRpb24sIDEwMCkgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiby1wcnktZGF0YXNldC1jYXJkX19mb290ZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG5cIj5cbiAgICAgIHt7ICdAcHJ5LmRhdGFzZXQuY29uc3VsdCcgfCBpMThuIH19XG4gICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiIGljb25Tdmc9XCJhcnJvd19yaWdodFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=