@c8y/ngx-components 1010.0.31 → 1010.0.35

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 (61) hide show
  1. package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.js +18 -10
  2. package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.js.map +1 -1
  3. package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.min.js +1 -1
  4. package/bundles/c8y-ngx-components-operations-bulk-operations-list.umd.min.js.map +1 -1
  5. package/bundles/c8y-ngx-components-repository.umd.js +8 -4
  6. package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
  7. package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
  8. package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
  9. package/bundles/c8y-ngx-components-sensor-phone.umd.js +1 -1
  10. package/bundles/c8y-ngx-components-sensor-phone.umd.js.map +1 -1
  11. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js +1 -1
  12. package/bundles/c8y-ngx-components-sensor-phone.umd.min.js.map +1 -1
  13. package/bundles/c8y-ngx-components.umd.js +14 -8
  14. package/bundles/c8y-ngx-components.umd.js.map +1 -1
  15. package/bundles/c8y-ngx-components.umd.min.js +1 -1
  16. package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
  17. package/c8y-ngx-components.metadata.json +1 -1
  18. package/core/file-picker/file-picker.component.d.ts +8 -0
  19. package/esm2015/core/file-picker/file-picker.component.js +12 -2
  20. package/esm2015/core/file-picker/file-picker.module.js +6 -8
  21. package/esm2015/operations/bulk-operations-list/bulk-operation-list-item.component.js +4 -3
  22. package/esm2015/operations/bulk-operations-list/bulk-operation-list-item.model.js +16 -9
  23. package/esm2015/repository/configuration/configuration-detail.component.js +7 -2
  24. package/esm2015/repository/firmware/add-firmware-modal.component.js +7 -2
  25. package/esm2015/repository/firmware/add-firmware-patch-modal.component.js +7 -2
  26. package/esm2015/repository/software/add-software-modal.component.js +7 -2
  27. package/esm2015/sensor-phone/sensor-phone-modal.component.js +2 -2
  28. package/esm5/core/file-picker/file-picker.component.js +12 -2
  29. package/esm5/core/file-picker/file-picker.module.js +6 -8
  30. package/esm5/operations/bulk-operations-list/bulk-operation-list-item.component.js +5 -4
  31. package/esm5/operations/bulk-operations-list/bulk-operation-list-item.model.js +16 -9
  32. package/esm5/repository/configuration/configuration-detail.component.js +3 -2
  33. package/esm5/repository/firmware/add-firmware-modal.component.js +3 -2
  34. package/esm5/repository/firmware/add-firmware-patch-modal.component.js +3 -2
  35. package/esm5/repository/software/add-software-modal.component.js +3 -2
  36. package/esm5/sensor-phone/sensor-phone-modal.component.js +2 -2
  37. package/fesm2015/c8y-ngx-components-operations-bulk-operations-list.js +17 -9
  38. package/fesm2015/c8y-ngx-components-operations-bulk-operations-list.js.map +1 -1
  39. package/fesm2015/c8y-ngx-components-repository.js +24 -4
  40. package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
  41. package/fesm2015/c8y-ngx-components-sensor-phone.js +1 -1
  42. package/fesm2015/c8y-ngx-components-sensor-phone.js.map +1 -1
  43. package/fesm2015/c8y-ngx-components.js +14 -8
  44. package/fesm2015/c8y-ngx-components.js.map +1 -1
  45. package/fesm5/c8y-ngx-components-operations-bulk-operations-list.js +18 -10
  46. package/fesm5/c8y-ngx-components-operations-bulk-operations-list.js.map +1 -1
  47. package/fesm5/c8y-ngx-components-repository.js +8 -4
  48. package/fesm5/c8y-ngx-components-repository.js.map +1 -1
  49. package/fesm5/c8y-ngx-components-sensor-phone.js +1 -1
  50. package/fesm5/c8y-ngx-components-sensor-phone.js.map +1 -1
  51. package/fesm5/c8y-ngx-components.js +14 -8
  52. package/fesm5/c8y-ngx-components.js.map +1 -1
  53. package/locales/locales.pot +33 -9
  54. package/operations/bulk-operations-list/bulk-operation-list-item.model.d.ts +2 -0
  55. package/package.json +2 -2
  56. package/repository/c8y-ngx-components-repository.metadata.json +1 -1
  57. package/repository/configuration/configuration-detail.component.d.ts +1 -0
  58. package/repository/firmware/add-firmware-modal.component.d.ts +1 -0
  59. package/repository/firmware/add-firmware-patch-modal.component.d.ts +1 -0
  60. package/repository/software/add-software-modal.component.d.ts +1 -0
  61. package/sensor-phone/c8y-ngx-components-sensor-phone.metadata.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import * as tslib_1 from "tslib";
2
2
  import { Component, Output, Input, EventEmitter, ViewChild } from '@angular/core';
3
3
  import { DropAreaComponent } from '../drop-area/drop-area.component';
4
+ import { isEmpty } from 'lodash-es';
4
5
  /**
5
6
  * User can upload a binary directly or use an URL.
6
7
  *
@@ -64,6 +65,12 @@ var FilePickerComponent = /** @class */ (function () {
64
65
  };
65
66
  this.onFilesPicked.emit(this.fileToSave);
66
67
  };
68
+ /**
69
+ * Checks if there is popover to display.
70
+ */
71
+ FilePickerComponent.prototype.isPopoverUsed = function () {
72
+ return !isEmpty(this.fileUrlPopover);
73
+ };
67
74
  tslib_1.__decorate([
68
75
  ViewChild(DropAreaComponent, { static: true })
69
76
  ], FilePickerComponent.prototype, "dropArea", void 0);
@@ -82,13 +89,16 @@ var FilePickerComponent = /** @class */ (function () {
82
89
  tslib_1.__decorate([
83
90
  Input()
84
91
  ], FilePickerComponent.prototype, "fileBinary", void 0);
92
+ tslib_1.__decorate([
93
+ Input()
94
+ ], FilePickerComponent.prototype, "fileUrlPopover", void 0);
85
95
  FilePickerComponent = tslib_1.__decorate([
86
96
  Component({
87
97
  selector: 'c8y-file-picker',
88
- template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label title=\"{{ 'Use a URL' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>{{ 'Use a URL' | translate }}</span>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n >\n </c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n"
98
+ template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label title=\"{{ 'Provide a file path' | translate }}\" class=\"c8y-radio radio-inline m-l-8\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n *ngIf=\"isPopoverUsed()\"\n class=\"btn btn-clean text-primary m-l-4\"\n type=\"button\"\n popover=\"{{ fileUrlPopover | translate }}\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n >\n <i [c8yIcon]=\"'question-circle-o'\"></i>\n </button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n >\n </c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n"
89
99
  })
90
100
  ], FilePickerComponent);
91
101
  return FilePickerComponent;
92
102
  }());
93
103
  export { FilePickerComponent };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRjs7Ozs7Ozs7Ozs7R0FXRztBQU1IO0lBSkE7UUFNWSxrQkFBYSxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELG9CQUFlLEdBQVcsUUFBUSxDQUFDO1FBQ25DLGlCQUFZLEdBQWlDLGNBQWMsQ0FBQztJQXdEdkUsQ0FBQztJQWpEQzs7T0FFRztJQUNILHNDQUFRLEdBQVI7UUFDRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILDJDQUFhLEdBQWIsVUFBYyxZQUEyQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixZQUFZLGNBQUE7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCwrQ0FBaUIsR0FBakI7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0RBQWtCLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNkNBQWUsR0FBZixVQUFnQixNQUFNO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxFQUFFLE1BQU07U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUExRCtDO1FBQS9DLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzt5REFBNkI7SUFDbEU7UUFBVCxNQUFNLEVBQUU7OERBQStEO0lBQy9EO1FBQVIsS0FBSyxFQUFFO2dFQUFvQztJQUNuQztRQUFSLEtBQUssRUFBRTs2REFBNkQ7SUFDNUQ7UUFBUixLQUFLLEVBQUU7d0RBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFOzJEQUF5QjtJQU50QixtQkFBbUI7UUFKL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQiwydERBQTJDO1NBQzVDLENBQUM7T0FDVyxtQkFBbUIsQ0E0RC9CO0lBQUQsMEJBQUM7Q0FBQSxBQTVERCxJQTREQztTQTVEWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BwZWRGaWxlLCBEcm9wQXJlYUNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtYXJlYS9kcm9wLWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnLi9maWxlLXBpY2tlci5tb2RlbCc7XG5cbi8qKlxuICogVXNlciBjYW4gdXBsb2FkIGEgYmluYXJ5IGRpcmVjdGx5IG9yIHVzZSBhbiBVUkwuXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8ZGl2PlxuICogPGM4eS1maWxlLXBpY2tlciBbbWF4QWxsb3dlZEZpbGVzXT1cIjFcIiAob25GaWxlc1BpY2tlZCk9XCJvbkZpbGUoJGV2ZW50KVwiPlxuICogPC9jOHktZmlsZS1waWNrZXI+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1maWxlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoRHJvcEFyZWFDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3BBcmVhOiBEcm9wQXJlYUNvbXBvbmVudDtcbiAgQE91dHB1dCgpIG9uRmlsZXNQaWNrZWQ6IEV2ZW50RW1pdHRlcjxQaWNrZWRGaWxlcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1heEFsbG93ZWRGaWxlczogbnVtYmVyID0gSW5maW5pdHk7XG4gIEBJbnB1dCgpIHVwbG9hZENob2ljZTogJ3VwbG9hZEJpbmFyeScgfCAndXBsb2FkVXJsJyA9ICd1cGxvYWRCaW5hcnknO1xuICBASW5wdXQoKSBmaWxlVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpbGVCaW5hcnk6IERyb3BwZWRGaWxlO1xuXG4gIGRyb3BwZWRGaWxlczogRHJvcHBlZEZpbGVbXTtcbiAgcHJpdmF0ZSBmaWxlVG9TYXZlOiBQaWNrZWRGaWxlcztcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZUJpbmFyeSkge1xuICAgICAgdGhpcy5kcm9wcGVkRmlsZXMgPSBbdGhpcy5maWxlQmluYXJ5XTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIGJ5IGRyb3BwZWQgZmlsZSBpbiBjb21wb25lbnQgYW5kIHBhc3MgaXQgaW50byBkcm9wLWFyZWEgY29tcG9uZW50LlxuICAgKi9cbiAgb25GaWxlRHJvcHBlZChkcm9wcGVkRmlsZXM6IERyb3BwZWRGaWxlW10pOiB2b2lkIHtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh7XG4gICAgICBkcm9wcGVkRmlsZXNcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIGNoYW5nZXMgdXBsb2FkIGNob2ljZSwgZnJvbSB1cGxvYWQgdXJsIHRvIHVwbG9hZCBiaW5hcnkuXG4gICAqL1xuICBjbGVhcklucHV0RnJvbVVybCgpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5maWxlVXJsO1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIHVybDogdW5kZWZpbmVkXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgY2hhbmdlcyB1cGxvYWQgY2hvaWNlLCB0byBhdm9pZCBjdW11bGF0aW9uIG9mIGRyb3BwZWRGaWxlcy5cbiAgICovXG4gIGNsZWFyU2VsZWN0ZWRGaWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3BBcmVhLm9uRGVsZXRlKCk7XG4gICAgdGhpcy5maWxlVG9TYXZlID0ge1xuICAgICAgZHJvcHBlZEZpbGVzOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHRoaXMuZmlsZVRvU2F2ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBwdXRzIGJpbmFyeSdzIHVybCB0byB1cGxvYWQuXG4gICAqL1xuICBvbkZpbGVVcmxDaGFuZ2UodXJsU3RyKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVG9TYXZlID0ge1xuICAgICAgdXJsOiB1cmxTdHJcbiAgICB9O1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHRoaXMuZmlsZVRvU2F2ZSk7XG4gIH1cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDOzs7Ozs7Ozs7OztHQVdHO0FBTUg7SUFKQTtRQU1ZLGtCQUFhLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0Qsb0JBQWUsR0FBVyxRQUFRLENBQUM7UUFDbkMsaUJBQVksR0FBaUMsY0FBYyxDQUFDO0lBbUV2RSxDQUFDO0lBeERDOztPQUVHO0lBQ0gsc0NBQVEsR0FBUjtRQUNFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkNBQWEsR0FBYixVQUFjLFlBQTJCO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLFlBQVksY0FBQTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILCtDQUFpQixHQUFqQjtRQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnREFBa0IsR0FBbEI7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsWUFBWSxFQUFFLFNBQVM7U0FDeEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCw2Q0FBZSxHQUFmLFVBQWdCLE1BQU07UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLEVBQUUsTUFBTTtTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkNBQWEsR0FBYjtRQUNFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFyRStDO1FBQS9DLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzt5REFBNkI7SUFDbEU7UUFBVCxNQUFNLEVBQUU7OERBQStEO0lBQy9EO1FBQVIsS0FBSyxFQUFFO2dFQUFvQztJQUNuQztRQUFSLEtBQUssRUFBRTs2REFBNkQ7SUFDNUQ7UUFBUixLQUFLLEVBQUU7d0RBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFOzJEQUF5QjtJQUl4QjtRQUFSLEtBQUssRUFBRTsrREFBd0I7SUFWckIsbUJBQW1CO1FBSi9CLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQkFBaUI7WUFDM0Isa2tFQUEyQztTQUM1QyxDQUFDO09BQ1csbUJBQW1CLENBdUUvQjtJQUFELDBCQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F2RVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcm9wcGVkRmlsZSwgRHJvcEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9kcm9wLWFyZWEvZHJvcC1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJy4vZmlsZS1waWNrZXIubW9kZWwnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qKlxuICogVXNlciBjYW4gdXBsb2FkIGEgYmluYXJ5IGRpcmVjdGx5IG9yIHVzZSBhbiBVUkwuXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8ZGl2PlxuICogPGM4eS1maWxlLXBpY2tlciBbbWF4QWxsb3dlZEZpbGVzXT1cIjFcIiAob25GaWxlc1BpY2tlZCk9XCJvbkZpbGUoJGV2ZW50KVwiPlxuICogPC9jOHktZmlsZS1waWNrZXI+XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1maWxlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoRHJvcEFyZWFDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3BBcmVhOiBEcm9wQXJlYUNvbXBvbmVudDtcbiAgQE91dHB1dCgpIG9uRmlsZXNQaWNrZWQ6IEV2ZW50RW1pdHRlcjxQaWNrZWRGaWxlcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIG1heEFsbG93ZWRGaWxlczogbnVtYmVyID0gSW5maW5pdHk7XG4gIEBJbnB1dCgpIHVwbG9hZENob2ljZTogJ3VwbG9hZEJpbmFyeScgfCAndXBsb2FkVXJsJyA9ICd1cGxvYWRCaW5hcnknO1xuICBASW5wdXQoKSBmaWxlVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpbGVCaW5hcnk6IERyb3BwZWRGaWxlO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBzdHJpbmcgdG8gYmUgZGlzcGxheWVkIGluIGEgcG9wb3Zlci5cbiAgICovXG4gIEBJbnB1dCgpIGZpbGVVcmxQb3BvdmVyOiBzdHJpbmc7XG5cbiAgZHJvcHBlZEZpbGVzOiBEcm9wcGVkRmlsZVtdO1xuICBwcml2YXRlIGZpbGVUb1NhdmU6IFBpY2tlZEZpbGVzO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWxlQmluYXJ5KSB7XG4gICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFt0aGlzLmZpbGVCaW5hcnldO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgYnkgZHJvcHBlZCBmaWxlIGluIGNvbXBvbmVudCBhbmQgcGFzcyBpdCBpbnRvIGRyb3AtYXJlYSBjb21wb25lbnQuXG4gICAqL1xuICBvbkZpbGVEcm9wcGVkKGRyb3BwZWRGaWxlczogRHJvcHBlZEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHtcbiAgICAgIGRyb3BwZWRGaWxlc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgY2hhbmdlcyB1cGxvYWQgY2hvaWNlLCBmcm9tIHVwbG9hZCB1cmwgdG8gdXBsb2FkIGJpbmFyeS5cbiAgICovXG4gIGNsZWFySW5wdXRGcm9tVXJsKCk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLmZpbGVVcmw7XG4gICAgdGhpcy5maWxlVG9TYXZlID0ge1xuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIHRoaXMub25GaWxlc1BpY2tlZC5lbWl0KHRoaXMuZmlsZVRvU2F2ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBjaGFuZ2VzIHVwbG9hZCBjaG9pY2UsIHRvIGF2b2lkIGN1bXVsYXRpb24gb2YgZHJvcHBlZEZpbGVzLlxuICAgKi9cbiAgY2xlYXJTZWxlY3RlZEZpbGVzKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcEFyZWEub25EZWxldGUoKTtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICBkcm9wcGVkRmlsZXM6IHVuZGVmaW5lZFxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIHB1dHMgYmluYXJ5J3MgdXJsIHRvIHVwbG9hZC5cbiAgICovXG4gIG9uRmlsZVVybENoYW5nZSh1cmxTdHIpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICB1cmw6IHVybFN0clxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlcmUgaXMgcG9wb3ZlciB0byBkaXNwbGF5LlxuICAgKi9cbiAgaXNQb3BvdmVyVXNlZCgpIHtcbiAgICByZXR1cm4gIWlzRW1wdHkodGhpcy5maWxlVXJsUG9wb3Zlcik7XG4gIH1cbn1cbiJdfQ==
