@idea-ionic/uncommon 8.2.6 → 8.2.8

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 (67) hide show
  1. package/esm2022/public-api.mjs +3 -12
  2. package/esm2022/src/AWSAPI.service.mjs +4 -3
  3. package/esm2022/src/AWSAPISocket.service.mjs +4 -3
  4. package/esm2022/src/address/address.component.mjs +320 -5
  5. package/esm2022/src/announcement/announcement.component.mjs +37 -6
  6. package/esm2022/src/colors/colorPicker.component.mjs +64 -8
  7. package/esm2022/src/contacts/contacts.component.mjs +131 -7
  8. package/esm2022/src/dateTime/calendarPicker.component.mjs +25 -8
  9. package/esm2022/src/dateTime/dateTime.component.mjs +90 -6
  10. package/esm2022/src/duration/duration.component.mjs +123 -5
  11. package/esm2022/src/echo/echo.page.mjs +74 -6
  12. package/esm2022/src/echo/echo.routes.mjs +6 -0
  13. package/esm2022/src/errorReporting.service.mjs +4 -3
  14. package/esm2022/src/mde/mde.component.mjs +106 -7
  15. package/esm2022/src/mde/mdeToolbar.component.mjs +17 -4
  16. package/esm2022/src/offline/cacheableResource.component.mjs +42 -4
  17. package/esm2022/src/offline/offline.service.mjs +4 -3
  18. package/esm2022/src/offline/offlineData.service.mjs +4 -3
  19. package/esm2022/src/offline/offlineIndicator.component.mjs +52 -5
  20. package/esm2022/src/offline/offlineManager.component.mjs +25 -8
  21. package/esm2022/src/pushNotifications.service.mjs +4 -3
  22. package/esm2022/src/sentiment/sentiment.component.mjs +47 -6
  23. package/esm2022/src/timeInterval/fromTimeToTime.component.mjs +23 -7
  24. package/esm2022/src/timeInterval/timeInterval.component.mjs +89 -5
  25. package/fesm2022/idea-ionic-uncommon.mjs +1225 -212
  26. package/fesm2022/idea-ionic-uncommon.mjs.map +1 -1
  27. package/package.json +1 -1
  28. package/public-api.d.ts +2 -11
  29. package/src/address/address.component.d.ts +1 -1
  30. package/src/announcement/announcement.component.d.ts +1 -1
  31. package/src/colors/colorPicker.component.d.ts +2 -2
  32. package/src/contacts/contacts.component.d.ts +1 -1
  33. package/src/dateTime/calendarPicker.component.d.ts +1 -1
  34. package/src/dateTime/dateTime.component.d.ts +1 -1
  35. package/src/duration/duration.component.d.ts +1 -1
  36. package/src/echo/echo.page.d.ts +1 -1
  37. package/src/echo/echo.routes.d.ts +2 -0
  38. package/src/mde/mde.component.d.ts +1 -1
  39. package/src/mde/mdeToolbar.component.d.ts +1 -1
  40. package/src/offline/cacheableResource.component.d.ts +1 -1
  41. package/src/offline/offlineIndicator.component.d.ts +1 -1
  42. package/src/offline/offlineManager.component.d.ts +1 -1
  43. package/src/sentiment/sentiment.component.d.ts +1 -1
  44. package/src/timeInterval/fromTimeToTime.component.d.ts +1 -1
  45. package/src/timeInterval/timeInterval.component.d.ts +1 -1
  46. package/esm2022/src/address/address.module.mjs +0 -21
  47. package/esm2022/src/announcement/announcement.module.mjs +0 -21
  48. package/esm2022/src/colors/colorPicker.module.mjs +0 -20
  49. package/esm2022/src/contacts/contacts.module.mjs +0 -21
  50. package/esm2022/src/dateTime/dateTime.module.mjs +0 -22
  51. package/esm2022/src/duration/duration.module.mjs +0 -21
  52. package/esm2022/src/echo/echo.module.mjs +0 -26
  53. package/esm2022/src/mde/mde.module.mjs +0 -22
  54. package/esm2022/src/offline/offline.module.mjs +0 -22
  55. package/esm2022/src/sentiment/sentiment.module.mjs +0 -21
  56. package/esm2022/src/timeInterval/timeInterval.module.mjs +0 -22
  57. package/src/address/address.module.d.ts +0 -11
  58. package/src/announcement/announcement.module.d.ts +0 -11
  59. package/src/colors/colorPicker.module.d.ts +0 -10
  60. package/src/contacts/contacts.module.d.ts +0 -11
  61. package/src/dateTime/dateTime.module.d.ts +0 -12
  62. package/src/duration/duration.module.d.ts +0 -11
  63. package/src/echo/echo.module.d.ts +0 -12
  64. package/src/mde/mde.module.d.ts +0 -12
  65. package/src/offline/offline.module.d.ts +0 -12
  66. package/src/sentiment/sentiment.module.d.ts +0 -11
  67. package/src/timeInterval/timeInterval.module.d.ts +0 -12
@@ -1,10 +1,10 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, Input, inject } from '@angular/core';
2
- import { ModalController, AlertController, Platform } from '@ionic/angular/standalone';
3
+ import { ModalController, AlertController, Platform, IonFab, IonFabButton, IonIcon } from '@ionic/angular/standalone';
3
4
  import { IDEATranslationsService } from '@idea-ionic/common';
4
5
  import { IDEAOfflineManagerComponent } from './offlineManager.component';
5
6
  import { IDEAOfflineDataService } from './offlineData.service';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "@ionic/angular";
