@bravobit/bb-foundation 0.42.0 → 0.42.1

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 (188) hide show
  1. package/auth/lib/auth.interceptor.d.ts +3 -6
  2. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +2 -5
  3. package/dialog/lib/dialog-container/dialog-container.component.d.ts +4 -6
  4. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
  5. package/esm2022/auth/lib/auth.interceptor.mjs +36 -42
  6. package/esm2022/auth/lib/auth.module.mjs +4 -4
  7. package/esm2022/auth/lib/auth.service.mjs +18 -7
  8. package/esm2022/auth/lib/auth.session.mjs +26 -22
  9. package/esm2022/auth/lib/directives/authenticated.directive.mjs +16 -12
  10. package/esm2022/auth/lib/helpers/jwt.helper.mjs +29 -31
  11. package/esm2022/auth/lib/providers/email.provider.mjs +4 -1
  12. package/esm2022/auth/lib/providers/verify.provider.mjs +4 -1
  13. package/esm2022/collections/lib/collection.mjs +17 -7
  14. package/esm2022/collections/lib/collections.module.mjs +6 -6
  15. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +7 -9
  16. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +11 -11
  17. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +10 -10
  18. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +16 -16
  19. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +9 -11
  20. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +12 -9
  21. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +10 -7
  22. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +6 -3
  23. package/esm2022/collections/lib/directives/collections-data.directive.mjs +6 -3
  24. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +6 -3
  25. package/esm2022/collections/lib/directives/collections-error.directive.mjs +6 -3
  26. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +4 -3
  27. package/esm2022/collections/lib/directives/collections-item.directive.mjs +6 -3
  28. package/esm2022/collections/lib/providers/api-collection.provider.mjs +6 -4
  29. package/esm2022/collections/lib/providers/local-collection.provider.mjs +2 -2
  30. package/esm2022/combobox/combobox/combobox-container.directive.mjs +12 -7
  31. package/esm2022/combobox/combobox/combobox.component.mjs +23 -20
  32. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  33. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  34. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +10 -6
  35. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +13 -13
  36. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +5 -7
  37. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +8 -10
  38. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +5 -7
  39. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +12 -13
  40. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +13 -12
  41. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +7 -5
  42. package/esm2022/dashboard/lib/dashboard.module.mjs +5 -5
  43. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  44. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +21 -20
  45. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +19 -24
  46. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -7
  47. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  48. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +9 -6
  49. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +19 -26
  50. package/esm2022/dialog/lib/dialog.insertion.mjs +4 -3
  51. package/esm2022/dialog/lib/dialog.interfaces.mjs +4 -1
  52. package/esm2022/dialog/lib/dialog.module.mjs +6 -6
  53. package/esm2022/dialog/lib/dialog.ref.mjs +4 -6
  54. package/esm2022/dialog/lib/dialog.service.mjs +5 -3
  55. package/esm2022/dialog/lib/directives/confirm.directive.mjs +12 -14
  56. package/esm2022/elements/lib/avatar/avatar.component.mjs +75 -77
  57. package/esm2022/elements/lib/button/button.component.mjs +12 -10
  58. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +21 -17
  59. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +8 -10
  60. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +82 -76
  61. package/esm2022/elements/lib/directives/addon.directive.mjs +5 -5
  62. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +7 -9
  63. package/esm2022/elements/lib/directives/form-submit.directive.mjs +6 -3
  64. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +5 -7
  65. package/esm2022/elements/lib/directives/image-upload.directive.mjs +14 -11
  66. package/esm2022/elements/lib/directives/input.directive.mjs +6 -4
  67. package/esm2022/elements/lib/elements.module.mjs +6 -6
  68. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +52 -51
  69. package/esm2022/elements/lib/form-control/form-control.component.mjs +14 -14
  70. package/esm2022/elements/lib/form-error/form-error.component.mjs +16 -8
  71. package/esm2022/elements/lib/form-group/form-group.component.mjs +5 -7
  72. package/esm2022/elements/lib/icon/icon.component.mjs +14 -13
  73. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +20 -17
  74. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +28 -24
  75. package/esm2022/elements/lib/pipes/date.pipe.mjs +6 -8
  76. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +6 -3
  77. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +13 -15
  78. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +37 -35
  79. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +8 -7
  80. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +21 -20
  81. package/esm2022/elements/lib/spinner/spinner.component.mjs +7 -9
  82. package/esm2022/http/lib/classes/http.config.mjs +19 -15
  83. package/esm2022/http/lib/http.interfaces.mjs +1 -1
  84. package/esm2022/http/lib/http.module.mjs +5 -4
  85. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +12 -20
  86. package/esm2022/http/lib/interceptors/error.interceptor.mjs +9 -14
  87. package/esm2022/lib/core/services/exif.service.mjs +102 -100
  88. package/esm2022/lib/core/services/file-loader.service.mjs +15 -17
  89. package/esm2022/lib/core/services/files.service.mjs +7 -3
  90. package/esm2022/lib/core/services/image-converter.service.mjs +33 -30
  91. package/esm2022/lib/core/services/languages.service.mjs +25 -24
  92. package/esm2022/lib/core/services/network.service.mjs +8 -5
  93. package/esm2022/lib/core/services/patch.service.mjs +9 -6
  94. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +7 -1
  95. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +2 -4
  96. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +2 -1
  97. package/esm2022/localize/lib/handlers/missing.handler.mjs +2 -4
  98. package/esm2022/localize/lib/localize.module.mjs +5 -5
  99. package/esm2022/localize/lib/localize.pipe.mjs +4 -3
  100. package/esm2022/localize/lib/localize.service.mjs +30 -21
  101. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +5 -1
  102. package/esm2022/localize/lib/transforms/plural.transform.mjs +6 -4
  103. package/esm2022/localize/lib/transforms/reference.transform.mjs +3 -1
  104. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +14 -11
  105. package/esm2022/localize/lib/views/localize-template.directive.mjs +6 -5
  106. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +11 -6
  107. package/esm2022/masking/lib/directives/date-mask.directive.mjs +11 -6
  108. package/esm2022/masking/lib/directives/input-mask.directive.mjs +21 -14
  109. package/esm2022/masking/lib/masking.module.mjs +5 -5
  110. package/esm2022/masking/lib/masking.service.mjs +4 -3
  111. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +50 -36
  112. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +8 -7
  113. package/esm2022/notifications/lib/notifications.interfaces.mjs +10 -1
  114. package/esm2022/notifications/lib/notifications.module.mjs +4 -4
  115. package/esm2022/notifications/lib/notifications.service.mjs +24 -10
  116. package/esm2022/permissions/lib/directives/permission.directive.mjs +20 -14
  117. package/esm2022/permissions/lib/handlers/local.handler.mjs +3 -1
  118. package/esm2022/permissions/lib/permissions.interface.mjs +4 -1
  119. package/esm2022/permissions/lib/permissions.module.mjs +4 -4
  120. package/esm2022/permissions/lib/permissions.service.mjs +8 -7
  121. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +34 -27
  122. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +15 -15
  123. package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
  124. package/esm2022/select/lib/select/select.component.mjs +52 -47
  125. package/esm2022/select/lib/select-label.directive.mjs +4 -3
  126. package/esm2022/select/lib/select-multi-label.directive.mjs +4 -3
  127. package/esm2022/select/lib/select-option-group.directive.mjs +4 -3
  128. package/esm2022/select/lib/select-option.directive.mjs +4 -3
  129. package/esm2022/select/lib/select.module.mjs +5 -5
  130. package/esm2022/storage/lib/storage.service.mjs +25 -21
  131. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +66 -64
  132. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +16 -18
  133. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +31 -30
  134. package/esm2022/table/lib/components/table/table.component.mjs +30 -20
  135. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  136. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +15 -11
  137. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +18 -16
  138. package/esm2022/table/lib/data/datasource.data.mjs +4 -6
  139. package/esm2022/table/lib/data/generic.data.mjs +38 -36
  140. package/esm2022/table/lib/table.module.mjs +6 -6
  141. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +5 -7
  142. package/esm2022/tooltip/lib/tooltip.directive.mjs +15 -15
  143. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  144. package/esm2022/utils/lib/directives/autosize.directive.mjs +9 -7
  145. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +24 -22
  146. package/esm2022/utils/lib/directives/focus.directive.mjs +8 -5
  147. package/esm2022/utils/lib/directives/template.directive.mjs +7 -3
  148. package/esm2022/utils/lib/utils.module.mjs +5 -5
  149. package/fesm2022/bravobit-bb-foundation-auth.mjs +127 -110
  150. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  151. package/fesm2022/bravobit-bb-foundation-collections.mjs +123 -93
  152. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  153. package/fesm2022/bravobit-bb-foundation-combobox.mjs +46 -34
  154. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  155. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +60 -64
  156. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  157. package/fesm2022/bravobit-bb-foundation-dialog.mjs +97 -103
  158. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  159. package/fesm2022/bravobit-bb-foundation-elements.mjs +468 -440
  160. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  161. package/fesm2022/bravobit-bb-foundation-http.mjs +40 -46
  162. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  163. package/fesm2022/bravobit-bb-foundation-localize.mjs +74 -49
  164. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  165. package/fesm2022/bravobit-bb-foundation-masking.mjs +47 -29
  166. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  167. package/fesm2022/bravobit-bb-foundation-notifications.mjs +91 -53
  168. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  169. package/fesm2022/bravobit-bb-foundation-permissions.mjs +34 -22
  170. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  171. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +50 -43
  172. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  173. package/fesm2022/bravobit-bb-foundation-select.mjs +67 -58
  174. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  175. package/fesm2022/bravobit-bb-foundation-storage.mjs +134 -129
  176. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  177. package/fesm2022/bravobit-bb-foundation-table.mjs +107 -91
  178. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  179. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +21 -23
  180. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  181. package/fesm2022/bravobit-bb-foundation-utils.mjs +48 -37
  182. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  183. package/fesm2022/bravobit-bb-foundation.mjs +192 -178
  184. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  185. package/http/lib/http.interfaces.d.ts +2 -1
  186. package/http/lib/interceptors/base-url.interceptor.d.ts +2 -4
  187. package/http/lib/interceptors/error.interceptor.d.ts +1 -3
  188. package/package.json +13 -13