@@ -6,6 +6,7 @@ import { DropAreaModule } from '../drop-area/drop-area.module';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { FormsModule as C8yFormsModule } from '../forms/forms.module';
9
+ import { PopoverModule } from 'ngx-bootstrap/popover';
9
10
  /**
10
11
  * The angular module definition for a drop-area.
11
12
  * @exports FilePickerComponent
@@ -20,17 +21,14 @@ var FilePickerModule = /** @class */ (function () {
20
21
  CommonModule,
21
22
  DropAreaModule,
22
23
  FormsModule,
23
- C8yCommonModule
24
+ C8yCommonModule,
25
+ PopoverModule
24
26
  ],
25
- exports: [
26
- FilePickerComponent,
27
- ],
28
- declarations: [
29
- FilePickerComponent,
30
- ]
27
+ exports: [FilePickerComponent],
28
+ declarations: [FilePickerComponent]
31
29
  })
32
30
  ], FilePickerModule);
33
31
  return FilePickerModule;
34
32
  }());
35
33
  export { FilePickerModule };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RTs7O0dBR0c7QUFnQkg7SUFBQTtJQUFnQyxDQUFDO0lBQXBCLGdCQUFnQjtRQWY1QixRQUFRLENBQUM7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsV0FBVztnQkFDWCxlQUFlO2FBQ2hCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLG1CQUFtQjthQUNwQjtZQUNELFlBQVksRUFBRTtnQkFDWixtQkFBbUI7YUFDcEI7U0FDRixDQUFDO09BQ1csZ0JBQWdCLENBQUk7SUFBRCx1QkFBQztDQUFBLEFBQWpDLElBQWlDO1NBQXBCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgYXMgQzh5Q29tbW9uTW9kdWxlIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi5tb2R1bGUnO1xuaW1wb3J0IHsgRmlsZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3BBcmVhTW9kdWxlIH0gZnJvbSAnLi4vZHJvcC1hcmVhL2Ryb3AtYXJlYS5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgYXMgQzh5Rm9ybXNNb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9mb3Jtcy5tb2R1bGUnO1xuXG4vKipcbiAqIFRoZSBhbmd1bGFyIG1vZHVsZSBkZWZpbml0aW9uIGZvciBhIGRyb3AtYXJlYS5cbiAqIEBleHBvcnRzIEZpbGVQaWNrZXJDb21wb25lbnRcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEM4eUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wQXJlYU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDOHlDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZpbGVQaWNrZXJDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZpbGVQaWNrZXJDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVBpY2tlck1vZHVsZSB7IH1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvcmUvZmlsZS1waWNrZXIvZmlsZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQ7OztHQUdHO0FBYUg7SUFBQTtJQUErQixDQUFDO0lBQW5CLGdCQUFnQjtRQVo1QixRQUFRLENBQUM7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsY0FBYztnQkFDZCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsV0FBVztnQkFDWCxlQUFlO2dCQUNmLGFBQWE7YUFDZDtZQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ3BDLENBQUM7T0FDVyxnQkFBZ0IsQ0FBRztJQUFELHVCQUFDO0NBQUEsQUFBaEMsSUFBZ0M7U0FBbkIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSBhcyBDOHlDb21tb25Nb2R1bGUgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBGaWxlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcEFyZWFNb2R1bGUgfSBmcm9tICcuLi9kcm9wLWFyZWEvZHJvcC1hcmVhLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSBhcyBDOHlGb3Jtc01vZHVsZSB9IGZyb20gJy4uL2Zvcm1zL2Zvcm1zLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuLyoqXG4gKiBUaGUgYW5ndWxhciBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgYSBkcm9wLWFyZWEuXG4gKiBAZXhwb3J0cyBGaWxlUGlja2VyQ29tcG9uZW50XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDOHlGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcEFyZWFNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQzh5Q29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0ZpbGVQaWNrZXJDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtGaWxlUGlja2VyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlUGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -6,7 +6,7 @@ import { assign, cloneDeep } from 'lodash-es';
