@wizishop/img-manager 15.2.60 → 15.2.62

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 (36) hide show
  1. package/assets/i18n/en.json +1 -1
  2. package/assets/i18n/es.json +1 -1
  3. package/assets/i18n/fr.json +1 -1
  4. package/assets/i18n/it.json +1 -1
  5. package/esm2020/lib/components/images-view/images-actions-handler.mjs +1 -4
  6. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +3 -3
  7. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +3 -3
  8. package/esm2020/lib/components/img-editor/img-editor.component.mjs +7 -44
  9. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +3 -12
  10. package/esm2020/lib/dto/img-manager.dto.mjs +1 -1
  11. package/esm2020/lib/services/api.service.mjs +1 -1
  12. package/esm2020/lib/services/img-event.service.mjs +1 -8
  13. package/esm2020/lib/services/rename-picture.service.mjs +1 -4
  14. package/esm2020/lib/wz-img-manager.module.mjs +1 -7
  15. package/fesm2015/wizishop-img-manager.mjs +9 -258
  16. package/fesm2015/wizishop-img-manager.mjs.map +1 -1
  17. package/fesm2020/wizishop-img-manager.mjs +9 -257
  18. package/fesm2020/wizishop-img-manager.mjs.map +1 -1
  19. package/lib/components/images-view/images-actions-handler.d.ts +0 -1
  20. package/lib/components/img-editor/img-editor.component.d.ts +1 -8
  21. package/lib/components/img-tabs/img-tabs.component.d.ts +0 -1
  22. package/lib/dto/img-manager.dto.d.ts +0 -1
  23. package/lib/services/api.service.d.ts +0 -1
  24. package/lib/services/img-event.service.d.ts +0 -3
  25. package/lib/services/rename-picture.service.d.ts +0 -1
  26. package/lib/wz-img-manager.module.d.ts +44 -46
  27. package/package.json +1 -1
  28. package/wizishop-img-manager-15.2.62.tgz +0 -0
  29. package/wz-img-manager.scss +2 -183
  30. package/esm2020/lib/components/img-editor/info-video/info-video.component.mjs +0 -62
  31. package/esm2020/lib/components/img-editor/show-iframe/show-iframe.component.mjs +0 -54
  32. package/esm2020/lib/services/video-info.service.mjs +0 -87
  33. package/lib/components/img-editor/info-video/info-video.component.d.ts +0 -20
  34. package/lib/components/img-editor/show-iframe/show-iframe.component.d.ts +0 -15
  35. package/lib/services/video-info.service.d.ts +0 -23
  36. package/wizishop-img-manager-15.2.60.tgz +0 -0
@@ -8,71 +8,40 @@ import * as i2 from "../../services/rename-picture.service";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "ngx-scrollbar";
10
10
  import * as i5 from "./info-section/info-section.component";