@@ -4,6 +4,26 @@ import { NgTemplateOutlet } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/platform";
6
6
  export class BbNotificationsItem {
7
+ _zone;
8
+ _platform;
9
+ _changeDetection;
10
+ // Inputs.
11
+ notification;
12
+ dismissButtonText;
13
+ // Elements.
14
+ progressElementRef;
15
+ // Data.
16
+ _progress = 0;
17
+ _count = 0;
18
+ // Helper variables.
19
+ _steps;
20
+ _speed;
21
+ _timer;
22
+ _startTime;
23
+ _difference;
24
+ // Data.
25
+ _radius = 19;
26
+ _circumference = this._radius * 2 * Math.PI;
7
27
  get getClass() {
8
28
  return `bb-notifications-item ${this.notification.type}`;
9
29
  }
@@ -11,39 +31,6 @@ export class BbNotificationsItem {
11
31
  this._zone = _zone;
12
32
  this._platform = _platform;
13
33
  this._changeDetection = _changeDetection;
14
- // Data.
15
- this._progress = 0;
16
- this._count = 0;
17
- // Data.
18
- this._radius = 19;
19
- this._circumference = this._radius * 2 * Math.PI;
20
- this.callActionAndDestroy = (notification, action) => {
21
- // Perform the callback (if it exists).
22
- action && action.callback && action.callback();
23
- // Call the destroy method (if it exists).
24
- notification && notification.destroy && notification.destroy();
25
- };
26
- this.instance = () => {
27
- // Calculate the difference.
28
- this._difference = (Date.now() - this._startTime) - (this._count * this._speed);
29
- // Add up the count.
30
- if (this._count++ === this._steps) {
31
- this.notification.destroy();
32
- }
33
- // Add the steps to the progress.
34
- this._progress += 100 / this._steps;
35
- // Set a new timer.
36
- this._timer = this.setTimeout(this.instance, this._speed - this._difference);
37
- // Run a new change detection cycle.
38
- this._zone.run(() => this._changeDetection.detectChanges());
39
- };
40
- this.setTimeout = (method, timeout) => {
41
- // Check if the window and method exist.
42
- if (!window || !window.setTimeout) {
43
- return null;
44
- }
45
- return window.setTimeout(method, timeout);
46
- };
47
34
  }
48
35
  get progressStrokeArray() {
49
36
  const value = Math.floor(this._circumference);
@@ -68,6 +55,12 @@ export class BbNotificationsItem {
68
55
  // Clear the timeout if it was set.
69
56
  this._timer && window && window.clearTimeout && window.clearTimeout(this._timer);
70
57
  }
58
+ callActionAndDestroy = (notification, action) => {
59
+ // Perform the callback (if it exists).
60
+ action && action.callback && action.callback();
61
+ // Call the destroy method (if it exists).
62
+ notification && notification.destroy && notification.destroy();
63
+ };
71
64
  startTimeout() {
72
65
  // Calculate the steps of the timeout.
73
66
  this._steps = this.notification.timeout / 10;
@@ -78,8 +71,29 @@ export class BbNotificationsItem {
78
71
  // Set a new timer outside of Angular.
79
72
  this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
80
73
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbNotificationsItem, isStandalone: true, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n @if (notification?.timeout > 0) {\n <svg class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n }\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n @if (isContentString) {\n @switch (notification?.localize) {\n @case (true) {\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n }\n @default {\n {{ notification?.content }}\n }\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n }\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n@if (notification?.actions?.length > 0 || notification?.dismiss) {\n <div class=\"notification-actions\">\n @for (action of notification?.actions; track $index) {\n <button [class.destructive]=\"action?.type === 'cancel'\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n class=\"notification-actions-button\">\n <span class=\"notification-actions-button-highlight\">\n @if (notification?.localize) {\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n } @else {\n {{ action?.title }}\n }\n </span>\n </button>\n }\n @if (notification?.dismiss) {\n <button (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span\n class=\"notification-actions-button-highlight\">{{ notification?.dismissText || dismissButtonText }}</span>\n </button>\n }\n </div>\n}\n", styles: [".bb-notifications-item{display:flex;border-radius:.25rem;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{display:flex;padding:1.5rem;align-items:center}.notification-icon-wrapper{width:2.5rem;display:flex;height:2.5rem;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:.75rem;fill:currentColor}.notification-content{flex:1;line-height:1.5;font-weight:500;font-size:.875rem;margin-left:1.5rem;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 1.5rem;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-weight:500;text-align:center;font-size:.875rem;padding:.75rem .125rem;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{display:inline-flex;border-radius:.75rem;padding:.25rem .75rem;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ instance = () => {
75
+ // Calculate the difference.
76
+ this._difference = (Date.now() - this._startTime) - (this._count * this._speed);
77
+ // Add up the count.
78
+ if (this._count++ === this._steps) {
79
+ this.notification.destroy();
80
+ }
81
+ // Add the steps to the progress.
82
+ this._progress += 100 / this._steps;
83
+ // Set a new timer.
84
+ this._timer = this.setTimeout(this.instance, this._speed - this._difference);
85
+ // Run a new change detection cycle.
86
+ this._zone.run(() => this._changeDetection.detectChanges());
87
+ };
88
+ setTimeout = (method, timeout) => {
89
+ // Check if the window and method exist.
90
+ if (!window || !window.setTimeout) {
91
+ return null;
92
+ }
93
+ return window.setTimeout(method, timeout);
94
+ };
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbNotificationsItem, isStandalone: true, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n @if (notification?.timeout > 0) {\n <svg class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n }\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n @if (isContentString) {\n @switch (notification?.localize) {\n @case (true) {\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n }\n @default {\n {{ notification?.content }}\n }\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n }\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n@if (notification?.actions?.length > 0 || notification?.dismiss) {\n <div class=\"notification-actions\">\n @for (action of notification?.actions; track $index) {\n <button [class.destructive]=\"action?.type === 'cancel'\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n class=\"notification-actions-button\">\n <span class=\"notification-actions-button-highlight\">\n @if (notification?.localize) {\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n } @else {\n {{ action?.title }}\n }\n </span>\n </button>\n }\n @if (notification?.dismiss) {\n <button (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span\n class=\"notification-actions-button-highlight\">{{ notification?.dismissText || dismissButtonText }}</span>\n </button>\n }\n </div>\n}\n", styles: [".bb-notifications-item{display:flex;border-radius:.25rem;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{display:flex;padding:1.5rem;align-items:center}.notification-icon-wrapper{width:2.5rem;display:flex;height:2.5rem;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:.75rem;fill:currentColor}.notification-content{flex:1;line-height:1.5;font-weight:500;font-size:.875rem;margin-left:1.5rem;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 1.5rem;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-weight:500;text-align:center;font-size:.875rem;padding:.75rem .125rem;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{display:inline-flex;border-radius:.75rem;padding:.25rem .75rem;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
97
  }
84
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsItem, decorators: [{
85
99
  type: Component,
@@ -95,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
95
109
  type: HostBinding,
96
110
  args: ['class']
97
111
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUE2QixTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0ssT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFjakQsTUFBTSxPQUFPLG1CQUFtQjtJQXdCNUIsSUFBMEIsUUFBUTtRQUM5QixPQUFPLHlCQUF5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUFvQixLQUFhLEVBQ2IsU0FBbUIsRUFDbkIsZ0JBQW1DO1FBRm5DLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFyQnZELFFBQVE7UUFDQSxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsV0FBTSxHQUFHLENBQUMsQ0FBQztRQVNuQixRQUFRO1FBQ1MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFB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O1FBQ2hCLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUU3QyxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXRELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3QixzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDOzhHQWxGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix3V0NqQmhDLDBzSEFtR0EsMDJGRHBGYyxnQkFBZ0IsK0lBQUUsVUFBVTs7MkZBRTdCLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLHVCQUNGLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUM7a0lBSzlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdpQixrQkFBa0I7c0JBQXhDLFNBQVM7dUJBQUMsVUFBVTtnQkFpQkssUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25BY3Rpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsncm9sZSc6ICdhbGVydCd9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEJiTG9jYWxpemVdXG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0l0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gICAgQElucHV0KCkgZGlzbWlzc0J1dHRvblRleHQ6IHN0cmluZyB8IG51bGw7XG5cbiAgICAvLyBFbGVtZW50cy5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzcycpIHByb2dyZXNzRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3MgPSAwO1xuICAgIHByaXZhdGUgX2NvdW50ID0gMDtcblxuICAgIC8vIEhlbHBlciB2YXJpYWJsZXMuXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zcGVlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3RpbWVyOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3RhcnRUaW1lOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGlmZmVyZW5jZTogbnVtYmVyO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpdXMgPSAxOTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaXJjdW1mZXJlbmNlID0gdGhpcy5fcmFkaXVzICogMiAqIE1hdGguUEk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYGJiLW5vdGlmaWNhdGlvbnMtaXRlbSAke3RoaXMubm90aWZpY2F0aW9uLnR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgcHJvZ3Jlc3NTdHJva2VBcnJheSgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHRoaXMuX2NpcmN1bWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gYCR7dmFsdWV9LCAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlIC0gdGhpcy5fcHJvZ3Jlc3MgLyAxMDAgKiB0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb250ZW50U3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMubm90aWZpY2F0aW9uLmNvbnRlbnQgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbm90aWZpY2F0aW9uIHRpbWVvdXQgaXMgbm90IDAgYW5kIHRoZSBwbGF0Zm9ybSBpcyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbi50aW1lb3V0IDw9IDAgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGlzbWlzcyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgdGltZW91dC5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVvdXQgaWYgaXQgd2FzIHNldC5cbiAgICAgICAgdGhpcy5fdGltZXIgJiYgd2luZG93ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQgJiYgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XG4gICAgfVxuXG4gICAgY2FsbEFjdGlvbkFuZERlc3Ryb3kgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKSA9PiB7XG4gICAgICAgIC8vIFBlcmZvcm0gdGhlIGNhbGxiYWNrIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBhY3Rpb24gJiYgYWN0aW9uLmNhbGxiYWNrICYmIGFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGRlc3Ryb3kgbWV0aG9kIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3kgJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVvdXQoKSB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RlcHMgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3N0ZXBzID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIDEwO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3BlZWQgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3NwZWVkID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIEdldCB0aGUgc3RhcnQgdGltZS5cbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIgb3V0c2lkZSBvZiBBbmd1bGFyLlxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnN0YW5jZSA9ICgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICB0aGlzLl9kaWZmZXJlbmNlID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydFRpbWUpIC0gKHRoaXMuX2NvdW50ICogdGhpcy5fc3BlZWQpO1xuXG4gICAgICAgIC8vIEFkZCB1cCB0aGUgY291bnQuXG4gICAgICAgIGlmICh0aGlzLl9jb3VudCsrID09PSB0aGlzLl9zdGVwcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBzdGVwcyB0byB0aGUgcHJvZ3Jlc3MuXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzICs9IDEwMCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIFNldCBhIG5ldyB0aW1lci5cbiAgICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLnNldFRpbWVvdXQodGhpcy5pbnN0YW5jZSwgdGhpcy5fc3BlZWQgLSB0aGlzLl9kaWZmZXJlbmNlKTtcblxuICAgICAgICAvLyBSdW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0VGltZW91dCA9IChtZXRob2Q6ICgpID0+IHZvaWQsIHRpbWVvdXQ6IG51bWJlcikgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgd2luZG93IGFuZCBtZXRob2QgZXhpc3QuXG4gICAgICAgIGlmICghd2luZG93IHx8ICF3aW5kb3cuc2V0VGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQobWV0aG9kLCB0aW1lb3V0KTtcbiAgICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGljb24gZm9yIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICAgICAgVGhlIGljb24gaXMgcmVmbGVjdGVkIGJ5IHRoZSB0eXBlIG9mIHRoZVxuICAgICAgICBub3RpZmljYXRpb24uIFNhbWUgZ29lcyBmb3IgdGhlIGNvbG9yIGFuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIC0tPlxuICAgIDxkaXYgW3N0eWxlLmNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uY29sb3JcIlxuICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwibm90aWZpY2F0aW9uPy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxOS41XCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCAxOS41YzEuMSAwIDItLjkgMi0ySDZjMCAxLjEuOSAyIDIgMnpNMTQgMTMuNXYtNWMwLTMuMS0xLjYtNS42LTQuNS02LjN2LS43QzkuNS43IDguOCAwIDggMFM2LjUuNyA2LjUgMS41di43QzMuNiAyLjkgMiA1LjQgMiA4LjV2NWwtMiAydjFoMTZ2LTFsLTItMnpcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIGNpcmN1bGFyIHByb2dyZXNzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgICAgICBUaGUgcHJvZ3Jlc3MgaXMgb25seSB2aXNpYmxlIHdoZW4gYSB0aW1lb3V0IGlzXG4gICAgICAgICAgICBzZXQuIFRoZSBwcm9ncmVzcyBhZGFwdHMgdG8gdGhlIHRpbWUgcmVtYWluaW5nXG4gICAgICAgICAgICBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgLS0+XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy50aW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm5vdGlmaWNhdGlvbi1wcm9ncmVzcy1yaW5nXCJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiPlxuICAgICAgICAgICAgICAgIDxjaXJjbGUgI3Byb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInByb2dyZXNzU3Ryb2tlQXJyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlLWRhc2hvZmZzZXRdPVwicHJvZ3Jlc3NTdHJva2VPZmZzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnN0cm9rZV09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLXByb2dyZXNzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3g9XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjeT1cIjIwXCI+XG4gICAgICAgICAgICAgICAgPC9jaXJjbGU+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLVxuICAgICAgICBUaGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICBUaGlzIGRpc3BsYXlzIGEgc3RyaW5nIG9yIGEgdGVtcGxhdGUgYmFzZWRcbiAgICAgICAgb24gdGhlIGdpdmVuIHBhcmFtZXRlciBieSB0aGUgdXNlci5cbiAgICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgQGlmIChpc0NvbnRlbnRTdHJpbmcpIHtcbiAgICAgICAgICAgIEBzd2l0Y2ggKG5vdGlmaWNhdGlvbj8ubG9jYWxpemUpIHtcbiAgICAgICAgICAgICAgICBAY2FzZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB7eyAkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudCkgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uPy5jb250ZW50IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS1cbiAgICBUaGUgYWN0aW9ucyBvZiB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgQWxsIGFjdGlvbnMgYXJlIGRpc3BsYXllZCBoZXJlIGFuZCBhcmVcbiAgICBiYXNlZCBvbiB0aGUgYWN0aW9ucyBhcnJheSB0aGUgdXNlciBwcm92aWRlZC5cbi0tPlxuQGlmIChub3RpZmljYXRpb24/LmFjdGlvbnM/Lmxlbmd0aCA+IDAgfHwgbm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zXCI+XG4gICAgICAgIEBmb3IgKGFjdGlvbiBvZiBub3RpZmljYXRpb24/LmFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiYWN0aW9uPy50eXBlID09PSAnY2FuY2VsJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYWxsQWN0aW9uQW5kRGVzdHJveShub3RpZmljYXRpb24sIGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvbi1oaWdobGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub3RpZmljYXRpb24/LmxvY2FsaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhY3Rpb24/LnRpdGxlIHwgYmJMb2NhbGl6ZTp7ZGF0YTogbm90aWZpY2F0aW9uPy5kYXRhfSB9fVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJub3RpZmljYXRpb24/LmRlc3Ryb3koKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uIGRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uLWhpZ2hsaWdodFwiPnt7IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1RleHQgfHwgZGlzbWlzc0J1dHRvblRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1pdGVtL25vdGlmaWNhdGlvbnMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUE2QixTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0ssT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFjakQsTUFBTSxPQUFPLG1CQUFtQjtJQTRCUjtJQUNBO0lBQ0E7SUE1QnBCLFVBQVU7SUFDRCxZQUFZLENBQWU7SUFDM0IsaUJBQWlCLENBQWdCO0lBRTFDLFlBQVk7SUFDVyxrQkFBa0IsQ0FBYTtJQUV0RCxRQUFRO0lBQ0EsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbkIsb0JBQW9CO0lBQ1osTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBQ2YsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUU1QixRQUFRO0lBQ1MsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRTdELElBQTBC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QkFpQkssUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25BY3Rpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiTG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsncm9sZSc6ICdhbGVydCd9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEJiTG9jYWxpemVdXG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0l0ZW0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb247XG4gICAgQElucHV0KCkgZGlzbWlzc0J1dHRvblRleHQ6IHN0cmluZyB8IG51bGw7XG5cbiAgICAvLyBFbGVtZW50cy5cbiAgICBAVmlld0NoaWxkKCdwcm9ncmVzcycpIHByb2dyZXNzRWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfcHJvZ3Jlc3MgPSAwO1xuICAgIHByaXZhdGUgX2NvdW50ID0gMDtcblxuICAgIC8vIEhlbHBlciB2YXJpYWJsZXMuXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlcjtcbiAgICBwcml2YXRlIF9zcGVlZDogbnVtYmVyO1xuICAgIHByaXZhdGUgX3RpbWVyOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfc3RhcnRUaW1lOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfZGlmZmVyZW5jZTogbnVtYmVyO1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYWRpdXMgPSAxOTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaXJjdW1mZXJlbmNlID0gdGhpcy5fcmFkaXVzICogMiAqIE1hdGguUEk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGdldENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYGJiLW5vdGlmaWNhdGlvbnMtaXRlbSAke3RoaXMubm90aWZpY2F0aW9uLnR5cGV9YDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgcHJvZ3Jlc3NTdHJva2VBcnJheSgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKHRoaXMuX2NpcmN1bWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gYCR7dmFsdWV9LCAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgZ2V0IHByb2dyZXNzU3Ryb2tlT2Zmc2V0KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLl9jaXJjdW1mZXJlbmNlIC0gdGhpcy5fcHJvZ3Jlc3MgLyAxMDAgKiB0aGlzLl9jaXJjdW1mZXJlbmNlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNDb250ZW50U3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMubm90aWZpY2F0aW9uLmNvbnRlbnQgPT09ICdzdHJpbmcnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbm90aWZpY2F0aW9uIHRpbWVvdXQgaXMgbm90IDAgYW5kIHRoZSBwbGF0Zm9ybSBpcyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvbi50aW1lb3V0IDw9IDAgfHwgIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGlzbWlzcyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0aGUgdGltZW91dC5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ2xlYXIgdGhlIHRpbWVvdXQgaWYgaXQgd2FzIHNldC5cbiAgICAgICAgdGhpcy5fdGltZXIgJiYgd2luZG93ICYmIHdpbmRvdy5jbGVhclRpbWVvdXQgJiYgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XG4gICAgfVxuXG4gICAgY2FsbEFjdGlvbkFuZERlc3Ryb3kgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKSA9PiB7XG4gICAgICAgIC8vIFBlcmZvcm0gdGhlIGNhbGxiYWNrIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBhY3Rpb24gJiYgYWN0aW9uLmNhbGxiYWNrICYmIGFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGRlc3Ryb3kgbWV0aG9kIChpZiBpdCBleGlzdHMpLlxuICAgICAgICBub3RpZmljYXRpb24gJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3kgJiYgbm90aWZpY2F0aW9uLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGFydFRpbWVvdXQoKSB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3RlcHMgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3N0ZXBzID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIDEwO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgc3BlZWQgb2YgdGhlIHRpbWVvdXQuXG4gICAgICAgIHRoaXMuX3NwZWVkID0gdGhpcy5ub3RpZmljYXRpb24udGltZW91dCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIEdldCB0aGUgc3RhcnQgdGltZS5cbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBTZXQgYSBuZXcgdGltZXIgb3V0c2lkZSBvZiBBbmd1bGFyLlxuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuX3RpbWVyID0gdGhpcy5zZXRUaW1lb3V0KHRoaXMuaW5zdGFuY2UsIHRoaXMuX3NwZWVkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbnN0YW5jZSA9ICgpID0+IHtcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlLlxuICAgICAgICB0aGlzLl9kaWZmZXJlbmNlID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydFRpbWUpIC0gKHRoaXMuX2NvdW50ICogdGhpcy5fc3BlZWQpO1xuXG4gICAgICAgIC8vIEFkZCB1cCB0aGUgY291bnQuXG4gICAgICAgIGlmICh0aGlzLl9jb3VudCsrID09PSB0aGlzLl9zdGVwcykge1xuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBzdGVwcyB0byB0aGUgcHJvZ3Jlc3MuXG4gICAgICAgIHRoaXMuX3Byb2dyZXNzICs9IDEwMCAvIHRoaXMuX3N0ZXBzO1xuXG4gICAgICAgIC8vIFNldCBhIG5ldyB0aW1lci5cbiAgICAgICAgdGhpcy5fdGltZXIgPSB0aGlzLnNldFRpbWVvdXQodGhpcy5pbnN0YW5jZSwgdGhpcy5fc3BlZWQgLSB0aGlzLl9kaWZmZXJlbmNlKTtcblxuICAgICAgICAvLyBSdW4gYSBuZXcgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgc2V0VGltZW91dCA9IChtZXRob2Q6ICgpID0+IHZvaWQsIHRpbWVvdXQ6IG51bWJlcikgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgd2luZG93IGFuZCBtZXRob2QgZXhpc3QuXG4gICAgICAgIGlmICghd2luZG93IHx8ICF3aW5kb3cuc2V0VGltZW91dCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQobWV0aG9kLCB0aW1lb3V0KTtcbiAgICB9O1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIGljb24gZm9yIHRoZSBub3RpZmljYXRpb24uXG5cbiAgICAgICAgVGhlIGljb24gaXMgcmVmbGVjdGVkIGJ5IHRoZSB0eXBlIG9mIHRoZVxuICAgICAgICBub3RpZmljYXRpb24uIFNhbWUgZ29lcyBmb3IgdGhlIGNvbG9yIGFuZFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLlxuICAgIC0tPlxuICAgIDxkaXYgW3N0eWxlLmNvbG9yXT1cIm5vdGlmaWNhdGlvbj8uY29sb3JcIlxuICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwibm90aWZpY2F0aW9uPy5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24taWNvbi13cmFwcGVyXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxOS41XCJcbiAgICAgICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbi1pY29uXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNOCAxOS41YzEuMSAwIDItLjkgMi0ySDZjMCAxLjEuOSAyIDIgMnpNMTQgMTMuNXYtNWMwLTMuMS0xLjYtNS42LTQuNS02LjN2LS43QzkuNS43IDguOCAwIDggMFM2LjUuNyA2LjUgMS41di43QzMuNiAyLjkgMiA1LjQgMiA4LjV2NWwtMiAydjFoMTZ2LTFsLTItMnpcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIGNpcmN1bGFyIHByb2dyZXNzIGZvciB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgICAgICAgICBUaGUgcHJvZ3Jlc3MgaXMgb25seSB2aXNpYmxlIHdoZW4gYSB0aW1lb3V0IGlzXG4gICAgICAgICAgICBzZXQuIFRoZSBwcm9ncmVzcyBhZGFwdHMgdG8gdGhlIHRpbWUgcmVtYWluaW5nXG4gICAgICAgICAgICBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgLS0+XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy50aW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm5vdGlmaWNhdGlvbi1wcm9ncmVzcy1yaW5nXCJcbiAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0MCA0MFwiXG4gICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiPlxuICAgICAgICAgICAgICAgIDxjaXJjbGUgI3Byb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2UtZGFzaGFycmF5XT1cInByb2dyZXNzU3Ryb2tlQXJyYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlLWRhc2hvZmZzZXRdPVwicHJvZ3Jlc3NTdHJva2VPZmZzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnN0cm9rZV09XCJub3RpZmljYXRpb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLXByb2dyZXNzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByPVwiMTlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY3g9XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjeT1cIjIwXCI+XG4gICAgICAgICAgICAgICAgPC9jaXJjbGU+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLVxuICAgICAgICBUaGUgY29udGVudCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cblxuICAgICAgICBUaGlzIGRpc3BsYXlzIGEgc3RyaW5nIG9yIGEgdGVtcGxhdGUgYmFzZWRcbiAgICAgICAgb24gdGhlIGdpdmVuIHBhcmFtZXRlciBieSB0aGUgdXNlci5cbiAgICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgICAgICAgQGlmIChpc0NvbnRlbnRTdHJpbmcpIHtcbiAgICAgICAgICAgIEBzd2l0Y2ggKG5vdGlmaWNhdGlvbj8ubG9jYWxpemUpIHtcbiAgICAgICAgICAgICAgICBAY2FzZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB7eyAkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudCkgfCBiYkxvY2FsaXplOntkYXRhOiBub3RpZmljYXRpb24/LmRhdGF9IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICAgICAgICAgICAge3sgbm90aWZpY2F0aW9uPy5jb250ZW50IH19XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIkYW55KG5vdGlmaWNhdGlvbj8uY29udGVudClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS1cbiAgICBUaGUgYWN0aW9ucyBvZiB0aGUgbm90aWZpY2F0aW9uLlxuXG4gICAgQWxsIGFjdGlvbnMgYXJlIGRpc3BsYXllZCBoZXJlIGFuZCBhcmVcbiAgICBiYXNlZCBvbiB0aGUgYWN0aW9ucyBhcnJheSB0aGUgdXNlciBwcm92aWRlZC5cbi0tPlxuQGlmIChub3RpZmljYXRpb24/LmFjdGlvbnM/Lmxlbmd0aCA+IDAgfHwgbm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zXCI+XG4gICAgICAgIEBmb3IgKGFjdGlvbiBvZiBub3RpZmljYXRpb24/LmFjdGlvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiYWN0aW9uPy50eXBlID09PSAnY2FuY2VsJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYWxsQWN0aW9uQW5kRGVzdHJveShub3RpZmljYXRpb24sIGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb24tYWN0aW9ucy1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1hY3Rpb25zLWJ1dHRvbi1oaWdobGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub3RpZmljYXRpb24/LmxvY2FsaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhY3Rpb24/LnRpdGxlIHwgYmJMb2NhbGl6ZTp7ZGF0YTogbm90aWZpY2F0aW9uPy5kYXRhfSB9fVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjdGlvbj8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobm90aWZpY2F0aW9uPy5kaXNtaXNzKSB7XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJub3RpZmljYXRpb24/LmRlc3Ryb3koKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uIGRlc3RydWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWFjdGlvbnMtYnV0dG9uLWhpZ2hsaWdodFwiPnt7IG5vdGlmaWNhdGlvbj8uZGlzbWlzc1RleHQgfHwgZGlzbWlzc0J1dHRvblRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
@@ -5,12 +5,13 @@ import { AsyncPipe } from '@angular/common';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../notifications.interfaces";
7
7
  export class BbNotificationsList {
8
+ data;
9
+ // Data.
10
+ position = null;
11
+ // Track by function.
12
+ trackByFn = (_, item) => item?.id;
8
13
  constructor(data) {
9
14
  this.data = data;
10
- // Data.
11
- this.position = null;
12
- // Track by function.
13
- this.trackByFn = (_, item) => item?.id;
14
15
  }
15
16
  get horizontalPosition() {
16
17
  return this.location.horizontal;
@@ -28,8 +29,8 @@ export class BbNotificationsList {
28
29
  const [y, x] = (this.data.position ?? '').split('|');
29
30
  return { vertical: y ?? null, horizontal: x ?? null };
30
31
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbNotificationsList, isStandalone: true, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n@if (data?.data | async; as notifications) {\n <div [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n @for (notification of notifications; track notification?.id) {\n <div class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n }\n </div>\n}\n", styles: [".bb-notifications-list{inset:0;z-index:1100;display:flex;position:fixed;padding:.75rem;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:25rem;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 .75rem;pointer-events:all}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BbNotificationsList, isStandalone: true, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n@if (data?.data | async; as notifications) {\n <div [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n @for (notification of notifications; track notification?.id) {\n <div class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n }\n </div>\n}\n", styles: [".bb-notifications-list{inset:0;z-index:1100;display:flex;position:fixed;padding:.75rem;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:25rem;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 .75rem;pointer-events:all}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
33
34
  }
34
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbNotificationsList, decorators: [{
35
36
  type: Component,
@@ -44,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
44
45
  type: HostBinding,
45
46
  args: ['style.align-items']
46
47
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQWlCMUMsTUFBTSxPQUFPLG1CQUFtQjtJQVE1QixZQUFtQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQU4xQyxRQUFRO1FBQ1IsYUFBUSxHQUFpQyxJQUFJLENBQUM7UUFFOUMscUJBQXFCO1FBQ3JCLGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBR2hELENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEtBQUssWUFBWTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE9BQU8sRUFBQyxFQUFFLEVBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckQsT0FBTyxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0FqQ1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsc1JDckJoQyxpM0JBd0JBLG9VRExjLFNBQVMsOENBQUUsbUJBQW1CLG1HQVQ1QixDQUFDLHFCQUFxQixDQUFDOzsyRkFXMUIsbUJBQW1CO2tCQWYvQixTQUFTOytCQUNJLHVCQUF1QixjQUdyQixDQUFDLHFCQUFxQixDQUFDLG1CQUNsQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLE1BQU0sRUFBRSxNQUFNO3FCQUNqQix1QkFDb0IsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQztzRkFjckMsa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLHVCQUF1QjtnQkFNaEMsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm90aWZpY2F0aW9uLCBOb3RpZmljYXRpb25zRGF0YSwgTm90aWZpY2F0aW9uc1Bvc2l0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYk5vdGlmaWNhdGlvbnNJdGVtfSBmcm9tICcuLi9ub3RpZmljYXRpb25zLWl0ZW0vbm90aWZpY2F0aW9ucy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge25vdGlmaWNhdGlvbkFuaW1hdGlvbn0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy5hbmltYXRpb25zJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW25vdGlmaWNhdGlvbkFuaW1hdGlvbl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1ub3RpZmljYXRpb25zLWxpc3QnLFxuICAgICAgICAncm9sZSc6ICdsaXN0J1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBCYk5vdGlmaWNhdGlvbnNJdGVtXVxufSlcbmV4cG9ydCBjbGFzcyBCYk5vdGlmaWNhdGlvbnNMaXN0IHtcblxuICAgIC8vIERhdGEuXG4gICAgcG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gVHJhY2sgYnkgZnVuY3Rpb24uXG4gICAgdHJhY2tCeUZuID0gKF8sIGl0ZW06IE5vdGlmaWNhdGlvbikgPT4gaXRlbT8uaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogTm90aWZpY2F0aW9uc0RhdGEpIHtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmp1c3RpZnktY29udGVudCcpXG4gICAgZ2V0IGhvcml6b250YWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24uaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmFsaWduLWl0ZW1zJylcbiAgICBnZXQgdmVydGljYWxQb3NpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb24udmVydGljYWw7XG4gICAgfVxuXG4gICAgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICAgICAgY29uc3QgdG8gPSB0aGlzLmhvcml6b250YWxQb3NpdGlvbiA9PT0gJ2ZsZXgtc3RhcnQnXG4gICAgICAgICAgICA/IC01MFxuICAgICAgICAgICAgOiA1MDtcblxuICAgICAgICByZXR1cm4ge3RvfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsb2NhdGlvbigpIHtcbiAgICAgICAgY29uc3QgW3ksIHhdID0gKHRoaXMuZGF0YS5wb3NpdGlvbiA/PyAnJykuc3BsaXQoJ3wnKTtcblxuICAgICAgICByZXR1cm4ge3ZlcnRpY2FsOiB5ID8/IG51bGwsIGhvcml6b250YWw6IHggPz8gbnVsbH07XG4gICAgfVxuXG59XG4iLCI8IS0tXG4gICAgVGhlIG5vdGlmaWNhdGlvbnMgbGlzdC5cblxuICAgIFRoZSBsaXN0IHByb3ZpZGVzIHRoZSBhbmltYXRpb24gZWZmZWN0IGZvciB0aGVcbiAgICBpbmNvbWluZyBub3RpZmljYXRpb25zLlxuLS0+XG5AaWYgKGRhdGE/LmRhdGEgfCBhc3luYzsgYXMgbm90aWZpY2F0aW9ucykge1xuICAgIDxkaXYgW0Bub3RpZmljYXRpb25MaXN0QW5pbWF0aW9uXT1cInt2YWx1ZTogbm90aWZpY2F0aW9ucz8ubGVuZ3RoLCBwYXJhbXM6IGFuaW1hdGlvbn1cIlxuICAgICAgICAgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3Qtd3JhcHBlclwiPlxuICAgICAgICA8IS0tXG4gICAgICAgICAgICBUaGUgbG9vcCBmb3IgdGhlIG5vdGlmaWNhdGlvbnMuXG5cbiAgICAgICAgICAgIEFsbCBub3RpZmljYXRpb25zIHdpbGwgYmUgZGlzcGxheWVkIGhlcmUuIFRoZXlcbiAgICAgICAgICAgIGFyZSB3cmFwcGVkIHdpdGhpbiBhIHdyYXBwZXIgd2hpY2ggc2VwYXJhdGVzIHRoZW0uXG4gICAgICAgIC0tPlxuICAgICAgICBAZm9yIChub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uczsgdHJhY2sgbm90aWZpY2F0aW9uPy5pZCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaXRlbS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGJiLW5vdGlmaWNhdGlvbnMtaXRlbSBbbm90aWZpY2F0aW9uXT1cIm5vdGlmaWNhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzbWlzc0J1dHRvblRleHRdPVwiZGF0YT8uZGlzbWlzc1RleHRcIj5cbiAgICAgICAgICAgICAgICA8L2JiLW5vdGlmaWNhdGlvbnMtaXRlbT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbm90aWZpY2F0aW9ucy9zcmMvbGliL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQWlCMUMsTUFBTSxPQUFPLG1CQUFtQjtJQVFUO0lBTm5CLFFBQVE7SUFDUixRQUFRLEdBQWlDLElBQUksQ0FBQztJQUU5QyxxQkFBcUI7SUFDckIsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFFaEQsWUFBbUIsSUFBdUI7UUFBdkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFDMUMsQ0FBQztJQUVELElBQ0ksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxZQUFZO1lBQy9DLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVQsT0FBTyxFQUFDLEVBQUUsRUFBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDaEIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRCxPQUFPLEVBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUMsQ0FBQztJQUN4RCxDQUFDO3VHQWpDUSxtQkFBbUI7MkZBQW5CLG1CQUFtQixzUkNyQmhDLGkzQkF3QkEsb1VETGMsU0FBUyw4Q0FBRSxtQkFBbUIsbUdBVDVCLENBQUMscUJBQXFCLENBQUM7OzJGQVcxQixtQkFBbUI7a0JBZi9CLFNBQVM7K0JBQ0ksdUJBQXVCLGNBR3JCLENBQUMscUJBQXFCLENBQUMsbUJBQ2xCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLHVCQUF1Qjt3QkFDaEMsTUFBTSxFQUFFLE1BQU07cUJBQ2pCLHVCQUNvQixLQUFLLGNBQ2QsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDO3NGQWNyQyxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1oQyxnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbnNEYXRhLCBOb3RpZmljYXRpb25zUG9zaXRpb259IGZyb20gJy4uL25vdGlmaWNhdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0l0ZW19IGZyb20gJy4uL25vdGlmaWNhdGlvbnMtaXRlbS9ub3RpZmljYXRpb25zLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7bm90aWZpY2F0aW9uQW5pbWF0aW9ufSBmcm9tICcuLi9ub3RpZmljYXRpb25zLmFuaW1hdGlvbnMnO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbm90aWZpY2F0aW9ucy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbbm90aWZpY2F0aW9uQW5pbWF0aW9uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLW5vdGlmaWNhdGlvbnMtbGlzdCcsXG4gICAgICAgICdyb2xlJzogJ2xpc3QnXG4gICAgfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIEJiTm90aWZpY2F0aW9uc0l0ZW1dXG59KVxuZXhwb3J0IGNsYXNzIEJiTm90aWZpY2F0aW9uc0xpc3Qge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwb3NpdGlvbjogTm90aWZpY2F0aW9uc1Bvc2l0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBUcmFjayBieSBmdW5jdGlvbi5cbiAgICB0cmFja0J5Rm4gPSAoXywgaXRlbTogTm90aWZpY2F0aW9uKSA9PiBpdGVtPy5pZDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBOb3RpZmljYXRpb25zRGF0YSkge1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuanVzdGlmeS1jb250ZW50JylcbiAgICBnZXQgaG9yaXpvbnRhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYWxpZ24taXRlbXMnKVxuICAgIGdldCB2ZXJ0aWNhbFBvc2l0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi52ZXJ0aWNhbDtcbiAgICB9XG5cbiAgICBnZXQgYW5pbWF0aW9uKCkge1xuICAgICAgICBjb25zdCB0byA9IHRoaXMuaG9yaXpvbnRhbFBvc2l0aW9uID09PSAnZmxleC1zdGFydCdcbiAgICAgICAgICAgID8gLTUwXG4gICAgICAgICAgICA6IDUwO1xuXG4gICAgICAgIHJldHVybiB7dG99O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgICBjb25zdCBbeSwgeF0gPSAodGhpcy5kYXRhLnBvc2l0aW9uID8/ICcnKS5zcGxpdCgnfCcpO1xuXG4gICAgICAgIHJldHVybiB7dmVydGljYWw6IHkgPz8gbnVsbCwgaG9yaXpvbnRhbDogeCA/PyBudWxsfTtcbiAgICB9XG5cbn1cbiIsIjwhLS1cbiAgICBUaGUgbm90aWZpY2F0aW9ucyBsaXN0LlxuXG4gICAgVGhlIGxpc3QgcHJvdmlkZXMgdGhlIGFuaW1hdGlvbiBlZmZlY3QgZm9yIHRoZVxuICAgIGluY29taW5nIG5vdGlmaWNhdGlvbnMuXG4tLT5cbkBpZiAoZGF0YT8uZGF0YSB8IGFzeW5jOyBhcyBub3RpZmljYXRpb25zKSB7XG4gICAgPGRpdiBbQG5vdGlmaWNhdGlvbkxpc3RBbmltYXRpb25dPVwie3ZhbHVlOiBub3RpZmljYXRpb25zPy5sZW5ndGgsIHBhcmFtczogYW5pbWF0aW9ufVwiXG4gICAgICAgICBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtbGlzdC13cmFwcGVyXCI+XG4gICAgICAgIDwhLS1cbiAgICAgICAgICAgIFRoZSBsb29wIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cblxuICAgICAgICAgICAgQWxsIG5vdGlmaWNhdGlvbnMgd2lsbCBiZSBkaXNwbGF5ZWQgaGVyZS4gVGhleVxuICAgICAgICAgICAgYXJlIHdyYXBwZWQgd2l0aGluIGEgd3JhcHBlciB3aGljaCBzZXBhcmF0ZXMgdGhlbS5cbiAgICAgICAgLS0+XG4gICAgICAgIEBmb3IgKG5vdGlmaWNhdGlvbiBvZiBub3RpZmljYXRpb25zOyB0cmFjayBub3RpZmljYXRpb24/LmlkKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZpY2F0aW9ucy1pdGVtLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8YmItbm90aWZpY2F0aW9ucy1pdGVtIFtub3RpZmljYXRpb25dPVwibm90aWZpY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNtaXNzQnV0dG9uVGV4dF09XCJkYXRhPy5kaXNtaXNzVGV4dFwiPlxuICAgICAgICAgICAgICAgIDwvYmItbm90aWZpY2F0aW9ucy1pdGVtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
@@ -8,6 +8,12 @@ export var NotificationType;
8
8
  NotificationType["Custom"] = "custom";
9
9
  })(NotificationType || (NotificationType = {}));
10
10
  export class NotificationsConfig {
11
+ mode;
12
+ position;
13
+ timeout;
14
+ dismiss;
15
+ localize;
16
+ dismissText;
11
17
  }
12
18
  export var NotificationsPosition;
13
19
  (function (NotificationsPosition) {
@@ -17,6 +23,9 @@ export var NotificationsPosition;
17
23
  NotificationsPosition["BottomLeft"] = "flex-end|flex-start";
18
24
  })(NotificationsPosition || (NotificationsPosition = {}));
19
25
  export class NotificationsData {
26
+ data;
27
+ dismissText;
28
+ position;
20
29
  }
21
30
  export const NOTIFICATIONS_CONFIG = new InjectionToken('notifications config');
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxlQUFlLENBQUM7QUE0QjFELE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIsbUNBQWUsQ0FBQTtJQUNmLHVDQUFtQixDQUFBO0lBQ25CLGlDQUFhLENBQUE7SUFDYixxQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FPL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxxQkFLWDtBQUxELFdBQVkscUJBQXFCO0lBQzdCLHlEQUFnQyxDQUFBO0lBQ2hDLDBEQUFpQyxDQUFBO0lBQ2pDLDBEQUFpQyxDQUFBO0lBQ2pDLDJEQUFrQyxDQUFBO0FBQ3RDLENBQUMsRUFMVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBS2hDO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQUk3QjtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUF3QyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICAgIGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBpZD86IHN0cmluZztcblxuICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgbG9jYWxpemU/OiBib29sZWFuO1xuICAgIGRpc21pc3M/OiBib29sZWFuO1xuICAgIGRpc21pc3NUZXh0Pzogc3RyaW5nO1xuICAgIGRhdGE/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIHR5cGU/OiBOb3RpZmljYXRpb25UeXBlO1xuICAgIGFjdGlvbnM/OiBOb3RpZmljYXRpb25BY3Rpb25bXTtcblxuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcblxuICAgIGRlc3Ryb3k/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkFjdGlvbiB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjYWxsYmFjaz86ICgpID0+IGFueTtcbiAgICB0eXBlPzogJ2RlZmF1bHQnIHwgJ2NhbmNlbCc7XG59XG5cbmV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblR5cGUge1xuICAgIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gICAgRXJyb3IgPSAnZXJyb3InLFxuICAgIFdhcm5pbmcgPSAnd2FybmluZycsXG4gICAgSW5mbyA9ICdpbmZvJyxcbiAgICBDdXN0b20gPSAnY3VzdG9tJ1xufVxuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0NvbmZpZyB7XG4gICAgbW9kZT86ICdhcHBlbmQnIHwgJ3ByZXBlbmQnO1xuICAgIHBvc2l0aW9uPzogTm90aWZpY2F0aW9uc1Bvc2l0aW9uO1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgZGlzbWlzcz86IGJvb2xlYW47XG4gICAgbG9jYWxpemU/OiBib29sZWFuO1xuICAgIGRpc21pc3NUZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBOb3RpZmljYXRpb25zUG9zaXRpb24ge1xuICAgIFRvcFJpZ2h0ID0gJ2ZsZXgtc3RhcnR8ZmxleC1lbmQnLFxuICAgIEJvdHRvbVJpZ2h0ID0gJ2ZsZXgtZW5kfGZsZXgtZW5kJyxcbiAgICBUb3BMZWZ0ID0gJ2ZsZXgtc3RhcnR8ZmxleC1zdGFydCcsXG4gICAgQm90dG9tTGVmdCA9ICdmbGV4LWVuZHxmbGV4LXN0YXJ0J1xufVxuXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0RhdGEge1xuICAgIGRhdGE6IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uW10+O1xuICAgIGRpc21pc3NUZXh0OiBzdHJpbmc7XG4gICAgcG9zaXRpb246IE5vdGlmaWNhdGlvbnNQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGNvbnN0IE5PVElGSUNBVElPTlNfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxOb3RpZmljYXRpb25zQ29uZmlnPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignbm90aWZpY2F0aW9ucyBjb25maWcnKTtcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWMsTUFBTSxlQUFlLENBQUM7QUE0QjFELE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIsbUNBQWUsQ0FBQTtJQUNmLHVDQUFtQixDQUFBO0lBQ25CLGlDQUFhLENBQUE7SUFDYixxQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsSUFBSSxDQUF3QjtJQUM1QixRQUFRLENBQXlCO0lBQ2pDLE9BQU8sQ0FBVTtJQUNqQixPQUFPLENBQVc7SUFDbEIsUUFBUSxDQUFXO0lBQ25CLFdBQVcsQ0FBVTtDQUN4QjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDN0IseURBQWdDLENBQUE7SUFDaEMsMERBQWlDLENBQUE7SUFDakMsMERBQWlDLENBQUE7SUFDakMsMkRBQWtDLENBQUE7QUFDdEMsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLElBQUksQ0FBNkI7SUFDakMsV0FBVyxDQUFTO0lBQ3BCLFFBQVEsQ0FBd0I7Q0FDbkM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBd0MsSUFBSSxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uIHtcbiAgICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaWQ/OiBzdHJpbmc7XG5cbiAgICB0aW1lb3V0PzogbnVtYmVyO1xuICAgIGxvY2FsaXplPzogYm9vbGVhbjtcbiAgICBkaXNtaXNzPzogYm9vbGVhbjtcbiAgICBkaXNtaXNzVGV4dD86IHN0cmluZztcbiAgICBkYXRhPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgICB0eXBlPzogTm90aWZpY2F0aW9uVHlwZTtcbiAgICBhY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XG5cbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG5cbiAgICBkZXN0cm95PzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25BY3Rpb24ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgY2FsbGJhY2s/OiAoKSA9PiBhbnk7XG4gICAgdHlwZT86ICdkZWZhdWx0JyB8ICdjYW5jZWwnO1xufVxuXG5leHBvcnQgZW51bSBOb3RpZmljYXRpb25UeXBlIHtcbiAgICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICAgIEVycm9yID0gJ2Vycm9yJyxcbiAgICBXYXJuaW5nID0gJ3dhcm5pbmcnLFxuICAgIEluZm8gPSAnaW5mbycsXG4gICAgQ3VzdG9tID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNDb25maWcge1xuICAgIG1vZGU/OiAnYXBwZW5kJyB8ICdwcmVwZW5kJztcbiAgICBwb3NpdGlvbj86IE5vdGlmaWNhdGlvbnNQb3NpdGlvbjtcbiAgICB0aW1lb3V0PzogbnVtYmVyO1xuICAgIGRpc21pc3M/OiBib29sZWFuO1xuICAgIGxvY2FsaXplPzogYm9vbGVhbjtcbiAgICBkaXNtaXNzVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uc1Bvc2l0aW9uIHtcbiAgICBUb3BSaWdodCA9ICdmbGV4LXN0YXJ0fGZsZXgtZW5kJyxcbiAgICBCb3R0b21SaWdodCA9ICdmbGV4LWVuZHxmbGV4LWVuZCcsXG4gICAgVG9wTGVmdCA9ICdmbGV4LXN0YXJ0fGZsZXgtc3RhcnQnLFxuICAgIEJvdHRvbUxlZnQgPSAnZmxleC1lbmR8ZmxleC1zdGFydCdcbn1cblxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNEYXRhIHtcbiAgICBkYXRhOiBPYnNlcnZhYmxlPE5vdGlmaWNhdGlvbltdPjtcbiAgICBkaXNtaXNzVGV4dDogc3RyaW5nO1xuICAgIHBvc2l0aW9uOiBOb3RpZmljYXRpb25zUG9zaXRpb247XG59XG5cbmV4cG9ydCBjb25zdCBOT1RJRklDQVRJT05TX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48Tm90aWZpY2F0aW9uc0NvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ25vdGlmaWNhdGlvbnMgY29uZmlnJyk7XG4iXX0=
@@ -10,11 +10,11 @@ export class NotificationsModule {
10
10
  ]
11
11
  };
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule }); }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule });
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule });
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NotificationsModule, decorators: [{
18
18
  type: NgModule
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTRCO1FBQ3ZDLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUCwwQkFBMEIsQ0FBQyxNQUFNLENBQUM7YUFDckM7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0FUUSxtQkFBbUI7K0dBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwcm92aWRlTm90aWZpY2F0aW9uc0NvbmZpZ30gZnJvbSAnLi9ub3RpZmljYXRpb25zLmNvbmZpZyc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnNDb25maWd9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogTm90aWZpY2F0aW9uc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tm90aWZpY2F0aW9uc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5vdGlmaWNhdGlvbnNNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBwcm92aWRlTm90aWZpY2F0aW9uc0NvbmZpZyhjb25maWcpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL25vdGlmaWNhdGlvbnMvc3JjL2xpYi9ub3RpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHNUQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTRCO1FBQ3ZDLE9BQU87WUFDSCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDUCwwQkFBMEIsQ0FBQyxNQUFNLENBQUM7YUFDckM7U0FDSixDQUFDO0lBQ04sQ0FBQzt1R0FUUSxtQkFBbUI7d0dBQW5CLG1CQUFtQjt3R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwcm92aWRlTm90aWZpY2F0aW9uc0NvbmZpZ30gZnJvbSAnLi9ub3RpZmljYXRpb25zLmNvbmZpZyc7XG5pbXBvcnQge05vdGlmaWNhdGlvbnNDb25maWd9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNNb2R1bGUge1xuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogTm90aWZpY2F0aW9uc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tm90aWZpY2F0aW9uc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5vdGlmaWNhdGlvbnNNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBwcm92aWRlTm90aWZpY2F0aW9uc0NvbmZpZyhjb25maWcpXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iXX0=
@@ -8,19 +8,28 @@ import * as i1 from "@angular/cdk/platform";
8
8
  import * as i2 from "@bravobit/bb-foundation/localize";
9
9
  import * as i3 from "./notifications.interfaces";
10
10
  export class Notifications {
11
+ _platform;
12
+ _applicationRef;
13
+ _environmentInjector;
14
+ _localize;
15
+ _config;
16
+ // Reference to the list.
17
+ _ref;
18
+ // The default settings for the notifications.
19
+ _defaultMode;
20
+ _defaultTimeout;
21
+ _defaultLocalize;
22
+ _defaultDismiss;
23
+ _defaultDismissText;
24
+ _defaultPosition;
25
+ // The data containing the notifications.
26
+ _notifications$ = new BehaviorSubject([]);
11
27
  constructor(_platform, _applicationRef, _environmentInjector, _localize, _config) {
12
28
  this._platform = _platform;
13
29
  this._applicationRef = _applicationRef;
14
30
  this._environmentInjector = _environmentInjector;
15
31
  this._localize = _localize;
16
32
  this._config = _config;
17
- // The data containing the notifications.
18
- this._notifications$ = new BehaviorSubject([]);
19
- this.getProperty = (property, defaultValue) => {
20
- return typeof property === 'undefined'
21
- ? defaultValue
22
- : property;
23
- };
24
33
  // Get the config.
25
34
  const config = this._config ?? {};
26
35
  // Set the config.
@@ -128,8 +137,13 @@ export class Notifications {
128
137
  // Don't do anything, because it must've failed.
129
138
  }
130
139
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: NOTIFICATIONS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
132
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Notifications, providedIn: 'root' }); }
140
+ getProperty = (property, defaultValue) => {
141
+ return typeof property === 'undefined'
142
+ ? defaultValue
143
+ : property;
144
+ };
145
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: NOTIFICATIONS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
146
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Notifications, providedIn: 'root' });
133
147
  }
134
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: Notifications, decorators: [{
135
149
  type: Injectable,
@@ -144,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
144
158
  type: Inject,
145
159
  args: [NOTIFICATIONS_CONFIG]
146
160
  }] }] });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMscUJBQXFCLEVBQXVCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkwsT0FBTyxFQUErQixlQUFlLEVBQUUseUJBQXlCLEVBQXVCLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3ZLLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBR3RGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUtyQyxNQUFNLE9BQU8sYUFBYTtJQWdCdEIsWUFBb0IsU0FBbUIsRUFDbkIsZUFBK0IsRUFDL0Isb0JBQXlDLEVBQzdCLFNBQW9CLEVBQ1UsT0FBNkI7UUFKdkUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ1UsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFQM0YseUNBQXlDO1FBQ2pDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBMkkxRCxnQkFBVyxHQUFHLENBQUMsUUFBYSxFQUFFLFlBQWlCLEVBQUUsRUFBRTtZQUN2RCxPQUFPLE9BQU8sUUFBUSxLQUFLLFdBQVc7Z0JBQ2xDLENBQUMsQ0FBQyxZQUFZO2dCQUNkLENBQUMsQ0FBQyxRQUFRLENBQUM7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LElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLG1CQUFtQixFQUFFLEVBQUMsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO1FBRXhFLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTVDLGlEQUFpRDtRQUNqRCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRCwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDRCxpQ0FBaUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNMLGdEQUFnRDtRQUNwRCxDQUFDO0lBQ0wsQ0FBQzs4R0F2SlEsYUFBYSxtSkFvQlUsb0JBQW9CO2tIQXBCM0MsYUFBYSxjQUZWLE1BQU07OzJGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFvQmdCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLCBOb3RpZmljYXRpb25zQ29uZmlnLCBOb3RpZmljYXRpb25UeXBlLCBOb3RpZmljYXRpb25zRGF0YSwgTk9USUZJQ0FUSU9OU19DT05GSUd9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zIHtcblxuICAgIC8vIFJlZmVyZW5jZSB0byB0aGUgbGlzdC5cbiAgICBwcml2YXRlIF9yZWY6IENvbXBvbmVudFJlZjxCYk5vdGlmaWNhdGlvbnNMaXN0PjtcblxuICAgIC8vIFRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TW9kZTogJ3ByZXBlbmQnIHwgJ2FwcGVuZCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFRpbWVvdXQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TG9jYWxpemU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3M6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3NUZXh0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFBvc2l0aW9uOiBOb3RpZmljYXRpb25zUG9zaXRpb247XG5cbiAgICAvLyBUaGUgZGF0YSBjb250YWluaW5nIHRoZSBub3RpZmljYXRpb25zLlxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb3RpZmljYXRpb25bXT4oW10pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2xvY2FsaXplPzogTG9jYWxpemUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOT1RJRklDQVRJT05TX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnPzogTm90aWZpY2F0aW9uc0NvbmZpZykge1xuICAgICAgICAvLyBHZXQgdGhlIGNvbmZpZy5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5fY29uZmlnID8/IHt9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgY29uZmlnLlxuICAgICAgICB0aGlzLl9kZWZhdWx0TW9kZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLm1vZGUsICdwcmVwZW5kJyk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRUaW1lb3V0ID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcudGltZW91dCwgODAwMCk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmxvY2FsaXplLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcuZGlzbWlzcywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmRpc21pc3NUZXh0LCAnRGlzbWlzcycpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0UG9zaXRpb24gPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5wb3NpdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLlRvcFJpZ2h0KTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGVsZW1lbnQgdGhhdCBob2xkcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgc3VjY2Vzcyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3N9KTtcbiAgICB9XG5cbiAgICBlcnJvcihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkVycm9yfSk7XG4gICAgfVxuXG4gICAgd2Fybihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm5pbmd9KTtcbiAgICB9XG5cbiAgICBpbmZvKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuSW5mb30pO1xuICAgIH1cblxuICAgIGNyZWF0ZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBDb21wb3NlIGEgbmV3IG5vdGlmaWNhdGlvbiBpdGVtLlxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb21wb3NlKG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBkZXN0cm95IGZ1bmN0aW9uIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIGl0ZW0uZGVzdHJveSA9ICgpID0+IHRoaXMucHVsbChpdGVtKTtcblxuICAgICAgICAvLyBBZGQgdGhlIG5vdGlmaWNhdGlvbiB0byB0aGUgbGlzdFxuICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBpdGVtLlxuICAgICAgICByZXR1cm4gdGhpcy5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVzaChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3Qgb2xkTGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkLmdldFZhbHVlKCk7XG5cbiAgICAgICAgLy8gQ2hlY2sgd2hpY2ggbW9kZSBpcyBhY3RpdmF0ZWQuXG4gICAgICAgIGxldCBuZXdMaXN0OiBOb3RpZmljYXRpb25bXTtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9kZWZhdWx0TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnYXBwZW5kJzpcbiAgICAgICAgICAgICAgICBuZXdMaXN0ID0gWy4uLm9sZExpc3QsIG5vdGlmaWNhdGlvbl07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdwcmVwZW5kJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbmV3TGlzdCA9IFtub3RpZmljYXRpb24sIC4uLm9sZExpc3RdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHVzaCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQobmV3TGlzdCk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBub3RpZmljYXRpb24gZm9yIGZ1cnRoZXIgdXNlLlxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVsbChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3QgbmV3TGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkXG4gICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XG5cbiAgICAgICAgLy8gUHVzaCBhIG5ldyBsaXN0LlxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KG5ld0xpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBBdHRhY2ggYSByYW5kb20gaWQgdG8gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgbm90aWZpY2F0aW9uLmlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDEyKTtcblxuICAgICAgICAvLyBTZXQgYWxsIHByb3BlcnRpZXMuXG4gICAgICAgIG5vdGlmaWNhdGlvbi50eXBlID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24udHlwZSwgTm90aWZpY2F0aW9uVHlwZS5DdXN0b20pO1xuICAgICAgICBub3RpZmljYXRpb24uY29udGVudCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmNvbnRlbnQsIG51bGwpO1xuICAgICAgICBub3RpZmljYXRpb24uZGF0YSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRhdGEsIHt9KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnRpbWVvdXQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi50aW1lb3V0LCB0aGlzLl9kZWZhdWx0VGltZW91dCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5sb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmxvY2FsaXplLCB0aGlzLl9kZWZhdWx0TG9jYWxpemUpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzcyA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3MsIHRoaXMuX2RlZmF1bHREaXNtaXNzKTtcblxuICAgICAgICAvLyBEaXNtaXNzIHRleHQgbG9jYWxpemF0aW9uLlxuICAgICAgICBjb25zdCBkaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3NUZXh0LCB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzc1RleHQgPSB0aGlzLl9kZWZhdWx0TG9jYWxpemUgJiYgdGhpcy5fbG9jYWxpemVcbiAgICAgICAgICAgID8gdGhpcy5fbG9jYWxpemUudHJhbnNsYXRlKGRpc21pc3NUZXh0KVxuICAgICAgICAgICAgOiBkaXNtaXNzVGV4dDtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbXBvc2VkIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUVsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOb3RpZmljYXRpb25zRGF0YSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLl9ub3RpZmljYXRpb25zJC5waXBlKHNoYXJlKCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXNtaXNzVGV4dDogdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5fZGVmYXVsdFBvc2l0aW9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdLCB0aGlzLl9lbnZpcm9ubWVudEluamVjdG9yKTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNvbXBvbmVudC5cbiAgICAgICAgdGhpcy5fcmVmID0gY3JlYXRlQ29tcG9uZW50KEJiTm90aWZpY2F0aW9uc0xpc3QsIHtlbnZpcm9ubWVudEluamVjdG9yfSk7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHRoZSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLl9yZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8vIEF0dGFjaCB0aGUgY29tcG9uZW50J3MgdmlldyB0byB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgLy8gc28gdGhhdCB0aGUgY2hhbmdlIGRldGVjdGlvbiB3aWxsIHJ1biBwcm9wZXJseS5cbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLl9yZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIC8vIElmIHRoZSBwbGF0Zm9ybSBpcyBub3QgYSBicm93c2VyIHJldHVybi5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGVsZW1lbnQgdG8gdGhlIERPTS5cbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nLCBiZWNhdXNlIGl0IG11c3QndmUgZmFpbGVkLlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wZXJ0eSA9IChwcm9wZXJ0eTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5ID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBkZWZhdWx0VmFsdWVcbiAgICAgICAgICAgIDogcHJvcGVydHk7XG4gICAgfTtcblxufVxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9ub3RpZmljYXRpb25zL3NyYy9saWIvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUMscUJBQXFCLEVBQXVCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkwsT0FBTyxFQUErQixlQUFlLEVBQUUseUJBQXlCLEVBQXVCLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3ZLLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBR3RGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUtyQyxNQUFNLE9BQU8sYUFBYTtJQWdCRjtJQUNBO0lBQ0E7SUFDWTtJQUM4QjtJQWxCOUQseUJBQXlCO0lBQ2pCLElBQUksQ0FBb0M7SUFFaEQsOENBQThDO0lBQzdCLFlBQVksQ0FBdUI7SUFDbkMsZUFBZSxDQUFTO0lBQ3hCLGdCQUFnQixDQUFVO0lBQzFCLGVBQWUsQ0FBVTtJQUN6QixtQkFBbUIsQ0FBUztJQUM1QixnQkFBZ0IsQ0FBd0I7SUFFekQseUNBQXlDO0lBQ2pDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxDQUFDLENBQUM7SUFFbEUsWUFBb0IsU0FBbUIsRUFDbkIsZUFBK0IsRUFDL0Isb0JBQXlDLEVBQzdCLFNBQW9CLEVBQ1UsT0FBNkI7UUFKdkUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUM3Qixj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LENBQUMsQ0FBQztRQUU5Qix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUM7UUFFeEUsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFNUMsaURBQWlEO1FBQ2pELGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQztZQUNELGlDQUFpQztZQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ0wsZ0RBQWdEO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxHQUFHLENBQUMsUUFBYSxFQUFFLFlBQWlCLEVBQUUsRUFBRTtRQUN2RCxPQUFPLE9BQU8sUUFBUSxLQUFLLFdBQVc7WUFDbEMsQ0FBQyxDQUFDLFlBQVk7WUFDZCxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ25CLENBQUMsQ0FBQzt1R0E3Sk8sYUFBYSxtSkFvQlUsb0JBQW9COzJHQXBCM0MsYUFBYSxjQUZWLE1BQU07OzJGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFvQmdCLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbkFjdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLCBOb3RpZmljYXRpb25zQ29uZmlnLCBOb3RpZmljYXRpb25UeXBlLCBOb3RpZmljYXRpb25zRGF0YSwgTk9USUZJQ0FUSU9OU19DT05GSUd9IGZyb20gJy4vbm90aWZpY2F0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yLCBFbnZpcm9ubWVudEluamVjdG9yLCBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiTm90aWZpY2F0aW9uc0xpc3R9IGZyb20gJy4vbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c2hhcmV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zIHtcblxuICAgIC8vIFJlZmVyZW5jZSB0byB0aGUgbGlzdC5cbiAgICBwcml2YXRlIF9yZWY6IENvbXBvbmVudFJlZjxCYk5vdGlmaWNhdGlvbnNMaXN0PjtcblxuICAgIC8vIFRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciB0aGUgbm90aWZpY2F0aW9ucy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TW9kZTogJ3ByZXBlbmQnIHwgJ2FwcGVuZCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFRpbWVvdXQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0TG9jYWxpemU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3M6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdERpc21pc3NUZXh0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdFBvc2l0aW9uOiBOb3RpZmljYXRpb25zUG9zaXRpb247XG5cbiAgICAvLyBUaGUgZGF0YSBjb250YWluaW5nIHRoZSBub3RpZmljYXRpb25zLlxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb3RpZmljYXRpb25bXT4oW10pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9lbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2xvY2FsaXplPzogTG9jYWxpemUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOT1RJRklDQVRJT05TX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnPzogTm90aWZpY2F0aW9uc0NvbmZpZykge1xuICAgICAgICAvLyBHZXQgdGhlIGNvbmZpZy5cbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5fY29uZmlnID8/IHt9O1xuXG4gICAgICAgIC8vIFNldCB0aGUgY29uZmlnLlxuICAgICAgICB0aGlzLl9kZWZhdWx0TW9kZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLm1vZGUsICdwcmVwZW5kJyk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRUaW1lb3V0ID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcudGltZW91dCwgODAwMCk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmxvY2FsaXplLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzID0gdGhpcy5nZXRQcm9wZXJ0eShjb25maWcuZGlzbWlzcywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2RlZmF1bHREaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkoY29uZmlnLmRpc21pc3NUZXh0LCAnRGlzbWlzcycpO1xuICAgICAgICB0aGlzLl9kZWZhdWx0UG9zaXRpb24gPSB0aGlzLmdldFByb3BlcnR5KGNvbmZpZy5wb3NpdGlvbiwgTm90aWZpY2F0aW9uc1Bvc2l0aW9uLlRvcFJpZ2h0KTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGVsZW1lbnQgdGhhdCBob2xkcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgc3VjY2Vzcyhjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3N9KTtcbiAgICB9XG5cbiAgICBlcnJvcihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkVycm9yfSk7XG4gICAgfVxuXG4gICAgd2Fybihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXSA9IFtdLCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFRpbWVvdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHtjb250ZW50LCB0aW1lb3V0LCBhY3Rpb25zLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm5pbmd9KTtcbiAgICB9XG5cbiAgICBpbmZvKGNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4sIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdID0gW10sIHRpbWVvdXQgPSB0aGlzLl9kZWZhdWx0VGltZW91dCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoe2NvbnRlbnQsIHRpbWVvdXQsIGFjdGlvbnMsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuSW5mb30pO1xuICAgIH1cblxuICAgIGNyZWF0ZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBDb21wb3NlIGEgbmV3IG5vdGlmaWNhdGlvbiBpdGVtLlxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb21wb3NlKG5vdGlmaWNhdGlvbik7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBkZXN0cm95IGZ1bmN0aW9uIHRvIHRoZSBub3RpZmljYXRpb24uXG4gICAgICAgIGl0ZW0uZGVzdHJveSA9ICgpID0+IHRoaXMucHVsbChpdGVtKTtcblxuICAgICAgICAvLyBBZGQgdGhlIG5vdGlmaWNhdGlvbiB0byB0aGUgbGlzdFxuICAgICAgICAvLyBhbmQgcmV0dXJuIHRoZSBpdGVtLlxuICAgICAgICByZXR1cm4gdGhpcy5wdXNoKGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVzaChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3Qgb2xkTGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkLmdldFZhbHVlKCk7XG5cbiAgICAgICAgLy8gQ2hlY2sgd2hpY2ggbW9kZSBpcyBhY3RpdmF0ZWQuXG4gICAgICAgIGxldCBuZXdMaXN0OiBOb3RpZmljYXRpb25bXTtcbiAgICAgICAgc3dpdGNoICh0aGlzLl9kZWZhdWx0TW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnYXBwZW5kJzpcbiAgICAgICAgICAgICAgICBuZXdMaXN0ID0gWy4uLm9sZExpc3QsIG5vdGlmaWNhdGlvbl07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdwcmVwZW5kJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbmV3TGlzdCA9IFtub3RpZmljYXRpb24sIC4uLm9sZExpc3RdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHVzaCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQobmV3TGlzdCk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBub3RpZmljYXRpb24gZm9yIGZ1cnRoZXIgdXNlLlxuICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHVsbChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgbGlzdC5cbiAgICAgICAgY29uc3QgbmV3TGlzdCA9IHRoaXMuX25vdGlmaWNhdGlvbnMkXG4gICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XG5cbiAgICAgICAgLy8gUHVzaCBhIG5ldyBsaXN0LlxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zJC5uZXh0KG5ld0xpc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcG9zZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICAvLyBBdHRhY2ggYSByYW5kb20gaWQgdG8gdGhlIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgbm90aWZpY2F0aW9uLmlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDEyKTtcblxuICAgICAgICAvLyBTZXQgYWxsIHByb3BlcnRpZXMuXG4gICAgICAgIG5vdGlmaWNhdGlvbi50eXBlID0gdGhpcy5nZXRQcm9wZXJ0eShub3RpZmljYXRpb24udHlwZSwgTm90aWZpY2F0aW9uVHlwZS5DdXN0b20pO1xuICAgICAgICBub3RpZmljYXRpb24uY29udGVudCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmNvbnRlbnQsIG51bGwpO1xuICAgICAgICBub3RpZmljYXRpb24uZGF0YSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRhdGEsIHt9KTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnRpbWVvdXQgPSB0aGlzLmdldFByb3BlcnR5KG5vdGlmaWNhdGlvbi50aW1lb3V0LCB0aGlzLl9kZWZhdWx0VGltZW91dCk7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5sb2NhbGl6ZSA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmxvY2FsaXplLCB0aGlzLl9kZWZhdWx0TG9jYWxpemUpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzcyA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3MsIHRoaXMuX2RlZmF1bHREaXNtaXNzKTtcblxuICAgICAgICAvLyBEaXNtaXNzIHRleHQgbG9jYWxpemF0aW9uLlxuICAgICAgICBjb25zdCBkaXNtaXNzVGV4dCA9IHRoaXMuZ2V0UHJvcGVydHkobm90aWZpY2F0aW9uLmRpc21pc3NUZXh0LCB0aGlzLl9kZWZhdWx0RGlzbWlzc1RleHQpO1xuICAgICAgICBub3RpZmljYXRpb24uZGlzbWlzc1RleHQgPSB0aGlzLl9kZWZhdWx0TG9jYWxpemUgJiYgdGhpcy5fbG9jYWxpemVcbiAgICAgICAgICAgID8gdGhpcy5fbG9jYWxpemUudHJhbnNsYXRlKGRpc21pc3NUZXh0KVxuICAgICAgICAgICAgOiBkaXNtaXNzVGV4dDtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGNvbXBvc2VkIG5vdGlmaWNhdGlvbi5cbiAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUVsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOb3RpZmljYXRpb25zRGF0YSxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLl9ub3RpZmljYXRpb25zJC5waXBlKHNoYXJlKCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXNtaXNzVGV4dDogdGhpcy5fZGVmYXVsdERpc21pc3NUZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5fZGVmYXVsdFBvc2l0aW9uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdLCB0aGlzLl9lbnZpcm9ubWVudEluamVjdG9yKTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGNvbXBvbmVudC5cbiAgICAgICAgdGhpcy5fcmVmID0gY3JlYXRlQ29tcG9uZW50KEJiTm90aWZpY2F0aW9uc0xpc3QsIHtlbnZpcm9ubWVudEluamVjdG9yfSk7XG5cbiAgICAgICAgLy8gRGV0ZWN0IHRoZSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLl9yZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8vIEF0dGFjaCB0aGUgY29tcG9uZW50J3MgdmlldyB0byB0aGUgYXBwbGljYXRpb25cbiAgICAgICAgLy8gc28gdGhhdCB0aGUgY2hhbmdlIGRldGVjdGlvbiB3aWxsIHJ1biBwcm9wZXJseS5cbiAgICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLl9yZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIC8vIElmIHRoZSBwbGF0Zm9ybSBpcyBub3QgYSBicm93c2VyIHJldHVybi5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGVsZW1lbnQgdG8gdGhlIERPTS5cbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fcmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIC8vIERvbid0IGRvIGFueXRoaW5nLCBiZWNhdXNlIGl0IG11c3QndmUgZmFpbGVkLlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wZXJ0eSA9IChwcm9wZXJ0eTogYW55LCBkZWZhdWx0VmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5ID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBkZWZhdWx0VmFsdWVcbiAgICAgICAgICAgIDogcHJvcGVydHk7XG4gICAgfTtcblxufVxuIl19