6
6
  import { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';
7
7
  import { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';
8
8
  import { BulkOperationsRescheduleModalComponent } from './modals/bulk-operations-reschedule-modal.component';
9
- import { BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';
9
+ import { BULK_OPERATION_FALLBACK_STATUS_ICON, BULK_OPERATION_STATUS_OPTIONS } from './bulk-operation-list-item.model';
10
10
  var BulkOperationListItemComponent = /** @class */ (function () {
11
11
  function BulkOperationListItemComponent(bulkOperationsService, modal, alert, bsModalService) {
12
12
  this.bulkOperationsService = bulkOperationsService;
@@ -37,9 +37,10 @@ var BulkOperationListItemComponent = /** @class */ (function () {
37
37
  };
38
38
  BulkOperationListItemComponent.prototype.getIconClass = function () {
39
39
  var _this = this;
40
- return this.bulkOperationStatusOptions.find(function (statusOption) {
40
+ var statusOptions = this.bulkOperationStatusOptions.find(function (statusOption) {
41
41
  return statusOption.generalStatus.includes(_this.bulkOperation.generalStatus);
42
- }).iconClass;
42
+ });
43
+ return statusOptions ? statusOptions.iconClass : BULK_OPERATION_FALLBACK_STATUS_ICON;
43
44
  };
44
45
  BulkOperationListItemComponent.prototype.calculateFinishDateMs = function () {
45
46
  var startDateMs = new Date(this.bulkOperation.startDate).getTime();
@@ -211,4 +212,4 @@ var BulkOperationListItemComponent = /** @class */ (function () {
211
212
  return BulkOperationListItemComponent;
212
213
  }());
213
214
  export { BulkOperationListItemComponent };
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9idWxrLW9wZXJhdGlvbnMtbGlzdC8iLCJzb3VyY2VzIjpbImJ1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUNMLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU1qRjtJQXVCRSx3Q0FDVSxxQkFBNEMsRUFDNUMsS0FBbUIsRUFDbkIsS0FBbUIsRUFDbkIsY0FBOEI7UUFIOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdkJ4QyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNo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LE1BQU0sQ0FBQztJQUNyRixDQUFDOztnQkExS2dDLHFCQUFxQjtnQkFDckMsWUFBWTtnQkFDWixZQUFZO2dCQUNILGNBQWM7O0lBekJ4QztRQURDLEtBQUssRUFBRTt5RUFDK0I7SUFFdkM7UUFEQyxLQUFLLEVBQUU7NEVBQ3lCO0lBRWpDO1FBREMsS0FBSyxFQUFFO29FQUNrQjtJQUNoQjtRQUFULE1BQU0sRUFBRTsrRUFBMEM7SUFDekM7UUFBVCxNQUFNLEVBQUU7a0VBQWdEO0lBQ2hCO1FBQXhDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7b0VBQTZCO0lBVDFELDhCQUE4QjtRQUoxQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsOEJBQThCO1lBQ3hDLHVtS0FBd0Q7U0FDekQsQ0FBQztPQUNXLDhCQUE4QixDQW1NMUM7SUFBRCxxQ0FBQztDQUFBLEFBbk1ELElBbU1DO1NBbk1ZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkJ1bGssIE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBnZXR0ZXh0LFxuICBMaXN0SXRlbUNvbXBvbmVudCxcbiAgTW9kYWxTZXJ2aWNlLFxuICBTdGF0dXNcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBhc3NpZ24sIGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSwgTW9kYWxPcHRpb25zIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBCdWxrT3BlcmF0aW9uc1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvYnVsay1vcGVyYXRpb25zLXNlcnZpY2UnO1xuaW1wb3J0IHsgSVN0YXR1c09wdGlvbiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcbmltcG9ydCB7IEJ1bGtPcGVyYXRpb25zUmVzY2hlZHVsZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbHMvYnVsay1vcGVyYXRpb25zLXJlc2NoZWR1bGUtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TIH0gZnJvbSAnLi9idWxrLW9wZXJhdGlvbi1saXN0LWl0ZW0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQnVsa09wZXJhdGlvbkxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBidWxrT3BlcmF0aW9uOiBQYXJ0aWFsPElPcGVyYXRpb25CdWxrPjtcbiAgQElucHV0KClcbiAgZGV0YWlsc0NvbGxhcHNlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzaG93RmFpbGVkT3BlcmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVsb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgnbGlzdEl0ZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0SXRlbTogTGlzdEl0ZW1Db21wb25lbnQ7XG4gIGljb25DbGFzczogc3RyaW5nO1xuICBmaW5pc2hEYXRlOiBudW1iZXI7XG4gIHJlZnJlc2hMb2FkaW5nID0gZmFsc2U7XG4gIGJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzID0gT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXM7XG4gIGJ1bGtPcGVyYXRpb25TdGF0dXNPcHRpb25zOiBJU3RhdHVzT3B0aW9uW10gPSBCVUxLX09QRVJBVElPTl9TVEFUVVNfT1BUSU9OUztcbiAgYnNNb2RhbFJlZjogQnNNb2RhbFJlZjtcbiAgZmluaXNoRGF0ZVBvcG92ZXJUZXh0OiBzdHJpbmcgPSBnZXR0ZXh0KFxuICAgICdBcHByb3hpbWF0ZSBkYXRlLCBlc3RpbWF0ZWQgYmFzZWQgb24gdGhlIGJ1bGsgb3BlcmF0aW9uIHNldHRpbmdzLidcbiAgKTtcbiAgcHJvZ3Jlc3NCYXJDbGFzczogc3RyaW5nID0gJ3Byb2dyZXNzJztcbiAgcHJvZ3Jlc3NCYXJDb2xvcjogc3RyaW5nO1xuICBwcm9ncmVzc0JhclN0YXR1czogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJ1bGtPcGVyYXRpb25zU2VydmljZTogQnVsa09wZXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy5nZXRJY29uQ2xhc3MoKTtcbiAgICB0aGlzLmZpbmlzaERhdGUgPSB0aGlzLmNhbGN1bGF0ZUZpbmlzaERhdGVNcygpO1xuICAgIHRoaXMuc2V0UHJvZ3Jlc3NCYXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5idWxrT3BlcmF0aW9uICYmICFjaGFuZ2VzLmJ1bGtPcGVyYXRpb24uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy5nZXRJY29uQ2xhc3MoKTtcbiAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NCYXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJY29uQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvblN0YXR1c09wdGlvbnMuZmluZChzdGF0dXNPcHRpb24gPT5cbiAgICAgIHN0YXR1c09wdGlvbi5nZW5lcmFsU3RhdHVzLmluY2x1ZGVzKHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzKVxuICAgICkuaWNvbkNsYXNzO1xuICB9XG5cbiAgY2FsY3VsYXRlRmluaXNoRGF0ZU1zKCk6IG51bWJlciB7XG4gICAgY29uc3Qgc3RhcnREYXRlTXM6IG51bWJlciA9IG5ldyBEYXRlKHRoaXMuYnVsa09wZXJhdGlvbi5zdGFydERhdGUpLmdldFRpbWUoKTtcbiAgICBjb25zdCBjcmVhdGlvblJhbXBNczogbnVtYmVyID0gdGhpcy5idWxrT3BlcmF0aW9uLmNyZWF0aW9uUmFtcCAqIDEwMDA7XG5cbiAgICByZXR1cm4gc3RhcnREYXRlTXMgKyBjcmVhdGlvblJhbXBNcyAqIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGw7XG4gIH1cblxuICBwcm9ncmVzc0JhclByb2dyZXNzRm4oKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICgodGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLnN1Y2Nlc3NmdWwgKyB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZmFpbGVkKSAvXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGwpICpcbiAgICAgIDEwMFxuICAgICk7XG4gIH1cblxuICBzZXRQcm9ncmVzc0JhcigpIHtcbiAgICBjb25zdCBzdGF0aWNDb250ZW50T2ZDbGFzcyA9ICdwcm9ncmVzcy1iYXIgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUgcHJvZ3Jlc3MtYmFyJztcblxuICAgIGNvbnN0IHByb2dyZXNzQmFyU3RhdGUgPSB7XG4gICAgICBFWEVDVVRJTkc6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LXByaW1hcnlgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogdGhpcy5wcm9ncmVzc0JhclByb2dyZXNzRm4oKVxuICAgICAgfSxcbiAgICAgIEVYRUNVVElOR19XSVRIX0VSUk9SOiB7XG4gICAgICAgIHByb2dyZXNzQmFyQ2xhc3M6ICdwcm9ncmVzcyBwcm9ncmVzcy1zdHJpcGVkIGFjdGl2ZScsXG4gICAgICAgIHByb2dyZXNzQmFyQ29sb3I6IGAke3N0YXRpY0NvbnRlbnRPZkNsYXNzfS1kYW5nZXJgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogdGhpcy5wcm9ncmVzc0JhclByb2dyZXNzRm4oKVxuICAgICAgfSxcbiAgICAgIEZBSUxFRDoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tZGFuZ2VyYCxcbiAgICAgICAgcHJvZ3Jlc3NCYXJTdGF0dXM6IDEwMFxuICAgICAgfSxcbiAgICAgIFNVQ0NFU1NGVUw6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LXN1Y2Nlc3NgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogMTAwXG4gICAgICB9XG4gICAgfTtcblxuICAgIGFzc2lnbih0aGlzLCBwcm9ncmVzc0JhclN0YXRlW3RoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzXSk7XG4gIH1cblxuICBlZGl0U2NoZWR1bGUoKSB7XG4gICAgY29uc3QgcmVzY2hlZHVsZWRPcGVyYXRpb24gPSBjbG9uZURlZXAodGhpcy5idWxrT3BlcmF0aW9uKTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBidWxrT3BlcmF0aW9uOiByZXNjaGVkdWxlZE9wZXJhdGlvblxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUsIGNsYXNzOiAnbW9kYWwtc20nLCBiYWNrZHJvcDogJ3N0YXRpYycgfSBhcyBNb2RhbE9wdGlvbnM7XG4gICAgdGhpcy5ic01vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFxuICAgICAgQnVsa09wZXJhdGlvbnNSZXNjaGVkdWxlTW9kYWxDb21wb25lbnQsXG4gICAgICBtb2RhbE9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsQnVsa09wZXJhdGlvbigpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5tb2RhbC5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdDYW5jZWwgYnVsayBvcGVyYXRpb24nKSxcbiAgICAgICAgZ2V0dGV4dCgnWW91IGFyZSBhYm91dCB0byBjYW5jZWwgdGhlIGJ1bGsgb3BlcmF0aW9uLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPycpLFxuICAgICAgICBTdGF0dXMuREFOR0VSXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UuZGVsZXRlQnVsa09wZXJhdGlvbih0aGlzLmJ1bGtPcGVyYXRpb24uaWQpO1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBjYW5jZWxlZC4nKSk7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlcik7XG4gICAgfVxuICB9XG5cbiAgcmV0cnlGYWlsZWRPcGVyYXRpb24oKSB7XG4gICAgY29uc3QgY2xvbmVkQnVsayA9IGNsb25lRGVlcCh0aGlzLmJ1bGtPcGVyYXRpb24pO1xuXG4gICAgLy8gY2hhbmdlIHRoZSBpZCB0byBmYWlsZWRwYXJlbnRJZCBzaW1pbGFyIHRvIHRoZSBsb2dpYyBpbiBkZXZpY2VCdWxrQ29udHJvbC5zZXJ2aWNlLmpzXG4gICAgZGVsZXRlIGNsb25lZEJ1bGsuZ3JvdXBJZDtcbiAgICBjbG9uZWRCdWxrLmZhaWxlZFBhcmVudElkID0gdGhpcy5idWxrT3BlcmF0aW9uLmlkO1xuXG4gICAgLy8gc2hvdyByZXNjaGRlZHVsZSBtb2RhbDpcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB7XG4gICAgICBidWxrT3BlcmF0aW9uOiBjbG9uZWRCdWxrLFxuICAgICAgaXNSZXRyeU9wZXJhdGlvbjogdHJ1ZVxuICAgIH07XG4gICAgY29uc3QgbW9kYWxPcHRpb25zID0geyBpbml0aWFsU3RhdGUsIGNsYXNzOiAnbW9kYWwtc20nLCBiYWNrZHJvcDogJ3N0YXRpYycgfSBhcyBNb2RhbE9wdGlvbnM7XG4gICAgdGhpcy5ic01vZGFsUmVmID0gdGhpcy5ic01vZGFsU2VydmljZS5zaG93KFxuICAgICAgQnVsa09wZXJhdGlvbnNSZXNjaGVkdWxlTW9kYWxDb21wb25lbnQsXG4gICAgICBtb2RhbE9wdGlvbnNcbiAgICApO1xuICAgIHRoaXMuYnNNb2RhbFJlZi5jb250ZW50LmNsb3NlU3ViamVjdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0VG9TdWNjZXNzZnVsKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ1NldCBtYW51YWxseSBidWxrIG9wZXJhdGlvbiB0byBTVUNDRVNTRlVMJyksXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ1lvdSBhcmUgYWJvdXQgdG8gY2hhbmdlIHRoZSBidWxrIG9wZXJhdGlvbiBzdGF0dXMgdG8gU1VDQ0VTU0ZVTC4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5EQU5HRVJcbiAgICAgICk7XG5cbiAgICAgIGF3YWl0IHRoaXMuYnVsa09wZXJhdGlvbnNTZXJ2aWNlLnVwZGF0ZUJ1bGtPcGVyYXRpb24oe1xuICAgICAgICBpZDogdGhpcy5idWxrT3BlcmF0aW9uLmlkLFxuICAgICAgICBnZW5lcmFsU3RhdHVzOiBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5TVUNDRVNTRlVMXG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcbiAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhnZXR0ZXh0KCdPcGVyYXRpb24gc3RhdHVzIGNoYW5nZWQgdG8gU1VDQ0VTU0ZVTC4nKSk7XG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlcik7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZhaWxlZE9wZXJhdGlvbihmYWlsZWRQYXJlbnRJZCkge1xuICAgIHRoaXMuc2hvd0ZhaWxlZE9wZXJhdGlvbi5lbWl0KGZhaWxlZFBhcmVudElkKTtcbiAgfVxuXG4gIGlzU3RhdHVzU2NoZWR1bGVkKCkge1xuICAgIHJldHVybiB0aGlzLmJ1bGtPcGVyYXRpb24uZ2VuZXJhbFN0YXR1cyA9PT0gdGhpcy5idWxrT3BlcmF0aW9uR2VuZXJhbFN0YXR1cy5TQ0hFRFVMRUQ7XG4gIH1cblxuICBpc1N0YXR1c0V4ZWN1dGluZ09yRXhlY3V0aW5nV2l0aEVycm9yKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24uZ2VuZXJhbFN0YXR1cyA9PT0gdGhpcy5idWxrT3BlcmF0aW9uR2VuZXJhbFN0YXR1cy5FWEVDVVRJTkcgfHxcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkVYRUNVVElOR19XSVRIX0VSUk9SXG4gICAgKTtcbiAgfVxuXG4gIGFsbE9wZXJhdGlvbnNDcmVhdGVkKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuYWxsID09PVxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmV4ZWN1dGluZyArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5mYWlsZWQgK1xuICAgICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MucGVuZGluZyArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5zdWNjZXNzZnVsXG4gICAgKTtcbiAgfVxuXG4gIGlzU3RhdHVzQ2FuY2VsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkNBTkNFTEVEO1xuICB9XG5cbiAgaXNTdGF0dXNGYWlsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkZBSUxFRDtcbiAgfVxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9idWxrLW9wZXJhdGlvbnMtbGlzdC8iLCJzb3VyY2VzIjpbImJ1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekUsT0FBTyxFQUNMLFlBQVksRUFDWixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU10SDtJQXVCRSx3Q0FDVSxxQkFBNEMsRUFDNUMsS0FBbUIsRUFDbkIsS0FBbUIsRUFDbkIsY0FBOEI7UUFIOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdkJ4QyxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsYUFBUSxHQUFZLEtB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dkYsQ0FBQztJQUVELHVEQUFjLEdBQWQ7UUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUM7SUFDckYsQ0FBQzs7Z0JBM0tnQyxxQkFBcUI7Z0JBQ3JDLFlBQVk7Z0JBQ1osWUFBWTtnQkFDSCxjQUFjOztJQXpCeEM7UUFEQyxLQUFLLEVBQUU7eUVBQytCO0lBRXZDO1FBREMsS0FBSyxFQUFFOzRFQUN5QjtJQUVqQztRQURDLEtBQUssRUFBRTtvRUFDa0I7SUFDaEI7UUFBVCxNQUFNLEVBQUU7K0VBQTBDO0lBQ3pDO1FBQVQsTUFBTSxFQUFFO2tFQUFnRDtJQUNoQjtRQUF4QyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO29FQUE2QjtJQVQxRCw4QkFBOEI7UUFKMUMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDhCQUE4QjtZQUN4Qyx1bUtBQXdEO1NBQ3pELENBQUM7T0FDVyw4QkFBOEIsQ0FvTTFDO0lBQUQscUNBQUM7Q0FBQSxBQXBNRCxJQW9NQztTQXBNWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElPcGVyYXRpb25CdWxrLCBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgTGlzdEl0ZW1Db21wb25lbnQsXG4gIE1vZGFsU2VydmljZSxcbiAgU3RhdHVzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgYXNzaWduLCBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiwgQnNNb2RhbFNlcnZpY2UsIE1vZGFsT3B0aW9ucyB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQnVsa09wZXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2J1bGstb3BlcmF0aW9ucy1zZXJ2aWNlJztcbmltcG9ydCB7IElTdGF0dXNPcHRpb24gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvc3RhdHVzLWZpbHRlcic7XG5pbXBvcnQgeyBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWxzL2J1bGstb3BlcmF0aW9ucy1yZXNjaGVkdWxlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCVUxLX09QRVJBVElPTl9GQUxMQkFDS19TVEFUVVNfSUNPTiwgQlVMS19PUEVSQVRJT05fU1RBVFVTX09QVElPTlMgfSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLWxpc3QtaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1idWxrLW9wZXJhdGlvbi1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCdWxrT3BlcmF0aW9uTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGJ1bGtPcGVyYXRpb246IFBhcnRpYWw8SU9wZXJhdGlvbkJ1bGs+O1xuICBASW5wdXQoKVxuICBkZXRhaWxzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNob3dGYWlsZWRPcGVyYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdsaXN0SXRlbScsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RJdGVtOiBMaXN0SXRlbUNvbXBvbmVudDtcbiAgaWNvbkNsYXNzOiBzdHJpbmc7XG4gIGZpbmlzaERhdGU6IG51bWJlcjtcbiAgcmVmcmVzaExvYWRpbmcgPSBmYWxzZTtcbiAgYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMgPSBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cztcbiAgYnVsa09wZXJhdGlvblN0YXR1c09wdGlvbnM6IElTdGF0dXNPcHRpb25bXSA9IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TO1xuICBic01vZGFsUmVmOiBCc01vZGFsUmVmO1xuICBmaW5pc2hEYXRlUG9wb3ZlclRleHQ6IHN0cmluZyA9IGdldHRleHQoXG4gICAgJ0FwcHJveGltYXRlIGRhdGUsIGVzdGltYXRlZCBiYXNlZCBvbiB0aGUgYnVsayBvcGVyYXRpb24gc2V0dGluZ3MuJ1xuICApO1xuICBwcm9ncmVzc0JhckNsYXNzOiBzdHJpbmcgPSAncHJvZ3Jlc3MnO1xuICBwcm9ncmVzc0JhckNvbG9yOiBzdHJpbmc7XG4gIHByb2dyZXNzQmFyU3RhdHVzOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnVsa09wZXJhdGlvbnNTZXJ2aWNlOiBCdWxrT3BlcmF0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLmdldEljb25DbGFzcygpO1xuICAgIHRoaXMuZmluaXNoRGF0ZSA9IHRoaXMuY2FsY3VsYXRlRmluaXNoRGF0ZU1zKCk7XG4gICAgdGhpcy5zZXRQcm9ncmVzc0JhcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmJ1bGtPcGVyYXRpb24gJiYgIWNoYW5nZXMuYnVsa09wZXJhdGlvbi5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLmdldEljb25DbGFzcygpO1xuICAgICAgdGhpcy5zZXRQcm9ncmVzc0JhcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldEljb25DbGFzcygpIHtcbiAgICBjb25zdCBzdGF0dXNPcHRpb25zID0gdGhpcy5idWxrT3BlcmF0aW9uU3RhdHVzT3B0aW9ucy5maW5kKHN0YXR1c09wdGlvbiA9PlxuICAgICAgc3RhdHVzT3B0aW9uLmdlbmVyYWxTdGF0dXMuaW5jbHVkZXModGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMpXG4gICAgKTtcbiAgICByZXR1cm4gc3RhdHVzT3B0aW9ucyA/IHN0YXR1c09wdGlvbnMuaWNvbkNsYXNzIDogQlVMS19PUEVSQVRJT05fRkFMTEJBQ0tfU1RBVFVTX0lDT047XG4gIH1cblxuICBjYWxjdWxhdGVGaW5pc2hEYXRlTXMoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzdGFydERhdGVNczogbnVtYmVyID0gbmV3IERhdGUodGhpcy5idWxrT3BlcmF0aW9uLnN0YXJ0RGF0ZSkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGNyZWF0aW9uUmFtcE1zOiBudW1iZXIgPSB0aGlzLmJ1bGtPcGVyYXRpb24uY3JlYXRpb25SYW1wICogMTAwMDtcblxuICAgIHJldHVybiBzdGFydERhdGVNcyArIGNyZWF0aW9uUmFtcE1zICogdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmFsbDtcbiAgfVxuXG4gIHByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKCh0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3Muc3VjY2Vzc2Z1bCArIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5mYWlsZWQpIC9cbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmFsbCkgKlxuICAgICAgMTAwXG4gICAgKTtcbiAgfVxuXG4gIHNldFByb2dyZXNzQmFyKCkge1xuICAgIGNvbnN0IHN0YXRpY0NvbnRlbnRPZkNsYXNzID0gJ3Byb2dyZXNzLWJhciBwcm9ncmVzcy1zdHJpcGVkIGFjdGl2ZSBwcm9ncmVzcy1iYXInO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NCYXJTdGF0ZSA9IHtcbiAgICAgIEVYRUNVVElORzoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MgcHJvZ3Jlc3Mtc3RyaXBlZCBhY3RpdmUnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tcHJpbWFyeWAsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiB0aGlzLnByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpXG4gICAgICB9LFxuICAgICAgRVhFQ1VUSU5HX1dJVEhfRVJST1I6IHtcbiAgICAgICAgcHJvZ3Jlc3NCYXJDbGFzczogJ3Byb2dyZXNzIHByb2dyZXNzLXN0cmlwZWQgYWN0aXZlJyxcbiAgICAgICAgcHJvZ3Jlc3NCYXJDb2xvcjogYCR7c3RhdGljQ29udGVudE9mQ2xhc3N9LWRhbmdlcmAsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiB0aGlzLnByb2dyZXNzQmFyUHJvZ3Jlc3NGbigpXG4gICAgICB9LFxuICAgICAgRkFJTEVEOiB7XG4gICAgICAgIHByb2dyZXNzQmFyQ2xhc3M6ICdwcm9ncmVzcycsXG4gICAgICAgIHByb2dyZXNzQmFyQ29sb3I6IGAke3N0YXRpY0NvbnRlbnRPZkNsYXNzfS1kYW5nZXJgLFxuICAgICAgICBwcm9ncmVzc0JhclN0YXR1czogMTAwXG4gICAgICB9LFxuICAgICAgU1VDQ0VTU0ZVTDoge1xuICAgICAgICBwcm9ncmVzc0JhckNsYXNzOiAncHJvZ3Jlc3MnLFxuICAgICAgICBwcm9ncmVzc0JhckNvbG9yOiBgJHtzdGF0aWNDb250ZW50T2ZDbGFzc30tc3VjY2Vzc2AsXG4gICAgICAgIHByb2dyZXNzQmFyU3RhdHVzOiAxMDBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYXNzaWduKHRoaXMsIHByb2dyZXNzQmFyU3RhdGVbdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXNdKTtcbiAgfVxuXG4gIGVkaXRTY2hlZHVsZSgpIHtcbiAgICBjb25zdCByZXNjaGVkdWxlZE9wZXJhdGlvbiA9IGNsb25lRGVlcCh0aGlzLmJ1bGtPcGVyYXRpb24pO1xuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGJ1bGtPcGVyYXRpb246IHJlc2NoZWR1bGVkT3BlcmF0aW9uXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1zbScsIGJhY2tkcm9wOiAnc3RhdGljJyB9IGFzIE1vZGFsT3B0aW9ucztcbiAgICB0aGlzLmJzTW9kYWxSZWYgPSB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCxcbiAgICAgIG1vZGFsT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBjYW5jZWxCdWxrT3BlcmF0aW9uKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ0NhbmNlbCBidWxrIG9wZXJhdGlvbicpLFxuICAgICAgICBnZXR0ZXh0KCdZb3UgYXJlIGFib3V0IHRvIGNhbmNlbCB0aGUgYnVsayBvcGVyYXRpb24uIERvIHlvdSB3YW50IHRvIHByb2NlZWQ/JyksXG4gICAgICAgIFN0YXR1cy5EQU5HRVJcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmJ1bGtPcGVyYXRpb25zU2VydmljZS5kZWxldGVCdWxrT3BlcmF0aW9uKHRoaXMuYnVsa09wZXJhdGlvbi5pZCk7XG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XG4gICAgICB0aGlzLmFsZXJ0LnN1Y2Nlc3MoZ2V0dGV4dCgnT3BlcmF0aW9uIGNhbmNlbGVkLicpKTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cblxuICByZXRyeUZhaWxlZE9wZXJhdGlvbigpIHtcbiAgICBjb25zdCBjbG9uZWRCdWxrID0gY2xvbmVEZWVwKHRoaXMuYnVsa09wZXJhdGlvbik7XG5cbiAgICAvLyBjaGFuZ2UgdGhlIGlkIHRvIGZhaWxlZHBhcmVudElkIHNpbWlsYXIgdG8gdGhlIGxvZ2ljIGluIGRldmljZUJ1bGtDb250cm9sLnNlcnZpY2UuanNcbiAgICBkZWxldGUgY2xvbmVkQnVsay5ncm91cElkO1xuICAgIGNsb25lZEJ1bGsuZmFpbGVkUGFyZW50SWQgPSB0aGlzLmJ1bGtPcGVyYXRpb24uaWQ7XG5cbiAgICAvLyBzaG93IHJlc2NoZGVkdWxlIG1vZGFsOlxuICAgIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHtcbiAgICAgIGJ1bGtPcGVyYXRpb246IGNsb25lZEJ1bGssXG4gICAgICBpc1JldHJ5T3BlcmF0aW9uOiB0cnVlXG4gICAgfTtcbiAgICBjb25zdCBtb2RhbE9wdGlvbnMgPSB7IGluaXRpYWxTdGF0ZSwgY2xhc3M6ICdtb2RhbC1zbScsIGJhY2tkcm9wOiAnc3RhdGljJyB9IGFzIE1vZGFsT3B0aW9ucztcbiAgICB0aGlzLmJzTW9kYWxSZWYgPSB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3coXG4gICAgICBCdWxrT3BlcmF0aW9uc1Jlc2NoZWR1bGVNb2RhbENvbXBvbmVudCxcbiAgICAgIG1vZGFsT3B0aW9uc1xuICAgICk7XG4gICAgdGhpcy5ic01vZGFsUmVmLmNvbnRlbnQuY2xvc2VTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzZXRUb1N1Y2Nlc3NmdWwoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWwuY29uZmlybShcbiAgICAgICAgZ2V0dGV4dCgnU2V0IG1hbnVhbGx5IGJ1bGsgb3BlcmF0aW9uIHRvIFNVQ0NFU1NGVUwnKSxcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnWW91IGFyZSBhYm91dCB0byBjaGFuZ2UgdGhlIGJ1bGsgb3BlcmF0aW9uIHN0YXR1cyB0byBTVUNDRVNTRlVMLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPydcbiAgICAgICAgKSxcbiAgICAgICAgU3RhdHVzLkRBTkdFUlxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UudXBkYXRlQnVsa09wZXJhdGlvbih7XG4gICAgICAgIGlkOiB0aGlzLmJ1bGtPcGVyYXRpb24uaWQsXG4gICAgICAgIGdlbmVyYWxTdGF0dXM6IE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLlNVQ0NFU1NGVUxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBzdGF0dXMgY2hhbmdlZCB0byBTVUNDRVNTRlVMLicpKTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cblxuICBvcGVuRmFpbGVkT3BlcmF0aW9uKGZhaWxlZFBhcmVudElkKSB7XG4gICAgdGhpcy5zaG93RmFpbGVkT3BlcmF0aW9uLmVtaXQoZmFpbGVkUGFyZW50SWQpO1xuICB9XG5cbiAgaXNTdGF0dXNTY2hlZHVsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLlNDSEVEVUxFRDtcbiAgfVxuXG4gIGlzU3RhdHVzRXhlY3V0aW5nT3JFeGVjdXRpbmdXaXRoRXJyb3IoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5nZW5lcmFsU3RhdHVzID09PSB0aGlzLmJ1bGtPcGVyYXRpb25HZW5lcmFsU3RhdHVzLkVYRUNVVElORyB8fFxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HX1dJVEhfRVJST1JcbiAgICApO1xuICB9XG5cbiAgYWxsT3BlcmF0aW9uc0NyZWF0ZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5hbGwgPT09XG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZXhlY3V0aW5nICtcbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLmZhaWxlZCArXG4gICAgICAgIHRoaXMuYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5wZW5kaW5nICtcbiAgICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzLnN1Y2Nlc3NmdWxcbiAgICApO1xuICB9XG5cbiAgaXNTdGF0dXNDYW5jZWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuQ0FOQ0VMRUQ7XG4gIH1cblxuICBpc1N0YXR1c0ZhaWxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWxrT3BlcmF0aW9uLmdlbmVyYWxTdGF0dXMgPT09IHRoaXMuYnVsa09wZXJhdGlvbkdlbmVyYWxTdGF0dXMuRkFJTEVEO1xuICB9XG59XG4iXX0=
@@ -5,36 +5,43 @@ export var BULK_OPERATION_STATUS_LABELS = {
5
5
  EXECUTING: gettext('Executing'),
6
6
  CANCELED: gettext('Canceled'),
7
7
  FAILED: gettext('Completed with failures'),
8
- SUCCESSFUL: gettext('Completed successfully')
8
+ SUCCESSFUL: gettext('Completed successfully'),
9
+ DELETED: gettext('Deleted'),
9
10
  };
10
11
  export var BULK_OPERATION_STATUS_OPTIONS = [
11
12
  {
12
13
  label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,
13
14
  generalStatus: [OperationBulkGeneralStatus.SCHEDULED],
14
- iconClass: 'dlt-c8y-icon-calendar text-info'
15
+ iconClass: 'dlt-c8y-icon-calendar text-info',
15
16
  },
16
17
  {
17
18
  label: BULK_OPERATION_STATUS_LABELS.EXECUTING,
18
19
  generalStatus: [
19
20
  OperationBulkGeneralStatus.EXECUTING,
20
- OperationBulkGeneralStatus.EXECUTING_WITH_ERROR
21
+ OperationBulkGeneralStatus.EXECUTING_WITH_ERROR,
21
22
  ],
22
- iconClass: 'dlt-c8y-icon-refresh text-primary'
23
+ iconClass: 'dlt-c8y-icon-refresh text-primary',
24
+ },
25
+ {
26
+ label: BULK_OPERATION_STATUS_LABELS.DELETED,
27
+ generalStatus: [OperationBulkGeneralStatus.DELETED],
28
+ iconClass: 'dlt-c8y-icon-delete-document text-muted',
23
29
  },
24
30
  {
25
31
  label: BULK_OPERATION_STATUS_LABELS.CANCELED,
26
32
  generalStatus: [OperationBulkGeneralStatus.CANCELED],
27
- iconClass: 'dlt-c8y-icon-ban text-muted'
33
+ iconClass: 'dlt-c8y-icon-ban text-muted',
28
34
  },
29
35
  {
30
36
  label: BULK_OPERATION_STATUS_LABELS.FAILED,
31
37
  generalStatus: [OperationBulkGeneralStatus.FAILED],
32
- iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger'
38
+ iconClass: 'dlt-c8y-icon-exclamation-triangle text-danger',
33
39
  },
34
40
  {
35
41
  label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,
36
42
  generalStatus: [OperationBulkGeneralStatus.SUCCESSFUL],
37
- iconClass: 'dlt-c8y-icon-check-circle text-success'
38
- }
43
+ iconClass: 'dlt-c8y-icon-check-circle text-success',
44
+ },
39
45
  ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2J1bGstb3BlcmF0aW9ucy1saXN0LyIsInNvdXJjZXMiOlsiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHOUMsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUc7SUFDMUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztJQUMxQyxVQUFVLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0NBQzlDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBb0I7SUFDNUQ7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsU0FBUztRQUM3QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckQsU0FBUyxFQUFFLGlDQUFpQztLQUM3QztJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLFNBQVM7UUFDN0MsYUFBYSxFQUFFO1lBQ2IsMEJBQTBCLENBQUMsU0FBUztZQUNwQywwQkFBMEIsQ0FBQyxvQkFBb0I7U0FDaEQ7UUFDRCxTQUFTLEVBQUUsbUNBQW1DO0tBQy9DO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsUUFBUTtRQUM1QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7UUFDcEQsU0FBUyxFQUFFLDZCQUE2QjtLQUN6QztJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLE1BQU07UUFDMUMsYUFBYSxFQUFFLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDO1FBQ2xELFNBQVMsRUFBRSwrQ0FBK0M7S0FDM0Q7SUFDRDtRQUNFLEtBQUssRUFBRSw0QkFBNEIsQ0FBQyxVQUFVO1FBQzlDLGFBQWEsRUFBRSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztRQUN0RCxTQUFTLEVBQUUsd0NBQXdDO0tBQ3BEO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSVN0YXR1c09wdGlvbiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSB7XG4gIFNDSEVEVUxFRDogZ2V0dGV4dCgnU2NoZWR1bGVkJyksXG4gIEVYRUNVVElORzogZ2V0dGV4dCgnRXhlY3V0aW5nJyksXG4gIENBTkNFTEVEOiBnZXR0ZXh0KCdDYW5jZWxlZCcpLFxuICBGQUlMRUQ6IGdldHRleHQoJ0NvbXBsZXRlZCB3aXRoIGZhaWx1cmVzJyksXG4gIFNVQ0NFU1NGVUw6IGdldHRleHQoJ0NvbXBsZXRlZCBzdWNjZXNzZnVsbHknKVxufTtcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TOiBJU3RhdHVzT3B0aW9uW10gPSBbXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5TQ0hFRFVMRUQsXG4gICAgZ2VuZXJhbFN0YXR1czogW09wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLlNDSEVEVUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNhbGVuZGFyIHRleHQtaW5mbydcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBCVUxLX09QRVJBVElPTl9TVEFUVVNfTEFCRUxTLkVYRUNVVElORyxcbiAgICBnZW5lcmFsU3RhdHVzOiBbXG4gICAgICBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5FWEVDVVRJTkcsXG4gICAgICBPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5FWEVDVVRJTkdfV0lUSF9FUlJPUlxuICAgIF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLXJlZnJlc2ggdGV4dC1wcmltYXJ5J1xuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuQ0FOQ0VMRUQsXG4gICAgZ2VuZXJhbFN0YXR1czogW09wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLkNBTkNFTEVEXSxcbiAgICBpY29uQ2xhc3M6ICdkbHQtYzh5LWljb24tYmFuIHRleHQtbXV0ZWQnXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5GQUlMRUQsXG4gICAgZ2VuZXJhbFN0YXR1czogW09wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLkZBSUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHRleHQtZGFuZ2VyJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuU1VDQ0VTU0ZVTCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuU1VDQ0VTU0ZVTF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNoZWNrLWNpcmNsZSB0ZXh0LXN1Y2Nlc3MnXG4gIH1cbl07XG4iXX0=
46
+ export var BULK_OPERATION_FALLBACK_STATUS_ICON = 'dlt-c8y-icon-ask-question text-muted';
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2J1bGstb3BlcmF0aW9ucy1saXN0LyIsInNvdXJjZXMiOlsiYnVsay1vcGVyYXRpb24tbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHOUMsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQUc7SUFDMUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDL0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztJQUMxQyxVQUFVLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDO0lBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBb0I7SUFDNUQ7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsU0FBUztRQUM3QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckQsU0FBUyxFQUFFLGlDQUFpQztLQUM3QztJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLFNBQVM7UUFDN0MsYUFBYSxFQUFFO1lBQ2IsMEJBQTBCLENBQUMsU0FBUztZQUNwQywwQkFBMEIsQ0FBQyxvQkFBb0I7U0FDaEQ7UUFDRCxTQUFTLEVBQUUsbUNBQW1DO0tBQy9DO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsT0FBTztRQUMzQyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7UUFDbkQsU0FBUyxFQUFFLHlDQUF5QztLQUNyRDtJQUNEO1FBQ0UsS0FBSyxFQUFFLDRCQUE0QixDQUFDLFFBQVE7UUFDNUMsYUFBYSxFQUFFLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDO1FBQ3BELFNBQVMsRUFBRSw2QkFBNkI7S0FDekM7SUFDRDtRQUNFLEtBQUssRUFBRSw0QkFBNEIsQ0FBQyxNQUFNO1FBQzFDLGFBQWEsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQztRQUNsRCxTQUFTLEVBQUUsK0NBQStDO0tBQzNEO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsNEJBQTRCLENBQUMsVUFBVTtRQUM5QyxhQUFhLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsU0FBUyxFQUFFLHdDQUF3QztLQUNwRDtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxtQ0FBbUMsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSVN0YXR1c09wdGlvbiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSB7XG4gIFNDSEVEVUxFRDogZ2V0dGV4dCgnU2NoZWR1bGVkJyksXG4gIEVYRUNVVElORzogZ2V0dGV4dCgnRXhlY3V0aW5nJyksXG4gIENBTkNFTEVEOiBnZXR0ZXh0KCdDYW5jZWxlZCcpLFxuICBGQUlMRUQ6IGdldHRleHQoJ0NvbXBsZXRlZCB3aXRoIGZhaWx1cmVzJyksXG4gIFNVQ0NFU1NGVUw6IGdldHRleHQoJ0NvbXBsZXRlZCBzdWNjZXNzZnVsbHknKSxcbiAgREVMRVRFRDogZ2V0dGV4dCgnRGVsZXRlZCcpLFxufTtcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TOiBJU3RhdHVzT3B0aW9uW10gPSBbXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5TQ0hFRFVMRUQsXG4gICAgZ2VuZXJhbFN0YXR1czogW09wZXJhdGlvbkJ1bGtHZW5lcmFsU3RhdHVzLlNDSEVEVUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNhbGVuZGFyIHRleHQtaW5mbycsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogQlVMS19PUEVSQVRJT05fU1RBVFVTX0xBQkVMUy5FWEVDVVRJTkcsXG4gICAgZ2VuZXJhbFN0YXR1czogW1xuICAgICAgT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HLFxuICAgICAgT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRVhFQ1VUSU5HX1dJVEhfRVJST1IsXG4gICAgXSxcbiAgICBpY29uQ2xhc3M6ICdkbHQtYzh5LWljb24tcmVmcmVzaCB0ZXh0LXByaW1hcnknLFxuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuREVMRVRFRCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuREVMRVRFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWRlbGV0ZS1kb2N1bWVudCB0ZXh0LW11dGVkJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBCVUxLX09QRVJBVElPTl9TVEFUVVNfTEFCRUxTLkNBTkNFTEVELFxuICAgIGdlbmVyYWxTdGF0dXM6IFtPcGVyYXRpb25CdWxrR2VuZXJhbFN0YXR1cy5DQU5DRUxFRF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWJhbiB0ZXh0LW11dGVkJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiBCVUxLX09QRVJBVElPTl9TVEFUVVNfTEFCRUxTLkZBSUxFRCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuRkFJTEVEXSxcbiAgICBpY29uQ2xhc3M6ICdkbHQtYzh5LWljb24tZXhjbGFtYXRpb24tdHJpYW5nbGUgdGV4dC1kYW5nZXInLFxuICB9LFxuICB7XG4gICAgbGFiZWw6IEJVTEtfT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMuU1VDQ0VTU0ZVTCxcbiAgICBnZW5lcmFsU3RhdHVzOiBbT3BlcmF0aW9uQnVsa0dlbmVyYWxTdGF0dXMuU1VDQ0VTU0ZVTF0sXG4gICAgaWNvbkNsYXNzOiAnZGx0LWM4eS1pY29uLWNoZWNrLWNpcmNsZSB0ZXh0LXN1Y2Nlc3MnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IEJVTEtfT1BFUkFUSU9OX0ZBTExCQUNLX1NUQVRVU19JQ09OID0gJ2RsdC1jOHktaWNvbi1hc2stcXVlc3Rpb24gdGV4dC1tdXRlZCc7XG4iXX0=
@@ -21,6 +21,7 @@ var ConfigurationDetailComponent = /** @class */ (function () {
21
21
  this.mo = {};
22
22
  this.saving = false;
23
23
  this.uploadChoice = 'uploadBinary';
24
+ this.textForConfigurationUrlPopover = gettext("Path for binaries can vary depending on device agent implementation, e.g.:\n /configuration/binaries/configuration1.bin\n https://configuration/binary/123\n ftp://configuration/binary/123.tar.gz\n ");
24
25
  this.result = new Promise(function (resolve, reject) {
25
26
  _this._save = resolve;
26
27
  _this._cancel = reject;
@@ -126,10 +127,10 @@ var ConfigurationDetailComponent = /** @class */ (function () {
126
127
  ConfigurationDetailComponent = tslib_1.__decorate([
127
128
  Component({
128
129
  selector: 'c8y-configuration-detail',
129
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'cogs'\"></i>\n <h4 translate *ngIf=\"mo.id\">Update configuration</h4>\n <h4 translate *ngIf=\"!mo.id\">Add configuration</h4>\n </div>\n\n <form class=\"d-contents\" #configurationForm=\"ngForm\" (ngSubmit)=\"configurationForm.form.valid && save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} hosts\"\n autocomplete=\"off\"\n required\n maxlength=\"254\"\n [(ngModel)]=\"version\"\n name=\"version\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"deviceType\"\n name=\"deviceType\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Host configuration' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"description\"\n name=\"description\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n name=\"confType\"\n placeholder=\"{{ 'e.g.' | translate }} ssh\"\n (onSearch)=\"setPipe($event)\"\n displayProperty=\"configurationType\"\n >\n <c8y-li\n *c8yFor=\"let config of configs; pipe: filterPipe; notFound: notFoundTemplate\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selected = config; setPipe('')\"\n [active]=\"selected === config\"\n >\n <c8y-highlight\n [text]=\"config.configurationType || '--'\"\n [pattern]=\"pattern\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"pattern.length > 0\">\n <span translate>No match found, add new`configuration`?</span>\n <button title=\"Create new`configuration`\" type=\"button\" class=\"btn btn-primary btn-xs m-l-16\" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Configuration file</div>\n <c8y-file-picker\n [maxAllowedFiles]=\"1\"\n (onFilesPicked)=\"onFile($event)\"\n [uploadChoice]=\"uploadChoice\"\n [fileUrl]=\"binary.url\"\n [fileBinary]=\"binary.file\"\n >\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n [disabled]=\"saving\"\n >\n <span translate>Cancel</span>\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n title=\"{{ submitButtonTitle | translate }}\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !configurationForm.valid ||\n configurationForm.pristine ||\n (!binary?.url && !binary?.file) ||\n saving\n \"\n >\n {{ submitButtonTitle | translate }}\n </button>\n </div>\n </form>\n</div>\n"
130
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'cogs'\"></i>\n <h4 translate *ngIf=\"mo.id\">Update configuration</h4>\n <h4 translate *ngIf=\"!mo.id\">Add configuration</h4>\n </div>\n\n <form class=\"d-contents\" #configurationForm=\"ngForm\" (ngSubmit)=\"configurationForm.form.valid && save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <c8y-form-group>\n <label translate>Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} hosts\"\n autocomplete=\"off\"\n required\n maxlength=\"254\"\n [(ngModel)]=\"version\"\n name=\"version\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Device type</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"deviceType\"\n name=\"deviceType\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Description</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g. Host configuration' | translate }} c8y_Linux\"\n maxlength=\"254\"\n autocomplete=\"off\"\n [(ngModel)]=\"description\"\n name=\"description\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label translate>Configuration type</label>\n <c8y-typeahead\n [(ngModel)]=\"selected\"\n name=\"confType\"\n placeholder=\"{{ 'e.g.' | translate }} ssh\"\n (onSearch)=\"setPipe($event)\"\n displayProperty=\"configurationType\"\n >\n <c8y-li\n *c8yFor=\"let config of configs; pipe: filterPipe; notFound: notFoundTemplate\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selected = config; setPipe('')\"\n [active]=\"selected === config\"\n >\n <c8y-highlight\n [text]=\"config.configurationType || '--'\"\n [pattern]=\"pattern\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"pattern.length > 0\">\n <span translate>No match found, add new`configuration`?</span>\n <button title=\"Create new`configuration`\" type=\"button\" class=\"btn btn-primary btn-xs m-l-16\" translate>\n Create new`configuration`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Configuration file</div>\n <c8y-file-picker\n [maxAllowedFiles]=\"1\"\n (onFilesPicked)=\"onFile($event)\"\n [uploadChoice]=\"uploadChoice\"\n [fileUrl]=\"binary.url\"\n [fileBinary]=\"binary.file\"\n [fileUrlPopover]=\"textForConfigurationUrlPopover\"\n >\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"modal-footer\">\n <button\n (click)=\"cancel()\"\n type=\"button\"\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n [disabled]=\"saving\"\n >\n <span translate>Cancel</span>\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n title=\"{{ submitButtonTitle | translate }}\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !configurationForm.valid ||\n configurationForm.pristine ||\n (!binary?.url && !binary?.file) ||\n saving\n \"\n >\n {{ submitButtonTitle | translate }}\n </button>\n </div>\n </form>\n</div>\n"
130
131
  })
131
132
  ], ConfigurationDetailComponent);
132
133
  return ConfigurationDetailComponent;
133
134
  }());
134
135
  export { ConfigurationDetailComponent };
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5LyIsInNvdXJjZXMiOlsiY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWRldGFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRDtJQTRCRSxzQ0FDVSxpQkFBb0MsRUFDcEMsVUFBc0IsRUFDdEIsS0FBbUI7UUFIN0IsaUJBSUk7UUFITSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQTFCN0IsV0FBTSxHQUFrQztZQUN0QyxJQUFJLEVBQUUsU0FBUztZQUNmLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQztRQUdGLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFHckIsT0FBRSxHQUE0QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGlCQUFZLEdBQWlDLGNBQWMsQ0FBQztRQUk1RCxXQUFNLEdBQWtCLElB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LElBNkdDO1NBN0dZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgdW5pcUJ5LCBpc1VuZGVmaW5lZCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb2RhbE1vZGVsLCBSZXBvc2l0b3J5VHlwZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkubW9kZWwnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9yZXBvc2l0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGlja2VkRmlsZXMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWNvbmZpZ3VyYXRpb24tZGV0YWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb24tZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uRGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgTW9kYWxNb2RlbCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbmZpZ3VyYXRpb25Gb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgY29uZmlndXJhdGlvbkZvcm06IE5nRm9ybTtcbiAgc2VsZWN0ZWQ6IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIHZlcnNpb246IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYmluYXJ5OiB7IGZpbGU/OiBGaWxlOyB1cmw/OiBzdHJpbmcgfSA9IHtcbiAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgdXJsOiB1bmRlZmluZWRcbiAgfTtcbiAgZGV2aWNlVHlwZTogc3RyaW5nO1xuXG4gIHBhdHRlcm46IHN0cmluZyA9ICcnO1xuICBmaWx0ZXJQaXBlO1xuICBjb25maWdzO1xuICBtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4gPSB7fTtcbiAgc2F2aW5nID0gZmFsc2U7XG4gIHVwbG9hZENob2ljZTogJ3VwbG9hZEJpbmFyeScgfCAndXBsb2FkVXJsJyA9ICd1cGxvYWRCaW5hcnknO1xuICBleGlzdGluZ0JpbmFyeTogRmlsZTtcbiAgc3VibWl0QnV0dG9uVGl0bGU6IHN0cmluZztcblxuICByZXN1bHQ6IFByb21pc2U8dm9pZD4gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdGhpcy5fc2F2ZSA9IHJlc29sdmU7XG4gICAgdGhpcy5fY2FuY2VsID0gcmVqZWN0O1xuICB9KTtcblxuICBwcml2YXRlIF9zYXZlO1xuICBwcml2YXRlIF9jYW5jZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBic01vZGFsUmVmOiBCc01vZGFsUmVmLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb25maWdzID0gYXdhaXQgdGhpcy5yZXBvc2l0b3J5U2VydmljZS5saXN0UmVwb3NpdG9yeUVudHJpZXMoUmVwb3NpdG9yeVR5cGUuQ09ORklHVVJBVElPTik7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMudXBsb2FkQ2hvaWNlID0gdGhpcy5iaW5hcnkuZmlsZSA/ICd1cGxvYWRCaW5hcnknIDogJ3VwbG9hZFVybCc7XG4gICAgICB0aGlzLmV4aXN0aW5nQmluYXJ5ID0gdGhpcy5iaW5hcnkuZmlsZTtcbiAgICB9XG4gICAgdGhpcy5zZXRQaXBlKCcnKTtcbiAgICB0aGlzLnN1Ym1pdEJ1dHRvblRpdGxlID0gdGhpcy5tby5pZFxuICAgICAgPyBnZXR0ZXh0KCdVcGRhdGUgY29uZmlndXJhdGlvbicpXG4gICAgICA6IGdldHRleHQoJ0FkZCBjb25maWd1cmF0aW9uJyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICB0aGlzLl9jYW5jZWwoKTtcbiAgfVxuXG4gIHNldFBpcGUoZmlsdGVyU3RyOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhdHRlcm4gPSBmaWx0ZXJTdHI7XG4gICAgdGhpcy5maWx0ZXJQaXBlID0gcGlwZShcbiAgICAgIG1hcCgoZGF0YTogW10pID0+IHVuaXFCeShkYXRhLCAnY29uZmlndXJhdGlvblR5cGUnKSksXG4gICAgICBtYXAoKGRhdGE6IFtdKSA9PiB7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihcbiAgICAgICAgICAobW86IGFueSkgPT5cbiAgICAgICAgICAgIG1vLmNvbmZpZ3VyYXRpb25UeXBlICYmXG4gICAgICAgICAgICBtby5jb25maWd1cmF0aW9uVHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyU3RyLnRvTG93ZXJDYXNlKCkpID4gLTFcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbkZvcm0uZm9ybS5tYXJrQXNEaXJ0eSgpO1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNhdmluZyA9IHRydWU7XG4gICAgICBjb25zdCB7IHNlbGVjdGVkLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgYmluYXJ5LCBkZXZpY2VUeXBlIH0gPSB0aGlzO1xuICAgICAgaWYgKHRoaXMuZXhpc3RpbmdCaW5hcnkgPT09IHRoaXMuYmluYXJ5LmZpbGUpIHtcbiAgICAgICAgYmluYXJ5LmZpbGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLnNhdmUoXG4gICAgICAgIHsgc2VsZWN0ZWQsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBiaW5hcnksIGRldmljZVR5cGUgfSxcbiAgICAgICAgUmVwb3NpdG9yeVR5cGUuQ09ORklHVVJBVElPTixcbiAgICAgICAgdGhpcy5tb1xuICAgICAgKTtcbiAgICAgIHRoaXMuYWxlcnQuc3VjY2VzcyhcbiAgICAgICAgdGhpcy5tby5pZCA/IGdldHRleHQoJ0NvbmZpZ3VyYXRpb24gdXBkYXRlZC4nKSA6IGdldHRleHQoJ0NvbmZpZ3VyYXRpb24gY3JlYXRlZC4nKVxuICAgICAgKTtcbiAgICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gICAgICB0aGlzLl9zYXZlKCk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShleCk7XG4gICAgICB0aGlzLl9jYW5jZWwoKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5LyIsInNvdXJjZXMiOlsiY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWRldGFpbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVExRDtJQWlDRSxzQ0FDVSxpQkFBb0MsRUFDcEMsVUFBc0IsRUFDdEIsS0FBbUI7UUFIN0IsaUJBSUk7UUFITSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQS9CN0IsV0FBTSxHQUFrQztZQUN0QyxJQUFJLEVBQUUsU0FBUztZQUNmLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQztRQUdGLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFHckIsT0FBRSxHQUE0QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGlCQUFZLEdBQWlDLGNBQWMsQ0FBQztRQUc1RCxtQ0FBOEIsR0FBVyxP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QUFDO09BQ1csNEJBQTRCLENBa0h4QztJQUFELG1DQUFDO0NBQUEsQUFsSEQsSUFrSEM7U0FsSFksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyB1bmlxQnksIGlzVW5kZWZpbmVkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vZGFsTW9kZWwsIFJlcG9zaXRvcnlUeXBlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktY29uZmlndXJhdGlvbi1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJhdGlvbi1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25EZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBNb2RhbE1vZGVsIHtcbiAgQFZpZXdDaGlsZCgnY29uZmlndXJhdGlvbkZvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb25maWd1cmF0aW9uRm9ybTogTmdGb3JtO1xuICBzZWxlY3RlZDogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBiaW5hcnk6IHsgZmlsZT86IEZpbGU7IHVybD86IHN0cmluZyB9ID0ge1xuICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICB1cmw6IHVuZGVmaW5lZFxuICB9O1xuICBkZXZpY2VUeXBlOiBzdHJpbmc7XG5cbiAgcGF0dGVybjogc3RyaW5nID0gJyc7XG4gIGZpbHRlclBpcGU7XG4gIGNvbmZpZ3M7XG4gIG1vOiBQYXJ0aWFsPElNYW5hZ2VkT2JqZWN0PiA9IHt9O1xuICBzYXZpbmcgPSBmYWxzZTtcbiAgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIGV4aXN0aW5nQmluYXJ5OiBGaWxlO1xuICBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xuICB0ZXh0Rm9yQ29uZmlndXJhdGlvblVybFBvcG92ZXI6IHN0cmluZyA9IGdldHRleHQoYFBhdGggZm9yIGJpbmFyaWVzIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBkZXZpY2UgYWdlbnQgaW1wbGVtZW50YXRpb24sIGUuZy46XG4gICAgL2NvbmZpZ3VyYXRpb24vYmluYXJpZXMvY29uZmlndXJhdGlvbjEuYmluXG4gICAgaHR0cHM6Ly9jb25maWd1cmF0aW9uL2JpbmFyeS8xMjNcbiAgICBmdHA6Ly9jb25maWd1cmF0aW9uL2JpbmFyeS8xMjMudGFyLmd6XG4gIGApO1xuXG4gIHJlc3VsdDogUHJvbWlzZTx2b2lkPiA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB0aGlzLl9zYXZlID0gcmVzb2x2ZTtcbiAgICB0aGlzLl9jYW5jZWwgPSByZWplY3Q7XG4gIH0pO1xuXG4gIHByaXZhdGUgX3NhdmU7XG4gIHByaXZhdGUgX2NhbmNlbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcG9zaXRvcnlTZXJ2aWNlOiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZ3MgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmxpc3RSZXBvc2l0b3J5RW50cmllcyhSZXBvc2l0b3J5VHlwZS5DT05GSUdVUkFUSU9OKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy51cGxvYWRDaG9pY2UgPSB0aGlzLmJpbmFyeS5maWxlID8gJ3VwbG9hZEJpbmFyeScgOiAndXBsb2FkVXJsJztcbiAgICAgIHRoaXMuZXhpc3RpbmdCaW5hcnkgPSB0aGlzLmJpbmFyeS5maWxlO1xuICAgIH1cbiAgICB0aGlzLnNldFBpcGUoJycpO1xuICAgIHRoaXMuc3VibWl0QnV0dG9uVGl0bGUgPSB0aGlzLm1vLmlkXG4gICAgICA/IGdldHRleHQoJ1VwZGF0ZSBjb25maWd1cmF0aW9uJylcbiAgICAgIDogZ2V0dGV4dCgnQWRkIGNvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICAgIHRoaXMuX2NhbmNlbCgpO1xuICB9XG5cbiAgc2V0UGlwZShmaWx0ZXJTdHI6IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IGZpbHRlclN0cjtcbiAgICB0aGlzLmZpbHRlclBpcGUgPSBwaXBlKFxuICAgICAgbWFwKChkYXRhOiBbXSkgPT4gdW5pcUJ5KGRhdGEsICdjb25maWd1cmF0aW9uVHlwZScpKSxcbiAgICAgIG1hcCgoZGF0YTogW10pID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKFxuICAgICAgICAgIChtbzogYW55KSA9PlxuICAgICAgICAgICAgbW8uY29uZmlndXJhdGlvblR5cGUgJiZcbiAgICAgICAgICAgIG1vLmNvbmZpZ3VyYXRpb25UeXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJTdHIudG9Mb3dlckNhc2UoKSkgPiAtMVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25GaWxlKGRyb3BwZWQ6IFBpY2tlZEZpbGVzKSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uRm9ybS5mb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLnVybCkpIHtcbiAgICAgIHRoaXMuYmluYXJ5ID0ge1xuICAgICAgICB1cmw6IGRyb3BwZWQudXJsXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKGRyb3BwZWQuZHJvcHBlZEZpbGVzKSkge1xuICAgICAgdGhpcy5iaW5hcnkgPSB7XG4gICAgICAgIGZpbGU6IGRyb3BwZWQuZHJvcHBlZEZpbGVzWzBdLmZpbGVcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIHVybDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHsgc2VsZWN0ZWQsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBiaW5hcnksIGRldmljZVR5cGUgfSA9IHRoaXM7XG4gICAgICBpZiAodGhpcy5leGlzdGluZ0JpbmFyeSA9PT0gdGhpcy5iaW5hcnkuZmlsZSkge1xuICAgICAgICBiaW5hcnkuZmlsZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2Uuc2F2ZShcbiAgICAgICAgeyBzZWxlY3RlZCwgdmVyc2lvbiwgZGVzY3JpcHRpb24sIGJpbmFyeSwgZGV2aWNlVHlwZSB9LFxuICAgICAgICBSZXBvc2l0b3J5VHlwZS5DT05GSUdVUkFUSU9OLFxuICAgICAgICB0aGlzLm1vXG4gICAgICApO1xuICAgICAgdGhpcy5hbGVydC5zdWNjZXNzKFxuICAgICAgICB0aGlzLm1vLmlkID8gZ2V0dGV4dCgnQ29uZmlndXJhdGlvbiB1cGRhdGVkLicpIDogZ2V0dGV4dCgnQ29uZmlndXJhdGlvbiBjcmVhdGVkLicpXG4gICAgICApO1xuICAgICAgdGhpcy5ic01vZGFsUmVmLmhpZGUoKTtcbiAgICAgIHRoaXMuX3NhdmUoKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgdGhpcy5hbGVydC5hZGRTZXJ2ZXJGYWlsdXJlKGV4KTtcbiAgICAgIHRoaXMuX2NhbmNlbCgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -26,6 +26,7 @@ var AddFirmwareModalComponent = /** @class */ (function () {
26
26
  };
27
27
  this.saving = false;
28
28
  this.firmwarePreselected = false;
29
+ this.textForFirmwareUrlPopover = gettext("Path for binaries can vary depending on device agent implementation, e.g.:\n /firmware/binaries/firmware1.bin\n https://firmware/binary/123\n ftp://firmware/binary/123.tar.gz\n ");
29
30
  }
30
31
  AddFirmwareModalComponent.prototype.ngOnInit = function () {
31
32
  this.setInitialState();
@@ -131,10 +132,10 @@ var AddFirmwareModalComponent = /** @class */ (function () {
131
132
  AddFirmwareModalComponent = tslib_1.__decorate([
132
133
  Component({
133
134
  selector: 'c8y-add-firmware-software-modal',
134
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\" *ngIf=\"!firmwarePreselected\">\n <p class=\"lead m-0\" translate>\n Select or create new firmware\n </p>\n </div>\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwareForm=\"ngForm\"\n (ngSubmit)=\"firmwareForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"onInput.next($event)\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let firmware of firmwaresResult;\n loadMore: 'auto';\n notFound: notFoundTemplate\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"onFirmwareSelect(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"(onInput | async)?.length > 0\">\n <span translate>No match found, add new`firmware`? </span>\n <button\n title=\"{{ 'Create new`firmware`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-16\"\n translate\n >\n Create new`firmware`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDescription\" translate>Description</label>\n <input\n id=\"firmwareDescription\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"description\"\n [(ngModel)]=\"model.description\"\n placeholder=\"{{ 'e.g. Firmware for hardware revision b' | translate }}\"\n [disabled]=\"model.selected?.id\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDeviceTypeFilter\" translate>Device type filter</label>\n <input\n id=\"firmwareDeviceTypeFilter\"\n class=\"form-control\"\n name=\"firmwareDeviceTypeFilter\"\n popover=\"{{\n 'If the filter is set, the firmware will show up for installation only for devices of that type. If no filter is set, it will be available for all devices.'\n | translate\n }}\"\n [(ngModel)]=\"model.deviceType\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n [disabled]=\"model.selected?.id\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"firmwareVersion\" translate>Version</label>\n <input\n id=\"firmwareVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"version\"\n [(ngModel)]=\"model.version\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Firmware file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n\n <button\n title=\"{{ 'Add firmware' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwareForm.form.valid ||\n firmwareForm.form.pristine ||\n saving ||\n (!model.binary?.url && !model.binary?.file)\n \"\n translate\n >\n Add firmware\n </button>\n </div>\n </form>\n</div>\n"
135
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\" *ngIf=\"!firmwarePreselected\">\n <p class=\"lead m-0\" translate>\n Select or create new firmware\n </p>\n </div>\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwareForm=\"ngForm\"\n (ngSubmit)=\"firmwareForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [(ngModel)]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"onInput.next($event)\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let firmware of firmwaresResult;\n loadMore: 'auto';\n notFound: notFoundTemplate\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"onFirmwareSelect(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"onInput | async\"\n ></c8y-highlight>\n </c8y-li>\n <ng-template #notFoundTemplate>\n <c8y-li class=\"bg-gray-lighter p-8\" *ngIf=\"(onInput | async)?.length > 0\">\n <span translate>No match found, add new`firmware`? </span>\n <button\n title=\"{{ 'Create new`firmware`' | translate }}\"\n type=\"button\"\n class=\"btn btn-primary btn-xs m-l-16\"\n translate\n >\n Create new`firmware`\n </button>\n </c8y-li>\n </ng-template>\n </c8y-typeahead>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDescription\" translate>Description</label>\n <input\n id=\"firmwareDescription\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"description\"\n [(ngModel)]=\"model.description\"\n placeholder=\"{{ 'e.g. Firmware for hardware revision b' | translate }}\"\n [disabled]=\"model.selected?.id\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"firmwareDeviceTypeFilter\" translate>Device type filter</label>\n <input\n id=\"firmwareDeviceTypeFilter\"\n class=\"form-control\"\n name=\"firmwareDeviceTypeFilter\"\n popover=\"{{\n 'If the filter is set, the firmware will show up for installation only for devices of that type. If no filter is set, it will be available for all devices.'\n | translate\n }}\"\n [(ngModel)]=\"model.deviceType\"\n placeholder=\"{{ 'e.g.' | translate }} c8y_Linux\"\n [disabled]=\"model.selected?.id\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"firmwareVersion\" translate>Version</label>\n <input\n id=\"firmwareVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"version\"\n [(ngModel)]=\"model.version\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n [required]=\"true\"\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Firmware file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\" [fileUrlPopover]=\"textForFirmwareUrlPopover\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n\n <button\n title=\"{{ 'Add firmware' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwareForm.form.valid ||\n firmwareForm.form.pristine ||\n saving ||\n (!model.binary?.url && !model.binary?.file)\n \"\n translate\n >\n Add firmware\n </button>\n </div>\n </form>\n</div>\n"
135
136
  })
136
137
  ], AddFirmwareModalComponent);
137
138
  return AddFirmwareModalComponent;
138
139
  }());
139
140
  export { AddFirmwareModalComponent };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXBGO0lBbUJFLG1DQUNVLEtBQWlCLEVBQ2pCLGlCQUFvQyxFQUNwQyxLQUFtQjtRQUZuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQXBCbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMzRixZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFVBQUssR0FBZTtZQUNsQixRQUFRLEVBQUUsU0FBUztZQUNuQixPQUFPLEVBQUUs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QjtRQUpyQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsaUNBQWlDO1lBQzNDLHU1SkFBZ0Q7U0FDakQsQ0FBQztPQUNXLHlCQUF5QixDQTBIckM7SUFBRCxnQ0FBQztDQUFBLEFBMUhELElBMEhDO1NBMUhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9yZXBvc2l0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwb3NpdG9yeVR5cGUsIE1vZGFsTW9kZWwsIFJlcG9zaXRvcnlDYXRlZ29yeSB9IGZyb20gJy4uL3JlcG9zaXRvcnkubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCwgZ2V0LCBhc3NpZ24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGlja2VkRmlsZXMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWRkLWZpcm13YXJlLXNvZnR3YXJlLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICdhZGQtZmlybXdhcmUtbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEZpcm13YXJlTW9kYWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdmaXJtd2FyZUZvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogTmdGb3JtO1xuICBAT3V0cHV0KCkgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+KCk7XG4gIG9uSW5wdXQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgbW9kZWw6IE1vZGFsTW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgZGVzY3JpcHRpb246IHVuZGVmaW5lZCxcbiAgICBkZXZpY2VUeXBlOiB1bmRlZmluZWQsXG4gICAgYmluYXJ5OiB7XG4gICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH1cbiAgfTtcbiAgZmlybXdhcmVzUmVzdWx0O1xuICBzYXZpbmcgPSBmYWxzZTtcbiAgZmlybXdhcmVQcmVzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGlucHV0U3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xuICAgIHRoaXMubG9hZEZpcm13YXJlcygpO1xuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgIGlmICh0aGlzLm1vZGVsLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmZpcm13YXJlUHJlc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGxvYWRGaXJtd2FyZXMoKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQgPSB0aGlzLm9uSW5wdXRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5maXJtd2FyZVByZXNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmRlc2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdkZXNjcmlwdGlvbicpLnJlc2V0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcChzZWFyY2hTdHIgPT4gdGhpcy5nZXRGaXJtd2FyZVJlc3VsdChzZWFyY2hTdHIpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLmZpcm13YXJlc1Jlc3VsdCA9IHJlc3VsdDtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0RmlybXdhcmVSZXN1bHQoc2VhcmNoU3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2UubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgIHBhcnRpYWxOYW1lOiBzZWFyY2hTdHIsXG4gICAgICAgIHNraXBMZWdhY3k6IHRydWVcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVwb3NpdG9yeVNlcnZpY2VcbiAgICAgIC5jcmVhdGUodGhpcy5tb2RlbCwgUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUpXG4gICAgICAudGhlbihzYXZlZEZpcm13YXJlID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzTXNnKCk7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQubmV4dChzYXZlZEZpcm13YXJlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Y2Nlc3NNc2coKSB7XG4gICAgY29uc3QgbXNnID0gZ2V0dGV4dCgnRmlybXdhcmUgYWRkZWQuJyk7XG4gICAgdGhpcy5hbGVydC5zdWNjZXNzKG1zZyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5zYXZlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBvbkZpcm13YXJlU2VsZWN0KGZpcm13YXJlOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGFzc2lnbih0aGlzLm1vZGVsLCB7XG4gICAgICBzZWxlY3RlZDogZmlybXdhcmUsXG4gICAgICBkZXNjcmlwdGlvbjogZmlybXdhcmUuZGVzY3JpcHRpb24sXG4gICAgICBkZXZpY2VUeXBlOiBnZXQoZmlybXdhcmUsICdjOHlfRmlsdGVyLnR5cGUnKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXBGO0lBd0JFLG1DQUNVLEtBQWlCLEVBQ2pCLGlCQUFvQyxFQUNwQyxLQUFtQjtRQUZuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQXpCbkIsVUFBSyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMzRixZQUFPLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLFVBQUssR0FBZTtZQUNsQixRQUFRLEVBQUUsU0FBUztZQUNuQixPQUFPLEVBQUUs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REFBYztJQUNqRDtRQUFULE1BQU0sRUFBRTs0REFBa0Y7SUFGaEYseUJBQXlCO1FBSnJDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxpQ0FBaUM7WUFDM0MsczhKQUFnRDtTQUNqRCxDQUFDO09BQ1cseUJBQXlCLENBK0hyQztJQUFELGdDQUFDO0NBQUEsQUEvSEQsSUErSEM7U0EvSFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5VHlwZSwgTW9kYWxNb2RlbCwgUmVwb3NpdG9yeUNhdGVnb3J5IH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkLCBnZXQsIGFzc2lnbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hZGQtZmlybXdhcmUtc29mdHdhcmUtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJ2FkZC1maXJtd2FyZS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkRmlybXdhcmVNb2RhbENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2Zpcm13YXJlRm9ybScsIHsgc3RhdGljOiBmYWxzZSB9KSBmb3JtOiBOZ0Zvcm07XG4gIEBPdXRwdXQoKSBzYXZlZDogRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4oKTtcbiAgb25JbnB1dDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBtb2RlbDogTW9kYWxNb2RlbCA9IHtcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIHZlcnNpb246IHVuZGVmaW5lZCxcbiAgICBkZXNjcmlwdGlvbjogdW5kZWZpbmVkLFxuICAgIGRldmljZVR5cGU6IHVuZGVmaW5lZCxcbiAgICBiaW5hcnk6IHtcbiAgICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICAgIHVybDogdW5kZWZpbmVkXG4gICAgfVxuICB9O1xuICBmaXJtd2FyZXNSZXN1bHQ7XG4gIHNhdmluZyA9IGZhbHNlO1xuICBmaXJtd2FyZVByZXNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHRleHRGb3JGaXJtd2FyZVVybFBvcG92ZXI6IHN0cmluZyA9IGdldHRleHQoYFBhdGggZm9yIGJpbmFyaWVzIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBkZXZpY2UgYWdlbnQgaW1wbGVtZW50YXRpb24sIGUuZy46XG4gICAgL2Zpcm13YXJlL2JpbmFyaWVzL2Zpcm13YXJlMS5iaW5cbiAgICBodHRwczovL2Zpcm13YXJlL2JpbmFyeS8xMjNcbiAgICBmdHA6Ly9maXJtd2FyZS9iaW5hcnkvMTIzLnRhci5nelxuICBgKTtcbiAgcHJpdmF0ZSBpbnB1dFN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsOiBCc01vZGFsUmVmLFxuICAgIHByaXZhdGUgcmVwb3NpdG9yeVNlcnZpY2U6IFJlcG9zaXRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcbiAgICB0aGlzLmxvYWRGaXJtd2FyZXMoKTtcbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbC5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5maXJtd2FyZVByZXNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBsb2FkRmlybXdhcmVzKCkge1xuICAgIHRoaXMuaW5wdXRTdWJzY3JpcHRpb24kID0gdGhpcy5vbklucHV0XG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuZmlybXdhcmVQcmVzZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5tb2RlbC5kZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgICAgIHRoaXMuZm9ybS5mb3JtLmdldCgnZGVzY3JpcHRpb24nKS5yZXNldCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoc2VhcmNoU3RyID0+IHRoaXMuZ2V0RmlybXdhcmVSZXN1bHQoc2VhcmNoU3RyKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy5maXJtd2FyZXNSZXN1bHQgPSByZXN1bHQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldEZpcm13YXJlUmVzdWx0KHNlYXJjaFN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmxpc3RSZXBvc2l0b3J5RW50cmllcyhSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRSwge1xuICAgICAgICBwYXJ0aWFsTmFtZTogc2VhcmNoU3RyLFxuICAgICAgICBza2lwTGVnYWN5OiB0cnVlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlXG4gICAgICAuY3JlYXRlKHRoaXMubW9kZWwsIFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFKVxuICAgICAgLnRoZW4oc2F2ZWRGaXJtd2FyZSA9PiB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc01zZygpO1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLm5leHQoc2F2ZWRGaXJtd2FyZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLmVycm9yKGUpO1xuICAgICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWNjZXNzTXNnKCkge1xuICAgIGNvbnN0IG1zZyA9IGdldHRleHQoJ0Zpcm13YXJlIGFkZGVkLicpO1xuICAgIHRoaXMuYWxlcnQuc3VjY2Vzcyhtc2cpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMuc2F2ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaW5wdXRTdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkZpbGUoZHJvcHBlZDogUGlja2VkRmlsZXMpIHtcbiAgICBpZiAoIWlzVW5kZWZpbmVkKGRyb3BwZWQudXJsKSkge1xuICAgICAgdGhpcy5tb2RlbC5iaW5hcnkgPSB7XG4gICAgICAgIHVybDogZHJvcHBlZC51cmxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC5kcm9wcGVkRmlsZXMpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogZHJvcHBlZC5kcm9wcGVkRmlsZXNbMF0uZmlsZVxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbC5iaW5hcnkgPSB7XG4gICAgICAgIGZpbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgb25GaXJtd2FyZVNlbGVjdChmaXJtd2FyZTogSU1hbmFnZWRPYmplY3QpIHtcbiAgICBhc3NpZ24odGhpcy5tb2RlbCwge1xuICAgICAgc2VsZWN0ZWQ6IGZpcm13YXJlLFxuICAgICAgZGVzY3JpcHRpb246IGZpcm13YXJlLmRlc2NyaXB0aW9uLFxuICAgICAgZGV2aWNlVHlwZTogZ2V0KGZpcm13YXJlLCAnYzh5X0ZpbHRlci50eXBlJylcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -14,6 +14,7 @@ var AddFirmwarePatchModalComponent = /** @class */ (function () {
14
14
  this.repository = repository;
15
15
  this.alert = alert;
16
16
  this.saved = new EventEmitter();
17
+ this.textForFirmwareUrlPopover = gettext("Path for binaries can vary depending on device agent implementation, e.g.:\n /firmware/binaries/firmware1.bin\n https://firmware/binary/123\n ftp://firmware/binary/123.tar.gz\n ");
17
18
  this.model = {
18
19
  selected: undefined,
19
20
  dependency: null,
@@ -132,10 +133,10 @@ var AddFirmwarePatchModalComponent = /** @class */ (function () {
132
133
  AddFirmwarePatchModalComponent = tslib_1.__decorate([
133
134
  Component({
134
135
  selector: 'c8y-add-firmware-patch-modal.component',
135
- template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware patch\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\">\n <p class=\"lead m-0\" translate>\n Select a firmware version\n </p>\n </div>\n\n <form class=\"d-contents\" autocomplete=\"off\" #firmwarePatchForm=\"ngForm\" (ngSubmit)=\"save()\">\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [ngModel]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"firmwareInput$.next($event)\"\n [allowFreeEntries]=\"false\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"let firmware of firmwares$ | async; loadMore: 'auto'\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.selected = firmware; firmwareSelected$.next(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"firmwareInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing firmwares.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"patchDependency\" class=\"m-r-8\" translate>Version</label>\n <c8y-typeahead\n [ngModel]=\"model.dependency\"\n name=\"patchDependency\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"patchDependencyInput$.next($event)\"\n [displayProperty]=\"'c8y_Firmware.version'\"\n [allowFreeEntries]=\"false\"\n [disabled]=\"\n (baseVersions$ | async) === null || (baseVersions$ | async)?.data.length === 0\n \"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let baseVersion of baseVersions$;\n loadMore: 'auto';\n pipe: baseVersionsFilterPipe\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.dependency = baseVersion\"\n [active]=\"model.dependency === baseVersion\"\n >\n <c8y-highlight\n [text]=\"baseVersion.c8y_Firmware.version || '--'\"\n [pattern]=\"patchDependencyInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing versions.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"patchVersion\" translate>Patch</label>\n <input\n id=\"patchVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"patchVersion\"\n [(ngModel)]=\"model.patchVersion\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n required\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Patch file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n <button\n title=\"{{ 'Add firmware patch' | translate }}\"\n class=\"btn btn-primary\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n type=\"submit\"\n [disabled]=\"\n !firmwarePatchForm.form.valid ||\n firmwarePatchForm.form.pristine ||\n (!model.binary?.url && !model.binary?.file) ||\n saving\n \"\n translate\n >\n Add firmware patch\n </button>\n </div>\n </form>\n</div>\n"
136
+ template: "<div class=\"viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i [c8yIcon]=\"'c8y-firmware'\"></i>\n <h4 translate>\n Add firmware patch\n </h4>\n </div>\n <div class=\"p-16 text-center separator-bottom\">\n <p class=\"lead m-0\" translate>\n Select a firmware version\n </p>\n </div>\n\n <form\n class=\"d-contents\"\n autocomplete=\"off\"\n #firmwarePatchForm=\"ngForm\"\n (ngSubmit)=\"firmwarePatchForm.form.valid && save()\"\n >\n <div class=\"modal-inner-scroll\">\n <div class=\"modal-body\">\n <div [hidden]=\"firmwarePreselected\">\n <c8y-form-group>\n <label for=\"firmwareName\" translate>Firmware</label>\n <c8y-typeahead\n [ngModel]=\"model.selected\"\n name=\"firmwareName\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"firmwareInput$.next($event)\"\n [allowFreeEntries]=\"false\"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"let firmware of firmwares$ | async; loadMore: 'auto'\"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.selected = firmware; firmwareSelected$.next(firmware)\"\n [active]=\"model.selected === firmware\"\n >\n <c8y-highlight\n [text]=\"firmware.name || '--'\"\n [pattern]=\"firmwareInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing firmwares.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"patchDependency\" class=\"m-r-8\" translate>Version</label>\n <c8y-typeahead\n [ngModel]=\"model.dependency\"\n name=\"patchDependency\"\n placeholder=\"{{ 'Select or enter' | translate }}\"\n (onSearch)=\"patchDependencyInput$.next($event)\"\n [displayProperty]=\"'c8y_Firmware.version'\"\n [allowFreeEntries]=\"false\"\n [disabled]=\"\n (baseVersions$ | async) === null || (baseVersions$ | async)?.data.length === 0\n \"\n [required]=\"true\"\n >\n <c8y-li\n *c8yFor=\"\n let baseVersion of baseVersions$;\n loadMore: 'auto';\n pipe: baseVersionsFilterPipe\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"model.dependency = baseVersion\"\n [active]=\"model.dependency === baseVersion\"\n >\n <c8y-highlight\n [text]=\"baseVersion.c8y_Firmware.version || '--'\"\n [pattern]=\"patchDependencyInput$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing versions.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group>\n <label for=\"patchVersion\" translate>Patch</label>\n <input\n id=\"patchVersion\"\n class=\"form-control\"\n autocomplete=\"off\"\n name=\"patchVersion\"\n [(ngModel)]=\"model.patchVersion\"\n placeholder=\"{{ 'e.g.' | translate }} 1.0.0\"\n required\n />\n </c8y-form-group>\n\n <c8y-form-group>\n <div class=\"legend form-block m-t-40\" translate>Patch file</div>\n <c8y-file-picker [maxAllowedFiles]=\"1\" (onFilesPicked)=\"onFile($event)\" [fileUrlPopover]=\"textForFirmwareUrlPopover\">\n </c8y-file-picker>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"cancel()\"\n [disabled]=\"saving\"\n translate\n >\n Cancel\n </button>\n <button\n title=\"{{ 'Add firmware patch' | translate }}\"\n class=\"btn btn-primary\"\n type=\"submit\"\n [ngClass]=\"{ 'btn-pending': saving }\"\n [disabled]=\"\n !firmwarePatchForm.form.valid ||\n firmwarePatchForm.form.pristine ||\n (!model.binary?.url && !model.binary?.file) ||\n saving\n \"\n translate\n >\n Add firmware patch\n </button>\n </div>\n </form>\n</div>\n"
136
137
  })
137
138
  ], AddFirmwarePatchModalComponent);
138
139
  return AddFirmwarePatchModalComponent;
139
140
  }());
140
141
  export { AddFirmwarePatchModalComponent };
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzFFLE9BQU8sRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDO0FBT3hCO0lBbUVFLHdDQUNVLEtBQWlCLEVBQ2pCLFVBQTZCLEVBQzdCLEtBQW1CO1FBSDdCLGlCQUlJO1FBSE0sVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBckVuQixVQUFLLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBSzNGLFVBQUssR0FBZTtZQUNsQixRQUFRLEVBQUUsU0FBUztZQUNuQixVQUFVLEVBQUUs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SSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDbkMsQ0FBQztZQUNGLE9BQU87U0FDUjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxTQUFTO2dCQUNmLEdBQUcsRUFBRSxTQUFTO2FBQ2YsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7Z0JBNURnQixVQUFVO2dCQUNMLGlCQUFpQjtnQkFDdEIsWUFBWTs7SUFyRW5CO1FBQVQsTUFBTSxFQUFFO2lFQUFrRjtJQUVqRDtRQUF6QyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO29FQUErQjtJQUNyQjtRQUFsRCxTQUFTLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0VBQWM7SUFKckQsOEJBQThCO1FBSjFDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSx3Q0FBd0M7WUFDbEQsb3NKQUFzRDtTQUN2RCxDQUFDO09BQ1csOEJBQThCLENBaUkxQztJQUFELHFDQUFDO0NBQUEsQUFqSUQsSUFpSUM7U0FqSVksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc01vZGFsUmVmIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9tb2RhbCc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5VHlwZSwgTW9kYWxNb2RlbCwgUmVwb3NpdG9yeUNhdGVnb3J5IH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJUmVzdWx0TGlzdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YsIGZyb20sIHBpcGUsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIHRhcCxcbiAgc3dpdGNoTWFwLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgc2hhcmVSZXBsYXksXG4gIG1hcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRGaXJtd2FyZVBhdGNoTW9kYWxDb21wb25lbnQge1xuICBAT3V0cHV0KCkgc2F2ZWQ6IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvc2l0b3J5Q2F0ZWdvcnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogZmFsc2UgfSkgZHJvcGRvd246IEJzRHJvcGRvd25EaXJlY3RpdmU7XG4gIEBWaWV3Q2hpbGQoJ2Zpcm13YXJlUGF0Y2hGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm06IE5nRm9ybTtcblxuICBtb2RlbDogTW9kYWxNb2RlbCA9IHtcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIGRlcGVuZGVuY3k6IG51bGwsXG4gICAgcGF0Y2hWZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgYmluYXJ5OiB7XG4gICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH1cbiAgfTtcblxuICBmaXJtd2FyZUlucHV0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIGZpcm13YXJlcyQ6IE9ic2VydmFibGU8SVJlc3VsdExpc3Q8SU1hbmFnZWRPYmplY3Q+PiA9IHRoaXMuZmlybXdhcmVJbnB1dCQucGlwZShcbiAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHN3aXRjaE1hcChzZWFyY2hTdHIgPT5cbiAgICAgIGZyb20oXG4gICAgICAgIHRoaXMucmVwb3NpdG9yeS5saXN0UmVwb3NpdG9yeUVudHJpZXMoUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUsIHtcbiAgICAgICAgICBwYXJ0aWFsTmFtZTogc2VhcmNoU3RyLFxuICAgICAgICAgIHNraXBMZWdhY3k6IHRydWVcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIGZpcm13YXJlU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFJlcG9zaXRvcnlDYXRlZ29yeT4+KG51bGwpO1xuICBwYXRjaERlcGVuZGVuY3lJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHNhdmluZyA9IGZhbHNlO1xuICBmaXJtd2FyZVByZXNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGJhc2VWZXJzaW9ucyQ6IE9ic2VydmFibGU8SVJlc3VsdExpc3Q8SU1hbmFnZWRPYmplY3Q+PiA9IG1lcmdlKFxuICAgIHRoaXMuZmlybXdhcmVJbnB1dCQucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMubW9kZWwuZGVwZW5kZW5jeSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgICAgICB0aGlzLmZvcm0uZm9ybS5nZXQoJ3BhdGNoRGVwZW5kZW5jeScpLnJlc2V0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG9mKG51bGwpKVxuICAgICksXG4gICAgdGhpcy5maXJtd2FyZVNlbGVjdGVkJFxuICApLnBpcGUoXG4gICAgc3dpdGNoTWFwKHNlbGVjdGVkRmlybXdhcmUgPT5cbiAgICAgIHNlbGVjdGVkRmlybXdhcmUgPyB0aGlzLnJlcG9zaXRvcnkubGlzdEJhc2VWZXJzaW9ucyhzZWxlY3RlZEZpcm13YXJlKSA6IG9mKG51bGwpXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBiYXNlVmVyc2lvbnNGaWx0ZXJQaXBlID0gcGlwZShcbiAgICBzd2l0Y2hNYXAoKGRhdGE6IFtdKSA9PlxuICAgICAgdGhpcy5wYXRjaERlcGVuZGVuY3lJbnB1dCQucGlwZShcbiAgICAgICAgbWFwKHBhcnRpYWxWZXJzaW9uID0+XG4gICAgICAgICAgZGF0YS5maWx0ZXIoKG1vOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcnNpb24gPSBtby5jOHlfRmlybXdhcmUudmVyc2lvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgcGFydGlhbFZlcnNpb24ubGVuZ3RoID09PSAwIHx8IHZlcnNpb24uaW5kZXhPZihwYXJ0aWFsVmVyc2lvbi50b0xvd2VyQ2FzZSgpKSA+IC0xXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtb2RhbDogQnNNb2RhbFJlZixcbiAgICBwcml2YXRlIHJlcG9zaXRvcnk6IFJlcG9zaXRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIHNldEluaXRpYWxTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5tb2RlbC5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5maXJtd2FyZVByZXNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuZmlybXdhcmVTZWxlY3RlZCQubmV4dCh0aGlzLm1vZGVsLnNlbGVjdGVkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKCkge1xuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9zaXRvcnlcbiAgICAgIC5jcmVhdGUodGhpcy5tb2RlbCwgUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUpXG4gICAgICAudGhlbihzYXZlZEZpcm13YXJlID0+IHtcbiAgICAgICAgdGhpcy5zdWNjZXNzTXNnKCk7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQubmV4dChzYXZlZEZpcm13YXJlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2F2ZWQuZXJyb3IoZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Y2Nlc3NNc2coKSB7XG4gICAgY29uc3QgbXNnID0gZ2V0dGV4dCgnRmlybXdhcmUgcGF0Y2ggYWRkZWQuJyk7XG4gICAgdGhpcy5hbGVydC5zdWNjZXNzKG1zZyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgdGhpcy5zYXZlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25GaWxlKGRyb3BwZWQ6IFBpY2tlZEZpbGVzKSB7XG4gICAgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLnVybCkpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICB1cmw6IGRyb3BwZWQudXJsXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKGRyb3BwZWQuZHJvcHBlZEZpbGVzKSkge1xuICAgICAgdGhpcy5tb2RlbC5iaW5hcnkgPSB7XG4gICAgICAgIGZpbGU6IGRyb3BwZWQuZHJvcHBlZEZpbGVzWzBdLmZpbGVcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiB1bmRlZmluZWQsXG4gICAgICAgIHVybDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpcm13YXJlLXBhdGNoLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjOHkvbmd4LWNvbXBvbmVudHMvcmVwb3NpdG9yeS8iLCJzb3VyY2VzIjpbImZpcm13YXJlL2FkZC1maXJtd2FyZS1wYXRjaC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQWtDLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzFFLE9BQU8sRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLEdBQUcsRUFDSixNQUFNLGdCQUFnQixDQUFDO0FBT3hCO0lBd0VFLHdDQUNVLEtBQWlCLEVBQ2pCLFVBQTZCLEVBQzdCLEtBQW1CO1FBSDdCLGlCQUlJO1FBSE0sVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBMUVuQixVQUFLLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBSTNGLDhCQUF5QixHQUFXLE9BQU8sQ0FBQyw2TEFJM0MsQ0FBQyxDQUFDO1FBRUgsVUFB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Q0FBQyxHQUFHO2FBQ2pCLENBQUM7WUFDRixPQUFPO1NBQ1I7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRztnQkFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNuQyxDQUFDO1lBQ0YsT0FBTztTQUNSO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRztnQkFDbEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsR0FBRyxFQUFFLFNBQVM7YUFDZixDQUFDO1NBQ0g7SUFDSCxDQUFDOztnQkE1RGdCLFVBQVU7Z0JBQ0wsaUJBQWlCO2dCQUN0QixZQUFZOztJQTFFbkI7UUFBVCxNQUFNLEVBQUU7aUVBQWtGO0lBRWpEO1FBQXpDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7b0VBQStCO0lBQ3JCO1FBQWxELFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztnRUFBYztJQUpyRCw4QkFBOEI7UUFKMUMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHdDQUF3QztZQUNsRCwyeUpBQXNEO1NBQ3ZELENBQUM7T0FDVyw4QkFBOEIsQ0FzSTFDO0lBQUQscUNBQUM7Q0FBQSxBQXRJRCxJQXNJQztTQXRJWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcG9zaXRvcnlUeXBlLCBNb2RhbE1vZGVsLCBSZXBvc2l0b3J5Q2F0ZWdvcnkgfSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBvZiwgZnJvbSwgcGlwZSwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgdGFwLFxuICBzd2l0Y2hNYXAsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzaGFyZVJlcGxheSxcbiAgbWFwXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBpY2tlZEZpbGVzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hZGQtZmlybXdhcmUtcGF0Y2gtbW9kYWwuY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICdhZGQtZmlybXdhcmUtcGF0Y2gtbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkZEZpcm13YXJlUGF0Y2hNb2RhbENvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSBzYXZlZDogRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9zaXRvcnlDYXRlZ29yeT4oKTtcblxuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93bjogQnNEcm9wZG93bkRpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZCgnZmlybXdhcmVQYXRjaEZvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogTmdGb3JtO1xuICB0ZXh0Rm9yRmlybXdhcmVVcmxQb3BvdmVyOiBzdHJpbmcgPSBnZXR0ZXh0KGBQYXRoIGZvciBiaW5hcmllcyBjYW4gdmFyeSBkZXBlbmRpbmcgb24gZGV2aWNlIGFnZW50IGltcGxlbWVudGF0aW9uLCBlLmcuOlxuICAgIC9maXJtd2FyZS9iaW5hcmllcy9maXJtd2FyZTEuYmluXG4gICAgaHR0cHM6Ly9maXJtd2FyZS9iaW5hcnkvMTIzXG4gICAgZnRwOi8vZmlybXdhcmUvYmluYXJ5LzEyMy50YXIuZ3pcbiAgYCk7XG5cbiAgbW9kZWw6IE1vZGFsTW9kZWwgPSB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBkZXBlbmRlbmN5OiBudWxsLFxuICAgIHBhdGNoVmVyc2lvbjogdW5kZWZpbmVkLFxuICAgIGJpbmFyeToge1xuICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgdXJsOiB1bmRlZmluZWRcbiAgICB9XG4gIH07XG5cbiAgZmlybXdhcmVJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBmaXJtd2FyZXMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoc2VhcmNoU3RyID0+XG4gICAgICBmcm9tKFxuICAgICAgICB0aGlzLnJlcG9zaXRvcnkubGlzdFJlcG9zaXRvcnlFbnRyaWVzKFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLCB7XG4gICAgICAgICAgcGFydGlhbE5hbWU6IHNlYXJjaFN0cixcbiAgICAgICAgICBza2lwTGVnYWN5OiB0cnVlXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBmaXJtd2FyZVNlbGVjdGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxSZXBvc2l0b3J5Q2F0ZWdvcnk+PihudWxsKTtcbiAgcGF0Y2hEZXBlbmRlbmN5SW5wdXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBzYXZpbmcgPSBmYWxzZTtcbiAgZmlybXdhcmVQcmVzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBiYXNlVmVyc2lvbnMkOiBPYnNlcnZhYmxlPElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0Pj4gPSBtZXJnZShcbiAgICB0aGlzLmZpcm13YXJlSW5wdXQkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLm1vZGVsLmRlcGVuZGVuY3kgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLmZvcm0uZ2V0KCdwYXRjaERlcGVuZGVuY3knKS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZihudWxsKSlcbiAgICApLFxuICAgIHRoaXMuZmlybXdhcmVTZWxlY3RlZCRcbiAgKS5waXBlKFxuICAgIHN3aXRjaE1hcChzZWxlY3RlZEZpcm13YXJlID0+XG4gICAgICBzZWxlY3RlZEZpcm13YXJlID8gdGhpcy5yZXBvc2l0b3J5Lmxpc3RCYXNlVmVyc2lvbnMoc2VsZWN0ZWRGaXJtd2FyZSkgOiBvZihudWxsKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgYmFzZVZlcnNpb25zRmlsdGVyUGlwZSA9IHBpcGUoXG4gICAgc3dpdGNoTWFwKChkYXRhOiBbXSkgPT5cbiAgICAgIHRoaXMucGF0Y2hEZXBlbmRlbmN5SW5wdXQkLnBpcGUoXG4gICAgICAgIG1hcChwYXJ0aWFsVmVyc2lvbiA9PlxuICAgICAgICAgIGRhdGEuZmlsdGVyKChtbzogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJzaW9uID0gbW8uYzh5X0Zpcm13YXJlLnZlcnNpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIHBhcnRpYWxWZXJzaW9uLmxlbmd0aCA9PT0gMCB8fCB2ZXJzaW9uLmluZGV4T2YocGFydGlhbFZlcnNpb24udG9Mb3dlckNhc2UoKSkgPiAtMVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWw6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XG4gIH1cblxuICBzZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMubW9kZWwuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZmlybXdhcmVQcmVzZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLmZpcm13YXJlU2VsZWN0ZWQkLm5leHQodGhpcy5tb2RlbC5zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZSgpIHtcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XG4gICAgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlKHRoaXMubW9kZWwsIFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFKVxuICAgICAgLnRoZW4oc2F2ZWRGaXJtd2FyZSA9PiB7XG4gICAgICAgIHRoaXMuc3VjY2Vzc01zZygpO1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLm5leHQoc2F2ZWRGaXJtd2FyZSk7XG4gICAgICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNhdmVkLmVycm9yKGUpO1xuICAgICAgICB0aGlzLmNhbmNlbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWNjZXNzTXNnKCkge1xuICAgIGNvbnN0IG1zZyA9IGdldHRleHQoJ0Zpcm13YXJlIHBhdGNoIGFkZGVkLicpO1xuICAgIHRoaXMuYWxlcnQuc3VjY2Vzcyhtc2cpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIHRoaXMuc2F2ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uRmlsZShkcm9wcGVkOiBQaWNrZWRGaWxlcykge1xuICAgIGlmICghaXNVbmRlZmluZWQoZHJvcHBlZC51cmwpKSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgdXJsOiBkcm9wcGVkLnVybFxuICAgICAgfTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChkcm9wcGVkLmRyb3BwZWRGaWxlcykpIHtcbiAgICAgIHRoaXMubW9kZWwuYmluYXJ5ID0ge1xuICAgICAgICBmaWxlOiBkcm9wcGVkLmRyb3BwZWRGaWxlc1swXS5maWxlXG4gICAgICB9O1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLmJpbmFyeSA9IHtcbiAgICAgICAgZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICB1cmw6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==