8
8
  export class IDEAOfflineIndicatorComponent {
9
9
  constructor() {
10
10
  this._alert = inject(AlertController);
@@ -43,11 +43,58 @@ export class IDEAOfflineIndicatorComponent {
43
43
  }
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAOfflineIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAOfflineIndicatorComponent, selector: "idea-offline-indicator", inputs: { vertical: "vertical", horizontal: "horizontal", edge: "edge" }, ngImport: i0, template: "@if (\n _platform.is('mobile') && (_offline.isOffline() || _offline.synchronizing || _offline.requiresManualConfirmation)\n) {\n <ion-fab [vertical]=\"vertical\" [horizontal]=\"horizontal\" [edge]=\"edge\">\n <ion-fab-button color=\"dark\" size=\"small\" (click)=\"showStatus()\">\n <!-- OFFLINE -->\n @if (_offline.isOffline()) {\n <ion-icon name=\"airplane\" />\n }\n <!-- SYNCHRONISING -->\n @if (_offline.isOnline() && _offline.synchronizing) {\n <ion-icon name=\"sync\" />\n }\n <!-- NEED MANAL SYNCHRONISATION -->\n @if (_offline.isOnline() && _offline.requiresManualConfirmation) {\n <ion-icon name=\"pause\" />\n }\n </ion-fab-button>\n </ion-fab>\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i1.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAOfflineIndicatorComponent, isStandalone: true, selector: "idea-offline-indicator", inputs: { vertical: "vertical", horizontal: "horizontal", edge: "edge" }, ngImport: i0, template: `
47
+ @if (
48
+ _platform.is('mobile') && (_offline.isOffline() || _offline.synchronizing || _offline.requiresManualConfirmation)
49
+ ) {
50
+ <ion-fab [vertical]="vertical" [horizontal]="horizontal" [edge]="edge">
51
+ <ion-fab-button color="dark" size="small" (click)="showStatus()">
52
+ <!-- OFFLINE -->
53
+ @if (_offline.isOffline()) {
54
+ <ion-icon name="airplane" />
55
+ }
56
+ <!-- SYNCHRONISING -->
57
+ @if (_offline.isOnline() && _offline.synchronizing) {
58
+ <ion-icon name="sync" />
59
+ }
60
+ <!-- NEED MANAL SYNCHRONISATION -->
61
+ @if (_offline.isOnline() && _offline.requiresManualConfirmation) {
62
+ <ion-icon name="pause" />
63
+ }
64
+ </ion-fab-button>
65
+ </ion-fab>
66
+ }
67
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
47
68
  }
48
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAOfflineIndicatorComponent, decorators: [{
49
70
  type: Component,
50
- args: [{ selector: 'idea-offline-indicator', template: "@if (\n _platform.is('mobile') && (_offline.isOffline() || _offline.synchronizing || _offline.requiresManualConfirmation)\n) {\n <ion-fab [vertical]=\"vertical\" [horizontal]=\"horizontal\" [edge]=\"edge\">\n <ion-fab-button color=\"dark\" size=\"small\" (click)=\"showStatus()\">\n <!-- OFFLINE -->\n @if (_offline.isOffline()) {\n <ion-icon name=\"airplane\" />\n }\n <!-- SYNCHRONISING -->\n @if (_offline.isOnline() && _offline.synchronizing) {\n <ion-icon name=\"sync\" />\n }\n <!-- NEED MANAL SYNCHRONISATION -->\n @if (_offline.isOnline() && _offline.requiresManualConfirmation) {\n <ion-icon name=\"pause\" />\n }\n </ion-fab-button>\n </ion-fab>\n}\n" }]
71
+ args: [{
72
+ selector: 'idea-offline-indicator',
73
+ standalone: true,
74
+ imports: [CommonModule, IonFab, IonFabButton, IonIcon],
75
+ template: `
76
+ @if (
77
+ _platform.is('mobile') && (_offline.isOffline() || _offline.synchronizing || _offline.requiresManualConfirmation)
78
+ ) {
79
+ <ion-fab [vertical]="vertical" [horizontal]="horizontal" [edge]="edge">
80
+ <ion-fab-button color="dark" size="small" (click)="showStatus()">
81
+ <!-- OFFLINE -->
82
+ @if (_offline.isOffline()) {
83
+ <ion-icon name="airplane" />
84
+ }
85
+ <!-- SYNCHRONISING -->
86
+ @if (_offline.isOnline() && _offline.synchronizing) {
87
+ <ion-icon name="sync" />
88
+ }
89
+ <!-- NEED MANAL SYNCHRONISATION -->
90
+ @if (_offline.isOnline() && _offline.requiresManualConfirmation) {
91
+ <ion-icon name="pause" />
92
+ }
93
+ </ion-fab-button>
94
+ </ion-fab>
95
+ }
96
+ `
97
+ }]
51
98
  }], propDecorators: { vertical: [{
52
99
  type: Input
53
100
  }], horizontal: [{
@@ -55,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
55
102
  }], edge: [{
56
103
  type: Input
57
104
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZUluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3VuY29tbW9uL3NyYy9vZmZsaW5lL29mZmxpbmVJbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvb2ZmbGluZS9vZmZsaW5lSW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFNVSxXQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JELGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTFDOztXQUVHO1FBQ00sYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDOUI7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBa0J2QjtJQWhCQyxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDO29CQUNsRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFLENBQUM7b0JBQzVGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2lCQUM5QyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7WUFDbkYsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDOzhHQW5DVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qix3SUNaMUMsaXVCQW9CQTs7MkZEUmEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHdCQUF3Qjs4QkFjekIsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBBbGVydENvbnRyb2xsZXIsIFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJREVBVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJ0BpZGVhLWlvbmljL2NvbW1vbic7XG5cbmltcG9ydCB7IElERUFPZmZsaW5lTWFuYWdlckNvbXBvbmVudCB9IGZyb20gJy4vb2ZmbGluZU1hbmFnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElERUFPZmZsaW5lRGF0YVNlcnZpY2UgfSBmcm9tICcuL29mZmxpbmVEYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLW9mZmxpbmUtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICdvZmZsaW5lSW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29mZmxpbmVJbmRpY2F0b3IuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJREVBT2ZmbGluZUluZGljYXRvckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX2FsZXJ0ID0gaW5qZWN0KEFsZXJ0Q29udHJvbGxlcik7XG4gIHByaXZhdGUgX21vZGFsID0gaW5qZWN0KE1vZGFsQ29udHJvbGxlcik7XG4gIHByaXZhdGUgX3RyYW5zbGF0ZSA9IGluamVjdChJREVBVHJhbnNsYXRpb25zU2VydmljZSk7XG4gIF9wbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybSk7XG4gIF9vZmZsaW5lID0gaW5qZWN0KElERUFPZmZsaW5lRGF0YVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBWZXJ0aWNhbCBwb3NpdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHZlcnRpY2FsID0gJ2JvdHRvbSc7XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHBvc2l0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgaG9yaXpvbnRhbCA9ICdzdGFydCc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGl0IGlzIHBvc2l0aW9uYXRlZCBvbiBhbiBlZGdlLlxuICAgKi9cbiAgQElucHV0KCkgZWRnZSA9IGZhbHNlO1xuXG4gIGFzeW5jIHNob3dTdGF0dXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuX29mZmxpbmUuaXNPZmZsaW5lKCkpIHtcbiAgICAgIGNvbnN0IGlzT25saW5lID0gYXdhaXQgdGhpcy5fb2ZmbGluZS5jaGVjaygpO1xuICAgICAgaWYgKCFpc09ubGluZSkge1xuICAgICAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuX2FsZXJ0LmNyZWF0ZSh7XG4gICAgICAgICAgaGVhZGVyOiB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9VTkNPTU1PTi5PRkZMSU5FLllPVV9BUkVfT0ZGTElORScpLFxuICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRkVBVFVSRVNfUkVEVUNFRF9DT05URU5UU19OT1RfVVBfVE9fREFURScpLFxuICAgICAgICAgIGJ1dHRvbnM6IFt0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkdPVF9JVCcpXVxuICAgICAgICB9KTtcbiAgICAgICAgYWxlcnQucHJlc2VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5fb2ZmbGluZS5pc0FsbG93ZWQoKSkge1xuICAgICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLl9tb2RhbC5jcmVhdGUoeyBjb21wb25lbnQ6IElERUFPZmZsaW5lTWFuYWdlckNvbXBvbmVudCB9KTtcbiAgICAgIG1vZGFsLnByZXNlbnQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoXG4gIF9wbGF0Zm9ybS5pcygnbW9iaWxlJykgJiYgKF9vZmZsaW5lLmlzT2ZmbGluZSgpIHx8IF9vZmZsaW5lLnN5bmNocm9uaXppbmcgfHwgX29mZmxpbmUucmVxdWlyZXNNYW51YWxDb25maXJtYXRpb24pXG4pIHtcbiAgPGlvbi1mYWIgW3ZlcnRpY2FsXT1cInZlcnRpY2FsXCIgW2hvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiIFtlZGdlXT1cImVkZ2VcIj5cbiAgICA8aW9uLWZhYi1idXR0b24gY29sb3I9XCJkYXJrXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInNob3dTdGF0dXMoKVwiPlxuICAgICAgPCEtLSBPRkZMSU5FIC0tPlxuICAgICAgQGlmIChfb2ZmbGluZS5pc09mZmxpbmUoKSkge1xuICAgICAgICA8aW9uLWljb24gbmFtZT1cImFpcnBsYW5lXCIgLz5cbiAgICAgIH1cbiAgICAgIDwhLS0gU1lOQ0hST05JU0lORyAtLT5cbiAgICAgIEBpZiAoX29mZmxpbmUuaXNPbmxpbmUoKSAmJiBfb2ZmbGluZS5zeW5jaHJvbml6aW5nKSB7XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwic3luY1wiIC8+XG4gICAgICB9XG4gICAgICA8IS0tIE5FRUQgTUFOQUwgU1lOQ0hST05JU0FUSU9OIC0tPlxuICAgICAgQGlmIChfb2ZmbGluZS5pc09ubGluZSgpICYmIF9vZmZsaW5lLnJlcXVpcmVzTWFudWFsQ29uZmlybWF0aW9uKSB7XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwicGF1c2VcIiAvPlxuICAgICAgfVxuICAgIDwvaW9uLWZhYi1idXR0b24+XG4gIDwvaW9uLWZhYj5cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZUluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3VuY29tbW9uL3NyYy9vZmZsaW5lL29mZmxpbmVJbmRpY2F0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBNkIvRCxNQUFNLE9BQU8sNkJBQTZCO0lBM0IxQztRQTRCVSxXQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JELGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTFDOztXQUVHO1FBQ00sYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM3Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDOUI7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBa0J2QjtJQWhCQyxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDO29CQUNsRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFLENBQUM7b0JBQzVGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2lCQUM5QyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7WUFDbkYsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDOzhHQW5DVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qiw0SkF2QjlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQsMkRBdEJTLFlBQVksK0JBQUUsTUFBTSw2R0FBRSxZQUFZLDhPQUFFLE9BQU87OzJGQXdCMUMsNkJBQTZCO2tCQTNCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO29CQUN0RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCVDtpQkFDRjs4QkFXVSxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBBbGVydENvbnRyb2xsZXIsIFBsYXRmb3JtLCBJb25GYWIsIElvbkZhYkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBT2ZmbGluZU1hbmFnZXJDb21wb25lbnQgfSBmcm9tICcuL29mZmxpbmVNYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJREVBT2ZmbGluZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi9vZmZsaW5lRGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWRlYS1vZmZsaW5lLWluZGljYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkZhYiwgSW9uRmFiQnV0dG9uLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKFxuICAgICAgX3BsYXRmb3JtLmlzKCdtb2JpbGUnKSAmJiAoX29mZmxpbmUuaXNPZmZsaW5lKCkgfHwgX29mZmxpbmUuc3luY2hyb25pemluZyB8fCBfb2ZmbGluZS5yZXF1aXJlc01hbnVhbENvbmZpcm1hdGlvbilcbiAgICApIHtcbiAgICAgIDxpb24tZmFiIFt2ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiIFtob3Jpem9udGFsXT1cImhvcml6b250YWxcIiBbZWRnZV09XCJlZGdlXCI+XG4gICAgICAgIDxpb24tZmFiLWJ1dHRvbiBjb2xvcj1cImRhcmtcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwic2hvd1N0YXR1cygpXCI+XG4gICAgICAgICAgPCEtLSBPRkZMSU5FIC0tPlxuICAgICAgICAgIEBpZiAoX29mZmxpbmUuaXNPZmZsaW5lKCkpIHtcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiYWlycGxhbmVcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8IS0tIFNZTkNIUk9OSVNJTkcgLS0+XG4gICAgICAgICAgQGlmIChfb2ZmbGluZS5pc09ubGluZSgpICYmIF9vZmZsaW5lLnN5bmNocm9uaXppbmcpIHtcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3luY1wiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIDwhLS0gTkVFRCBNQU5BTCBTWU5DSFJPTklTQVRJT04gLS0+XG4gICAgICAgICAgQGlmIChfb2ZmbGluZS5pc09ubGluZSgpICYmIF9vZmZsaW5lLnJlcXVpcmVzTWFudWFsQ29uZmlybWF0aW9uKSB7XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBhdXNlXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLWZhYi1idXR0b24+XG4gICAgICA8L2lvbi1mYWI+XG4gICAgfVxuICBgXG59KVxuZXhwb3J0IGNsYXNzIElERUFPZmZsaW5lSW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfYWxlcnQgPSBpbmplY3QoQWxlcnRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfbW9kYWwgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfdHJhbnNsYXRlID0gaW5qZWN0KElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlKTtcbiAgX3BsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcbiAgX29mZmxpbmUgPSBpbmplY3QoSURFQU9mZmxpbmVEYXRhU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFZlcnRpY2FsIHBvc2l0aW9uLlxuICAgKi9cbiAgQElucHV0KCkgdmVydGljYWwgPSAnYm90dG9tJztcbiAgLyoqXG4gICAqIEhvcml6b250YWwgcG9zaXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBob3Jpem9udGFsID0gJ3N0YXJ0JztcbiAgLyoqXG4gICAqIFdoZXRoZXIgaXQgaXMgcG9zaXRpb25hdGVkIG9uIGFuIGVkZ2UuXG4gICAqL1xuICBASW5wdXQoKSBlZGdlID0gZmFsc2U7XG5cbiAgYXN5bmMgc2hvd1N0YXR1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fb2ZmbGluZS5pc09mZmxpbmUoKSkge1xuICAgICAgY29uc3QgaXNPbmxpbmUgPSBhd2FpdCB0aGlzLl9vZmZsaW5lLmNoZWNrKCk7XG4gICAgICBpZiAoIWlzT25saW5lKSB7XG4gICAgICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5fYWxlcnQuY3JlYXRlKHtcbiAgICAgICAgICBoZWFkZXI6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuWU9VX0FSRV9PRkZMSU5FJyksXG4gICAgICAgICAgbWVzc2FnZTogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5GRUFUVVJFU19SRURVQ0VEX0NPTlRFTlRTX05PVF9VUF9UT19EQVRFJyksXG4gICAgICAgICAgYnV0dG9uczogW3RoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uR09UX0lUJyldXG4gICAgICAgIH0pO1xuICAgICAgICBhbGVydC5wcmVzZW50KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLl9vZmZsaW5lLmlzQWxsb3dlZCgpKSB7XG4gICAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuX21vZGFsLmNyZWF0ZSh7IGNvbXBvbmVudDogSURFQU9mZmxpbmVNYW5hZ2VyQ29tcG9uZW50IH0pO1xuICAgICAgbW9kYWwucHJlc2VudCgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,12 +1,11 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, inject } from '@angular/core';
2
- import { ModalController, AlertController } from '@ionic/angular/standalone';
3
+ import { ModalController, AlertController, IonHeader, IonToolbar, IonButton, IonIcon, IonButtons, IonTitle, IonContent, IonList, IonListHeader, IonLabel, IonText, IonItem, IonSpinner } from '@ionic/angular/standalone';
3
4
  import { Browser } from '@capacitor/browser';
4
- import { IDEAActionSheetController, IDEATranslationsService } from '@idea-ionic/common';
5
+ import { IDEAActionSheetController, IDEALocalizedDatePipe, IDEATranslatePipe, IDEATranslationsService } from '@idea-ionic/common';
5
6
  import { IDEAOfflineDataService } from './offlineData.service';
7
+ import { IDEACacheableResourceComponent } from './cacheableResource.component';
6
8
  import * as i0 from "@angular/core";
7
- import * as i1 from "@ionic/angular";
8
- import * as i2 from "./cacheableResource.component";
9
- import * as i3 from "@idea-ionic/common";
10
9
  export class IDEAOfflineManagerComponent {
11
10
  constructor() {
12
11
  this._modal = inject(ModalController);
@@ -75,10 +74,28 @@ export class IDEAOfflineManagerComponent {
75
74
  this._modal.dismiss();
76
75
  }
77
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAOfflineManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAOfflineManagerComponent, selector: "idea-offline-manager", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n </ion-buttons>\n <ion-title>\n {{ 'IDEA_UNCOMMON.OFFLINE.OFFLINE_MANAGER' | translate }}\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button [title]=\"'IDEA_UNCOMMON.OFFLINE.ADVANCED_ACTIONS' | translate\" (click)=\"actions()\">\n <ion-icon slot=\"icon-only\" name=\"ellipsis-vertical\" />\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list class=\"aList\">\n @if (!_offline.synchronizing && _offline.requiresManualConfirmation) {\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.HUGE_SYNC_NEED_MANUAL_CONFIRMATION' | translate }}</h2>\n </ion-label>\n </ion-list-header>\n }\n @if (!_offline.synchronizing) {\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <h3 class=\"lastSyncAt\">\n {{ 'IDEA_UNCOMMON.OFFLINE.LAST_SYNC' | translate }}:\n <ion-text>\n {{\n _offline.lastSyncAt\n ? (_offline.lastSyncAt | dateLocale: 'medium')\n : ('IDEA_UNCOMMON.OFFLINE.NEVER' | translate)\n }}\n </ion-text>\n </h3>\n @if (_offline.errorInLastSync) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_DURING_LAST_SYNC' | translate }}</b>\n </ion-text>\n </p>\n }\n </ion-label>\n <ion-button\n size=\"small\"\n fill=\"solid\"\n [color]=\"_offline.errorInLastSync ? 'danger' : 'dark'\"\n [disabled]=\"_offline.isOffline()\"\n (click)=\"sync()\"\n >\n <ion-icon slot=\"start\" name=\"sync\" /> {{ 'IDEA_UNCOMMON.OFFLINE.SYNC_NOW' | translate }}\n </ion-button>\n </ion-list-header>\n }\n </ion-list>\n @if (_offline.synchronizing) {\n <ion-list class=\"aList\">\n <ion-item>\n <ion-label class=\"ion-text-center\">\n <ion-spinner name=\"crescent\" color=\"primary\" />\n </ion-label>\n </ion-item>\n </ion-list>\n }\n @if (_offline.useQueueAPIRequests) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD_QUEUE_REQUESTS_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @if (!_offline.queueAPIRequests.length) {\n <ion-item>\n <i>{{ 'IDEA_UNCOMMON.OFFLINE.NO_ELEMENTS_TO_UPLOAD' | translate }}</i>\n <ion-icon slot=\"end\" size=\"small\" name=\"checkmark\" color=\"success\" />\n </ion-item>\n }\n @for (r of _offline.queueAPIRequests; track r; let odd = $odd) {\n <ion-item [class.oddItem]=\"odd\">\n <ion-label class=\"ion-text-wrap\">\n {{ r.description }}\n @if (r.error) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_CODE' | translate }}: {{ r.error }}</b>\n </ion-text>\n <br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_I' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_II' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_III' | translate }}\n </p>\n }\n </ion-label>\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"danger\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.CANCEL_REQUEST' | translate\"\n (click)=\"deleteRequest(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"trash\" />\n </ion-button>\n }\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"medium\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_LOG' | translate\"\n (click)=\"downloadRequestLog(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"download\" />\n </ion-button>\n }\n @if (_offline.synchronizing) {\n <ion-spinner slot=\"end\" name=\"dots\" />\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (_offline.getResources().length) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_RESOURCES_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @for (r of _offline.getResources(); track r) {\n <idea-cacheable-resource [resource]=\"_offline.getCacheableResource(r)\" />\n }\n </ion-list>\n }\n</ion-content>\n", styles: [".aList{max-width:500px;margin:0 auto}.aList ion-list-header{padding-right:10px}.aList ion-list-header h3.lastSyncAt{margin-top:6px}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IDEACacheableResourceComponent, selector: "idea-cacheable-resource", inputs: ["resource"] }, { kind: "pipe", type: i3.IDEATranslatePipe, name: "translate" }, { kind: "pipe", type: i3.IDEALocalizedDatePipe, name: "dateLocale" }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEAOfflineManagerComponent, isStandalone: true, selector: "idea-offline-manager", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n </ion-buttons>\n <ion-title>\n {{ 'IDEA_UNCOMMON.OFFLINE.OFFLINE_MANAGER' | translate }}\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button [title]=\"'IDEA_UNCOMMON.OFFLINE.ADVANCED_ACTIONS' | translate\" (click)=\"actions()\">\n <ion-icon slot=\"icon-only\" name=\"ellipsis-vertical\" />\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list class=\"aList\">\n @if (!_offline.synchronizing && _offline.requiresManualConfirmation) {\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.HUGE_SYNC_NEED_MANUAL_CONFIRMATION' | translate }}</h2>\n </ion-label>\n </ion-list-header>\n }\n @if (!_offline.synchronizing) {\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <h3 class=\"lastSyncAt\">\n {{ 'IDEA_UNCOMMON.OFFLINE.LAST_SYNC' | translate }}:\n <ion-text>\n {{\n _offline.lastSyncAt\n ? (_offline.lastSyncAt | dateLocale: 'medium')\n : ('IDEA_UNCOMMON.OFFLINE.NEVER' | translate)\n }}\n </ion-text>\n </h3>\n @if (_offline.errorInLastSync) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_DURING_LAST_SYNC' | translate }}</b>\n </ion-text>\n </p>\n }\n </ion-label>\n <ion-button\n size=\"small\"\n fill=\"solid\"\n [color]=\"_offline.errorInLastSync ? 'danger' : 'dark'\"\n [disabled]=\"_offline.isOffline()\"\n (click)=\"sync()\"\n >\n <ion-icon slot=\"start\" name=\"sync\" /> {{ 'IDEA_UNCOMMON.OFFLINE.SYNC_NOW' | translate }}\n </ion-button>\n </ion-list-header>\n }\n </ion-list>\n @if (_offline.synchronizing) {\n <ion-list class=\"aList\">\n <ion-item>\n <ion-label class=\"ion-text-center\">\n <ion-spinner name=\"crescent\" color=\"primary\" />\n </ion-label>\n </ion-item>\n </ion-list>\n }\n @if (_offline.useQueueAPIRequests) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD_QUEUE_REQUESTS_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @if (!_offline.queueAPIRequests.length) {\n <ion-item>\n <i>{{ 'IDEA_UNCOMMON.OFFLINE.NO_ELEMENTS_TO_UPLOAD' | translate }}</i>\n <ion-icon slot=\"end\" size=\"small\" name=\"checkmark\" color=\"success\" />\n </ion-item>\n }\n @for (r of _offline.queueAPIRequests; track r; let odd = $odd) {\n <ion-item [class.oddItem]=\"odd\">\n <ion-label class=\"ion-text-wrap\">\n {{ r.description }}\n @if (r.error) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_CODE' | translate }}: {{ r.error }}</b>\n </ion-text>\n <br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_I' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_II' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_III' | translate }}\n </p>\n }\n </ion-label>\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"danger\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.CANCEL_REQUEST' | translate\"\n (click)=\"deleteRequest(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"trash\" />\n </ion-button>\n }\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"medium\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_LOG' | translate\"\n (click)=\"downloadRequestLog(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"download\" />\n </ion-button>\n }\n @if (_offline.synchronizing) {\n <ion-spinner slot=\"end\" name=\"dots\" />\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (_offline.getResources().length) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_RESOURCES_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @for (r of _offline.getResources(); track r) {\n <idea-cacheable-resource [resource]=\"_offline.getCacheableResource(r)\" />\n }\n </ion-list>\n }\n</ion-content>\n", styles: [".aList{max-width:500px;margin:0 auto}.aList ion-list-header{padding-right:10px}.aList ion-list-header h3.lastSyncAt{margin-top:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: IDEATranslatePipe, name: "translate" }, { kind: "pipe", type: IDEALocalizedDatePipe, name: "dateLocale" }, { kind: "component", type: IDEACacheableResourceComponent, selector: "idea-cacheable-resource", inputs: ["resource"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }] }); }
79
78
  }
80
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAOfflineManagerComponent, decorators: [{
81
80
  type: Component,
82
- args: [{ selector: 'idea-offline-manager', template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n </ion-buttons>\n <ion-title>\n {{ 'IDEA_UNCOMMON.OFFLINE.OFFLINE_MANAGER' | translate }}\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button [title]=\"'IDEA_UNCOMMON.OFFLINE.ADVANCED_ACTIONS' | translate\" (click)=\"actions()\">\n <ion-icon slot=\"icon-only\" name=\"ellipsis-vertical\" />\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list class=\"aList\">\n @if (!_offline.synchronizing && _offline.requiresManualConfirmation) {\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.HUGE_SYNC_NEED_MANUAL_CONFIRMATION' | translate }}</h2>\n </ion-label>\n </ion-list-header>\n }\n @if (!_offline.synchronizing) {\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <h3 class=\"lastSyncAt\">\n {{ 'IDEA_UNCOMMON.OFFLINE.LAST_SYNC' | translate }}:\n <ion-text>\n {{\n _offline.lastSyncAt\n ? (_offline.lastSyncAt | dateLocale: 'medium')\n : ('IDEA_UNCOMMON.OFFLINE.NEVER' | translate)\n }}\n </ion-text>\n </h3>\n @if (_offline.errorInLastSync) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_DURING_LAST_SYNC' | translate }}</b>\n </ion-text>\n </p>\n }\n </ion-label>\n <ion-button\n size=\"small\"\n fill=\"solid\"\n [color]=\"_offline.errorInLastSync ? 'danger' : 'dark'\"\n [disabled]=\"_offline.isOffline()\"\n (click)=\"sync()\"\n >\n <ion-icon slot=\"start\" name=\"sync\" /> {{ 'IDEA_UNCOMMON.OFFLINE.SYNC_NOW' | translate }}\n </ion-button>\n </ion-list-header>\n }\n </ion-list>\n @if (_offline.synchronizing) {\n <ion-list class=\"aList\">\n <ion-item>\n <ion-label class=\"ion-text-center\">\n <ion-spinner name=\"crescent\" color=\"primary\" />\n </ion-label>\n </ion-item>\n </ion-list>\n }\n @if (_offline.useQueueAPIRequests) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD_QUEUE_REQUESTS_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @if (!_offline.queueAPIRequests.length) {\n <ion-item>\n <i>{{ 'IDEA_UNCOMMON.OFFLINE.NO_ELEMENTS_TO_UPLOAD' | translate }}</i>\n <ion-icon slot=\"end\" size=\"small\" name=\"checkmark\" color=\"success\" />\n </ion-item>\n }\n @for (r of _offline.queueAPIRequests; track r; let odd = $odd) {\n <ion-item [class.oddItem]=\"odd\">\n <ion-label class=\"ion-text-wrap\">\n {{ r.description }}\n @if (r.error) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_CODE' | translate }}: {{ r.error }}</b>\n </ion-text>\n <br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_I' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_II' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_III' | translate }}\n </p>\n }\n </ion-label>\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"danger\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.CANCEL_REQUEST' | translate\"\n (click)=\"deleteRequest(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"trash\" />\n </ion-button>\n }\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"medium\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_LOG' | translate\"\n (click)=\"downloadRequestLog(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"download\" />\n </ion-button>\n }\n @if (_offline.synchronizing) {\n <ion-spinner slot=\"end\" name=\"dots\" />\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (_offline.getResources().length) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_RESOURCES_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @for (r of _offline.getResources(); track r) {\n <idea-cacheable-resource [resource]=\"_offline.getCacheableResource(r)\" />\n }\n </ion-list>\n }\n</ion-content>\n", styles: [".aList{max-width:500px;margin:0 auto}.aList ion-list-header{padding-right:10px}.aList ion-list-header h3.lastSyncAt{margin-top:6px}\n"] }]
81
+ args: [{ selector: 'idea-offline-manager', standalone: true, imports: [
82
+ CommonModule,
83
+ IDEATranslatePipe,
84
+ IDEALocalizedDatePipe,
85
+ IDEACacheableResourceComponent,
86
+ IonSpinner,
87
+ IonItem,
88
+ IonText,
89
+ IonLabel,
90
+ IonListHeader,
91
+ IonList,
92
+ IonContent,
93
+ IonTitle,
94
+ IonButtons,
95
+ IonIcon,
96
+ IonButton,
97
+ IonToolbar,
98
+ IonHeader
99
+ ], template: "<ion-header>\n <ion-toolbar color=\"ideaToolbar\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon name=\"close\" slot=\"icon-only\" />\n </ion-button>\n </ion-buttons>\n <ion-title>\n {{ 'IDEA_UNCOMMON.OFFLINE.OFFLINE_MANAGER' | translate }}\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button [title]=\"'IDEA_UNCOMMON.OFFLINE.ADVANCED_ACTIONS' | translate\" (click)=\"actions()\">\n <ion-icon slot=\"icon-only\" name=\"ellipsis-vertical\" />\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list class=\"aList\">\n @if (!_offline.synchronizing && _offline.requiresManualConfirmation) {\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.HUGE_SYNC_NEED_MANUAL_CONFIRMATION' | translate }}</h2>\n </ion-label>\n </ion-list-header>\n }\n @if (!_offline.synchronizing) {\n <ion-list-header>\n <ion-label class=\"ion-text-wrap\">\n <h3 class=\"lastSyncAt\">\n {{ 'IDEA_UNCOMMON.OFFLINE.LAST_SYNC' | translate }}:\n <ion-text>\n {{\n _offline.lastSyncAt\n ? (_offline.lastSyncAt | dateLocale: 'medium')\n : ('IDEA_UNCOMMON.OFFLINE.NEVER' | translate)\n }}\n </ion-text>\n </h3>\n @if (_offline.errorInLastSync) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_DURING_LAST_SYNC' | translate }}</b>\n </ion-text>\n </p>\n }\n </ion-label>\n <ion-button\n size=\"small\"\n fill=\"solid\"\n [color]=\"_offline.errorInLastSync ? 'danger' : 'dark'\"\n [disabled]=\"_offline.isOffline()\"\n (click)=\"sync()\"\n >\n <ion-icon slot=\"start\" name=\"sync\" /> {{ 'IDEA_UNCOMMON.OFFLINE.SYNC_NOW' | translate }}\n </ion-button>\n </ion-list-header>\n }\n </ion-list>\n @if (_offline.synchronizing) {\n <ion-list class=\"aList\">\n <ion-item>\n <ion-label class=\"ion-text-center\">\n <ion-spinner name=\"crescent\" color=\"primary\" />\n </ion-label>\n </ion-item>\n </ion-list>\n }\n @if (_offline.useQueueAPIRequests) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.UPLOAD_QUEUE_REQUESTS_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @if (!_offline.queueAPIRequests.length) {\n <ion-item>\n <i>{{ 'IDEA_UNCOMMON.OFFLINE.NO_ELEMENTS_TO_UPLOAD' | translate }}</i>\n <ion-icon slot=\"end\" size=\"small\" name=\"checkmark\" color=\"success\" />\n </ion-item>\n }\n @for (r of _offline.queueAPIRequests; track r; let odd = $odd) {\n <ion-item [class.oddItem]=\"odd\">\n <ion-label class=\"ion-text-wrap\">\n {{ r.description }}\n @if (r.error) {\n <p>\n <ion-text color=\"danger\">\n <b>{{ 'IDEA_UNCOMMON.OFFLINE.ERROR_CODE' | translate }}: {{ r.error }}</b>\n </ion-text>\n <br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_I' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_II' | translate }}<br />\n {{ 'IDEA_UNCOMMON.OFFLINE.REQUEST_FAILED_EXPLANATION_III' | translate }}\n </p>\n }\n </ion-label>\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"danger\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.CANCEL_REQUEST' | translate\"\n (click)=\"deleteRequest(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"trash\" />\n </ion-button>\n }\n @if (r.error) {\n <ion-button\n fill=\"clear\"\n slot=\"end\"\n color=\"medium\"\n [title]=\"'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_LOG' | translate\"\n (click)=\"downloadRequestLog(r)\"\n >\n <ion-icon slot=\"icon-only\" name=\"download\" />\n </ion-button>\n }\n @if (_offline.synchronizing) {\n <ion-spinner slot=\"end\" name=\"dots\" />\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (_offline.getResources().length) {\n <ion-list class=\"aList\">\n <ion-list-header>\n <ion-label>\n <h2>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD' | translate }}</h2>\n <p>{{ 'IDEA_UNCOMMON.OFFLINE.DOWNLOAD_RESOURCES_EXPLANATION' | translate }}</p>\n </ion-label>\n </ion-list-header>\n @for (r of _offline.getResources(); track r) {\n <idea-cacheable-resource [resource]=\"_offline.getCacheableResource(r)\" />\n }\n </ion-list>\n }\n</ion-content>\n", styles: [".aList{max-width:500px;margin:0 auto}.aList ion-list-header{padding-right:10px}.aList ion-list-header h3.lastSyncAt{margin-top:6px}\n"] }]
83
100
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZU1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvb2ZmbGluZS9vZmZsaW5lTWFuYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3VuY29tbW9uL3NyYy9vZmZsaW5lL29mZmxpbmVNYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBYyxNQUFNLHVCQUF1QixDQUFDOzs7OztBQU8zRSxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBTVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxlQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDckQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBaUUzQztJQS9EQyxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJ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RUFBRTtnQkFDUCxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUM1RCxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFO2FBQ2xHO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXJFVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw0RENaeEMsd2lLQTZJQTs7MkZEaklhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBBbGVydENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEJyb3dzZXIgfSBmcm9tICdAY2FwYWNpdG9yL2Jyb3dzZXInO1xuaW1wb3J0IHsgSURFQUFjdGlvblNoZWV0Q29udHJvbGxlciwgSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAaWRlYS1pb25pYy9jb21tb24nO1xuXG5pbXBvcnQgeyBJREVBT2ZmbGluZURhdGFTZXJ2aWNlLCBBUElSZXF1ZXN0IH0gZnJvbSAnLi9vZmZsaW5lRGF0YS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWRlYS1vZmZsaW5lLW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJ29mZmxpbmVNYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29mZmxpbmVNYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSURFQU9mZmxpbmVNYW5hZ2VyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfbW9kYWwgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfYWxlcnQgPSBpbmplY3QoQWxlcnRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfYWN0aW9ucyA9IGluamVjdChJREVBQWN0aW9uU2hlZXRDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBfdHJhbnNsYXRlID0gaW5qZWN0KElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlKTtcbiAgX29mZmxpbmUgPSBpbmplY3QoSURFQU9mZmxpbmVEYXRhU2VydmljZSk7XG5cbiAgYXN5bmMgc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuX2FsZXJ0LmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuU1lOQ19OT1cnKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRE9OVF9FWElUX0FQUF9ESVNDTEFJTUVSJyksXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHsgdGV4dDogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5DQU5DRUwnKSB9LFxuICAgICAgICB7IHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uR09UX0lUJyksIGhhbmRsZXI6ICgpOiBQcm9taXNlPHZvaWQ+ID0+IHRoaXMuX29mZmxpbmUuc3luY2hyb25pemUodHJ1ZSkgfVxuICAgICAgXVxuICAgIH0pO1xuICAgIGFsZXJ0LnByZXNlbnQoKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZVJlcXVlc3QocmVxdWVzdDogQVBJUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5fYWxlcnQuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5BUkVfWU9VX1NVUkUnKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuREVMRVRJT05fSVNfSVJSRVZFUlNJQkxFJyksXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHsgdGV4dDogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5DQU5DRUwnKSB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5DT05GSVJNJyksXG4gICAgICAgICAgaGFuZGxlcjogKCk6IFByb21pc2U8dm9pZD4gPT4gdGhpcy5fb2ZmbGluZS5kZWxldGVSZXF1ZXN0KHJlcXVlc3QpXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcbiAgICBhbGVydC5wcmVzZW50KCk7XG4gIH1cbiAgZG93bmxvYWRSZXF1ZXN0TG9nKHJlcXVlc3Q6IEFQSVJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHJlcXVlc3QpXSwgeyB0eXBlOiAndGV4dC9qc29uJyB9KSk7XG4gICAgQnJvd3Nlci5vcGVuKHsgdXJsOiBkYXRhVVJMIH0pO1xuICB9XG5cbiAgYXN5bmMgYWN0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b25zID0gW1xuICAgICAge1xuICAgICAgICB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkZPUkNFX0ZVTExfU1lOQycpLFxuICAgICAgICBpY29uOiAnc3luYycsXG4gICAgICAgIGhhbmRsZXI6ICgpOiBQcm9taXNlPHZvaWQ+ID0+IHRoaXMuZm9yY2VGdWxsU3luYygpXG4gICAgICB9LFxuICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNBTkNFTCcpLCByb2xlOiAnY2FuY2VsJywgaWNvbjogJ2Fycm93LXVuZG8nIH1cbiAgICBdO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBhd2FpdCB0aGlzLl9hY3Rpb25zLmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuQURWQU5DRURfQUNUSU9OUycpLFxuICAgICAgYnV0dG9uc1xuICAgIH0pO1xuICAgIGFjdGlvbnMucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgZm9yY2VGdWxsU3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuX2FsZXJ0LmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRk9SQ0VfRlVMTF9TWU5DJyksXG4gICAgICBzdWJIZWFkZXI6IHRoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uQVJFX1lPVV9TVVJFJyksXG4gICAgICBtZXNzYWdlOiB0aGlzLl90cmFuc2xhdGUuXygnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkZVTExfU1lOQ19ESVNDTEFJTUVSJyksXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHsgdGV4dDogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5DQU5DRUwnKSwgcm9sZTogJ2NhbmNlbCcgfSxcbiAgICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNPTkZJUk0nKSwgaGFuZGxlcjogKCk6IHZvaWQgPT4gdGhpcy5fb2ZmbGluZS5mb3JjZUZ1bGxTeW5jKCkgfVxuICAgICAgXVxuICAgIH0pO1xuICAgIGFsZXJ0LnByZXNlbnQoKTtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX21vZGFsLmRpc21pc3MoKTtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cImlkZWFUb29sYmFyXCI+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZVwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgPGlvbi10aXRsZT5cbiAgICAgIHt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuT0ZGTElORV9NQU5BR0VSJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvaW9uLXRpdGxlPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLWJ1dHRvbiBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uT0ZGTElORS5BRFZBTkNFRF9BQ1RJT05TJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJhY3Rpb25zKClcIj5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiZWxsaXBzaXMtdmVydGljYWxcIiAvPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG48aW9uLWNvbnRlbnQ+XG4gIDxpb24tbGlzdCBjbGFzcz1cImFMaXN0XCI+XG4gICAgQGlmICghX29mZmxpbmUuc3luY2hyb25pemluZyAmJiBfb2ZmbGluZS5yZXF1aXJlc01hbnVhbENvbmZpcm1hdGlvbikge1xuICAgICAgPGlvbi1saXN0LWhlYWRlcj5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICA8aDI+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5IVUdFX1NZTkNfTkVFRF9NQU5VQUxfQ09ORklSTUFUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tbGlzdC1oZWFkZXI+XG4gICAgfVxuICAgIEBpZiAoIV9vZmZsaW5lLnN5bmNocm9uaXppbmcpIHtcbiAgICAgIDxpb24tbGlzdC1oZWFkZXI+XG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwibGFzdFN5bmNBdFwiPlxuICAgICAgICAgICAge3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5MQVNUX1NZTkMnIHwgdHJhbnNsYXRlIH19OlxuICAgICAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgIF9vZmZsaW5lLmxhc3RTeW5jQXRcbiAgICAgICAgICAgICAgICAgID8gKF9vZmZsaW5lLmxhc3RTeW5jQXQgfCBkYXRlTG9jYWxlOiAnbWVkaXVtJylcbiAgICAgICAgICAgICAgICAgIDogKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuTkVWRVInIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIEBpZiAoX29mZmxpbmUuZXJyb3JJbkxhc3RTeW5jKSB7XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAgICAgICAgPGI+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5FUlJPUl9EVVJJTkdfTEFTVF9TWU5DJyB8IHRyYW5zbGF0ZSB9fTwvYj5cbiAgICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgZmlsbD1cInNvbGlkXCJcbiAgICAgICAgICBbY29sb3JdPVwiX29mZmxpbmUuZXJyb3JJbkxhc3RTeW5jID8gJ2RhbmdlcicgOiAnZGFyaydcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfb2ZmbGluZS5pc09mZmxpbmUoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cInN5bmMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInN5bmNcIiAvPiB7eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLlNZTkNfTk9XJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2lvbi1saXN0LWhlYWRlcj5cbiAgICB9XG4gIDwvaW9uLWxpc3Q+XG4gIEBpZiAoX29mZmxpbmUuc3luY2hyb25pemluZykge1xuICAgIDxpb24tbGlzdCBjbGFzcz1cImFMaXN0XCI+XG4gICAgICA8aW9uLWl0ZW0+XG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImNyZXNjZW50XCIgY29sb3I9XCJwcmltYXJ5XCIgLz5cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1pdGVtPlxuICAgIDwvaW9uLWxpc3Q+XG4gIH1cbiAgQGlmIChfb2ZmbGluZS51c2VRdWV1ZUFQSVJlcXVlc3RzKSB7XG4gICAgPGlvbi1saXN0IGNsYXNzPVwiYUxpc3RcIj5cbiAgICAgIDxpb24tbGlzdC1oZWFkZXI+XG4gICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgPGgyPnt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuVVBMT0FEJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHA+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5VUExPQURfUVVFVUVfUkVRVUVTVFNfRVhQTEFOQVRJT04nIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWxpc3QtaGVhZGVyPlxuICAgICAgQGlmICghX29mZmxpbmUucXVldWVBUElSZXF1ZXN0cy5sZW5ndGgpIHtcbiAgICAgICAgPGlvbi1pdGVtPlxuICAgICAgICAgIDxpPnt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuTk9fRUxFTUVOVFNfVE9fVVBMT0FEJyB8IHRyYW5zbGF0ZSB9fTwvaT5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIHNpemU9XCJzbWFsbFwiIG5hbWU9XCJjaGVja21hcmtcIiBjb2xvcj1cInN1Y2Nlc3NcIiAvPlxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgfVxuICAgICAgQGZvciAociBvZiBfb2ZmbGluZS5xdWV1ZUFQSVJlcXVlc3RzOyB0cmFjayByOyBsZXQgb2RkID0gJG9kZCkge1xuICAgICAgICA8aW9uLWl0ZW0gW2NsYXNzLm9kZEl0ZW1dPVwib2RkXCI+XG4gICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgICAgIHt7IHIuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgIEBpZiAoci5lcnJvcikge1xuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxiPnt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRVJST1JfQ09ERScgfCB0cmFuc2xhdGUgfX06IHt7IHIuZXJyb3IgfX08L2I+XG4gICAgICAgICAgICAgICAgPC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgICB7eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLlJFUVVFU1RfRkFJTEVEX0VYUExBTkFUSU9OX0knIHwgdHJhbnNsYXRlIH19PGJyIC8+XG4gICAgICAgICAgICAgICAge3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5SRVFVRVNUX0ZBSUxFRF9FWFBMQU5BVElPTl9JSScgfCB0cmFuc2xhdGUgfX08YnIgLz5cbiAgICAgICAgICAgICAgICB7eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLlJFUVVFU1RfRkFJTEVEX0VYUExBTkFUSU9OX0lJSScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgICAgIEBpZiAoci5lcnJvcikge1xuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX1VOQ09NTU9OLk9GRkxJTkUuQ0FOQ0VMX1JFUVVFU1QnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJlcXVlc3QocilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJ0cmFzaFwiIC8+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoci5lcnJvcikge1xuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICAgIGNvbG9yPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidJREVBX1VOQ09NTU9OLk9GRkxJTkUuRE9XTkxPQURfTE9HJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFJlcXVlc3RMb2cocilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJkb3dubG9hZFwiIC8+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoX29mZmxpbmUuc3luY2hyb25pemluZykge1xuICAgICAgICAgICAgPGlvbi1zcGlubmVyIHNsb3Q9XCJlbmRcIiBuYW1lPVwiZG90c1wiIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgfVxuICAgIDwvaW9uLWxpc3Q+XG4gIH1cbiAgQGlmIChfb2ZmbGluZS5nZXRSZXNvdXJjZXMoKS5sZW5ndGgpIHtcbiAgICA8aW9uLWxpc3QgY2xhc3M9XCJhTGlzdFwiPlxuICAgICAgPGlvbi1saXN0LWhlYWRlcj5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICA8aDI+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5ET1dOTE9BRCcgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICAgIDxwPnt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRE9XTkxPQURfUkVTT1VSQ0VTX0VYUExBTkFUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1saXN0LWhlYWRlcj5cbiAgICAgIEBmb3IgKHIgb2YgX29mZmxpbmUuZ2V0UmVzb3VyY2VzKCk7IHRyYWNrIHIpIHtcbiAgICAgICAgPGlkZWEtY2FjaGVhYmxlLXJlc291cmNlIFtyZXNvdXJjZV09XCJfb2ZmbGluZS5nZXRDYWNoZWFibGVSZXNvdXJjZShyKVwiIC8+XG4gICAgICB9XG4gICAgPC9pb24tbGlzdD5cbiAgfVxuPC9pb24tY29udGVudD5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmbGluZU1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvb2ZmbGluZS9vZmZsaW5lTWFuYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3VuY29tbW9uL3NyYy9vZmZsaW5lL29mZmxpbmVNYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLGFBQWEsRUFDYixRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxzQkFBc0IsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQTJCL0UsTUFBTSxPQUFPLDJCQUEyQjtJQXpCeEM7UUEwQlUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FB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Q1osaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDhCQUE4Qjt3QkFDOUIsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixRQUFRO3dCQUNSLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsU0FBUztxQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTW9kYWxDb250cm9sbGVyLFxuICBBbGVydENvbnRyb2xsZXIsXG4gIElvbkhlYWRlcixcbiAgSW9uVG9vbGJhcixcbiAgSW9uQnV0dG9uLFxuICBJb25JY29uLFxuICBJb25CdXR0b25zLFxuICBJb25UaXRsZSxcbiAgSW9uQ29udGVudCxcbiAgSW9uTGlzdCxcbiAgSW9uTGlzdEhlYWRlcixcbiAgSW9uTGFiZWwsXG4gIElvblRleHQsXG4gIElvbkl0ZW0sXG4gIElvblNwaW5uZXJcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBCcm93c2VyIH0gZnJvbSAnQGNhcGFjaXRvci9icm93c2VyJztcbmltcG9ydCB7XG4gIElERUFBY3Rpb25TaGVldENvbnRyb2xsZXIsXG4gIElERUFMb2NhbGl6ZWREYXRlUGlwZSxcbiAgSURFQVRyYW5zbGF0ZVBpcGUsXG4gIElERUFUcmFuc2xhdGlvbnNTZXJ2aWNlXG59IGZyb20gJ0BpZGVhLWlvbmljL2NvbW1vbic7XG5cbmltcG9ydCB7IElERUFPZmZsaW5lRGF0YVNlcnZpY2UsIEFQSVJlcXVlc3QgfSBmcm9tICcuL29mZmxpbmVEYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURFQUNhY2hlYWJsZVJlc291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi9jYWNoZWFibGVSZXNvdXJjZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLW9mZmxpbmUtbWFuYWdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSURFQVRyYW5zbGF0ZVBpcGUsXG4gICAgSURFQUxvY2FsaXplZERhdGVQaXBlLFxuICAgIElERUFDYWNoZWFibGVSZXNvdXJjZUNvbXBvbmVudCxcbiAgICBJb25TcGlubmVyLFxuICAgIElvbkl0ZW0sXG4gICAgSW9uVGV4dCxcbiAgICBJb25MYWJlbCxcbiAgICBJb25MaXN0SGVhZGVyLFxuICAgIElvbkxpc3QsXG4gICAgSW9uQ29udGVudCxcbiAgICBJb25UaXRsZSxcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkljb24sXG4gICAgSW9uQnV0dG9uLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uSGVhZGVyXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnb2ZmbGluZU1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb2ZmbGluZU1hbmFnZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJREVBT2ZmbGluZU1hbmFnZXJDb21wb25lbnQge1xuICBwcml2YXRlIF9tb2RhbCA9IGluamVjdChNb2RhbENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9hbGVydCA9IGluamVjdChBbGVydENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9hY3Rpb25zID0gaW5qZWN0KElERUFBY3Rpb25TaGVldENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF90cmFuc2xhdGUgPSBpbmplY3QoSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UpO1xuICBfb2ZmbGluZSA9IGluamVjdChJREVBT2ZmbGluZURhdGFTZXJ2aWNlKTtcblxuICBhc3luYyBzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5fYWxlcnQuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5TWU5DX05PVycpLFxuICAgICAgbWVzc2FnZTogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5ET05UX0VYSVRfQVBQX0RJU0NMQUlNRVInKSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNBTkNFTCcpIH0sXG4gICAgICAgIHsgdGV4dDogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5HT1RfSVQnKSwgaGFuZGxlcjogKCk6IFByb21pc2U8dm9pZD4gPT4gdGhpcy5fb2ZmbGluZS5zeW5jaHJvbml6ZSh0cnVlKSB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgYWxlcnQucHJlc2VudCgpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlUmVxdWVzdChyZXF1ZXN0OiBBUElSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLl9hbGVydC5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkFSRV9ZT1VfU1VSRScpLFxuICAgICAgbWVzc2FnZTogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5ERUxFVElPTl9JU19JUlJFVkVSU0lCTEUnKSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNBTkNFTCcpIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNPTkZJUk0nKSxcbiAgICAgICAgICBoYW5kbGVyOiAoKTogUHJvbWlzZTx2b2lkPiA9PiB0aGlzLl9vZmZsaW5lLmRlbGV0ZVJlcXVlc3QocmVxdWVzdClcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuICAgIGFsZXJ0LnByZXNlbnQoKTtcbiAgfVxuICBkb3dubG9hZFJlcXVlc3RMb2cocmVxdWVzdDogQVBJUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGFVUkwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVxdWVzdCldLCB7IHR5cGU6ICd0ZXh0L2pzb24nIH0pKTtcbiAgICBCcm93c2VyLm9wZW4oeyB1cmw6IGRhdGFVUkwgfSk7XG4gIH1cblxuICBhc3luYyBhY3Rpb25zKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRk9SQ0VfRlVMTF9TWU5DJyksXG4gICAgICAgIGljb246ICdzeW5jJyxcbiAgICAgICAgaGFuZGxlcjogKCk6IFByb21pc2U8dm9pZD4gPT4gdGhpcy5mb3JjZUZ1bGxTeW5jKClcbiAgICAgIH0sXG4gICAgICB7IHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uQ0FOQ0VMJyksIHJvbGU6ICdjYW5jZWwnLCBpY29uOiAnYXJyb3ctdW5kbycgfVxuICAgIF07XG4gICAgY29uc3QgYWN0aW9ucyA9IGF3YWl0IHRoaXMuX2FjdGlvbnMuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5BRFZBTkNFRF9BQ1RJT05TJyksXG4gICAgICBidXR0b25zXG4gICAgfSk7XG4gICAgYWN0aW9ucy5wcmVzZW50KCk7XG4gIH1cblxuICBhc3luYyBmb3JjZUZ1bGxTeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5fYWxlcnQuY3JlYXRlKHtcbiAgICAgIGhlYWRlcjogdGhpcy5fdHJhbnNsYXRlLl8oJ0lERUFfVU5DT01NT04uT0ZGTElORS5GT1JDRV9GVUxMX1NZTkMnKSxcbiAgICAgIHN1YkhlYWRlcjogdGhpcy5fdHJhbnNsYXRlLl8oJ0NPTU1PTi5BUkVfWU9VX1NVUkUnKSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuX3RyYW5zbGF0ZS5fKCdJREVBX1VOQ09NTU9OLk9GRkxJTkUuRlVMTF9TWU5DX0RJU0NMQUlNRVInKSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgeyB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuXygnQ09NTU9OLkNBTkNFTCcpLCByb2xlOiAnY2FuY2VsJyB9LFxuICAgICAgICB7IHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5fKCdDT01NT04uQ09ORklSTScpLCBoYW5kbGVyOiAoKTogdm9pZCA9PiB0aGlzLl9vZmZsaW5lLmZvcmNlRnVsbFN5bmMoKSB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgYWxlcnQucHJlc2VudCgpO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWwuZGlzbWlzcygpO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwiaWRlYVRvb2xiYXJcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlXCIgc2xvdD1cImljb24tb25seVwiIC8+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5PRkZMSU5FX01BTkFHRVInIHwgdHJhbnNsYXRlIH19XG4gICAgPC9pb24tdGl0bGU+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgIDxpb24tYnV0dG9uIFt0aXRsZV09XCInSURFQV9VTkNPTU1PTi5PRkZMSU5FLkFEVkFOQ0VEX0FDVElPTlMnIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cImFjdGlvbnMoKVwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJlbGxpcHNpcy12ZXJ0aWNhbFwiIC8+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cbjxpb24tY29udGVudD5cbiAgPGlvbi1saXN0IGNsYXNzPVwiYUxpc3RcIj5cbiAgICBAaWYgKCFfb2ZmbGluZS5zeW5jaHJvbml6aW5nICYmIF9vZmZsaW5lLnJlcXVpcmVzTWFudWFsQ29uZmlybWF0aW9uKSB7XG4gICAgICA8aW9uLWxpc3QtaGVhZGVyPlxuICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgIDxoMj57eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkhVR0VfU1lOQ19ORUVEX01BTlVBTF9DT05GSVJNQVRJT04nIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1saXN0LWhlYWRlcj5cbiAgICB9XG4gICAgQGlmICghX29mZmxpbmUuc3luY2hyb25pemluZykge1xuICAgICAgPGlvbi1saXN0LWhlYWRlcj5cbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJsYXN0U3luY0F0XCI+XG4gICAgICAgICAgICB7eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkxBU1RfU1lOQycgfCB0cmFuc2xhdGUgfX06XG4gICAgICAgICAgICA8aW9uLXRleHQ+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgX29mZmxpbmUubGFzdFN5bmNBdFxuICAgICAgICAgICAgICAgICAgPyAoX29mZmxpbmUubGFzdFN5bmNBdCB8IGRhdGVMb2NhbGU6ICdtZWRpdW0nKVxuICAgICAgICAgICAgICAgICAgOiAoJ0lERUFfVU5DT01NT04uT0ZGTElORS5ORVZFUicgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgQGlmIChfb2ZmbGluZS5lcnJvckluTGFzdFN5bmMpIHtcbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJkYW5nZXJcIj5cbiAgICAgICAgICAgICAgICA8Yj57eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkVSUk9SX0RVUklOR19MQVNUX1NZTkMnIHwgdHJhbnNsYXRlIH19PC9iPlxuICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBmaWxsPVwic29saWRcIlxuICAgICAgICAgIFtjb2xvcl09XCJfb2ZmbGluZS5lcnJvckluTGFzdFN5bmMgPyAnZGFuZ2VyJyA6ICdkYXJrJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9vZmZsaW5lLmlzT2ZmbGluZSgpXCJcbiAgICAgICAgICAoY2xpY2spPVwic3luYygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwic3luY1wiIC8+IHt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuU1lOQ19OT1cnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWxpc3QtaGVhZGVyPlxuICAgIH1cbiAgPC9pb24tbGlzdD5cbiAgQGlmIChfb2ZmbGluZS5zeW5jaHJvbml6aW5nKSB7XG4gICAgPGlvbi1saXN0IGNsYXNzPVwiYUxpc3RcIj5cbiAgICAgIDxpb24taXRlbT5cbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiBjb2xvcj1cInByaW1hcnlcIiAvPlxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWl0ZW0+XG4gICAgPC9pb24tbGlzdD5cbiAgfVxuICBAaWYgKF9vZmZsaW5lLnVzZVF1ZXVlQVBJUmVxdWVzdHMpIHtcbiAgICA8aW9uLWxpc3QgY2xhc3M9XCJhTGlzdFwiPlxuICAgICAgPGlvbi1saXN0LWhlYWRlcj5cbiAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICA8aDI+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5VUExPQUQnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICA8cD57eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLlVQTE9BRF9RVUVVRV9SRVFVRVNUU19FWFBMQU5BVElPTicgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tbGlzdC1oZWFkZXI+XG4gICAgICBAaWYgKCFfb2ZmbGluZS5xdWV1ZUFQSVJlcXVlc3RzLmxlbmd0aCkge1xuICAgICAgICA8aW9uLWl0ZW0+XG4gICAgICAgICAgPGk+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5OT19FTEVNRU5UU19UT19VUExPQUQnIHwgdHJhbnNsYXRlIH19PC9pPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiZW5kXCIgc2l6ZT1cInNtYWxsXCIgbmFtZT1cImNoZWNrbWFya1wiIGNvbG9yPVwic3VjY2Vzc1wiIC8+XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICB9XG4gICAgICBAZm9yIChyIG9mIF9vZmZsaW5lLnF1ZXVlQVBJUmVxdWVzdHM7IHRyYWNrIHI7IGxldCBvZGQgPSAkb2RkKSB7XG4gICAgICAgIDxpb24taXRlbSBbY2xhc3Mub2RkSXRlbV09XCJvZGRcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiPlxuICAgICAgICAgICAge3sgci5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgQGlmIChyLmVycm9yKSB7XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIDxpb24tdGV4dCBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgICAgICAgICAgPGI+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5FUlJPUl9DT0RFJyB8IHRyYW5zbGF0ZSB9fToge3sgci5lcnJvciB9fTwvYj5cbiAgICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgIHt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuUkVRVUVTVF9GQUlMRURfRVhQTEFOQVRJT05fSScgfCB0cmFuc2xhdGUgfX08YnIgLz5cbiAgICAgICAgICAgICAgICB7eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLlJFUVVFU1RfRkFJTEVEX0VYUExBTkFUSU9OX0lJJyB8IHRyYW5zbGF0ZSB9fTxiciAvPlxuICAgICAgICAgICAgICAgIHt7ICdJREVBX1VOQ09NTU9OLk9GRkxJTkUuUkVRVUVTVF9GQUlMRURfRVhQTEFOQVRJT05fSUlJJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgQGlmIChyLmVycm9yKSB7XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBzbG90PVwiZW5kXCJcbiAgICAgICAgICAgICAgY29sb3I9XCJkYW5nZXJcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uT0ZGTElORS5DQU5DRUxfUkVRVUVTVCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlUmVxdWVzdChyKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInRyYXNoXCIgLz5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChyLmVycm9yKSB7XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICAgICAgICBzbG90PVwiZW5kXCJcbiAgICAgICAgICAgICAgY29sb3I9XCJtZWRpdW1cIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uT0ZGTElORS5ET1dOTE9BRF9MT0cnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkUmVxdWVzdExvZyhyKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImRvd25sb2FkXCIgLz5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChfb2ZmbGluZS5zeW5jaHJvbml6aW5nKSB7XG4gICAgICAgICAgICA8aW9uLXNwaW5uZXIgc2xvdD1cImVuZFwiIG5hbWU9XCJkb3RzXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICB9XG4gICAgPC9pb24tbGlzdD5cbiAgfVxuICBAaWYgKF9vZmZsaW5lLmdldFJlc291cmNlcygpLmxlbmd0aCkge1xuICAgIDxpb24tbGlzdCBjbGFzcz1cImFMaXN0XCI+XG4gICAgICA8aW9uLWxpc3QtaGVhZGVyPlxuICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgIDxoMj57eyAnSURFQV9VTkNPTU1PTi5PRkZMSU5FLkRPV05MT0FEJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHA+e3sgJ0lERUFfVU5DT01NT04uT0ZGTElORS5ET1dOTE9BRF9SRVNPVVJDRVNfRVhQTEFOQVRJT04nIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWxpc3QtaGVhZGVyPlxuICAgICAgQGZvciAociBvZiBfb2ZmbGluZS5nZXRSZXNvdXJjZXMoKTsgdHJhY2sgcikge1xuICAgICAgICA8aWRlYS1jYWNoZWFibGUtcmVzb3VyY2UgW3Jlc291cmNlXT1cIl9vZmZsaW5lLmdldENhY2hlYWJsZVJlc291cmNlKHIpXCIgLz5cbiAgICAgIH1cbiAgICA8L2lvbi1saXN0PlxuICB9XG48L2lvbi1jb250ZW50PlxuIl19
@@ -48,9 +48,10 @@ export class IDEAPushNotificationsService {
48
48
  PushNotifications.register();
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAPushNotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAPushNotificationsService }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAPushNotificationsService, providedIn: 'root' }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEAPushNotificationsService, decorators: [{
54
- type: Injectable
54
+ type: Injectable,
55
+ args: [{ providedIn: 'root' }]
55
56
  }], ctorParameters: () => [] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaE5vdGlmaWNhdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvdW5jb21tb24vc3JjL3B1c2hOb3RpZmljYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFckU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBUXZDO1FBUFEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBTzFELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztRQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDN0csQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0QyxpREFBaUQ7WUFDaEQsaUJBQXlCLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBVSxFQUFRLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFBRSxPQUFPO1FBRWhDLElBQUksVUFBVSxHQUFHLE1BQU0saUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU1RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUFFLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFL0YsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLFNBQVM7WUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRSxDQUFDOzhHQS9DVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFB1c2hOb3RpZmljYXRpb25zLCBQdXNoTm90aWZpY2F0aW9uU2NoZW1hIH0gZnJvbSAnQGNhcGFjaXRvci9wdXNoLW5vdGlmaWNhdGlvbnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHVzaE5vdGlmaWNhdGlvbnNEZXZpY2UsIFB1c2hOb3RpZmljYXRpb25zUGxhdGZvcm1zIH0gZnJvbSAnaWRlYS10b29sYm94JztcblxuaW1wb3J0IHsgSURFQUVycm9yUmVwb3J0aW5nU2VydmljZSB9IGZyb20gJy4vZXJyb3JSZXBvcnRpbmcuc2VydmljZSc7XG5cbi8qKlxuICogVG8gc3Vic2NyaWJlIHB1c2ggbm90aWZpY2F0aW9ucyBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJREVBUHVzaE5vdGlmaWNhdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuICBwcml2YXRlIF9lcnJvclJlcG9ydGluZyA9IGluamVjdChJREVBRXJyb3JSZXBvcnRpbmdTZXJ2aWNlKTtcblxuICByZWdpc3RyYXRpb25zOiBPYnNlcnZhYmxlPFB1c2hOb3RpZmljYXRpb25zRGV2aWNlPjtcbiAgbm90aWZpY2F0aW9uczogT2JzZXJ2YWJsZTxQdXNoTm90aWZpY2F0aW9uU2NoZW1hPjtcbiAgZXJyb3JzOiBPYnNlcnZhYmxlPEVycm9yPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaXNBdmFpbGFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5yZWdpc3RyYXRpb25zID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgUHVzaE5vdGlmaWNhdGlvbnMuYWRkTGlzdGVuZXIoJ3JlZ2lzdHJhdGlvbicsIHRva2VuID0+XG4gICAgICAgIG9ic2VydmVyLm5leHQobmV3IFB1c2hOb3RpZmljYXRpb25zRGV2aWNlKHsgdG9rZW46IHRva2VuLnZhbHVlLCBwbGF0Zm9ybTogUHVzaE5vdGlmaWNhdGlvbnNQbGF0Zm9ybXMuRkNNIH0pKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmVycm9ycyA9IG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIC8vIHJpZi4gaHR0cHM6Ly9mb3J1bS5pb25pY2ZyYW1ld29yay5jb20vdC8yMjYzNzZcbiAgICAgIChQdXNoTm90aWZpY2F0aW9ucyBhcyBhbnkpLmFkZExpc3RlbmVyKCdyZWdpc3RyYXRpb25FcnJvcicsIChlcnI6IEVycm9yKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX2Vycm9yUmVwb3J0aW5nLnNlbmRSZXBvcnQoZXJyKTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgUHVzaE5vdGlmaWNhdGlvbnMuYWRkTGlzdGVuZXIoJ3B1c2hOb3RpZmljYXRpb25SZWNlaXZlZCcsIG4gPT4gb2JzZXJ2ZXIubmV4dChuKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIGRldmljZSBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICBpc0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm0uaXMoJ2NhcGFjaXRvcicpICYmICEhUHVzaE5vdGlmaWNhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogVG8gZmlyZSB0aGUgcmVnaXN0cmF0aW9uIG9mIGEgbmV3IGRldmljZTogaXQgd2lsbCByZXdxdWVzdCB0aGUgcGVybWlzc2lvbiB0byB1c2UgUHVzaCBOb3RpZmljYXRpb24uXG4gICAqIE9uIGlPUyB3aWxsIHByb21wdCB0aGUgcmVxdWVzdCwgb24gQW5kcm9pZCBpdCdzIGF1dG9tYXRpYy5cbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyRGV2aWNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5pc0F2YWlsYWJsZSgpKSByZXR1cm47XG5cbiAgICBsZXQgcGVybVN0YXR1cyA9IGF3YWl0IFB1c2hOb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmIChwZXJtU3RhdHVzLnJlY2VpdmUgPT09ICdwcm9tcHQnKSBwZXJtU3RhdHVzID0gYXdhaXQgUHVzaE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb25zKCk7XG5cbiAgICBpZiAocGVybVN0YXR1cy5yZWNlaXZlID09PSAnZ3JhbnRlZCcpIFB1c2hOb3RpZmljYXRpb25zLnJlZ2lzdGVyKCk7XG4gIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaE5vdGlmaWNhdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvdW5jb21tb24vc3JjL3B1c2hOb3RpZmljYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFckU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBUXZDO1FBUFEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBTzFELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztRQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDN0csQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0QyxpREFBaUQ7WUFDaEQsaUJBQXlCLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBVSxFQUFRLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFBRSxPQUFPO1FBRWhDLElBQUksVUFBVSxHQUFHLE1BQU0saUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU1RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUFFLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFL0YsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLFNBQVM7WUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRSxDQUFDOzhHQS9DVSw0QkFBNEI7a0hBQTVCLDRCQUE0QixjQURmLE1BQU07OzJGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUHVzaE5vdGlmaWNhdGlvbnMsIFB1c2hOb3RpZmljYXRpb25TY2hlbWEgfSBmcm9tICdAY2FwYWNpdG9yL3B1c2gtbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQdXNoTm90aWZpY2F0aW9uc0RldmljZSwgUHVzaE5vdGlmaWNhdGlvbnNQbGF0Zm9ybXMgfSBmcm9tICdpZGVhLXRvb2xib3gnO1xuXG5pbXBvcnQgeyBJREVBRXJyb3JSZXBvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvclJlcG9ydGluZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBUbyBzdWJzY3JpYmUgcHVzaCBub3RpZmljYXRpb25zIGV2ZW50cy5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJREVBUHVzaE5vdGlmaWNhdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuICBwcml2YXRlIF9lcnJvclJlcG9ydGluZyA9IGluamVjdChJREVBRXJyb3JSZXBvcnRpbmdTZXJ2aWNlKTtcblxuICByZWdpc3RyYXRpb25zOiBPYnNlcnZhYmxlPFB1c2hOb3RpZmljYXRpb25zRGV2aWNlPjtcbiAgbm90aWZpY2F0aW9uczogT2JzZXJ2YWJsZTxQdXNoTm90aWZpY2F0aW9uU2NoZW1hPjtcbiAgZXJyb3JzOiBPYnNlcnZhYmxlPEVycm9yPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaXNBdmFpbGFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5yZWdpc3RyYXRpb25zID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgUHVzaE5vdGlmaWNhdGlvbnMuYWRkTGlzdGVuZXIoJ3JlZ2lzdHJhdGlvbicsIHRva2VuID0+XG4gICAgICAgIG9ic2VydmVyLm5leHQobmV3IFB1c2hOb3RpZmljYXRpb25zRGV2aWNlKHsgdG9rZW46IHRva2VuLnZhbHVlLCBwbGF0Zm9ybTogUHVzaE5vdGlmaWNhdGlvbnNQbGF0Zm9ybXMuRkNNIH0pKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLmVycm9ycyA9IG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIC8vIHJpZi4gaHR0cHM6Ly9mb3J1bS5pb25pY2ZyYW1ld29yay5jb20vdC8yMjYzNzZcbiAgICAgIChQdXNoTm90aWZpY2F0aW9ucyBhcyBhbnkpLmFkZExpc3RlbmVyKCdyZWdpc3RyYXRpb25FcnJvcicsIChlcnI6IEVycm9yKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuX2Vycm9yUmVwb3J0aW5nLnNlbmRSZXBvcnQoZXJyKTtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5ub3RpZmljYXRpb25zID0gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgUHVzaE5vdGlmaWNhdGlvbnMuYWRkTGlzdGVuZXIoJ3B1c2hOb3RpZmljYXRpb25SZWNlaXZlZCcsIG4gPT4gb2JzZXJ2ZXIubmV4dChuKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIGRldmljZSBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICBpc0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhdGZvcm0uaXMoJ2NhcGFjaXRvcicpICYmICEhUHVzaE5vdGlmaWNhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogVG8gZmlyZSB0aGUgcmVnaXN0cmF0aW9uIG9mIGEgbmV3IGRldmljZTogaXQgd2lsbCByZXdxdWVzdCB0aGUgcGVybWlzc2lvbiB0byB1c2UgUHVzaCBOb3RpZmljYXRpb24uXG4gICAqIE9uIGlPUyB3aWxsIHByb21wdCB0aGUgcmVxdWVzdCwgb24gQW5kcm9pZCBpdCdzIGF1dG9tYXRpYy5cbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyRGV2aWNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5pc0F2YWlsYWJsZSgpKSByZXR1cm47XG5cbiAgICBsZXQgcGVybVN0YXR1cyA9IGF3YWl0IFB1c2hOb3RpZmljYXRpb25zLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGlmIChwZXJtU3RhdHVzLnJlY2VpdmUgPT09ICdwcm9tcHQnKSBwZXJtU3RhdHVzID0gYXdhaXQgUHVzaE5vdGlmaWNhdGlvbnMucmVxdWVzdFBlcm1pc3Npb25zKCk7XG5cbiAgICBpZiAocGVybVN0YXR1cy5yZWNlaXZlID09PSAnZ3JhbnRlZCcpIFB1c2hOb3RpZmljYXRpb25zLnJlZ2lzdGVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { Component, EventEmitter, Input, Output, inject } from '@angular/core';
2
3
  import { Sentiment } from 'idea-toolbox';
3
- import { IDEAEnvironment, IDEATranslationsService } from '@idea-ionic/common';
4
+ import { IonItem, IonSpinner, IonBadge } from '@ionic/angular/standalone';
5
+ import { IDEAEnvironment, IDEATranslatePipe, IDEATranslationsService } from '@idea-ionic/common';
4
6
  import { IDEAAWSAPIService } from '../AWSAPI.service';
5
7
  import { IDEAOfflineService } from '../offline/offline.service';
6
8
  import * as i0 from "@angular/core";
7
- import * as i1 from "@ionic/angular";
8
- import * as i2 from "@idea-ionic/common";
9
9
  export class IDEASentimentComponent {
10
10
  constructor() {
11
11
  this._env = inject(IDEAEnvironment);
@@ -54,11 +54,52 @@ export class IDEASentimentComponent {
54
54
  }
55
55
  }
56
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEASentimentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEASentimentComponent, selector: "idea-sentiment", inputs: { text: "text", lines: "lines", color: "color" }, outputs: { change: "change" }, usesOnChanges: true, ngImport: i0, template: "@if (text && _offline.isOnline()) {\n <ion-item [lines]=\"lines\" [color]=\"color\">\n @if (!sentiment) {\n <ion-spinner slot=\"end\" size=\"small\" />\n }\n @if (sentiment) {\n <ion-badge\n slot=\"end\"\n size=\"small\"\n [color]=\"getColorBySentiment()\"\n [title]=\"'IDEA_UNCOMMON.SENTIMENT.RESULT_HINT' | translate: { sentiment: sentiment }\"\n >\n {{ 'IDEA_UNCOMMON.SENTIMENT.RESULT.' + sentiment | translate }}\n </ion-badge>\n }\n </ion-item>\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "pipe", type: i2.IDEATranslatePipe, name: "translate" }] }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IDEASentimentComponent, isStandalone: true, selector: "idea-sentiment", inputs: { text: "text", lines: "lines", color: "color" }, outputs: { change: "change" }, usesOnChanges: true, ngImport: i0, template: `
58
+ @if (text && _offline.isOnline()) {
59
+ <ion-item [lines]="lines" [color]="color">
60
+ @if (!sentiment) {
61
+ <ion-spinner slot="end" size="small" />
62
+ }
63
+ @if (sentiment) {
64
+ <ion-badge
65
+ slot="end"
66
+ size="small"
67
+ [color]="getColorBySentiment()"
68
+ [title]="'IDEA_UNCOMMON.SENTIMENT.RESULT_HINT' | translate: { sentiment: sentiment }"
69
+ >
70
+ {{ 'IDEA_UNCOMMON.SENTIMENT.RESULT.' + sentiment | translate }}
71
+ </ion-badge>
72
+ }
73
+ </ion-item>
74
+ }
75
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: IDEATranslatePipe, name: "translate" }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] }); }
58
76
  }
59
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IDEASentimentComponent, decorators: [{
60
78
  type: Component,
61
- args: [{ selector: 'idea-sentiment', template: "@if (text && _offline.isOnline()) {\n <ion-item [lines]=\"lines\" [color]=\"color\">\n @if (!sentiment) {\n <ion-spinner slot=\"end\" size=\"small\" />\n }\n @if (sentiment) {\n <ion-badge\n slot=\"end\"\n size=\"small\"\n [color]=\"getColorBySentiment()\"\n [title]=\"'IDEA_UNCOMMON.SENTIMENT.RESULT_HINT' | translate: { sentiment: sentiment }\"\n >\n {{ 'IDEA_UNCOMMON.SENTIMENT.RESULT.' + sentiment | translate }}\n </ion-badge>\n }\n </ion-item>\n}\n" }]
79
+ args: [{
80
+ selector: 'idea-sentiment',
81
+ standalone: true,
82
+ imports: [CommonModule, IDEATranslatePipe, IonBadge, IonSpinner, IonItem],
83
+ template: `
84
+ @if (text && _offline.isOnline()) {
85
+ <ion-item [lines]="lines" [color]="color">
86
+ @if (!sentiment) {
87
+ <ion-spinner slot="end" size="small" />
88
+ }
89
+ @if (sentiment) {
90
+ <ion-badge
91
+ slot="end"
92
+ size="small"
93
+ [color]="getColorBySentiment()"
94
+ [title]="'IDEA_UNCOMMON.SENTIMENT.RESULT_HINT' | translate: { sentiment: sentiment }"
95
+ >
96
+ {{ 'IDEA_UNCOMMON.SENTIMENT.RESULT.' + sentiment | translate }}
97
+ </ion-badge>
98
+ }
99
+ </ion-item>
100
+ }
101
+ `
102
+ }]
62
103
  }], propDecorators: { text: [{
63
104
  type: Input
64
105
  }], lines: [{
@@ -68,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
68
109
  }], change: [{
69
110
  type: Output
70
111
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudGltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdW5jb21tb24vc3JjL3NlbnRpbWVudC9zZW50aW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy91bmNvbW1vbi9zcmMvc2VudGltZW50L3NlbnRpbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFPaEUsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1ZLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNyRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFrQnRDOztXQUVHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7S0FvQ2xEO0lBbENDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBQ08sS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ3hDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN6RCxDQUFDO1lBQ0osSUFBSSxDQUFDO2dCQUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtvQkFDOUQsSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtpQkFDdkcsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsU0FBOEI7UUFDaEQsU0FBUyxHQUFHLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hDLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbEIsS0FBSyxTQUFTLENBQUMsUUFBUTtnQkFDckIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTLENBQUMsUUFBUTtnQkFDckIsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxTQUFTLENBQUMsS0FBSztnQkFDbEIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDcEIsT0FBTyxRQUFRLENBQUM7WUFDbEI7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7OEdBNURVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG9LQ1puQyw2Z0JBaUJBOzsyRkRMYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQWlCakIsSUFBSTtzQkFBWixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZW50aW1lbnQgfSBmcm9tICdpZGVhLXRvb2xib3gnO1xuaW1wb3J0IHsgSURFQUVudmlyb25tZW50LCBJREVBVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJ0BpZGVhLWlvbmljL2NvbW1vbic7XG5cbmltcG9ydCB7IElERUFBV1NBUElTZXJ2aWNlIH0gZnJvbSAnLi4vQVdTQVBJLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURFQU9mZmxpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmbGluZS9vZmZsaW5lLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLXNlbnRpbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnc2VudGltZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NlbnRpbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElERUFTZW50aW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX2VudiA9IGluamVjdChJREVBRW52aXJvbm1lbnQpO1xuICBwcml2YXRlIF9BUEkgPSBpbmplY3QoSURFQUFXU0FQSVNlcnZpY2UpO1xuICBwcml2YXRlIF90cmFuc2xhdGUgPSBpbmplY3QoSURFQVRyYW5zbGF0aW9uc1NlcnZpY2UpO1xuICBfb2ZmbGluZSA9IGluamVjdChJREVBT2ZmbGluZVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VudGltZW50IGRldGVjdGVkIGZyb20gdGhlIGlucHV0IHRleHQuXG4gICAqL1xuICBzZW50aW1lbnQ6IFNlbnRpbWVudDtcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCB0ZXh0LlxuICAgKi9cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogTGluZXMgcHJlZmVyZW5jZXMgZm9yIHRoZSBpdGVtLlxuICAgKi9cbiAgQElucHV0KCkgbGluZXM6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb2xvciBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBzZW50aW1lbnQgY2hhbmdlLlxuICAgKi9cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VudGltZW50PigpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy50ZXh0LnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXMudGV4dC5jdXJyZW50VmFsdWUpIHRoaXMuZGV0ZWN0U2VudGltZW50KGNoYW5nZXMudGV4dC5jdXJyZW50VmFsdWUpO1xuICB9XG4gIHByaXZhdGUgYXN5bmMgZGV0ZWN0U2VudGltZW50KHRleHQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGV4dCB8fCB0aGlzLl9vZmZsaW5lLmlzT2ZmbGluZSgpKSB0aGlzLnNlbnRpbWVudCA9IG51bGw7XG4gICAgZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHNlbnRpbWVudCB9ID0gYXdhaXQgdGhpcy5fQVBJLnBvc3RSZXNvdXJjZSgnc2VudGltZW50Jywge1xuICAgICAgICAgIGlkZWE6IHRydWUsXG4gICAgICAgICAgYm9keTogeyBwcm9qZWN0OiB0aGlzLl9lbnYuaWRlYS5wcm9qZWN0LCBsYW5ndWFnZTogdGhpcy5fdHJhbnNsYXRlLmdldEN1cnJlbnRMYW5nKCksIHRleHQ6IHRoaXMudGV4dCB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbnRpbWVudCA9IHNlbnRpbWVudDtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnNlbnRpbWVudCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLnNlbnRpbWVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0Q29sb3JCeVNlbnRpbWVudChzZW50aW1lbnQ/OiBTZW50aW1lbnQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHNlbnRpbWVudCA9IHNlbnRpbWVudCB8fCB0aGlzLnNlbnRpbWVudDtcbiAgICBzd2l0Y2ggKHNlbnRpbWVudCkge1xuICAgICAgY2FzZSBTZW50aW1lbnQuUE9TSVRJVkU6XG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgICBjYXNlIFNlbnRpbWVudC5ORUdBVElWRTpcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xuICAgICAgY2FzZSBTZW50aW1lbnQuTUlYRUQ6XG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICBjYXNlIFNlbnRpbWVudC5ORVVUUkFMOlxuICAgICAgICByZXR1cm4gJ21lZGl1bSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2xpZ2h0JztcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAodGV4dCAmJiBfb2ZmbGluZS5pc09ubGluZSgpKSB7XG4gIDxpb24taXRlbSBbbGluZXNdPVwibGluZXNcIiBbY29sb3JdPVwiY29sb3JcIj5cbiAgICBAaWYgKCFzZW50aW1lbnQpIHtcbiAgICAgIDxpb24tc3Bpbm5lciBzbG90PVwiZW5kXCIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICB9XG4gICAgQGlmIChzZW50aW1lbnQpIHtcbiAgICAgIDxpb24tYmFkZ2VcbiAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFtjb2xvcl09XCJnZXRDb2xvckJ5U2VudGltZW50KClcIlxuICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uU0VOVElNRU5ULlJFU1VMVF9ISU5UJyB8IHRyYW5zbGF0ZTogeyBzZW50aW1lbnQ6IHNlbnRpbWVudCB9XCJcbiAgICAgID5cbiAgICAgICAge3sgJ0lERUFfVU5DT01NT04uU0VOVElNRU5ULlJFU1VMVC4nICsgc2VudGltZW50IHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2lvbi1iYWRnZT5cbiAgICB9XG4gIDwvaW9uLWl0ZW0+XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudGltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvdW5jb21tb24vc3JjL3NlbnRpbWVudC9zZW50aW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBMEJoRSxNQUFNLE9BQU8sc0JBQXNCO0lBeEJuQztRQXlCWSxTQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqQyxlQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDckQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBa0J0Qzs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0tBb0NsRDtJQWxDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUNPLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUN4QyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1lBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDekQsQ0FBQztZQUNKLElBQUksQ0FBQztnQkFDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUU7b0JBQzlELElBQUksRUFBRSxJQUFJO29CQUNWLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7aUJBQ3ZHLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLFNBQThCO1FBQ2hELFNBQVMsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ3JCLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUyxDQUFDLFFBQVE7Z0JBQ3JCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2xCLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ3BCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDOzhHQTVEVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix3TEFwQnZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQsMkRBbkJTLFlBQVksMEJBQUUsaUJBQWlCLGtEQUFFLFFBQVEsaUZBQUUsVUFBVSx5R0FBRSxPQUFPOzsyRkFxQjdELHNCQUFzQjtrQkF4QmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztvQkFDekUsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7aUJBQ0Y7OEJBY1UsSUFBSTtzQkFBWixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VudGltZW50IH0gZnJvbSAnaWRlYS10b29sYm94JztcbmltcG9ydCB7IElvbkl0ZW0sIElvblNwaW5uZXIsIElvbkJhZGdlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJREVBRW52aXJvbm1lbnQsIElERUFUcmFuc2xhdGVQaXBlLCBJREVBVHJhbnNsYXRpb25zU2VydmljZSB9IGZyb20gJ0BpZGVhLWlvbmljL2NvbW1vbic7XG5cbmltcG9ydCB7IElERUFBV1NBUElTZXJ2aWNlIH0gZnJvbSAnLi4vQVdTQVBJLnNlcnZpY2UnO1xuaW1wb3J0IHsgSURFQU9mZmxpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmbGluZS9vZmZsaW5lLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZGVhLXNlbnRpbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElERUFUcmFuc2xhdGVQaXBlLCBJb25CYWRnZSwgSW9uU3Bpbm5lciwgSW9uSXRlbV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmICh0ZXh0ICYmIF9vZmZsaW5lLmlzT25saW5lKCkpIHtcbiAgICAgIDxpb24taXRlbSBbbGluZXNdPVwibGluZXNcIiBbY29sb3JdPVwiY29sb3JcIj5cbiAgICAgICAgQGlmICghc2VudGltZW50KSB7XG4gICAgICAgICAgPGlvbi1zcGlubmVyIHNsb3Q9XCJlbmRcIiBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc2VudGltZW50KSB7XG4gICAgICAgICAgPGlvbi1iYWRnZVxuICAgICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImdldENvbG9yQnlTZW50aW1lbnQoKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ0lERUFfVU5DT01NT04uU0VOVElNRU5ULlJFU1VMVF9ISU5UJyB8IHRyYW5zbGF0ZTogeyBzZW50aW1lbnQ6IHNlbnRpbWVudCB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnSURFQV9VTkNPTU1PTi5TRU5USU1FTlQuUkVTVUxULicgKyBzZW50aW1lbnQgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2lvbi1iYWRnZT5cbiAgICAgICAgfVxuICAgICAgPC9pb24taXRlbT5cbiAgICB9XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgSURFQVNlbnRpbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBfZW52ID0gaW5qZWN0KElERUFFbnZpcm9ubWVudCk7XG4gIHByaXZhdGUgX0FQSSA9IGluamVjdChJREVBQVdTQVBJU2VydmljZSk7XG4gIHByaXZhdGUgX3RyYW5zbGF0ZSA9IGluamVjdChJREVBVHJhbnNsYXRpb25zU2VydmljZSk7XG4gIF9vZmZsaW5lID0gaW5qZWN0KElERUFPZmZsaW5lU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRoZSBzZW50aW1lbnQgZGV0ZWN0ZWQgZnJvbSB0aGUgaW5wdXQgdGV4dC5cbiAgICovXG4gIHNlbnRpbWVudDogU2VudGltZW50O1xuICAvKipcbiAgICogVGhlIGlucHV0IHRleHQuXG4gICAqL1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaW5lcyBwcmVmZXJlbmNlcyBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBsaW5lczogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbG9yIGZvciB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6IHN0cmluZztcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW4gdGhlIHNlbnRpbWVudCBjaGFuZ2UuXG4gICAqL1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZW50aW1lbnQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnRleHQucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlcy50ZXh0LmN1cnJlbnRWYWx1ZSkgdGhpcy5kZXRlY3RTZW50aW1lbnQoY2hhbmdlcy50ZXh0LmN1cnJlbnRWYWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBkZXRlY3RTZW50aW1lbnQodGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0ZXh0IHx8IHRoaXMuX29mZmxpbmUuaXNPZmZsaW5lKCkpIHRoaXMuc2VudGltZW50ID0gbnVsbDtcbiAgICBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgc2VudGltZW50IH0gPSBhd2FpdCB0aGlzLl9BUEkucG9zdFJlc291cmNlKCdzZW50aW1lbnQnLCB7XG4gICAgICAgICAgaWRlYTogdHJ1ZSxcbiAgICAgICAgICBib2R5OiB7IHByb2plY3Q6IHRoaXMuX2Vudi5pZGVhLnByb2plY3QsIGxhbmd1YWdlOiB0aGlzLl90cmFuc2xhdGUuZ2V0Q3VycmVudExhbmcoKSwgdGV4dDogdGhpcy50ZXh0IH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VudGltZW50ID0gc2VudGltZW50O1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuc2VudGltZW50KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuc2VudGltZW50ID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRDb2xvckJ5U2VudGltZW50KHNlbnRpbWVudD86IFNlbnRpbWVudCB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc2VudGltZW50ID0gc2VudGltZW50IHx8IHRoaXMuc2VudGltZW50O1xuICAgIHN3aXRjaCAoc2VudGltZW50KSB7XG4gICAgICBjYXNlIFNlbnRpbWVudC5QT1NJVElWRTpcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcbiAgICAgIGNhc2UgU2VudGltZW50Lk5FR0FUSVZFOlxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgICBjYXNlIFNlbnRpbWVudC5NSVhFRDpcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcbiAgICAgIGNhc2UgU2VudGltZW50Lk5FVVRSQUw6XG4gICAgICAgIHJldHVybiAnbWVkaXVtJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnbGlnaHQnO1xuICAgIH1cbiAgfVxufVxuIl19