@@ -4,6 +4,18 @@ import { distinctUntilChanged, switchMap } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../permissions.service";
6
6
  export class BbPermission {
7
+ _permissions;
8
+ _templateRef;
9
+ _viewContainerRef;
10
+ // Templates.
11
+ _elseTemplateRef = null;
12
+ // View refs.
13
+ _thenViewRef = null;
14
+ _elseViewRef = null;
15
+ // Data.
16
+ _valid = false;
17
+ _permission$ = new BehaviorSubject([]);
18
+ _mode$ = new BehaviorSubject('and');
7
19
  set bbPermission(value) {
8
20
  const permissions = Array.isArray(value) ? value : [value];
9
21
  this._permission$.next(permissions);
@@ -17,21 +29,12 @@ export class BbPermission {
17
29
  set bbPermissionMode(mode) {
18
30
  this._mode$.next(mode);
19
31
  }
32
+ // Subscriptions.
33
+ _subscription = new Subscription();
20
34
  constructor(_permissions, _templateRef, _viewContainerRef) {
21
35
  this._permissions = _permissions;
22
36
  this._templateRef = _templateRef;
23
37
  this._viewContainerRef = _viewContainerRef;
24
- // Templates.
25
- this._elseTemplateRef = null;
26
- // View refs.
27
- this._thenViewRef = null;
28
- this._elseViewRef = null;
29
- // Data.
30
- this._valid = false;
31
- this._permission$ = new BehaviorSubject([]);
32
- this._mode$ = new BehaviorSubject('and');
33
- // Subscriptions.
34
- this._subscription = new Subscription();
35
38
  }
36
39
  ngOnInit() {
37
40
  const check$ = combineLatest([this._permission$, this._mode$]).pipe(switchMap(([permissions, mode]) => this._permissions.has(permissions, { mode })), distinctUntilChanged());
@@ -70,8 +73,11 @@ export class BbPermission {
70
73
  throw new Error(`${property} must be a TemplateRef.`);
71
74
  }
72
75
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbPermission, isStandalone: true, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 }); }
76
+ static ngAcceptInputType_bbPermission;
77
+ static ngAcceptInputType_bbPermissionElse;
78
+ static ngAcceptInputType_bbPermissionMode;
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
80
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: BbPermission, isStandalone: true, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 });
75
81
  }