11
- import * as i6 from "./info-video/info-video.component";
12
- import * as i7 from "./show-iframe/show-iframe.component";
13
- import * as i8 from "./cropper/cropper.component";
14
- import * as i9 from "../../directives/loading.directive";
15
- import * as i10 from "@ngx-translate/core";
11
+ import * as i6 from "./cropper/cropper.component";
12
+ import * as i7 from "../../directives/loading.directive";
13
+ import * as i8 from "@ngx-translate/core";
16
14
  export class ImgEditorComponent {
17
15
  constructor(imgManagerService, renamePictureService) {
18
16
  this.imgManagerService = imgManagerService;
19
17
  this.renamePictureService = renamePictureService;
20
- this._isVideoEdit = false;
21
18
  this.editClosed = new EventEmitter();
22
19
  this.isLoading = false;
23
20
  this.isImgModified = false;
24
21
  this.isNameModified = false;
25
22
  this.currentCroppedImage = ''; // Img modified return in base64 by the cropper
26
- this.isEditorLinkActive = false;
27
- this.isVideoModified = false;
28
23
  this.msgFailSave = 'ImgManager.ImgEditor.msgFailSave';
29
24
  this.msgFailLoad = 'ImgManager.ImgEditor.msgFailLoad';
30
25
  this.msgSuccessEdit = "Les modifications de l'image ont bien été enregistrées.";
31
26
  }
32
- set isVideoEdit(value) {
33
- this._isVideoEdit = value;
34
- if (value === true) {
35
- this.isEditorLinkActive = true;
36
- }
37
- }
38
- get isVideoEdit() {
39
- return this._isVideoEdit;
40
- }
41
27
  ngOnInit() {
42
28
  this.previousName = this.imgToEdit.display_name;
43
- this.previousVideoLink = this.imgToEdit.video_link;
44
29
  }
45
30
  onSave() {
46
31
  if (this.isLoading) {
47
32
  return;
48
33
  }
49
34
  this.isLoading = true;
50
- if (!this.isImgModified && !this.isNameModified && !this.isVideoModified) {
35
+ if (!this.isImgModified && !this.isNameModified) {
51
36
  this.isLoading = false;
52
37
  this.onEditClosed();
53
38
  }
54
39
  const obsReplaceImg = this.imgManagerService.replaceImg(this.currentCroppedImage, this.imgToEdit.id_file);
55
40
  const obsChangeImgName = this.renamePictureService.changeImageName(this.imgToEdit.display_name, this.imgToEdit.id_file);
56
- const obsChangeVideoLink = this.renamePictureService.changeVideoLink(this.imgToEdit.video_link, this.imgToEdit.id_file);
57
41
  if (this.isImgModified && this.isNameModified) {
58
42
  this.renameAndReplaceImg(obsChangeImgName, obsReplaceImg);
59
43
  return;
60
44
  }
61
- if (this.isVideoModified && !this.isImgModified && !this.isNameModified) {
62
- obsChangeVideoLink.subscribe({
63
- next: () => {
64
- this.isLoading = false;
65
- this.previousVideoLink = this.imgToEdit.video_link;
66
- this.onEditClosed(this.msgSuccessEdit);
67
- },
68
- error: () => {
69
- this.isLoading = false;
70
- this.imgToEdit.video_link = this.previousVideoLink;
71
- this.onEditClosed(this.msgFailSave);
72
- }
73
- });
74
- return;
75
- }
76
45
  if (this.isImgModified) {
77
46
  obsReplaceImg.subscribe({
78
47
  next: data => {
@@ -117,10 +86,6 @@ export class ImgEditorComponent {
117
86
  onImgCropped(imgBase64) {
118
87
  this.currentCroppedImage = imgBase64;
119
88
  }
120
- onDeleteVideo() {
121
- this.imgToEdit.video_link = null;
122
- this.isVideoModified = true;
123
- }
124
89
  renameAndReplaceImg(obsChangeImgName, obsReplaceImg) {
125
90
  // Avoid to use forkjoin, because it can create conflict and loose the img
126
91
  obsChangeImgName.subscribe({
@@ -141,21 +106,19 @@ export class ImgEditorComponent {
141
106
  }
142
107
  }
143
108
  ImgEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, deps: [{ token: i1.ImgManagerService }, { token: i2.RenamePictureService }], target: i0.ɵɵFactoryTarget.Component });
144
- ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit", isVideoEdit: "isVideoEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n style=\"min-height: 500px\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <ul class=\"img-editorVideo__tabs\">\r\n <li [ngClass]=\"{'active': !isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Informations</span></li>\r\n <li [ngClass]=\"{'active': isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Associer une vid\u00E9o</span></li>\r\n </ul>\r\n\r\n <info-section\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n <info-video\r\n *ngIf=\"isEditorLinkActive\"\r\n [(videoLink)]=\"imgToEdit.video_link\"\r\n [(isVideoModified)]=\"isVideoModified\"\r\n (deleteVideo)=\"onDeleteVideo()\">\r\n </info-video>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n <show-iframe\r\n style=\"display: block;width: 100%\"\r\n [videoLink]=\"imgToEdit.video_link\"\r\n *ngIf=\"isEditorLinkActive\">\r\n\r\n </show-iframe>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "component", type: i5.EditorInfoSectionComponent, selector: "info-section", inputs: ["imgToEdit", "isNameModified"], outputs: ["isNameModifiedChange"] }, { kind: "component", type: i6.EditorInfoVideoComponent, selector: "info-video", inputs: ["videoLink", "isVideoModified"], outputs: ["videoLinkChange", "isVideoModifiedChange", "deleteVideo"] }, { kind: "component", type: i7.EditorShowIframeComponent, selector: "show-iframe", inputs: ["videoLink"] }, { kind: "component", type: i8.CropperComponent, selector: "cropper", inputs: ["imgToEdit", "isImgModified"], outputs: ["isImgModifiedChange", "editClosed", "currentCroppedImageChange"] }, { kind: "directive", type: i9.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], animations: [
109
+ ImgEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgEditorComponent, selector: "img-editor", inputs: { stateDisplayed: "stateDisplayed", imgToEdit: "imgToEdit" }, outputs: { editClosed: "editClosed" }, ngImport: i0, template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <info-section\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "component", type: i5.EditorInfoSectionComponent, selector: "info-section", inputs: ["imgToEdit", "isNameModified"], outputs: ["isNameModifiedChange"] }, { kind: "component", type: i6.CropperComponent, selector: "cropper", inputs: ["imgToEdit", "isImgModified"], outputs: ["isImgModifiedChange", "editClosed", "currentCroppedImageChange"] }, { kind: "directive", type: i7.LoadingDirective, selector: "[btnLoadingAnim]" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], animations: [
145
110
  easeInOut
146
111
  ] });
147
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEditorComponent, decorators: [{
148
113
  type: Component,
149
114
  args: [{ selector: 'img-editor', animations: [
150
115
  easeInOut
151
- ], template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n style=\"min-height: 500px\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <ul class=\"img-editorVideo__tabs\">\r\n <li [ngClass]=\"{'active': !isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Informations</span></li>\r\n <li [ngClass]=\"{'active': isEditorLinkActive}\"><span (click)=\"isEditorLinkActive = !isEditorLinkActive\">Associer une vid\u00E9o</span></li>\r\n </ul>\r\n\r\n <info-section\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n <info-video\r\n *ngIf=\"isEditorLinkActive\"\r\n [(videoLink)]=\"imgToEdit.video_link\"\r\n [(isVideoModified)]=\"isVideoModified\"\r\n (deleteVideo)=\"onDeleteVideo()\">\r\n </info-video>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n *ngIf=\"!isEditorLinkActive\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n <show-iframe\r\n style=\"display: block;width: 100%\"\r\n [videoLink]=\"imgToEdit.video_link\"\r\n *ngIf=\"isEditorLinkActive\">\r\n\r\n </show-iframe>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n" }]
116
+ ], template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\r\n\r\n <!-- Button Action Section -->\r\n\r\n <div class=\"img-editor__infoSection__actions\">\r\n <div>\r\n <button\r\n type=\"button\"\r\n class=\"button img-editor__infoSection__actions__cancel\"\r\n (click)=\"onCancel()\"\r\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\r\n >\r\n {{ 'ImgManager.ImgLib.cancel' | translate }}\r\n </button>\r\n <div\r\n class=\"button danger button img-editor__infoSection__actions__save\"\r\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\r\n (click)=\"onSave()\"\r\n >\r\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\r\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ng-scrollbar\r\n class=\"img-editor__scroll\"\r\n [ngClass]=\"{\r\n 'img-editor__scroll--full': stateDisplayed === 'full',\r\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\r\n 'img-editor__scroll--window': stateDisplayed === 'window'\r\n }\"\r\n >\r\n <div class=\"columns\">\r\n <!-- Left section -->\r\n <div class=\"column is-one-third img-editor__infoSection\">\r\n\r\n <info-section\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isNameModified)]=\"isNameModified\"\r\n >\r\n </info-section>\r\n </div>\r\n\r\n\r\n <!-- Right section -->\r\n <div class=\"column img-editor__container\">\r\n <cropper\r\n [imgToEdit]=\"imgToEdit\"\r\n [(isImgModified)]=\"isImgModified\"\r\n (currentCroppedImageChange)=\"onImgCropped($event)\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </cropper>\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n</div>\r\n" }]
152
117
  }], ctorParameters: function () { return [{ type: i1.ImgManagerService }, { type: i2.RenamePictureService }]; }, propDecorators: { stateDisplayed: [{
153
118
  type: Input
154
119
  }], imgToEdit: [{
155
120
  type: Input
156
- }], isVideoEdit: [{
157
- type: Input
158
121
  }], editClosed: [{
159
122
  type: Output
160
123
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFTN0UsTUFBTSxPQUFPLGtCQUFrQjtJQW9DN0IsWUFDVSxpQkFBb0MsRUFDcEMsb0JBQTBDO1FBRDFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQW5CNUMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFbkIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFFakYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR2pDLGdCQUFXLEdBQVcsa0NBQWtDLENB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LEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFlSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XHJcbmltcG9ydCB7IFJlbmFtZVBpY3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ltZy1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBlYXNlSW5PdXRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWdFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHN0YXRlRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzVmlkZW9FZGl0KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc1ZpZGVvRWRpdCA9IHZhbHVlO1xyXG5cclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmlzRWRpdG9yTGlua0FjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWaWRlb0VkaXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNWaWRlb0VkaXQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc1ZpZGVvRWRpdCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNJbWdNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzTmFtZU1vZGlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY3VycmVudENyb3BwZWRJbWFnZTogc3RyaW5nID0gJyc7IC8vIEltZyBtb2RpZmllZCByZXR1cm4gaW4gYmFzZTY0IGJ5IHRoZSBjcm9wcGVyXHJcbiAgcHJpdmF0ZSBwcmV2aW91c05hbWU6IHN0cmluZztcclxuICBpc0VkaXRvckxpbmtBY3RpdmUgPSBmYWxzZTtcclxuICBpc1ZpZGVvTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHByZXZpb3VzVmlkZW9MaW5rOiBzdHJpbmc7XHJcblxyXG4gIG1zZ0ZhaWxTYXZlOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbFNhdmUnO1xyXG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xyXG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5hbWVQaWN0dXJlU2VydmljZTogUmVuYW1lUGljdHVyZVNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgICB0aGlzLnByZXZpb3VzVmlkZW9MaW5rID0gdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluaztcclxuICB9XHJcblxyXG4gIG9uU2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzSW1nTW9kaWZpZWQgJiYgIXRoaXMuaXNOYW1lTW9kaWZpZWQgJiYgIXRoaXMuaXNWaWRlb01vZGlmaWVkKSB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMub25FZGl0Q2xvc2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzUmVwbGFjZUltZyA9IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UucmVwbGFjZUltZyh0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xyXG4gICAgY29uc3Qgb2JzQ2hhbmdlSW1nTmFtZSA9IHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2UuY2hhbmdlSW1hZ2VOYW1lKHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XHJcbiAgICBjb25zdCBvYnNDaGFuZ2VWaWRlb0xpbmsgPSB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLmNoYW5nZVZpZGVvTGluayhcclxuICAgICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayxcclxuICAgICAgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQgJiYgdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICB0aGlzLnJlbmFtZUFuZFJlcGxhY2VJbWcob2JzQ2hhbmdlSW1nTmFtZSwgb2JzUmVwbGFjZUltZyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc1ZpZGVvTW9kaWZpZWQgJiYgIXRoaXMuaXNJbWdNb2RpZmllZCAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICBvYnNDaGFuZ2VWaWRlb0xpbmsuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5wcmV2aW91c1ZpZGVvTGluayA9IHRoaXMuaW1nVG9FZGl0LnZpZGVvX2xpbms7XHJcbiAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayA9IHRoaXMucHJldmlvdXNWaWRlb0xpbms7XHJcbiAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5pc0ltZ01vZGlmaWVkKXtcclxuICAgICAgb2JzUmVwbGFjZUltZy5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSAnJztcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfX0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNOYW1lTW9kaWZpZWQpIHtcclxuICAgICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNOYW1lTW9kaWZpZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRWRpdENsb3NlZChtc2dLZXk/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdENsb3NlZC5lbWl0KG1zZ0tleSk7XHJcbiAgfVxyXG5cclxuICBvblJlc3RhcnRFZGl0KCkge1xyXG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUgPSB0aGlzLnByZXZpb3VzTmFtZTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy5vbkVkaXRDbG9zZWQoJycpO1xyXG4gIH1cclxuXHJcbiAgb25JbWdDcm9wcGVkKGltZ0Jhc2U2NDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSBpbWdCYXNlNjQ7XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZVZpZGVvKCkge1xyXG4gICAgdGhpcy5pbWdUb0VkaXQudmlkZW9fbGluayA9IG51bGw7XHJcbiAgICB0aGlzLmlzVmlkZW9Nb2RpZmllZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmFtZUFuZFJlcGxhY2VJbWcob2JzQ2hhbmdlSW1nTmFtZTogT2JzZXJ2YWJsZTxhbnk+LCBvYnNSZXBsYWNlSW1nOiBPYnNlcnZhYmxlPGFueT4pIHtcclxuICAgIC8vIEF2b2lkIHRvIHVzZSBmb3Jram9pbiwgYmVjYXVzZSBpdCBjYW4gY3JlYXRlIGNvbmZsaWN0IGFuZCBsb29zZSB0aGUgaW1nXHJcbiAgICBvYnNDaGFuZ2VJbWdOYW1lLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHJlczEgPT4ge1xyXG4gICAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IHJlczIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbWctZWRpdG9yXCIgW0BlYXNlSW5PdXRdPVwiJ2luJ1wiPlxyXG5cclxuICAgIDwhLS0gQnV0dG9uIEFjdGlvbiBTZWN0aW9uIC0tPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc1wiPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX2NhbmNlbFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICghaXNJbWdNb2RpZmllZCAgJiYgIWlzTmFtZU1vZGlmaWVkKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ0ltZ01hbmFnZXIuSW1nTGliLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImJ1dHRvbiBkYW5nZXIgYnV0dG9uIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19zYXZlXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNfX3NhdmUtLWRpc2FibGUnOiBpc0xvYWRpbmd9XCJcclxuICAgICAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLnNhdmVCdG4nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8c3BhbiBidG5Mb2FkaW5nQW5pbSAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiYnRuTG9hZGluZ0FubmltYXRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1zY3JvbGxiYXJcclxuICAgICAgICBjbGFzcz1cImltZy1lZGl0b3JfX3Njcm9sbFwiXHJcbiAgICAgICAgc3R5bGU9XCJtaW4taGVpZ2h0OiA1MDBweFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS1mdWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdmdWxsJyxcclxuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0tc21hbGxEaXNwbGF5Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXHJcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J1xyXG4gICAgICAgIH1cIlxyXG4gICAgPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgPCEtLSBMZWZ0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1vbmUtdGhpcmQgaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25cIj5cclxuXHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJpbWctZWRpdG9yVmlkZW9fX3RhYnNcIj5cclxuICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogIWlzRWRpdG9yTGlua0FjdGl2ZX1cIj48c3BhbiAoY2xpY2spPVwiaXNFZGl0b3JMaW5rQWN0aXZlID0gIWlzRWRpdG9yTGlua0FjdGl2ZVwiPkluZm9ybWF0aW9uczwvc3Bhbj48L2xpPlxyXG4gICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBpc0VkaXRvckxpbmtBY3RpdmV9XCI+PHNwYW4gKGNsaWNrKT1cImlzRWRpdG9yTGlua0FjdGl2ZSA9ICFpc0VkaXRvckxpbmtBY3RpdmVcIj5Bc3NvY2llciB1bmUgdmlkw6lvPC9zcGFuPjwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG5cclxuICAgICAgICAgICAgPGluZm8tc2VjdGlvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWlzRWRpdG9yTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgW2ltZ1RvRWRpdF09XCJpbWdUb0VkaXRcIlxyXG4gICAgICAgICAgICAgIFsoaXNOYW1lTW9kaWZpZWQpXT1cImlzTmFtZU1vZGlmaWVkXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvaW5mby1zZWN0aW9uPlxyXG4gICAgICAgICAgIDxpbmZvLXZpZGVvXHJcbiAgICAgICAgICAgICAqbmdJZj1cImlzRWRpdG9yTGlua0FjdGl2ZVwiXHJcbiAgICAgICAgICAgICBbKHZpZGVvTGluayldPVwiaW1nVG9FZGl0LnZpZGVvX2xpbmtcIlxyXG4gICAgICAgICAgICAgWyhpc1ZpZGVvTW9kaWZpZWQpXT1cImlzVmlkZW9Nb2RpZmllZFwiXHJcbiAgICAgICAgICAgICAoZGVsZXRlVmlkZW8pPVwib25EZWxldGVWaWRlbygpXCI+XHJcbiAgICAgICAgICAgPC9pbmZvLXZpZGVvPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPCEtLSBSaWdodCBzZWN0aW9uIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLWVkaXRvcl9fY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxjcm9wcGVyXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaXNFZGl0b3JMaW5rQWN0aXZlXCJcclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc0ltZ01vZGlmaWVkKV09XCJpc0ltZ01vZGlmaWVkXCJcclxuICAgICAgICAgICAgICAoY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSk9XCJvbkltZ0Nyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGVkaXRDbG9zZWQpPVwib25FZGl0Q2xvc2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jcm9wcGVyPlxyXG4gICAgICAgICAgPHNob3ctaWZyYW1lXHJcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwMCVcIlxyXG4gICAgICAgICAgICBbdmlkZW9MaW5rXT1cImltZ1RvRWRpdC52aWRlb19saW5rXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJpc0VkaXRvckxpbmtBY3RpdmVcIj5cclxuXHJcbiAgICAgICAgICA8L3Nob3ctaWZyYW1lPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L25nLXNjcm9sbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvaW1nLWVkaXRvci9pbWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7O0FBUzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCLFlBQ1UsaUJBQW9DLEVBQ3BDLG9CQUEwQztRQUQxQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFkMUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFHakYsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELG1CQUFjLEdBQVcseURBQXlELENBQUE7SUFLNUUsQ0FBQztJQUVQLFFBQVE7UUFD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QUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLGdCQUFpQyxFQUFFLGFBQThCO1FBQzNGLDBFQUEwRTtRQUMxRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLGFBQWEsQ0FBQyxTQUFTLENBQUM7b0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTt3QkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDekMsQ0FBQztvQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3RDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBakhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtKQ2QvQiw0L0RBMERBLCtvQ0RoRGM7UUFDVixTQUFTO0tBQ1Y7MkZBRVUsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FFVjt3QkFDVixTQUFTO3FCQUNWOzJJQUtELGNBQWM7c0JBRGIsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBSZW5hbWVQaWN0dXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmFtZS1waWN0dXJlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbWctZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZWFzZUluT3V0XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1nRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBzdGF0ZURpc3BsYXllZDtcclxuICBASW5wdXQoKVxyXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcclxuXHJcbiAgQE91dHB1dCgpIGVkaXRDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzSW1nTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGN1cnJlbnRDcm9wcGVkSW1hZ2U6IHN0cmluZyA9ICcnOyAvLyBJbWcgbW9kaWZpZWQgcmV0dXJuIGluIGJhc2U2NCBieSB0aGUgY3JvcHBlclxyXG4gIHByaXZhdGUgcHJldmlvdXNOYW1lOiBzdHJpbmc7XHJcblxyXG4gIG1zZ0ZhaWxTYXZlOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbFNhdmUnO1xyXG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xyXG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5hbWVQaWN0dXJlU2VydmljZTogUmVuYW1lUGljdHVyZVNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XHJcbiAgfVxyXG5cclxuICBvblNhdmUoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIGlmICghdGhpcy5pc0ltZ01vZGlmaWVkICAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm9uRWRpdENsb3NlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic1JlcGxhY2VJbWcgPSB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnJlcGxhY2VJbWcodGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlLCB0aGlzLmltZ1RvRWRpdC5pZF9maWxlKTtcclxuICAgIGNvbnN0IG9ic0NoYW5nZUltZ05hbWUgPSB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLmNoYW5nZUltYWdlTmFtZSh0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWUsIHRoaXMuaW1nVG9FZGl0LmlkX2ZpbGUpO1xyXG5cclxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCAmJiB0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XHJcbiAgICAgIHRoaXMucmVuYW1lQW5kUmVwbGFjZUltZyhvYnNDaGFuZ2VJbWdOYW1lLCBvYnNSZXBsYWNlSW1nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCl7XHJcbiAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gJyc7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH19KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzTmFtZU1vZGlmaWVkKSB7XHJcbiAgICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBkYXRhID0+IHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOYW1lID0gdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lO1xyXG4gICAgICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnU3VjY2Vzc0VkaXQpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRDbG9zZWQobXNnS2V5Pzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVkaXRDbG9zZWQuZW1pdChtc2dLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25SZXN0YXJ0RWRpdCgpIHtcclxuICAgIHRoaXMuaXNJbWdNb2RpZmllZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc05hbWVNb2RpZmllZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lID0gdGhpcy5wcmV2aW91c05hbWU7XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMub25FZGl0Q2xvc2VkKCcnKTtcclxuICB9XHJcblxyXG4gIG9uSW1nQ3JvcHBlZChpbWdCYXNlNjQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gaW1nQmFzZTY0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWU6IE9ic2VydmFibGU8YW55Piwgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICAvLyBBdm9pZCB0byB1c2UgZm9ya2pvaW4sIGJlY2F1c2UgaXQgY2FuIGNyZWF0ZSBjb25mbGljdCBhbmQgbG9vc2UgdGhlIGltZ1xyXG4gICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByZXMxID0+IHtcclxuICAgICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiByZXMyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW1nLWVkaXRvclwiIFtAZWFzZUluT3V0XT1cIidpbidcIj5cclxuXHJcbiAgICA8IS0tIEJ1dHRvbiBBY3Rpb24gU2VjdGlvbiAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25fX2FjdGlvbnNcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnV0dG9uIGltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19jYW5jZWxcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAoIWlzSW1nTW9kaWZpZWQgICYmICFpc05hbWVNb2RpZmllZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0xpYi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJidXR0b24gZGFuZ2VyIGJ1dHRvbiBpbWctZWRpdG9yX19pbmZvU2VjdGlvbl9fYWN0aW9uc19fc2F2ZVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy1lZGl0b3JfX2luZm9TZWN0aW9uX19hY3Rpb25zX19zYXZlLS1kaXNhYmxlJzogaXNMb2FkaW5nfVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5zYXZlQnRuJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPHNwYW4gYnRuTG9hZGluZ0FuaW0gKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cImJ0bkxvYWRpbmdBbm5pbWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctc2Nyb2xsYmFyXHJcbiAgICAgICAgY2xhc3M9XCJpbWctZWRpdG9yX19zY3JvbGxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgJ2ltZy1lZGl0b3JfX3Njcm9sbC0tZnVsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnZnVsbCcsXHJcbiAgICAgICAgICAgICdpbWctZWRpdG9yX19zY3JvbGwtLXNtYWxsRGlzcGxheSc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnLFxyXG4gICAgICAgICAgICAnaW1nLWVkaXRvcl9fc2Nyb2xsLS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcclxuICAgICAgICB9XCJcclxuICAgID5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XHJcbiAgICAgICAgPCEtLSBMZWZ0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1vbmUtdGhpcmQgaW1nLWVkaXRvcl9faW5mb1NlY3Rpb25cIj5cclxuXHJcbiAgICAgICAgICAgIDxpbmZvLXNlY3Rpb25cclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc05hbWVNb2RpZmllZCldPVwiaXNOYW1lTW9kaWZpZWRcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9pbmZvLXNlY3Rpb24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICA8IS0tIFJpZ2h0IHNlY3Rpb24gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctZWRpdG9yX19jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGNyb3BwZXJcclxuICAgICAgICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgICAgICAgWyhpc0ltZ01vZGlmaWVkKV09XCJpc0ltZ01vZGlmaWVkXCJcclxuICAgICAgICAgICAgICAoY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSk9XCJvbkltZ0Nyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGVkaXRDbG9zZWQpPVwib25FZGl0Q2xvc2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jcm9wcGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L25nLXNjcm9sbGJhcj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -56,7 +56,6 @@ export class ImgTabsComponent {
56
56
  tabs: string[] = ['img-upload', 'images-view', 'pexels-lib', 'img-edition']; */
57
57
  this.editTab = false;
58
58
  this.imgUpload = false;
59
- this.isVideoEdit = false;
60
59
  this.snackBarNewVersionConfig = {
61
60
  message: '',
62
61
  duration: 3000
@@ -67,14 +66,6 @@ export class ImgTabsComponent {
67
66
  this.tabActive = this.tabs[3];
68
67
  this.imgToEdit = imgToEdit;
69
68
  this.editTab = true;
70
- this.isVideoEdit = false;
71
- this.currentTab.emit(this.tabs[3]);
72
- });
73
- this.imgEventEditService.getImgToVideoEventListener().subscribe(imgToEdit => {
74
- this.tabActive = this.tabs[3];
75
- this.imgToEdit = imgToEdit;
76
- this.editTab = true;
77
- this.isVideoEdit = true;
78
69
  this.currentTab.emit(this.tabs[3]);
79
70
  });
80
71
  }
@@ -108,10 +99,10 @@ export class ImgTabsComponent {
108
99
  }
109
100
  }
110
101
  ImgTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, deps: [{ token: i1.ImgEventService }, { token: i2.AlertService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
111
- ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit", "isVideoEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
102
+ ImgTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ImgTabsComponent, selector: "img-tabs", inputs: { multipleImgMode: "multipleImgMode", stateDisplayed: "stateDisplayed", listDisplayed: "listDisplayed" }, outputs: { imgManagerClosed: "imgManagerClosed", currentTab: "currentTab", switchDisplayWindow: "switchDisplayWindow" }, viewQueries: [{ propertyName: "imgUploadedComponent", first: true, predicate: ["imgUploadedImg"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.ImgUploadComponent, selector: "img-upload", inputs: ["stateDisplayed"], outputs: ["imgUploaded"] }, { kind: "component", type: i7.PexelLibComponent, selector: "pexels-lib", inputs: ["stateDisplayed", "searchValue", "disableSearch"] }, { kind: "component", type: i8.UploadListComponent, selector: "upload-list", inputs: ["stateDisplayed", "tabDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i9.ImgEditorComponent, selector: "img-editor", inputs: ["stateDisplayed", "imgToEdit"], outputs: ["editClosed"] }, { kind: "component", type: i10.CanvaBtnComponent, selector: "canva-btn", inputs: ["stateDisplayed"], outputs: ["showImgUploaded"] }, { kind: "component", type: i11.ImagesViewComponent, selector: "images-view", inputs: ["stateDisplayed", "tabDisplayed", "fullSize", "nbRowToShow", "listDisplayed", "multipleImgMode"], outputs: ["switchDisplayWindow"] }, { kind: "component", type: i12.SelectComponent, selector: "wac-select", inputs: ["items", "placeholder", "label", "maxWidthItems", "search", "type", "callToAction", "maxWidth", "disabled"], outputs: ["selectValue", "clickOnCallToAction"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
112
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgTabsComponent, decorators: [{
113
104
  type: Component,
114
- args: [{ selector: 'img-tabs', template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n [isVideoEdit]=\"isVideoEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
105
+ args: [{ selector: 'img-tabs', template: "<div\r\n class=\"img-tabs\" [ngClass]=\"{'small': stateDisplayed === 'small'}\">\r\n <div class=\"wrapper-tabs\">\r\n <div\r\n class=\"tabs\"\r\n [ngClass]=\"\r\n {\r\n 'tabs--notWindow': stateDisplayed !== 'window',\r\n 'tabs--notDisplayed': stateDisplayed === 'window' && tabActive.value === tabs[3].value\r\n }\">\r\n\r\n <ul>\r\n <li class=\"is-active\" [ngClass]=\"{'is-active': tabActive.value === tabs[0].value}\" (click)=\"toggleTabs(tabs[0])\"><a>{{ tabs[0].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[1].value}\" (click)=\"toggleTabs(tabs[1])\"><a>{{ tabs[1].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[2].value}\" (click)=\"toggleTabs(tabs[2])\"><a>{{ tabs[2].name | translate }}</a></li>\r\n <li [ngClass]=\"{'is-active': tabActive.value === tabs[3].value}\" *ngIf=\"editTab\"><a>{{ tabs[3].name | translate }}</a></li>\r\n </ul>\r\n <div\r\n class=\"img-tabs__canva\"\r\n [ngClass]=\"{'img-tabs__canva--window': stateDisplayed === 'window'}\">\r\n <canva-btn\r\n (showImgUploaded)=\"onShowImgUploaded()\"\r\n [stateDisplayed]=\"stateDisplayed\">\r\n </canva-btn>\r\n </div>\r\n </div>\r\n <div class=\"select-mobile-page\">\r\n <wac-select\r\n [(ngModel)]=\"tabActive\"\r\n name=\"tabs\"\r\n [items]=\"tabs\"\r\n ></wac-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Upload section -->\r\n <div\r\n class=\"columns img-tabs__tabsFirst\"\r\n [ngClass]=\"{\r\n 'img-tabs__tabsFirst--small': stateDisplayed === 'small',\r\n 'img-tabs__tabsFirst--window': stateDisplayed === 'window'\r\n }\"\r\n *ngIf=\"tabActive.value === tabs[0].value\">\r\n <div class=\"column img-tabs__tabsFirst__upload\">\r\n <img-upload\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (imgUploaded)=\"onImgUploaded($event)\"\r\n ></img-upload>\r\n </div>\r\n <div class=\"column img-tabs__tabsFirst__list\" [ngClass]=\"{\r\n 'img-tabs__tabsFirst__list--upload': imgUpload\r\n }\">\r\n <images-view\r\n *ngIf=\"!imgUpload\"\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"false\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [nbRowToShow]=\"2\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"false\">\r\n </images-view>\r\n\r\n\r\n <div [hidden]=\"!imgUpload\">\r\n <upload-list\r\n #imgUploadedImg\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n >\r\n </upload-list>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Images section -->\r\n <div class=\"columns img-tabs__tabsSecond\" *ngIf=\"tabActive.value === tabs[1].value\">\r\n <div class=\"column\">\r\n\r\n <images-view\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [listDisplayed]=\"listDisplayed\"\r\n [multipleImgMode]=\"multipleImgMode\"\r\n [tabDisplayed]=\"tabActive.value\"\r\n (switchDisplayWindow)=\"switchDisplayWindowImgView()\"\r\n [fullSize]=\"true\">\r\n </images-view>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Pexels img section -->\r\n <div class=\"columns img-tabs__tabsThird\" *ngIf=\"tabActive.value === tabs[2].value\">\r\n <div class=\"column\">\r\n <pexels-lib\r\n [stateDisplayed]=\"stateDisplayed\"\r\n (showImgUploaded)=\"onShowImgUploaded()\">\r\n </pexels-lib>\r\n </div>\r\n </div>\r\n\r\n <!--Edition section -->\r\n <div class=\"columns img-tabs__tabsEdit\" *ngIf=\"tabActive.value === tabs[3].value\">\r\n <div class=\"column\">\r\n <img-editor\r\n [stateDisplayed]=\"stateDisplayed\"\r\n [imgToEdit]=\"imgToEdit\"\r\n (editClosed)=\"onEditClosed($event)\">\r\n </img-editor>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n" }]
115
106
  }], ctorParameters: function () { return [{ type: i1.ImgEventService }, { type: i2.AlertService }, { type: i3.Router }]; }, propDecorators: { multipleImgMode: [{
116
107
  type: Input
117
108
  }], stateDisplayed: [{
@@ -128,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
128
119
  type: ViewChild,
129
120
  args: ['imgUploadedImg']
130
121
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUErRDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUEvRHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtn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QUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7SUFFdEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NkdBeEhVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1aQ2Q3QiwwcElBb0hBOzJGRHRHYSxnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0UsVUFBVTtzSkFNcEIsZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkF5Q1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5pbXBvcnQgeyBVcGxvYWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1nRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOd2JTbmFja2JhckNvbmZpZyB9IGZyb20gJ0B3aXppc2hvcC9uZy13aXppLWJ1bG1hJztcclxuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW1nLXRhYnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctdGFicy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEltZ1RhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlSW1nTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGlzdERpc3BsYXllZCA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBpbWdNYW5hZ2VyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjdXJyZW50VGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRhYnM6IFNlbGVjdEl0ZW1bXSA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5hZGRJbWcnLFxyXG4gICAgICB2YWx1ZTogJ2ltZy11cGxvYWQnLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgICAgaWQ6IDBcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuaW1nTGliJyxcclxuICAgICAgdmFsdWU6ICdpbWFnZXMtdmlldycsXHJcbiAgICAgIGlkOiAxXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmZyZWVJbWdMaWInLFxyXG4gICAgICB2YWx1ZTogJ3BleGVscy1saWInLFxyXG4gICAgICBpZDogMlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5FZGl0b3InLFxyXG4gICAgICB2YWx1ZTogJ2ltZy1lZGl0aW9uJyxcclxuICAgICAgaGlkZTogdHJ1ZSxcclxuICAgICAgaWQ6IDNcclxuICAgIH1cclxuICBdO1xyXG5cclxuICB0YWJBY3RpdmU6IFNlbGVjdEl0ZW0gPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIC8qIHRhYkFjdGl2ZSA9ICdpbWFnZXMtdmlldyc7XHJcbiAgdGFiczogc3RyaW5nW10gPSBbJ2ltZy11cGxvYWQnLCAnaW1hZ2VzLXZpZXcnLCAncGV4ZWxzLWxpYicsICdpbWctZWRpdGlvbiddOyAqL1xyXG4gIGVkaXRUYWIgPSBmYWxzZTtcclxuXHJcbiAgaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPO1xyXG5cclxuICBpbWdVcGxvYWQgPSBmYWxzZTtcclxuXHJcbiAgaXNWaWRlb0VkaXQgPSBmYWxzZTtcclxuXHJcbiAgQFZpZXdDaGlsZCggJ2ltZ1VwbG9hZGVkSW1nJyApXHJcbiAgaW1nVXBsb2FkZWRDb21wb25lbnQ6IFVwbG9hZExpc3RDb21wb25lbnQgO1xyXG5cclxuICBzbmFja0Jhck5ld1ZlcnNpb25Db25maWc6IE53YlNuYWNrYmFyQ29uZmlnID0ge1xyXG4gICAgbWVzc2FnZTogJycsXHJcbiAgICBkdXJhdGlvbjogMzAwMFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbWdFdmVudEVkaXRTZXJ2aWNlOiBJbWdFdmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogUm91dGVyXHJcbiAgICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb0VkaXRFdmVudExpc3RlbmVyKCkuc3Vic2NyaWJlKGltZ1RvRWRpdCA9PntcclxuICAgICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbM107XHJcbiAgICAgIHRoaXMuaW1nVG9FZGl0ID0gaW1nVG9FZGl0O1xyXG4gICAgICB0aGlzLmVkaXRUYWIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmlzVmlkZW9FZGl0ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaW1nRXZlbnRFZGl0U2VydmljZS5nZXRJbWdUb1ZpZGVvRXZlbnRMaXN0ZW5lcigpLnN1YnNjcmliZShpbWdUb0VkaXQgPT57XHJcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcclxuICAgICAgdGhpcy5lZGl0VGFiID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc1ZpZGVvRWRpdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYi5lbWl0KHRoaXMudGFic1szXSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVRhYnMoaXRlbTogU2VsZWN0SXRlbSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50YWJBY3RpdmUgPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgb25JbWdVcGxvYWRlZChpbWc6IEltZ1BpY3R1cmVEVE9bXSkge1xyXG4gICAgdGhpcy5pbWdVcGxvYWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbWdVcGxvYWRlZENvbXBvbmVudC5vbkltZ1VwbG9hZGVkKGltZyk7XHJcbiAgfVxyXG5cclxuICBvbkVkaXRDbG9zZWQobXNnS2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdFRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy50b2dnbGVUYWJzKHRoaXMudGFic1sxXSk7XHJcbiAgICBpZiAobXNnS2V5KSB7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydChtc2dLZXkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50VGFiLmVtaXQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG5cclxuICBvblNob3dJbWdVcGxvYWRlZCgpIHtcclxuICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzFdO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKSB7XHJcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFJvdXRlckxpbmsoZXZlbnQpIHtcclxuXHJcbiAgfVxyXG5cclxuICBvbkltZ01hbmFnZXJDbG9zZWQoKSB7XHJcbiAgICB0aGlzLmltZ01hbmFnZXJDbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpbWctdGFic1wiIFtuZ0NsYXNzXT1cInsnc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJ31cIj5cclxuICA8ZGl2IGNsYXNzPVwid3JhcHBlci10YWJzXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidGFic1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgIHtcclxuICAgICAgICAgICd0YWJzLS1ub3RXaW5kb3cnOiBzdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycsXHJcbiAgICAgICAgICAndGFicy0tbm90RGlzcGxheWVkJzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnICYmIHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZVxyXG4gICAgICAgIH1cIj5cclxuXHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGkgY2xhc3M9XCJpcy1hY3RpdmVcIiBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzBdKVwiPjxhPnt7IHRhYnNbMF0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzFdKVwiPjxhPnt7IHRhYnNbMV0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZX1cIiAoY2xpY2spPVwidG9nZ2xlVGFicyh0YWJzWzJdKVwiPjxhPnt7IHRhYnNbMl0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICAgIDxsaSBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IHRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1szXS52YWx1ZX1cIiAqbmdJZj1cImVkaXRUYWJcIj48YT57eyB0YWJzWzNdLm5hbWUgfCB0cmFuc2xhdGUgfX08L2E+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaW1nLXRhYnNfX2NhbnZhXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ltZy10YWJzX19jYW52YS0td2luZG93Jzogc3RhdGVEaXNwbGF5ZWQgPT09ICd3aW5kb3cnfVwiPlxyXG4gICAgICAgIDxjYW52YS1idG5cclxuICAgICAgICAgIChzaG93SW1nVXBsb2FkZWQpPVwib25TaG93SW1nVXBsb2FkZWQoKVwiXHJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIj5cclxuICAgICAgICA8L2NhbnZhLWJ0bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtbW9iaWxlLXBhZ2VcIj5cclxuICAgICAgPHdhYy1zZWxlY3RcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYkFjdGl2ZVwiXHJcbiAgICAgICAgbmFtZT1cInRhYnNcIlxyXG4gICAgICAgIFtpdGVtc109XCJ0YWJzXCJcclxuICAgICAgPjwvd2FjLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIFVwbG9hZCBzZWN0aW9uIC0tPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic0ZpcnN0XCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3QtLXNtYWxsJzogc3RhdGVEaXNwbGF5ZWQgPT09ICdzbWFsbCcsXHJcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0LS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdydcclxuICAgIH1cIlxyXG4gICAgKm5nSWY9XCJ0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbMF0udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaW1nLXRhYnNfX3RhYnNGaXJzdF9fdXBsb2FkXCI+XHJcbiAgICAgIDxpbWctdXBsb2FkXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAoaW1nVXBsb2FkZWQpPVwib25JbWdVcGxvYWRlZCgkZXZlbnQpXCJcclxuICAgICAgPjwvaW1nLXVwbG9hZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X19saXN0XCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdF9fbGlzdC0tdXBsb2FkJzogaW1nVXBsb2FkXHJcbiAgICB9XCI+XHJcbiAgICAgIDxpbWFnZXMtdmlld1xyXG4gICAgICAgICpuZ0lmPVwiIWltZ1VwbG9hZFwiXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJmYWxzZVwiXHJcbiAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxyXG4gICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICBbbmJSb3dUb1Nob3ddPVwiMlwiXHJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgW2Z1bGxTaXplXT1cImZhbHNlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG5cclxuICAgICAgPGRpdiBbaGlkZGVuXT1cIiFpbWdVcGxvYWRcIj5cclxuICAgICAgICA8dXBsb2FkLWxpc3RcclxuICAgICAgICAgICNpbWdVcGxvYWRlZEltZ1xyXG4gICAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAgIFt0YWJEaXNwbGF5ZWRdPVwidGFiQWN0aXZlLnZhbHVlXCJcclxuICAgICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcclxuICAgICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvdXBsb2FkLWxpc3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gSW1hZ2VzIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNTZWNvbmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1sxXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG5cclxuICAgICAgPGltYWdlcy12aWV3XHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbbGlzdERpc3BsYXllZF09XCJsaXN0RGlzcGxheWVkXCJcclxuICAgICAgICBbbXVsdGlwbGVJbWdNb2RlXT1cIm11bHRpcGxlSW1nTW9kZVwiXHJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgIChzd2l0Y2hEaXNwbGF5V2luZG93KT1cInN3aXRjaERpc3BsYXlXaW5kb3dJbWdWaWV3KClcIlxyXG4gICAgICAgIFtmdWxsU2l6ZV09XCJ0cnVlXCI+XHJcbiAgICAgIDwvaW1hZ2VzLXZpZXc+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gUGV4ZWxzIGltZyBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzVGhpcmRcIiAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1syXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8cGV4ZWxzLWxpYlxyXG4gICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiXHJcbiAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCI+XHJcbiAgICAgIDwvcGV4ZWxzLWxpYj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tRWRpdGlvbiBzZWN0aW9uIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzRWRpdFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxpbWctZWRpdG9yXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICBbaW1nVG9FZGl0XT1cImltZ1RvRWRpdFwiXHJcbiAgICAgICAgW2lzVmlkZW9FZGl0XT1cImlzVmlkZW9FZGl0XCJcclxuICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2ltZy1lZGl0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9jb21wb25lbnRzL2ltZy10YWJzL2ltZy10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvY29tcG9uZW50cy9pbWctdGFicy9pbWctdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxnQkFBZ0I7SUE2RDNCLFlBQ1UsbUJBQW9DLEVBQ3BDLFlBQTBCLEVBQzFCLEtBQWE7UUFGYix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWlCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQVE7UUE3RHZCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBSWpDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEUsU0FBSSxHQUFpQjtZQUNuQjtn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LGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBdUNQLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuaW1wb3J0IHsgVXBsb2FkTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC1saXN0L3VwbG9hZC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltZ0V2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTndiU25hY2tiYXJDb25maWcgfSBmcm9tICdAd2l6aXNob3Avbmctd2l6aS1idWxtYSc7XHJcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWl0ZW1zLmR0byc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ltZy10YWJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1nLXRhYnMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWdUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtdWx0aXBsZUltZ01vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcclxuICBASW5wdXQoKVxyXG4gIGxpc3REaXNwbGF5ZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaW1nTWFuYWdlckNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgY3VycmVudFRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3dpdGNoRGlzcGxheVdpbmRvdzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0YWJzOiBTZWxlY3RJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuYWRkSW1nJyxcclxuICAgICAgdmFsdWU6ICdpbWctdXBsb2FkJyxcclxuICAgICAgc2VsZWN0ZWQ6IHRydWUsXHJcbiAgICAgIGlkOiAwXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnSW1nTWFuYWdlci5UYWJzLmltZ0xpYicsXHJcbiAgICAgIHZhbHVlOiAnaW1hZ2VzLXZpZXcnLFxyXG4gICAgICBpZDogMVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogJ0ltZ01hbmFnZXIuVGFicy5mcmVlSW1nTGliJyxcclxuICAgICAgdmFsdWU6ICdwZXhlbHMtbGliJyxcclxuICAgICAgaWQ6IDJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdJbWdNYW5hZ2VyLlRhYnMuRWRpdG9yJyxcclxuICAgICAgdmFsdWU6ICdpbWctZWRpdGlvbicsXHJcbiAgICAgIGhpZGU6IHRydWUsXHJcbiAgICAgIGlkOiAzXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgdGFiQWN0aXZlOiBTZWxlY3RJdGVtID0gdGhpcy50YWJzWzBdO1xyXG5cclxuICAvKiB0YWJBY3RpdmUgPSAnaW1hZ2VzLXZpZXcnO1xyXG4gIHRhYnM6IHN0cmluZ1tdID0gWydpbWctdXBsb2FkJywgJ2ltYWdlcy12aWV3JywgJ3BleGVscy1saWInLCAnaW1nLWVkaXRpb24nXTsgKi9cclxuICBlZGl0VGFiID0gZmFsc2U7XHJcblxyXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcclxuXHJcbiAgaW1nVXBsb2FkID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoICdpbWdVcGxvYWRlZEltZycgKVxyXG4gIGltZ1VwbG9hZGVkQ29tcG9uZW50OiBVcGxvYWRMaXN0Q29tcG9uZW50IDtcclxuXHJcbiAgc25hY2tCYXJOZXdWZXJzaW9uQ29uZmlnOiBOd2JTbmFja2JhckNvbmZpZyA9IHtcclxuICAgIG1lc3NhZ2U6ICcnLFxyXG4gICAgZHVyYXRpb246IDMwMDBcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1nRXZlbnRFZGl0U2VydmljZTogSW1nRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IFJvdXRlclxyXG4gICAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmltZ0V2ZW50RWRpdFNlcnZpY2UuZ2V0SW1nVG9FZGl0RXZlbnRMaXN0ZW5lcigpLnN1YnNjcmliZShpbWdUb0VkaXQgPT57XHJcbiAgICAgIHRoaXMudGFiQWN0aXZlID0gdGhpcy50YWJzWzNdO1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdCA9IGltZ1RvRWRpdDtcclxuICAgICAgdGhpcy5lZGl0VGFiID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50VGFiLmVtaXQodGhpcy50YWJzWzNdKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVGFicyhpdGVtOiBTZWxlY3RJdGVtKSB7XHJcbiAgICB0aGlzLmltZ1VwbG9hZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnRhYkFjdGl2ZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBvbkltZ1VwbG9hZGVkKGltZzogSW1nUGljdHVyZURUT1tdKSB7XHJcbiAgICB0aGlzLmltZ1VwbG9hZCA9IHRydWU7XHJcbiAgICB0aGlzLmltZ1VwbG9hZGVkQ29tcG9uZW50Lm9uSW1nVXBsb2FkZWQoaW1nKTtcclxuICB9XHJcblxyXG4gIG9uRWRpdENsb3NlZChtc2dLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5lZGl0VGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvZ2dsZVRhYnModGhpcy50YWJzWzFdKTtcclxuICAgIGlmIChtc2dLZXkpIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KG1zZ0tleSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIuZW1pdCgnY2xvc2UnKTtcclxuICB9XHJcblxyXG4gIG9uU2hvd0ltZ1VwbG9hZGVkKCkge1xyXG4gICAgdGhpcy50YWJBY3RpdmUgPSB0aGlzLnRhYnNbMV07XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpIHtcclxuICAgIHRoaXMuc3dpdGNoRGlzcGxheVdpbmRvdy5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoUm91dGVyTGluayhldmVudCkge1xyXG5cclxuICB9XHJcblxyXG4gIG9uSW1nTWFuYWdlckNsb3NlZCgpIHtcclxuICAgIHRoaXMuaW1nTWFuYWdlckNsb3NlZC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImltZy10YWJzXCIgW25nQ2xhc3NdPVwieydzbWFsbCc6IHN0YXRlRGlzcGxheWVkID09PSAnc21hbGwnfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLXRhYnNcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ0YWJzXCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgJ3RhYnMtLW5vdFdpbmRvdyc6IHN0YXRlRGlzcGxheWVkICE9PSAnd2luZG93JyxcclxuICAgICAgICAgICd0YWJzLS1ub3REaXNwbGF5ZWQnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycgJiYgdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlXHJcbiAgICAgICAgfVwiPlxyXG5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImlzLWFjdGl2ZVwiIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzBdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMF0pXCI+PGE+e3sgdGFic1swXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzFdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMV0pXCI+PGE+e3sgdGFic1sxXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzJdLnZhbHVlfVwiIChjbGljayk9XCJ0b2dnbGVUYWJzKHRhYnNbMl0pXCI+PGE+e3sgdGFic1syXS5uYW1lIHwgdHJhbnNsYXRlIH19PC9hPjwvbGk+XHJcbiAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInsnaXMtYWN0aXZlJzogdGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzNdLnZhbHVlfVwiICpuZ0lmPVwiZWRpdFRhYlwiPjxhPnt7IHRhYnNbM10ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvYT48L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJpbWctdGFic19fY2FudmFcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnaW1nLXRhYnNfX2NhbnZhLS13aW5kb3cnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdyd9XCI+XHJcbiAgICAgICAgPGNhbnZhLWJ0blxyXG4gICAgICAgICAgKHNob3dJbWdVcGxvYWRlZCk9XCJvblNob3dJbWdVcGxvYWRlZCgpXCJcclxuICAgICAgICAgIFtzdGF0ZURpc3BsYXllZF09XCJzdGF0ZURpc3BsYXllZFwiPlxyXG4gICAgICAgIDwvY2FudmEtYnRuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1tb2JpbGUtcGFnZVwiPlxyXG4gICAgICA8d2FjLXNlbGVjdFxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidGFiQWN0aXZlXCJcclxuICAgICAgICBuYW1lPVwidGFic1wiXHJcbiAgICAgICAgW2l0ZW1zXT1cInRhYnNcIlxyXG4gICAgICA+PC93YWMtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVXBsb2FkIHNlY3Rpb24gLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2x1bW5zIGltZy10YWJzX190YWJzRmlyc3RcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnaW1nLXRhYnNfX3RhYnNGaXJzdC0tc21hbGwnOiBzdGF0ZURpc3BsYXllZCA9PT0gJ3NtYWxsJyxcclxuICAgICAgJ2ltZy10YWJzX190YWJzRmlyc3QtLXdpbmRvdyc6IHN0YXRlRGlzcGxheWVkID09PSAnd2luZG93J1xyXG4gICAgfVwiXHJcbiAgICAqbmdJZj1cInRhYkFjdGl2ZS52YWx1ZSA9PT0gdGFic1swXS52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpbWctdGFic19fdGFic0ZpcnN0X191cGxvYWRcIj5cclxuICAgICAgPGltZy11cGxvYWRcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIChpbWdVcGxvYWRlZCk9XCJvbkltZ1VwbG9hZGVkKCRldmVudClcIlxyXG4gICAgICA+PC9pbWctdXBsb2FkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGltZy10YWJzX190YWJzRmlyc3RfX2xpc3RcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdpbWctdGFic19fdGFic0ZpcnN0X19saXN0LS11cGxvYWQnOiBpbWdVcGxvYWRcclxuICAgIH1cIj5cclxuICAgICAgPGltYWdlcy12aWV3XHJcbiAgICAgICAgKm5nSWY9XCIhaW1nVXBsb2FkXCJcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtsaXN0RGlzcGxheWVkXT1cImZhbHNlXCJcclxuICAgICAgICBbbXVsdGlwbGVJbWdNb2RlXT1cIm11bHRpcGxlSW1nTW9kZVwiXHJcbiAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgIFtuYlJvd1RvU2hvd109XCIyXCJcclxuICAgICAgICAoc3dpdGNoRGlzcGxheVdpbmRvdyk9XCJzd2l0Y2hEaXNwbGF5V2luZG93SW1nVmlldygpXCJcclxuICAgICAgICBbZnVsbFNpemVdPVwiZmFsc2VcIj5cclxuICAgICAgPC9pbWFnZXMtdmlldz5cclxuXHJcblxyXG4gICAgICA8ZGl2IFtoaWRkZW5dPVwiIWltZ1VwbG9hZFwiPlxyXG4gICAgICAgIDx1cGxvYWQtbGlzdFxyXG4gICAgICAgICAgI2ltZ1VwbG9hZGVkSW1nXHJcbiAgICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgICAgW3RhYkRpc3BsYXllZF09XCJ0YWJBY3RpdmUudmFsdWVcIlxyXG4gICAgICAgICAgW211bHRpcGxlSW1nTW9kZV09XCJtdWx0aXBsZUltZ01vZGVcIlxyXG4gICAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC91cGxvYWQtbGlzdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBJbWFnZXMgc2VjdGlvbiAtLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1ucyBpbWctdGFic19fdGFic1NlY29uZFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzFdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcblxyXG4gICAgICA8aW1hZ2VzLXZpZXdcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtsaXN0RGlzcGxheWVkXT1cImxpc3REaXNwbGF5ZWRcIlxyXG4gICAgICAgIFttdWx0aXBsZUltZ01vZGVdPVwibXVsdGlwbGVJbWdNb2RlXCJcclxuICAgICAgICBbdGFiRGlzcGxheWVkXT1cInRhYkFjdGl2ZS52YWx1ZVwiXHJcbiAgICAgICAgKHN3aXRjaERpc3BsYXlXaW5kb3cpPVwic3dpdGNoRGlzcGxheVdpbmRvd0ltZ1ZpZXcoKVwiXHJcbiAgICAgICAgW2Z1bGxTaXplXT1cInRydWVcIj5cclxuICAgICAgPC9pbWFnZXMtdmlldz5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBQZXhlbHMgaW1nIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNUaGlyZFwiICpuZ0lmPVwidGFiQWN0aXZlLnZhbHVlID09PSB0YWJzWzJdLnZhbHVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxwZXhlbHMtbGliXHJcbiAgICAgICAgW3N0YXRlRGlzcGxheWVkXT1cInN0YXRlRGlzcGxheWVkXCJcclxuICAgICAgICAoc2hvd0ltZ1VwbG9hZGVkKT1cIm9uU2hvd0ltZ1VwbG9hZGVkKClcIj5cclxuICAgICAgPC9wZXhlbHMtbGliPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS1FZGl0aW9uIHNlY3Rpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaW1nLXRhYnNfX3RhYnNFZGl0XCIgKm5nSWY9XCJ0YWJBY3RpdmUudmFsdWUgPT09IHRhYnNbM10udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPGltZy1lZGl0b3JcclxuICAgICAgICBbc3RhdGVEaXNwbGF5ZWRdPVwic3RhdGVEaXNwbGF5ZWRcIlxyXG4gICAgICAgIFtpbWdUb0VkaXRdPVwiaW1nVG9FZGl0XCJcclxuICAgICAgICAoZWRpdENsb3NlZCk9XCJvbkVkaXRDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8L2ltZy1lZGl0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kdG8vaW1nLW1hbmFnZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVEVE8ge1xyXG4gICAgYmlnX21pbmlhdHVyZTogc3RyaW5nLFxyXG4gICAgY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgIGNyb3BwZWQ6IHN0cmluZyxcclxuICAgIGRhdGU6IHN0cmluZyxcclxuICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nLFxyXG4gICAgZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICBnX2lkOiBzdHJpbmcsXHJcbiAgICBpZF9maWxlOiBzdHJpbmcsXHJcbiAgICBpZF9zaG9wOiBzdHJpbmcsXHJcbiAgICBuYl91c2VkOiBzdHJpbmcsXHJcbiAgICBvbGRfZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICByYXdfaGVpZ2h0OiBzdHJpbmcsXHJcbiAgICByYXdfd2lkdGg6IHN0cmluZyxcclxuICAgIHNpemU6IHN0cmluZyxcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuLFxyXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsU2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsZXRlZD86IGJvb2xlYW4sXHJcbiAgICBpbWdOb3RMb2FkZWQ/OiBib29sZWFuO1xyXG4gICAgdmlkZW9fbGluaz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbWdQaWN0dXJlc0RUTyB7XHJcbiAgICBkYXRhOiBJbWdQaWN0dXJlRFRPW10sXHJcbiAgICBmaWx0ZXI6IGFueVtdLFxyXG4gICAgbGltaXQ6IG51bWJlcixcclxuICAgIHBhZ2U6IG51bWJlcixcclxuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1zSW1nTWFuYWdlckRUTyB7XHJcbiAgICBsaW1pdDogc3RyaW5nO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG4gICAgc2VhcmNoPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW1hbmFnZXIuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kdG8vaW1nLW1hbmFnZXIuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVEVE8ge1xyXG4gICAgYmlnX21pbmlhdHVyZTogc3RyaW5nLFxyXG4gICAgY2F0ZWdvcnk6IHN0cmluZyxcclxuICAgIGNyb3BwZWQ6IHN0cmluZyxcclxuICAgIGRhdGU6IHN0cmluZyxcclxuICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nLFxyXG4gICAgZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICBnX2lkOiBzdHJpbmcsXHJcbiAgICBpZF9maWxlOiBzdHJpbmcsXHJcbiAgICBpZF9zaG9wOiBzdHJpbmcsXHJcbiAgICBuYl91c2VkOiBzdHJpbmcsXHJcbiAgICBvbGRfZmlsZV9uYW1lOiBzdHJpbmcsXHJcbiAgICByYXdfaGVpZ2h0OiBzdHJpbmcsXHJcbiAgICByYXdfd2lkdGg6IHN0cmluZyxcclxuICAgIHNpemU6IHN0cmluZyxcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuLFxyXG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsU2VsZWN0ZWQ/OiBib29sZWFuLFxyXG4gICAgZGVsZXRlZD86IGJvb2xlYW4sXHJcbiAgICBpbWdOb3RMb2FkZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltZ1BpY3R1cmVzRFRPIHtcclxuICAgIGRhdGE6IEltZ1BpY3R1cmVEVE9bXSxcclxuICAgIGZpbHRlcjogYW55W10sXHJcbiAgICBsaW1pdDogbnVtYmVyLFxyXG4gICAgcGFnZTogbnVtYmVyLFxyXG4gICAgdG90YWxSZWNvcmRzOiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbXNJbWdNYW5hZ2VyRFRPIHtcclxuICAgIGxpbWl0OiBzdHJpbmc7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbiAgICBzZWFyY2g/OiBzdHJpbmc7XHJcbn0iXX0=
@@ -7,4 +7,4 @@ ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ApiService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTs7dUdBQVYsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCBjaGFuZ2VWaWRlb0xpbmsodmlkZW9MaW5rOiBzdHJpbmcsIGlkX2ZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVtb3ZlSW1nKGlkX2ZpbGU6IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVtb3ZlTXVsdGlwbGVJbWcoaWRfYXJyYXk6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPW10+O1xyXG5cclxufVxyXG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBZ0IsVUFBVTs7dUdBQVYsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8sIEltZ1BpY3R1cmVzRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW1nQ0ROQ29uZmlnRFRPIH0gZnJvbSAnLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XHJcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlTZXJ2aWNlIHtcclxuXHJcbiAgICBhYnN0cmFjdCBDT05GSUc6IHtcclxuICAgICAgICBpbWFnZV9tYW5hZ2VyX3JvdXRlOiBzdHJpbmc7XHJcbiAgICAgICAgY2FudmFfdG9rZW46IHN0cmluZztcclxuICAgICAgICBjYW52YV91cmw6IHN0cmluZztcclxuICAgICAgICBwZXhlbHNfdG9rZW46IHN0cmluZ1xyXG4gICAgICAgIHBleGVsc19yb3V0ZTogc3RyaW5nO1xyXG4gICAgICAgIGFzc2V0c19yb3V0ZTogc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGFic3RyYWN0IElNR19TSVpFIDogSW1nQ0ROQ29uZmlnRFRPO1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BDYXRlZ29yeSgpOiBzdHJpbmc7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0U2hvcEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8SW1nUGljdHVyZXNEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGdldFNob3BUb3RhbEltZ0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXRTaG9wSW1nKGlkRmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCB1cGxvYWRGaWxlKGZvcm1EYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgdXBsb2FkRmlsZUJ5VXJsKHVybDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8SW1nUGljdHVyZURUTz47XHJcblxyXG4gICAgYWJzdHJhY3QgcmVwbGFjZUltZyhpbWFnZUJhc2U2NDogc3RyaW5nLCBpZF9maWxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE8+O1xyXG5cclxuICAgIGFic3RyYWN0IGNoYW5nZUltZ05hbWUoZmlsZU5hbWU6IHN0cmluZywgaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVJbWcoaWRfZmlsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbWdQaWN0dXJlRFRPPjtcclxuXHJcbiAgICBhYnN0cmFjdCByZW1vdmVNdWx0aXBsZUltZyhpZF9hcnJheTogc3RyaW5nW10pOiBPYnNlcnZhYmxlPEltZ1BpY3R1cmVEVE9bXT47XHJcblxyXG59Il19
@@ -5,22 +5,15 @@ export class ImgEventService {
5
5
  constructor() {
6
6
  this.imgRemoved$ = new BehaviorSubject(undefined);
7
7
  this.imgToEditEvent = new Subject();
8
- this.imgToVideoEvent = new Subject();
9
8
  this.imgAdded = new Subject();
10
9
  this.listDisplayedChange = new Subject();
11
10
  }
12
11
  emitImgToEdit(imgToEdit) {
13
12
  this.imgToEditEvent.next(imgToEdit);
14
13
  }
15
- emitImgToVideo(imgToEdit) {
16
- this.imgToVideoEvent.next(imgToEdit);
17
- }
18
14
  getImgToEditEventListener() {
19
15
  return this.imgToEditEvent.asObservable();
20
16
  }
21
- getImgToVideoEventListener() {
22
- return this.imgToVideoEvent.asObservable();
23
- }
24
17
  emitImgAdded(id_file) {
25
18
  this.imgAdded.next(id_file);
26
19
  }
@@ -39,4 +32,4 @@ ImgEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
39
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ImgEventService, decorators: [{
40
33
  type: Injectable
41
34
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBR0UsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUM3QyxtQkFBYyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN0RSxvQkFBZSxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN2RSxhQUFRLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsd0JBQW1CLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7S0FrQ3hFO0lBL0JFLGFBQWEsQ0FBQyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQXdCO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCx5QkFBeUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCwwQkFBMEI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsdUJBQXVCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxzQkFBc0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7NEdBdkNTLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW1nRXZlbnRTZXJ2aWNlIHtcclxuXHJcbiAgaW1nUmVtb3ZlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuICBwcml2YXRlIGltZ1RvRWRpdEV2ZW50OiBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+ID0gbmV3IFN1YmplY3Q8SW1nUGljdHVyZURUTz4oKTtcclxuICBwcml2YXRlIGltZ1RvVmlkZW9FdmVudDogU3ViamVjdDxJbWdQaWN0dXJlRFRPPiA9IG5ldyBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+KCk7XHJcbiAgcHJpdmF0ZSBpbWdBZGRlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgbGlzdERpc3BsYXllZENoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG5cclxuICAgZW1pdEltZ1RvRWRpdChpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE8pe1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcclxuICAgfVxyXG5cclxuICAgZW1pdEltZ1RvVmlkZW8oaW1nVG9FZGl0OiBJbWdQaWN0dXJlRFRPKXtcclxuICAgICAgdGhpcy5pbWdUb1ZpZGVvRXZlbnQubmV4dChpbWdUb0VkaXQpO1xyXG4gICB9XHJcblxyXG4gICBnZXRJbWdUb0VkaXRFdmVudExpc3RlbmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ1RvRWRpdEV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBnZXRJbWdUb1ZpZGVvRXZlbnRMaXN0ZW5lcigpe1xyXG4gICAgICByZXR1cm4gdGhpcy5pbWdUb1ZpZGVvRXZlbnQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRJbWdBZGRlZChpZF9maWxlOiBzdHJpbmcpe1xyXG4gICAgICB0aGlzLmltZ0FkZGVkLm5leHQoaWRfZmlsZSk7XHJcbiAgIH1cclxuXHJcbiAgIGdldEltZ0FkZGVkRXZlbnRMaXN0bmVyKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmltZ0FkZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcblxyXG4gICBlbWl0bGlzdERpc3BsYXllZENoYW5nZSh2YWx1ZTogYm9vbGVhbil7XHJcbiAgICAgIHRoaXMubGlzdERpc3BsYXllZENoYW5nZS5uZXh0KHZhbHVlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0bGlzdERpc3BsYXllZENoYW5nZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICB9XHJcbn1cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL2ltZy1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSWhELE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBR0UsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUM3QyxtQkFBYyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN0RSxhQUFRLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsd0JBQW1CLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7S0EwQnhFO0lBdkJFLGFBQWEsQ0FBQyxTQUF3QjtRQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQseUJBQXlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNwQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7OzRHQTlCUyxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEltZ0V2ZW50U2VydmljZSB7XHJcblxyXG4gIGltZ1JlbW92ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XHJcbiAgcHJpdmF0ZSBpbWdUb0VkaXRFdmVudDogU3ViamVjdDxJbWdQaWN0dXJlRFRPPiA9IG5ldyBTdWJqZWN0PEltZ1BpY3R1cmVEVE8+KCk7XHJcbiAgcHJpdmF0ZSBpbWdBZGRlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHByaXZhdGUgbGlzdERpc3BsYXllZENoYW5nZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG5cclxuICAgZW1pdEltZ1RvRWRpdChpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE8pe1xyXG4gICAgICB0aGlzLmltZ1RvRWRpdEV2ZW50Lm5leHQoaW1nVG9FZGl0KTtcclxuICAgfVxyXG5cclxuICAgZ2V0SW1nVG9FZGl0RXZlbnRMaXN0ZW5lcigpe1xyXG4gICAgICByZXR1cm4gdGhpcy5pbWdUb0VkaXRFdmVudC5hc09ic2VydmFibGUoKTtcclxuICAgfVxyXG5cclxuICAgZW1pdEltZ0FkZGVkKGlkX2ZpbGU6IHN0cmluZyl7XHJcbiAgICAgIHRoaXMuaW1nQWRkZWQubmV4dChpZF9maWxlKTtcclxuICAgfVxyXG5cclxuICAgZ2V0SW1nQWRkZWRFdmVudExpc3RuZXIoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1nQWRkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxuXHJcbiAgIGVtaXRsaXN0RGlzcGxheWVkQ2hhbmdlKHZhbHVlOiBib29sZWFuKXtcclxuICAgICAgdGhpcy5saXN0RGlzcGxheWVkQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICB9XHJcblxyXG4gICBnZXRsaXN0RGlzcGxheWVkQ2hhbmdlKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmxpc3REaXNwbGF5ZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgIH1cclxufVxyXG4iXX0=
@@ -20,9 +20,6 @@ export class RenamePictureService {
20
20
  setPicturesList(picturesList) {
21
21
  this.picturesList = picturesList;
22
22
  }
23
- changeVideoLink(videoLink, idFile) {
24
- return this.apiService.changeVideoLink(videoLink, idFile).pipe(tap(() => this.imgManagerService.refreshImageList$.next()));
25
- }
26
23
  renamePicture(pictureNameUpdate) {
27
24
  const picture = this.getPictureById(pictureNameUpdate.id);
28
25
  if (!picture) {
@@ -63,4 +60,4 @@ RenamePictureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
63
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RenamePictureService, decorators: [{
64
61
  type: Injectable
65
62
  }], ctorParameters: function () { return [{ type: i1.ApiService }, { type: i2.AlertService }, { type: i3.ImgManagerService }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXBpY3R1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRzNCLE1BQU0sT0FBTyxvQkFBb0I7SUFPN0IsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixpQkFBb0M7UUFGcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnRDLGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLG1DQUFtQyxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLGlDQUFpQyxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsZ0NBQWdDLENBQUM7SUFPMUQsQ0FBQztJQUVGLGVBQWUsQ0FBQyxZQUE2QjtRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUMvQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsaUJBQW9DO1FBQzlDLE1BQU0sT0FBTyxHQUFrQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVU7YUFDWixhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN4RCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQzNEO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO2dCQUM1QixPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUksRUFBRTtnQkFDWCxPQUFPLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25ELENBQUM7U0FDRixDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxNQUFjO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDckQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2QyxJQUFHLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFO2dCQUM5QixPQUFPLE9BQU8sQ0FBQzthQUNoQjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7aUhBakVRLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcclxuaW1wb3J0IHsgUGljdHVyZU5hbWVVcGRhdGUgfSBmcm9tICcuLi9kdG8vcGljdHVyZS1uYW1lLXVwZGF0ZS5kdG8nO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9pbWctbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBSZW5hbWVQaWN0dXJlU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBwaWN0dXJlc0xpc3Q6IEltZ1BpY3R1cmVEVE9bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBlcnJvclJlbmFtZUltZyA9ICdJbWdNYW5hZ2VyLkltZ0xpc3QuZXJyb3JSZW5hbWVJbWcnO1xyXG4gICAgcHJpdmF0ZSBtc2dTYXZpbmdJbWdOYW1lID0gJ0ltZ01hbmFnZXIuSW1nTGliLnNhdmluZ0ltZ05hbWUnO1xyXG4gICAgcHJpdmF0ZSBtc2dJbWdOYW1lU2F2ZWQgPSAnSW1nTWFuYWdlci5JbWdMaWIuaW1nTmFtZVNhdmVkJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGltZ01hbmFnZXJTZXJ2aWNlOiBJbWdNYW5hZ2VyU2VydmljZVxyXG4gICAgKVxyXG4gICAge31cclxuXHJcbiAgICBzZXRQaWN0dXJlc0xpc3QocGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10pIHsgLy8gdG9kbyBnZXQgZnJvbSBpbWcgbWFuYWdlciBzZXJ2aWNlXHJcbiAgICAgICAgdGhpcy5waWN0dXJlc0xpc3QgPSBwaWN0dXJlc0xpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlVmlkZW9MaW5rKHZpZGVvTGluazogc3RyaW5nLCBpZEZpbGU6IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmNoYW5nZVZpZGVvTGluayh2aWRlb0xpbmssIGlkRmlsZSkucGlwZShcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5yZWZyZXNoSW1hZ2VMaXN0JC5uZXh0KCkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuYW1lUGljdHVyZShwaWN0dXJlTmFtZVVwZGF0ZTogUGljdHVyZU5hbWVVcGRhdGUpIHtcclxuICAgICAgICBjb25zdCBwaWN0dXJlOiBJbWdQaWN0dXJlRFRPID0gdGhpcy5nZXRQaWN0dXJlQnlJZChwaWN0dXJlTmFtZVVwZGF0ZS5pZCk7XHJcbiAgICAgICAgaWYgKCFwaWN0dXJlKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclJlbmFtZUltZyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLm1zZ1NhdmluZ0ltZ05hbWUpO1xyXG4gICAgICAgIHRoaXMuYXBpU2VydmljZVxyXG4gICAgICAgICAgLmNoYW5nZUltZ05hbWUocGljdHVyZS5kaXNwbGF5X25hbWUsIHBpY3R1cmUuaWRfZmlsZSkucGlwZShcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChkYXRhOiBJbWdQaWN0dXJlRFRPKSA9PiB7XHJcbiAgICAgICAgICAgICAgcGljdHVyZS5kaXNwbGF5X25hbWUgPSBkYXRhLmRpc3BsYXlfbmFtZTtcclxuICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5tc2dJbWdOYW1lU2F2ZWQpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKCkgID0+IHtcclxuICAgICAgICAgICAgICBwaWN0dXJlLmRpc3BsYXlfbmFtZSA9IHBpY3R1cmVOYW1lVXBkYXRlLnByZXZpb3VzTmFtZTtcclxuICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5lcnJvclJlbmFtZUltZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZUltYWdlTmFtZShuYW1lOiBzdHJpbmcsIGlkRmlsZTogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuY2hhbmdlSW1nTmFtZShuYW1lLCBpZEZpbGUpLnBpcGUoXHJcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaW1nTWFuYWdlclNlcnZpY2UucmVmcmVzaEltYWdlTGlzdCQubmV4dCgpKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UGljdHVyZUJ5SWQoaWRfZmlsZTogc3RyaW5nKTogSW1nUGljdHVyZURUTyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBwaWN0dXJlIG9mIHRoaXMucGljdHVyZXNMaXN0KSB7XHJcbiAgICAgICAgICBpZihwaWN0dXJlLmlkX2ZpbGUgPT09IGlkX2ZpbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHBpY3R1cmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLXBpY3R1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvcmVuYW1lLXBpY3R1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRzNCLE1BQU0sT0FBTyxvQkFBb0I7SUFPN0IsWUFDVSxVQUFzQixFQUN0QixZQUEwQixFQUMxQixpQkFBb0M7UUFGcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnRDLGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLG1DQUFtQyxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLGlDQUFpQyxDQUFDO1FBQ3JELG9CQUFlLEdBQUcsZ0NBQWdDLENBQUM7SUFPMUQsQ0FBQztJQUVGLGVBQWUsQ0FBQyxZQUE2QjtRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYSxDQUFDLGlCQUFvQztRQUM5QyxNQUFNLE9BQU8sR0FBa0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVO2FBQ1osYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDeEQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUMzRDthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFJLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQUUsTUFBYztRQUMxQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3JELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBZTtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFFRCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkMsSUFBRyxPQUFPLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRTtnQkFDOUIsT0FBTyxPQUFPLENBQUM7YUFDaEI7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O2lIQTNEUSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XHJcbmltcG9ydCB7IFBpY3R1cmVOYW1lVXBkYXRlIH0gZnJvbSAnLi4vZHRvL3BpY3R1cmUtbmFtZS11cGRhdGUuZHRvJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vaW1nLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVuYW1lUGljdHVyZVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcclxuICAgIHByaXZhdGUgZXJyb3JSZW5hbWVJbWcgPSAnSW1nTWFuYWdlci5JbWdMaXN0LmVycm9yUmVuYW1lSW1nJztcclxuICAgIHByaXZhdGUgbXNnU2F2aW5nSW1nTmFtZSA9ICdJbWdNYW5hZ2VyLkltZ0xpYi5zYXZpbmdJbWdOYW1lJztcclxuICAgIHByaXZhdGUgbXNnSW1nTmFtZVNhdmVkID0gJ0ltZ01hbmFnZXIuSW1nTGliLmltZ05hbWVTYXZlZCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBpbWdNYW5hZ2VyU2VydmljZTogSW1nTWFuYWdlclNlcnZpY2VcclxuICAgIClcclxuICAgIHt9XHJcblxyXG4gICAgc2V0UGljdHVyZXNMaXN0KHBpY3R1cmVzTGlzdDogSW1nUGljdHVyZURUT1tdKSB7IC8vIHRvZG8gZ2V0IGZyb20gaW1nIG1hbmFnZXIgc2VydmljZVxyXG4gICAgICAgIHRoaXMucGljdHVyZXNMaXN0ID0gcGljdHVyZXNMaXN0O1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmFtZVBpY3R1cmUocGljdHVyZU5hbWVVcGRhdGU6IFBpY3R1cmVOYW1lVXBkYXRlKSB7XHJcbiAgICAgICAgY29uc3QgcGljdHVyZTogSW1nUGljdHVyZURUTyA9IHRoaXMuZ2V0UGljdHVyZUJ5SWQocGljdHVyZU5hbWVVcGRhdGUuaWQpO1xyXG4gICAgICAgIGlmICghcGljdHVyZSkge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZW5hbWVJbWcpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5tc2dTYXZpbmdJbWdOYW1lKTtcclxuICAgICAgICB0aGlzLmFwaVNlcnZpY2VcclxuICAgICAgICAgIC5jaGFuZ2VJbWdOYW1lKHBpY3R1cmUuZGlzcGxheV9uYW1lLCBwaWN0dXJlLmlkX2ZpbGUpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnJlZnJlc2hJbWFnZUxpc3QkLm5leHQoKSlcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZGF0YTogSW1nUGljdHVyZURUTykgPT4ge1xyXG4gICAgICAgICAgICAgIHBpY3R1cmUuZGlzcGxheV9uYW1lID0gZGF0YS5kaXNwbGF5X25hbWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMubXNnSW1nTmFtZVNhdmVkKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6ICgpICA9PiB7XHJcbiAgICAgICAgICAgICAgcGljdHVyZS5kaXNwbGF5X25hbWUgPSBwaWN0dXJlTmFtZVVwZGF0ZS5wcmV2aW91c05hbWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZW5hbWVJbWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VJbWFnZU5hbWUobmFtZTogc3RyaW5nLCBpZEZpbGU6IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmNoYW5nZUltZ05hbWUobmFtZSwgaWRGaWxlKS5waXBlKFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmltZ01hbmFnZXJTZXJ2aWNlLnJlZnJlc2hJbWFnZUxpc3QkLm5leHQoKSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFBpY3R1cmVCeUlkKGlkX2ZpbGU6IHN0cmluZyk6IEltZ1BpY3R1cmVEVE8ge1xyXG4gICAgICAgIGlmICghdGhpcy5waWN0dXJlc0xpc3QpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgcGljdHVyZSBvZiB0aGlzLnBpY3R1cmVzTGlzdCkge1xyXG4gICAgICAgICAgaWYocGljdHVyZS5pZF9maWxlID09PSBpZF9maWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwaWN0dXJlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG59Il19