76
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BbPermission, decorators: [{
77
83
  type: Directive,
@@ -86,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
86
92
  }], bbPermissionMode: [{
87
93
  type: Input
88
94
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3Blcm1pc3Npb25zL3NyYy9saWIvZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFtQixLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sWUFBWTtJQWNyQixJQUNJLFlBQVksQ0FBQyxLQUF3QjtRQUNyQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLFdBQTZCO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksZ0JBQWdCLENBQUMsSUFBcUI7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUtELFlBQW9CLFlBQXlCLEVBQ3pCLFlBQThCLEVBQzlCLGlC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QztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUlBZ0JPLFlBQVk7c0JBRGYsS0FBSztnQkFRRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBUUYsZ0JBQWdCO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc01vZGV9IGZyb20gJy4uL3Blcm1pc3Npb25zLmludGVyZmFjZSc7XG5pbXBvcnQge1Blcm1pc3Npb25zfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJQZXJtaXNzaW9uXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlBlcm1pc3Npb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBUZW1wbGF0ZXMuXG4gICAgcHJpdmF0ZSBfZWxzZVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBWaWV3IHJlZnMuXG4gICAgcHJpdmF0ZSBfdGhlblZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfZWxzZVZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3ZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcGVybWlzc2lvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gICAgcHJpdmF0ZSBfbW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBlcm1pc3Npb25zTW9kZT4oJ2FuZCcpO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgYmJQZXJtaXNzaW9uKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgICB0aGlzLl9wZXJtaXNzaW9uJC5uZXh0KHBlcm1pc3Npb25zKTtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYmJQZXJtaXNzaW9uRWxzZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLmFzc2VydFRlbXBsYXRlKCdiYlBlcm1pc3Npb25FbHNlJywgdGVtcGxhdGVSZWYpO1xuICAgICAgICB0aGlzLl9lbHNlVGVtcGxhdGVSZWYgPSB0ZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYmJQZXJtaXNzaW9uTW9kZShtb2RlOiBQZXJtaXNzaW9uc01vZGUpIHtcbiAgICAgICAgdGhpcy5fbW9kZSQubmV4dChtb2RlKTtcbiAgICB9XG5cbiAgICAvLyBTdWJzY3JpcHRpb25zLlxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Blcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF90ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNoZWNrJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3Blcm1pc3Npb24kLCB0aGlzLl9tb2RlJF0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFtwZXJtaXNzaW9ucywgbW9kZV0pID0+IHRoaXMuX3Blcm1pc3Npb25zLmhhcyhwZXJtaXNzaW9ucywge21vZGV9KSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gY2hlY2skLnN1YnNjcmliZSh2YWxpZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl92YWxpZCA9IHZhbGlkO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLl92YWxpZCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl90aGVuVmlld1JlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbHNlVmlld1JlZiA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3RlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RoZW5WaWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fZWxzZVZpZXdSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGhlblZpZXdSZWYgPSBudWxsO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9lbHNlVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxzZVZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl9lbHNlVGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXNzZXJ0VGVtcGxhdGUocHJvcGVydHk6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IGlzVGVtcGxhdGVSZWZPck51bGwgPSAhISghdGVtcGxhdGVSZWYgfHwgdGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KTtcbiAgICAgICAgaWYgKCFpc1RlbXBsYXRlUmVmT3JOdWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cHJvcGVydHl9IG11c3QgYmUgYSBUZW1wbGF0ZVJlZi5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9iYlBlcm1pc3Npb246IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9iYlBlcm1pc3Npb25FbHNlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9iYlBlcm1pc3Npb25Nb2RlOiBQZXJtaXNzaW9uc01vZGU7XG5cbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3Blcm1pc3Npb25zL3NyYy9saWIvZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFtQixLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sWUFBWTtJQW9DRDtJQUNBO0lBQ0E7SUFwQ3BCLGFBQWE7SUFDTCxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBRXpELGFBQWE7SUFDTCxZQUFZLEdBQWdDLElBQUksQ0FBQztJQUNqRCxZQUFZLEdBQWdDLElBQUksQ0FBQztJQUV6RCxRQUFRO0lBQ0EsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUN4QixZQUFZLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFrQixLQUFLLENBQUMsQ0FBQztJQUU3RCxJQUNJLFlBQVksQ0FBQyxLQUF3QjtRQUNyQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLGdCQUFnQixDQUFDLFdBQTZCO1FBQzlDLElBQUks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QUFDLGtDQUFrQyxDQUFtQjtJQUM1RCxNQUFNLENBQUMsa0NBQWtDLENBQWtCO3VHQXZGbEQsWUFBWTsyRkFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUp4QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt5SUFnQk8sWUFBWTtzQkFEZixLQUFLO2dCQVFGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFRRixnQkFBZ0I7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1Blcm1pc3Npb25zTW9kZX0gZnJvbSAnLi4vcGVybWlzc2lvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4uL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYlBlcm1pc3Npb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiUGVybWlzc2lvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIFRlbXBsYXRlcy5cbiAgICBwcml2YXRlIF9lbHNlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFZpZXcgcmVmcy5cbiAgICBwcml2YXRlIF90aGVuVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIF9lbHNlVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9wZXJtaXNzaW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcbiAgICBwcml2YXRlIF9tb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGVybWlzc2lvbnNNb2RlPignYW5kJyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICAgIHRoaXMuX3Blcm1pc3Npb24kLm5leHQocGVybWlzc2lvbnMpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb25FbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuYXNzZXJ0VGVtcGxhdGUoJ2JiUGVybWlzc2lvbkVsc2UnLCB0ZW1wbGF0ZVJlZik7XG4gICAgICAgIHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYlBlcm1pc3Npb25Nb2RlKG1vZGU6IFBlcm1pc3Npb25zTW9kZSkge1xuICAgICAgICB0aGlzLl9tb2RlJC5uZXh0KG1vZGUpO1xuICAgIH1cblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY2hlY2skID0gY29tYmluZUxhdGVzdChbdGhpcy5fcGVybWlzc2lvbiQsIHRoaXMuX21vZGUkXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW3Blcm1pc3Npb25zLCBtb2RlXSkgPT4gdGhpcy5fcGVybWlzc2lvbnMuaGFzKHBlcm1pc3Npb25zLCB7bW9kZX0pKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBjaGVjayQuc3Vic2NyaWJlKHZhbGlkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkID0gdmFsaWQ7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmlldygpIHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbGlkKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3RoZW5WaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Vsc2VWaWV3UmVmID0gbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGhlblZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9lbHNlVmlld1JlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVuVmlld1JlZiA9IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9lbHNlVmlld1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3NlcnRUZW1wbGF0ZShwcm9wZXJ0eTogc3RyaW5nLCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgaXNUZW1wbGF0ZVJlZk9yTnVsbCA9ICEhKCF0ZW1wbGF0ZVJlZiB8fCB0ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcpO1xuICAgICAgICBpZiAoIWlzVGVtcGxhdGVSZWZPck51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtwcm9wZXJ0eX0gbXVzdCBiZSBhIFRlbXBsYXRlUmVmLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbjogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbkVsc2U6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JiUGVybWlzc2lvbk1vZGU6IFBlcm1pc3Npb25zTW9kZTtcblxufVxuIl19
@@ -1,6 +1,8 @@
1
1
  import { PermissionsHandler } from './abstract.handler';
2
2
  import { map } from 'rxjs/operators';
3
3
  export class LocalPermissionsHandler extends PermissionsHandler {
4
+ auth;
5
+ localPermissions;
4
6
  constructor(auth, localPermissions) {
5
7
  super();
6
8
  this.auth = auth;
@@ -24,4 +26,4 @@ export class LocalPermissionsHandler extends PermissionsHandler {
24
26
  }, []);
25
27
  }
26
28
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9oYW5kbGVycy9sb2NhbC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRTNELFlBQXNCLElBQVUsRUFDVixnQkFBc0M7UUFDeEQsS0FBSyxFQUFFLENBQUM7UUFGVSxTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ1YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtJQUU1RCxDQUFDO0lBRVEsR0FBRztRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDUCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsQ0FBQztZQUNkLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVTLHFCQUFxQixDQUFDLElBQVk7UUFDeEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDekUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JELElBQUksS0FBSyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBRUQsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhbFBlcm1pc3Npb25zRGF0YX0gZnJvbSAnLi4vcGVybWlzc2lvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVybWlzc2lvbnNIYW5kbGVyfSBmcm9tICcuL2Fic3RyYWN0LmhhbmRsZXInO1xuaW1wb3J0IHtBdXRofSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9hdXRoJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFBlcm1pc3Npb25zSGFuZGxlciBleHRlbmRzIFBlcm1pc3Npb25zSGFuZGxlciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXV0aDogQXV0aCxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgbG9jYWxQZXJtaXNzaW9uczogTG9jYWxQZXJtaXNzaW9uc0RhdGEpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGgudXNlci5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXIgPT4gdXNlcj8ucm9sZSA/PyBudWxsKSxcbiAgICAgICAgICAgIG1hcChyb2xlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm9sZSA9PT0gbnVsbCB8fCByb2xlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBlcm1pc3Npb25zRm9yUm9sZShyb2xlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFBlcm1pc3Npb25zRm9yUm9sZShyb2xlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubG9jYWxQZXJtaXNzaW9ucyA/PyB7fSkucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgcm9sZXMgPSB0aGlzLmxvY2FsUGVybWlzc2lvbnM/LltjdXJyZW50XSA/PyBbXTtcbiAgICAgICAgICAgIGlmIChyb2xlcyA9PT0gJyonIHx8IHJvbGVzPy5pbmNsdWRlcyhyb2xlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbLi4ucHJldmlvdXMsIGN1cnJlbnRdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcHJldmlvdXM7XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG5cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vcGVybWlzc2lvbnMvc3JjL2xpYi9oYW5kbGVycy9sb2NhbC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRXJDO0lBQ0E7SUFEdEIsWUFBc0IsSUFBVSxFQUNWLGdCQUFzQztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQUZVLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBRTVELENBQUM7SUFFUSxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLEVBQy9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNQLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRVMscUJBQXFCLENBQUMsSUFBWTtRQUN4QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN6RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckQsSUFBSSxLQUFLLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFFRCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsUGVybWlzc2lvbnNEYXRhfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZXJtaXNzaW9uc0hhbmRsZXJ9IGZyb20gJy4vYWJzdHJhY3QuaGFuZGxlcic7XG5pbXBvcnQge0F1dGh9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2F1dGgnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIExvY2FsUGVybWlzc2lvbnNIYW5kbGVyIGV4dGVuZHMgUGVybWlzc2lvbnNIYW5kbGVyIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhdXRoOiBBdXRoLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBsb2NhbFBlcm1pc3Npb25zOiBMb2NhbFBlcm1pc3Npb25zRGF0YSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aC51c2VyLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlciA9PiB1c2VyPy5yb2xlID8/IG51bGwpLFxuICAgICAgICAgICAgbWFwKHJvbGUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb2xlID09PSBudWxsIHx8IHJvbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGVybWlzc2lvbnNGb3JSb2xlKHJvbGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UGVybWlzc2lvbnNGb3JSb2xlKHJvbGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5sb2NhbFBlcm1pc3Npb25zID8/IHt9KS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByb2xlcyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucz8uW2N1cnJlbnRdID8/IFtdO1xuICAgICAgICAgICAgaWYgKHJvbGVzID09PSAnKicgfHwgcm9sZXM/LmluY2x1ZGVzKHJvbGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5wcmV2aW91cywgY3VycmVudF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgfSwgW10pO1xuICAgIH1cblxufVxuIl19