@bizdoc/core 1.8.16 → 1.8.20

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 (71) hide show
  1. package/assets/bizdoc-schema.json +1 -1
  2. package/assets/themes/brown.min.css +1 -1
  3. package/assets/themes/dark.min.css +1 -1
  4. package/assets/themes/default.min.css +1 -1
  5. package/assets/themes/green.min.css +1 -1
  6. package/assets/themes/indigo.min.css +1 -1
  7. package/bundles/bizdoc-core.umd.js +787 -613
  8. package/bundles/bizdoc-core.umd.js.map +1 -1
  9. package/esm2015/lib/admin/document-trace/document-trace.component.js +2 -3
  10. package/esm2015/lib/admin/form/workflow/workflow.component.js +35 -26
  11. package/esm2015/lib/app.component.js +2 -9
  12. package/esm2015/lib/browse/browse-items.component.js +13 -8
  13. package/esm2015/lib/browse/expanded-item/expanded-item.component.js +2 -2
  14. package/esm2015/lib/chat/chat-info.js +4 -2
  15. package/esm2015/lib/compose/trace/flow.component.js +23 -14
  16. package/esm2015/lib/compose/trace/trace.base.js +4 -7
  17. package/esm2015/lib/compose/trace/trace.component.js +178 -130
  18. package/esm2015/lib/compose/trace/trace.pane.component.js +5 -1
  19. package/esm2015/lib/core/layout/layout.component.js +25 -11
  20. package/esm2015/lib/core/models.js +3 -1
  21. package/esm2015/lib/core/slots/pane-ref.js +10 -7
  22. package/esm2015/lib/core/slots/router.service.js +1 -1
  23. package/esm2015/lib/core/slots/slots.component.js +29 -25
  24. package/esm2015/lib/core/tagging/edit-input.component.js +3 -3
  25. package/esm2015/lib/core/tagging/tagging.pipe.js +2 -2
  26. package/esm2015/lib/core/translate.service.js +13 -7
  27. package/esm2015/lib/cube/explore/explore-items.component.js +2 -2
  28. package/esm2015/lib/cube/pivot/pivot.component.js +7 -2
  29. package/esm2015/lib/dashboard/recents/recents.widget.js +20 -11
  30. package/esm2015/lib/home/home-base.component.js +6 -1
  31. package/esm2015/lib/modules/chart.module.js +35 -0
  32. package/esm2015/lib/{circular-gauge.module.js → modules/circular-gauge.module.js} +1 -1
  33. package/esm2015/lib/modules/diagram.module.js +34 -0
  34. package/esm2015/lib/modules/grid.module.js +23 -0
  35. package/esm2015/lib/modules/pivot.module.js +23 -0
  36. package/esm2015/lib/{schedule.module.js → modules/schedule.module.js} +1 -1
  37. package/esm2015/lib/modules/spreadsheet.module.js +28 -0
  38. package/esm2015/lib/options/options.component.js +6 -6
  39. package/esm2015/lib/shared.module.js +8 -12
  40. package/esm2015/lib/system.module.js +3 -3
  41. package/fesm2015/bizdoc-core.js +513 -421
  42. package/fesm2015/bizdoc-core.js.map +1 -1
  43. package/lib/admin/form/workflow/workflow.component.d.ts +2 -2
  44. package/lib/browse/browse-items.component.d.ts +1 -1
  45. package/lib/chat/chat-info.d.ts +1 -0
  46. package/lib/compose/trace/trace.component.d.ts +0 -9
  47. package/lib/core/models.d.ts +3 -1
  48. package/lib/core/slots/pane-ref.d.ts +5 -3
  49. package/lib/core/slots/router.service.d.ts +1 -0
  50. package/lib/core/slots/slots.component.d.ts +3 -1
  51. package/lib/core/tagging/edit-input.component.d.ts +1 -1
  52. package/lib/core/tagging/tagging.pipe.d.ts +1 -1
  53. package/lib/dashboard/recents/recents.widget.d.ts +1 -0
  54. package/lib/{chart.module.d.ts → modules/chart.module.d.ts} +0 -0
  55. package/lib/{circular-gauge.module.d.ts → modules/circular-gauge.module.d.ts} +0 -0
  56. package/lib/{diagram.module.d.ts → modules/diagram.module.d.ts} +0 -0
  57. package/lib/{grid.module.d.ts → modules/grid.module.d.ts} +0 -0
  58. package/lib/{pivot.module.d.ts → modules/pivot.module.d.ts} +0 -0
  59. package/lib/{schedule.module.d.ts → modules/schedule.module.d.ts} +0 -0
  60. package/lib/{spreadsheet.module.d.ts → modules/spreadsheet.module.d.ts} +0 -0
  61. package/lib/options/options.component.d.ts +1 -2
  62. package/lib/shared.module.d.ts +12 -13
  63. package/lib/system.module.d.ts +2 -2
  64. package/package.json +1 -3
  65. package/esm2015/lib/chart.module.js +0 -35
  66. package/esm2015/lib/diagram.module.js +0 -34
  67. package/esm2015/lib/grid.module.js +0 -23
  68. package/esm2015/lib/linear-gauge.module.js +0 -17
  69. package/esm2015/lib/pivot.module.js +0 -24
  70. package/esm2015/lib/spreadsheet.module.js +0 -28
  71. package/lib/linear-gauge.module.d.ts +0 -7
@@ -157,7 +157,7 @@ export class EditInputComponent {
157
157
  });
158
158
  });
159
159
  }
160
- _openChat(evt) {
160
+ _openMention(evt) {
161
161
  this._tag(UserTaggingComponent, evt, '@');
162
162
  }
163
163
  _openEmoji(evt) {
@@ -193,7 +193,7 @@ export class EditInputComponent {
193
193
  }
194
194
  }
195
195
  EditInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: EditInputComponent, deps: [{ token: i1.Popup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
196
- EditInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.12", type: EditInputComponent, selector: "bizdoc-edit-text", inputs: { placeholder: "placeholder", text: "text", image: "image", resource: "resource", disabled: "disabled", autofocus: "autofocus", cache: "cache" }, outputs: { change: "change", onOk: "ok", onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "_textElement", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "_rte", first: true, predicate: RichTextEditorComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openChat($event)\" [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>person_add</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"], components: [{ type: i2.RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: ["autoSaveOnIdle", "backgroundColor", "bulletFormatList", "cssClass", "editorMode", "enableAutoUrl", "enableHtmlEncode", "enableHtmlSanitizer", "enablePersistence", "enableResize", "enableRtl", "enableTabKey", "enableXhtml", "enabled", "enterKey", "fileManagerSettings", "floatingToolbarOffset", "fontColor", "fontFamily", "fontSize", "format", "formatter", "height", "htmlAttributes", "iframeSettings", "inlineMode", "insertImageSettings", "keyConfig", "locale", "maxLength", "numberFormatList", "pasteCleanupSettings", "placeholder", "quickToolbarSettings", "readonly", "saveInterval", "shiftEnterKey", "showCharCount", "tableSettings", "toolbarSettings", "undoRedoSteps", "undoRedoTimer", "value", "valueTemplate", "width"], outputs: ["actionBegin", "actionComplete", "afterImageDelete", "afterPasteCleanup", "beforeDialogClose", "beforeDialogOpen", "beforeImageDrop", "beforeImageUpload", "beforePasteCleanup", "beforeQuickToolbarOpen", "beforeSanitizeHtml", "blur", "change", "created", "destroyed", "dialogClose", "dialogOpen", "focus", "imageRemoving", "imageSelected", "imageUploadFailed", "imageUploadSuccess", "imageUploading", "quickToolbarClose", "quickToolbarOpen", "resizeStart", "resizeStop", "resizing", "toolbarClick", "toolbarStatusUpdate", "updatedToolbarStatus", "valueChange"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i9.TaggingDirective, selector: "[bizdocTagging]", inputs: ["bizdocTagging"], outputs: ["bizdocTaggingChange"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i11.TranslatePipe } });
196
+ EditInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.12", type: EditInputComponent, selector: "bizdoc-edit-text", inputs: { placeholder: "placeholder", text: "text", image: "image", resource: "resource", disabled: "disabled", autofocus: "autofocus", cache: "cache" }, outputs: { change: "change", onOk: "ok", onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "_textElement", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "_rte", first: true, predicate: RichTextEditorComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>person_add</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"], components: [{ type: i2.RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: ["autoSaveOnIdle", "backgroundColor", "bulletFormatList", "cssClass", "editorMode", "enableAutoUrl", "enableHtmlEncode", "enableHtmlSanitizer", "enablePersistence", "enableResize", "enableRtl", "enableTabKey", "enableXhtml", "enabled", "enterKey", "fileManagerSettings", "floatingToolbarOffset", "fontColor", "fontFamily", "fontSize", "format", "formatter", "height", "htmlAttributes", "iframeSettings", "inlineMode", "insertImageSettings", "keyConfig", "locale", "maxLength", "numberFormatList", "pasteCleanupSettings", "placeholder", "quickToolbarSettings", "readonly", "saveInterval", "shiftEnterKey", "showCharCount", "tableSettings", "toolbarSettings", "undoRedoSteps", "undoRedoTimer", "value", "valueTemplate", "width"], outputs: ["actionBegin", "actionComplete", "afterImageDelete", "afterPasteCleanup", "beforeDialogClose", "beforeDialogOpen", "beforeImageDrop", "beforeImageUpload", "beforePasteCleanup", "beforeQuickToolbarOpen", "beforeSanitizeHtml", "blur", "change", "created", "destroyed", "dialogClose", "dialogOpen", "focus", "imageRemoving", "imageSelected", "imageUploadFailed", "imageUploadSuccess", "imageUploading", "quickToolbarClose", "quickToolbarOpen", "resizeStart", "resizeStop", "resizing", "toolbarClick", "toolbarStatusUpdate", "updatedToolbarStatus", "valueChange"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8.MatTextareaAutosize, selector: "textarea[mat-autosize], textarea[matTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "matAutosizeMinRows", "matAutosizeMaxRows", "mat-autosize", "matTextareaAutosize"], exportAs: ["matTextareaAutosize"] }, { type: i9.TaggingDirective, selector: "[bizdocTagging]", inputs: ["bizdocTagging"], outputs: ["bizdocTaggingChange"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i11.TranslatePipe } });
197
197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: EditInputComponent, decorators: [{
198
198
  type: Component,
199
199
  args: [{
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
233
233
  type: ViewChild,
234
234
  args: [RichTextEditorComponent]
235
235
  }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS90YWdnaW5nL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHOUQsT0FBTyxFQUFtQixVQUFVLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUssT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFdkQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQztBQU9yQyxNQUFNLE9BQU8sa0JBQWtCO0lBdUQ3QixZQUFvQixNQUFhLEVBQ3ZCLEdBQXNCO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZEdkIsb0JBQWUsR0FBRztZQUN6QixLQUFLLEVB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QUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOztnSEF0TFUsa0JBQWtCO29HQUFsQixrQkFBa0IsZ2FBc0RsQix1QkFBdUIsZ0RDM0VwQyw2NEVBeUNBOzRGRHBCYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDOzRIQWNVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUssSUFBSTtzQkFEZCxLQUFLO2dCQU9LLEtBQUs7c0JBRGYsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBSWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFDZ0IsSUFBSTtzQkFBMUIsTUFBTTt1QkFBQyxJQUFJO2dCQUNjLE9BQU87c0JBQWhDLE1BQU07dUJBQUMsT0FBTztnQkFDVSxNQUFNO3NCQUE5QixNQUFNO3VCQUFDLE1BQU07Z0JBQ1MsWUFBWTtzQkFBbEMsU0FBUzt1QkFBQyxVQUFVO2dCQUNlLElBQUk7c0JBQXZDLFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRW1vamlEYXRhIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQvbmd4LWVtb2ppJztcclxuaW1wb3J0IHsgQ2hhbmdlRXZlbnRBcmdzLCBIdG1sRWRpdG9yLCBSaWNoVGV4dEVkaXRvciwgUmljaFRleHRFZGl0b3JDb21wb25lbnQsIFRvb2xiYXIsIFRvb2xiYXJTZXR0aW5nc01vZGVsLCBUb29sYmFyVHlwZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXJpY2h0ZXh0ZWRpdG9yJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL3VzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ2dpbmdDb21wb25lbnRCYXNlIH0gZnJvbSAnLi90YWdnaW5nLmNvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgRW1vamlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS5jb21wb25lbnQnO1xyXG5cclxuUmljaFRleHRFZGl0b3IuSW5qZWN0KFRvb2xiYXIsIEh0bWxFZGl0b3IpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEhUTUxfRVhQID0gLzxbXFwvXFx3XSs+L2c7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1lZGl0LXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHJlYWRvbmx5IHRvb2xiYXJTZXR0aW5ncyA9IHtcclxuICAgIGl0ZW1zOiBbJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2VUaHJvdWdoJyxcclxuICAgICAgJ3wnLFxyXG4gICAgICAnRm9ybWF0cycsICdBbGlnbm1lbnRzJywgJ09yZGVyZWRMaXN0JywgJ1Vub3JkZXJlZExpc3QnLFxyXG4gICAgICAnT3V0ZGVudCcsICdJbmRlbnQnXSxcclxuICAgIHR5cGU6IFRvb2xiYXJUeXBlLk11bHRpUm93XHJcbiAgfSBhcyBUb29sYmFyU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF90ZXh0OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIF9vcmlnaW5hbFRleHQ6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0O1xyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRIaW50XScpIGhpbnQ/OiBOZ1RlbXBsYXRlO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRMYWJlbF0nKSBsYWJlbD86IE5nVGVtcGxhdGU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm1vZGUgPSB2YWx1ZSAmJiBIVE1MX0VYUC50ZXN0KHZhbHVlKSA/ICdodG1sJyA6ICd0ZXh0J1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxJbWFnZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgbW9kZTogJ2h0bWwnIHwgJ3RleHQnID0gJ3RleHQnO1xyXG4gIHByaXZhdGUgX3Jlc291cmNlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2UoKTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJlc291cmNlKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSkge1xyXG4gICAgdGhpcy5fcmVzb3VyY2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXV0b2ZvY3VzOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgYXV0b2ZvY3VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9mb2N1cztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGF1dG9mb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYXV0b2ZvY3VzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBjYWNoZTogc3RyaW5nO1xyXG4gIF9pbWFnZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsSW1hZ2U6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgnb2snKSByZWFkb25seSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0VGV4dEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoJ2ZvY3VzJykgcmVhZG9ubHkgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdibHVyJykgcmVhZG9ubHkgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRBcmVhJykgX3RleHRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoUmljaFRleHRFZGl0b3JDb21wb25lbnQpIF9ydGU6IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3RleHQpIHtcclxuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ2h0bWwnKVxyXG4gICAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9IHRoaXMuX3RleHQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5fdGV4dDtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0b2ZvY3VzICYmIHNldFRpbWVvdXQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgX2tleShldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldnQuY2FuY2VsQnViYmxlKSByZXR1cm47XHJcbiAgICBpZiAoZXZ0LndoaWNoID09PSBFTlRFUiAmJiAhZXZ0LnNoaWZ0S2V5KSB7XHJcbiAgICAgIHRoaXMuX3N1Ym1pdCgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2dC53aGljaCA9PT0gRVNDQVBFKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGV4dCA9IHRoaXMubW9kZSA9PT0gJ3RleHQnID9cclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50cmltKClcclxuICAgICAgOlxyXG4gICAgICB0aGlzLl9ydGUudmFsdWUudHJpbSgpO1xyXG5cclxuICAgIGlmICgodGV4dCAmJiB0ZXh0Lmxlbmd0aCAmJiB0ZXh0ICE9PSB0aGlzLl9vcmlnaW5hbFRleHQpIHx8XHJcbiAgICAgICh0aGlzLl9vcmlnaW5hbEltYWdlICYmIHRoaXMuX2ltYWdlICE9PSB0aGlzLl9vcmlnaW5hbEltYWdlKSlcclxuICAgICAgdGhpcy5vbk9rLmVtaXQoeyB0ZXh0LCByZXNvdXJjZTogdGhpcy5fcmVzb3VyY2UsIGltYWdlOiB0aGlzLl9pbWFnZSB9KTtcclxuICB9XHJcbiAgX3RleHRDaGFuZ2UoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gKGV2dC5zcmNFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl90ZXh0KTtcclxuICB9XHJcbiAgX2h0bWxDaGFuZ2UoZXZ0OiBDaGFuZ2VFdmVudEFyZ3MpIHtcclxuICAgIHRoaXMuX3RleHQgPSBldnQudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3RleHQpO1xyXG4gIH1cclxuICBfdG9nZ2xlSHRtbCgpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdodG1sJykge1xyXG4gICAgICBpZiAodGhpcy5fdGV4dCkgdGhpcy5fdGV4dCA9IHRoaXMuX3J0ZS5nZXRUZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZSA9ICd0ZXh0JztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5tb2RlID0gJ2h0bWwnO1xyXG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBfb2soKSB7XHJcbiAgICB0aGlzLl9zdWJtaXQoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9pbWFnZSA9IG51bGw7XHJcbiAgICB0aGlzLl9yZXNvdXJjZSA9IG51bGw7XHJcbiAgICB0aGlzLl90ZXh0ID0gbnVsbDtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgc2V0VGltZW91dCgoKT0+IHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS5mb2N1c0luKCk7XHJcbiAgfVxyXG4gIF9vcGVuRG9jdW1lbnQoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl90YWcoRG9jdW1lbnRUYWdnaW5nQ29tcG9uZW50LCBldnQsICcjJyk7XHJcbiAgfVxyXG4gIF90YWcoY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRhZ2dpbmdDb21wb25lbnRCYXNlPGFueT4+LCBldnQ6IE1vdXNlRXZlbnQsIHByZWZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwb3B1cFJlZiA9IHRoaXMuX3BvcHVwLm9wZW4oY29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnYWJvdmUnIH0pO1xyXG4gICAgcG9wdXBSZWYub3BlbmVkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgZS5vbkJpbmQoJycpO1xyXG4gICAgICBlLnNlbGVjdGVkLnBpcGUoKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBwcmVmaXggKyBlLmtleTtcclxuICAgICAgICBjb25zdCBhcmdzID0ge307XHJcbiAgICAgICAgYXJnc1tlLmtleV0gPSBlLnZhbHVlO1xyXG4gICAgICAgIGlmICghdGhpcy5yZXNvdXJjZSlcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBhcmdzO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZXNvdXJjZSwgYXJncyk7XHJcbiAgICAgICAgcG9wdXBSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIF9vcGVuQ2hhdChldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3RhZyhVc2VyVGFnZ2luZ0NvbXBvbmVudCwgZXZ0LCAnQCcpO1xyXG4gIH1cclxuICBfb3BlbkVtb2ppKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihFbW9qaUhvc3RDb21wb25lbnQsIGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdhYm92ZScgfSkuY2xvc2VkLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IEVtb2ppRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICs9IGUubmF0aXZlO1xyXG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIF9hZGRFbW9qaShldmVudCkge1xyXG4gICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBldmVudC5lbW9qaS5uYXRpdmU7XHJcbiAgfVxyXG4gIF9wYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmNsaXBib2FyZERhdGE7XHJcbiAgICBjb25zdCBtZSA9IHRoaXM7XHJcbiAgICBmb3IgKGxldCBpbmRleCBpbiBpdGVtcykge1xyXG4gICAgICBsZXQgaXRlbSA9IGl0ZW1zW2luZGV4XTtcclxuICAgICAgaWYgKGl0ZW0ua2luZCA9PT0gJ2ZpbGUnKSB7XHJcbiAgICAgICAgbGV0IGJsb2IgPSBpdGVtLmdldEFzRmlsZSgpO1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgICBtZS5faW1hZ2UgPSAocmVzdWx0IGFzIHN0cmluZykuc3Vic3RyKDIyKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9jbGVhckltYWdlKCkge1xyXG4gICAgdGhpcy5faW1hZ2UgPSBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFZGl0VGV4dEV2ZW50IHtcclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2h0bWwnXCI+XHJcbiAgICAgIDxlanMtcmljaHRleHRlZGl0b3IgW3ZhbHVlXT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiX2h0bWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2xiYXJTZXR0aW5nc109XCJ0b29sYmFyU2V0dGluZ3NcIj48L2Vqcy1yaWNodGV4dGVkaXRvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cIm5ldmVyXCIgZnhGbGV4PlxyXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgICAgICAgIFsoYml6ZG9jVGFnZ2luZyldPVwicmVzb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfa2V5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoaW5wdXQpPVwiX3RleHRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgKHBhc3RlKT1cIl9wYXN0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRleHRhcmVhQXV0b3NpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRBdXRvc2l6ZU1heFJvd3NdPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyIHx8ICdUeXBlSGVyZScpIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIm9uQmx1ci5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAjdGV4dEFyZWE+PC90ZXh0YXJlYT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3BlbkRvY3VtZW50KCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRG9jdW1lbnQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5hcnRpY2xlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3BlbkNoYXQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidDaGF0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiIFtkaXNhYmxlZF09XCJtb2RlICE9PSAndGV4dCdcIj48bWF0LWljb24+cGVyc29uX2FkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX29wZW5FbW9qaSgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Vtb2ppJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiIFtkaXNhYmxlZF09XCJtb2RlICE9PSAndGV4dCdcIj48bWF0LWljb24+aW5zZXJ0X2Vtb3RpY29uPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfdG9nZ2xlSHRtbCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1RleHQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPnRleHRfZmllbGRzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb2soKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwidG9vbFwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+c2VuZDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJfaW1hZ2VcIj5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnKyBfaW1hZ2VcIiAvPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfY2xlYXJJbWFnZSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS90YWdnaW5nL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHOUQsT0FBTyxFQUFtQixVQUFVLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUssT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFdkQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQztBQU9yQyxNQUFNLE9BQU8sa0JBQWtCO0lBdUQ3QixZQUFvQixNQUFhLEVBQ3ZCLEdBQXNCO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZEdkIsb0JBQWUsR0FBRztZQUN6QixLQUFLLEVB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QUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOztnSEF0TFUsa0JBQWtCO29HQUFsQixrQkFBa0IsZ2FBc0RsQix1QkFBdUIsZ0RDM0VwQyxtNUVBeUNBOzRGRHBCYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDOzRIQWNVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUssSUFBSTtzQkFEZCxLQUFLO2dCQU9LLEtBQUs7c0JBRGYsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBSWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFDZ0IsSUFBSTtzQkFBMUIsTUFBTTt1QkFBQyxJQUFJO2dCQUNjLE9BQU87c0JBQWhDLE1BQU07dUJBQUMsT0FBTztnQkFDVSxNQUFNO3NCQUE5QixNQUFNO3VCQUFDLE1BQU07Z0JBQ1MsWUFBWTtzQkFBbEMsU0FBUzt1QkFBQyxVQUFVO2dCQUNlLElBQUk7c0JBQXZDLFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRW1vamlEYXRhIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQvbmd4LWVtb2ppJztcclxuaW1wb3J0IHsgQ2hhbmdlRXZlbnRBcmdzLCBIdG1sRWRpdG9yLCBSaWNoVGV4dEVkaXRvciwgUmljaFRleHRFZGl0b3JDb21wb25lbnQsIFRvb2xiYXIsIFRvb2xiYXJTZXR0aW5nc01vZGVsLCBUb29sYmFyVHlwZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXJpY2h0ZXh0ZWRpdG9yJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL3VzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ2dpbmdDb21wb25lbnRCYXNlIH0gZnJvbSAnLi90YWdnaW5nLmNvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgRW1vamlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS5jb21wb25lbnQnO1xyXG5cclxuUmljaFRleHRFZGl0b3IuSW5qZWN0KFRvb2xiYXIsIEh0bWxFZGl0b3IpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEhUTUxfRVhQID0gLzxbXFwvXFx3XSs+L2c7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1lZGl0LXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHJlYWRvbmx5IHRvb2xiYXJTZXR0aW5ncyA9IHtcclxuICAgIGl0ZW1zOiBbJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2VUaHJvdWdoJyxcclxuICAgICAgJ3wnLFxyXG4gICAgICAnRm9ybWF0cycsICdBbGlnbm1lbnRzJywgJ09yZGVyZWRMaXN0JywgJ1Vub3JkZXJlZExpc3QnLFxyXG4gICAgICAnT3V0ZGVudCcsICdJbmRlbnQnXSxcclxuICAgIHR5cGU6IFRvb2xiYXJUeXBlLk11bHRpUm93XHJcbiAgfSBhcyBUb29sYmFyU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF90ZXh0OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIF9vcmlnaW5hbFRleHQ6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0O1xyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRIaW50XScpIGhpbnQ/OiBOZ1RlbXBsYXRlO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRMYWJlbF0nKSBsYWJlbD86IE5nVGVtcGxhdGU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm1vZGUgPSB2YWx1ZSAmJiBIVE1MX0VYUC50ZXN0KHZhbHVlKSA/ICdodG1sJyA6ICd0ZXh0J1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxJbWFnZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgbW9kZTogJ2h0bWwnIHwgJ3RleHQnID0gJ3RleHQnO1xyXG4gIHByaXZhdGUgX3Jlc291cmNlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2UoKTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJlc291cmNlKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSkge1xyXG4gICAgdGhpcy5fcmVzb3VyY2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXV0b2ZvY3VzOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgYXV0b2ZvY3VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9mb2N1cztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGF1dG9mb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYXV0b2ZvY3VzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBjYWNoZTogc3RyaW5nO1xyXG4gIF9pbWFnZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsSW1hZ2U6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgnb2snKSByZWFkb25seSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0VGV4dEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoJ2ZvY3VzJykgcmVhZG9ubHkgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdibHVyJykgcmVhZG9ubHkgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRBcmVhJykgX3RleHRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoUmljaFRleHRFZGl0b3JDb21wb25lbnQpIF9ydGU6IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3RleHQpIHtcclxuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ2h0bWwnKVxyXG4gICAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9IHRoaXMuX3RleHQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5fdGV4dDtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0b2ZvY3VzICYmIHNldFRpbWVvdXQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgX2tleShldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldnQuY2FuY2VsQnViYmxlKSByZXR1cm47XHJcbiAgICBpZiAoZXZ0LndoaWNoID09PSBFTlRFUiAmJiAhZXZ0LnNoaWZ0S2V5KSB7XHJcbiAgICAgIHRoaXMuX3N1Ym1pdCgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2dC53aGljaCA9PT0gRVNDQVBFKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGV4dCA9IHRoaXMubW9kZSA9PT0gJ3RleHQnID9cclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50cmltKClcclxuICAgICAgOlxyXG4gICAgICB0aGlzLl9ydGUudmFsdWUudHJpbSgpO1xyXG5cclxuICAgIGlmICgodGV4dCAmJiB0ZXh0Lmxlbmd0aCAmJiB0ZXh0ICE9PSB0aGlzLl9vcmlnaW5hbFRleHQpIHx8XHJcbiAgICAgICh0aGlzLl9vcmlnaW5hbEltYWdlICYmIHRoaXMuX2ltYWdlICE9PSB0aGlzLl9vcmlnaW5hbEltYWdlKSlcclxuICAgICAgdGhpcy5vbk9rLmVtaXQoeyB0ZXh0LCByZXNvdXJjZTogdGhpcy5fcmVzb3VyY2UsIGltYWdlOiB0aGlzLl9pbWFnZSB9KTtcclxuICB9XHJcbiAgX3RleHRDaGFuZ2UoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gKGV2dC5zcmNFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl90ZXh0KTtcclxuICB9XHJcbiAgX2h0bWxDaGFuZ2UoZXZ0OiBDaGFuZ2VFdmVudEFyZ3MpIHtcclxuICAgIHRoaXMuX3RleHQgPSBldnQudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3RleHQpO1xyXG4gIH1cclxuICBfdG9nZ2xlSHRtbCgpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdodG1sJykge1xyXG4gICAgICBpZiAodGhpcy5fdGV4dCkgdGhpcy5fdGV4dCA9IHRoaXMuX3J0ZS5nZXRUZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZSA9ICd0ZXh0JztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5tb2RlID0gJ2h0bWwnO1xyXG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBfb2soKSB7XHJcbiAgICB0aGlzLl9zdWJtaXQoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9pbWFnZSA9IG51bGw7XHJcbiAgICB0aGlzLl9yZXNvdXJjZSA9IG51bGw7XHJcbiAgICB0aGlzLl90ZXh0ID0gbnVsbDtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgc2V0VGltZW91dCgoKT0+IHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS5mb2N1c0luKCk7XHJcbiAgfVxyXG4gIF9vcGVuRG9jdW1lbnQoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl90YWcoRG9jdW1lbnRUYWdnaW5nQ29tcG9uZW50LCBldnQsICcjJyk7XHJcbiAgfVxyXG4gIF90YWcoY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRhZ2dpbmdDb21wb25lbnRCYXNlPGFueT4+LCBldnQ6IE1vdXNlRXZlbnQsIHByZWZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwb3B1cFJlZiA9IHRoaXMuX3BvcHVwLm9wZW4oY29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnYWJvdmUnIH0pO1xyXG4gICAgcG9wdXBSZWYub3BlbmVkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgZS5vbkJpbmQoJycpO1xyXG4gICAgICBlLnNlbGVjdGVkLnBpcGUoKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBwcmVmaXggKyBlLmtleTtcclxuICAgICAgICBjb25zdCBhcmdzID0ge307XHJcbiAgICAgICAgYXJnc1tlLmtleV0gPSBlLnZhbHVlO1xyXG4gICAgICAgIGlmICghdGhpcy5yZXNvdXJjZSlcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBhcmdzO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZXNvdXJjZSwgYXJncyk7XHJcbiAgICAgICAgcG9wdXBSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIF9vcGVuTWVudGlvbihldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3RhZyhVc2VyVGFnZ2luZ0NvbXBvbmVudCwgZXZ0LCAnQCcpO1xyXG4gIH1cclxuICBfb3BlbkVtb2ppKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihFbW9qaUhvc3RDb21wb25lbnQsIGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdhYm92ZScgfSkuY2xvc2VkLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IEVtb2ppRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICs9IGUubmF0aXZlO1xyXG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIF9hZGRFbW9qaShldmVudCkge1xyXG4gICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBldmVudC5lbW9qaS5uYXRpdmU7XHJcbiAgfVxyXG4gIF9wYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmNsaXBib2FyZERhdGE7XHJcbiAgICBjb25zdCBtZSA9IHRoaXM7XHJcbiAgICBmb3IgKGxldCBpbmRleCBpbiBpdGVtcykge1xyXG4gICAgICBsZXQgaXRlbSA9IGl0ZW1zW2luZGV4XTtcclxuICAgICAgaWYgKGl0ZW0ua2luZCA9PT0gJ2ZpbGUnKSB7XHJcbiAgICAgICAgbGV0IGJsb2IgPSBpdGVtLmdldEFzRmlsZSgpO1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgICBtZS5faW1hZ2UgPSAocmVzdWx0IGFzIHN0cmluZykuc3Vic3RyKDIyKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9jbGVhckltYWdlKCkge1xyXG4gICAgdGhpcy5faW1hZ2UgPSBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFZGl0VGV4dEV2ZW50IHtcclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2h0bWwnXCI+XHJcbiAgICAgIDxlanMtcmljaHRleHRlZGl0b3IgW3ZhbHVlXT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiX2h0bWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2xiYXJTZXR0aW5nc109XCJ0b29sYmFyU2V0dGluZ3NcIj48L2Vqcy1yaWNodGV4dGVkaXRvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cIm5ldmVyXCIgZnhGbGV4PlxyXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXHJcbiAgICAgICAgICAgICAgICAgIFsoYml6ZG9jVGFnZ2luZyldPVwicmVzb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfa2V5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAoaW5wdXQpPVwiX3RleHRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgKHBhc3RlKT1cIl9wYXN0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRleHRhcmVhQXV0b3NpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRBdXRvc2l6ZU1heFJvd3NdPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKHBsYWNlaG9sZGVyIHx8ICdUeXBlSGVyZScpIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIm9uQmx1ci5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAjdGV4dEFyZWE+PC90ZXh0YXJlYT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3BlbkRvY3VtZW50KCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRG9jdW1lbnQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5hcnRpY2xlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3Blbk1lbnRpb24oJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidNZW50aW9uJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiIFtkaXNhYmxlZF09XCJtb2RlICE9PSAndGV4dCdcIj48bWF0LWljb24+cGVyc29uX2FkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX29wZW5FbW9qaSgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Vtb2ppJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiIFtkaXNhYmxlZF09XCJtb2RlICE9PSAndGV4dCdcIj48bWF0LWljb24+aW5zZXJ0X2Vtb3RpY29uPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfdG9nZ2xlSHRtbCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1RleHQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPnRleHRfZmllbGRzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb2soKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwidG9vbFwiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+c2VuZDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJfaW1hZ2VcIj5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnKyBfaW1hZ2VcIiAvPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfY2xlYXJJbWFnZSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -21,7 +21,7 @@ export class TaggingPipe {
21
21
  this._router = _router;
22
22
  this._me = this._session.userId;
23
23
  }
24
- transform(text, resource) {
24
+ transform(text, resource, group) {
25
25
  if (!text)
26
26
  return; /* image only */
27
27
  if (EMOJI_REGEX.test(text))
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImpo
69
69
  type: Pipe,
70
70
  args: [{ name: 'taggingHtml' }]
71
71
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.ChatInfo }, { type: i3.SessionService }, { type: i4.TranslateService }, { type: i5.RouterImpl }]; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU8zRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsRUFDdEMsVUFBVSxHQUFHLGlCQUFpQixFQUM5QixTQUFTLEdBQUcsbU5BQW1OLEVBQy9OLFVBQVUsR0FBRyx5QkFBeUIsRUFDdEMsUUFBUSxHQUFHLEtBQUssQ0FBQztBQUVuQixNQUFNLFNBQVMsR0FBRztJQUNoQixLQUFLLEVBQUUsVUFBVTtJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixJQUFJLEVBQUUsaUJBQWlCO0NBQ3hCLEVBQUUsV0FBVyxHQUFHLCtDQUErQyxDQUFDO0FBSWpFLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQW9CLFFBQWlDLEVBQVUsVUFBd0IsRUFDN0UsS0FBZSxFQUNmLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQW1CO1FBSlQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQzdFLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsUUFBaUM7UUFDdkQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLENBQUMsZ0JBQWdCO1FBQ25DLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxHQUFH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QUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7eUdBckRVLFdBQVc7dUdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUR2QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgRE9DVU1FTlRfUkVHRVggPSAvIyg/PGQ+W1xcd1xcLV0rKS9nLFxyXG4gIFVTRVJfUkVHRVggPSAvQCg/PHU+W1xcd1xcLV0rKS9nLFxyXG4gIFVSTF9SRUdFWCA9IC8oaHR0cHM/OlxcL1xcLyg/Ond3d1xcLnwoPyF3d3cpKVthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XVthLXpBLVowLTktXStbYS16QS1aMC05XVxcLlteXFxzXXsyLH18aHR0cHM/OlxcL1xcLyg/Ond3d1xcLnwoPyF3d3cpKVthLXpBLVowLTldK1xcLlteXFxzXXsyLH18d3d3XFwuW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfSkvLFxyXG4gIEJPTERfUkVHRVggPSAvXFwqKD88dz5cXHcrW1xcc1xcd1xcLV0qKVxcKi9nLFxyXG4gIE5FV19MSU5FID0gL1xcbi9nO1xyXG5cclxuY29uc3QgRU1PSklfTUFQID0ge1xyXG4gICcoeSknOiAndGh1bWJfdXAnLFxyXG4gICcobiknOiAndGh1bWJfZG93bicsXHJcbiAgJzwzJzogJ2Zhdm9yaXRlX2JvcmRlcidcclxufSwgRU1PSklfUkVHRVggPSAvKD88dXA+XFwoeVxcKSl8KD88ZG93bj5cXChuXFwpKXwoPzxmYXZvcml0ZT5cXDwzKS9nO1xyXG5cclxuXHJcbkBQaXBlKHsgbmFtZTogJ3RhZ2dpbmdIdG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgVGFnZ2luZ1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX21lOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBfY2hhdDogQ2hhdEluZm8sXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCkge1xyXG4gICAgdGhpcy5fbWUgPSB0aGlzLl9zZXNzaW9uLnVzZXJJZDtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh0ZXh0OiBzdHJpbmcsIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IFNhZmVIdG1sIHtcclxuICAgIGlmICghdGV4dCkgcmV0dXJuOyAvKiBpbWFnZSBvbmx5ICovXHJcbiAgICBpZiAoRU1PSklfUkVHRVgudGVzdCh0ZXh0KSlcclxuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShFTU9KSV9SRUdFWCwgKGVtb2ppKSA9PlxyXG4gICAgICAgIGA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+JHtFTU9KSV9NQVBbZW1vamldfTwvaT5gKTtcclxuICAgIGlmIChET0NVTUVOVF9SRUdFWC50ZXN0KHRleHQpKSB7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoRE9DVU1FTlRfUkVHRVgsIChlLCBudW1iZXIpID0+XHJcbiAgICAgICAgYDxhIGRhdGEtaWQ9XCIkeyhyZXNvdXJjZVtudW1iZXJdIGFzIG51bWJlcikuZW5jb2RlSWQoKX1cIj4ke2V9PC9hPmApO1xyXG4gICAgfVxyXG4gICAgaWYgKFVTRVJfUkVHRVgudGVzdCh0ZXh0KSkge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFVTRVJfUkVHRVgsIChfLCBuYW1lKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaWQgPSByZXNvdXJjZVtuYW1lXTtcclxuICAgICAgICByZXR1cm4gaWQgPT09IHRoaXMuX21lID8gJ0AnICsgdGhpcy5fdHJhbnNsYXRlLmdldCgnWW91JykgOlxyXG4gICAgICAgICAgdGhpcy5fY2hhdC5mb3JtYXQoeyBpZCwgbmFtZTogJ0AnICsgbmFtZSB9IGFzIGFueSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZShCT0xEX1JFR0VYLCAoXywgd29yZHMpID0+XHJcbiAgICAgIGA8ZW0+JHt3b3Jkc308L2VtPmApO1xyXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZShVUkxfUkVHRVgsIChfLCB1cmw6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBudXJsID0gdXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSA/IHVybCA6ICdodHRwOi8vJyArIHVybDtcclxuICAgICAgcmV0dXJuIGA8YSBocmVmPVwiJHtudXJsfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7dXJsfTwvYT5gO1xyXG4gICAgfSk7XHJcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKE5FV19MSU5FLCAnPGJyLz4nKTtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2NsaWNrLmJpbmQodGhpcykpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0ZXh0KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xpY2soZXZ0OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgY29uc3Qgc3JjID0gZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XHJcbiAgICBpZiAoc3JjLnRhZ05hbWUgPT09ICdBJykge1xyXG4gICAgICBjb25zdCBpZCA9IHNyYy5nZXRBdHRyaWJ1dGUoJ2RhdGEtaWQnKTtcclxuICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9kJywgaWRdLCB7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdXNlcklkID0gc3JjLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmZvJyk7XHJcbiAgICAgICAgdXNlcklkICYmIHRoaXMuX2NoYXQub3Blbih1c2VySWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fY2xpY2suYmluZCh0aGlzKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU8zRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsRUFDdEMsVUFBVSxHQUFHLGlCQUFpQixFQUM5QixTQUFTLEdBQUcsbU5BQW1OLEVBQy9OLFVBQVUsR0FBRyx5QkFBeUIsRUFDdEMsUUFBUSxHQUFHLEtBQUssQ0FBQztBQUVuQixNQUFNLFNBQVMsR0FBRztJQUNoQixLQUFLLEVBQUUsVUFBVTtJQUNqQixLQUFLLEVBQUUsWUFBWTtJQUNuQixJQUFJLEVBQUUsaUJBQWlCO0NBQ3hCLEVBQUUsV0FBVyxHQUFHLCtDQUErQyxDQUFDO0FBSWpFLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQW9CLFFBQWlDLEVBQVUsVUFBd0IsRUFDN0UsS0FBZSxFQUNmLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQW1CO1FBSlQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQzdFLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsUUFBaUMsRUFBRSxLQUFjO1FBQ3ZFLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLGdCQUFnQjtRQUNuQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3hC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QU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7O3lHQXJEVSxXQUFXO3VHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IERPQ1VNRU5UX1JFR0VYID0gLyMoPzxkPltcXHdcXC1dKykvZyxcclxuICBVU0VSX1JFR0VYID0gL0AoPzx1PltcXHdcXC1dKykvZyxcclxuICBVUkxfUkVHRVggPSAvKGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XVthLXpBLVowLTktXStbYS16QS1aMC05XVxcLlteXFxzXXsyLH18d3d3XFwuW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XStcXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldK1xcLlteXFxzXXsyLH0pLyxcclxuICBCT0xEX1JFR0VYID0gL1xcKig/PHc+XFx3K1tcXHNcXHdcXC1dKilcXCovZyxcclxuICBORVdfTElORSA9IC9cXG4vZztcclxuXHJcbmNvbnN0IEVNT0pJX01BUCA9IHtcclxuICAnKHkpJzogJ3RodW1iX3VwJyxcclxuICAnKG4pJzogJ3RodW1iX2Rvd24nLFxyXG4gICc8Myc6ICdmYXZvcml0ZV9ib3JkZXInXHJcbn0sIEVNT0pJX1JFR0VYID0gLyg/PHVwPlxcKHlcXCkpfCg/PGRvd24+XFwoblxcKSl8KD88ZmF2b3JpdGU+XFw8MykvZztcclxuXHJcblxyXG5AUGlwZSh7IG5hbWU6ICd0YWdnaW5nSHRtbCcgfSlcclxuZXhwb3J0IGNsYXNzIFRhZ2dpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9tZTogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2NoYXQ6IENoYXRJbmZvLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwpIHtcclxuICAgIHRoaXMuX21lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQ7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odGV4dDogc3RyaW5nLCByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sIGdyb3VwPzogc3RyaW5nKTogU2FmZUh0bWwge1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm47IC8qIGltYWdlIG9ubHkgKi9cclxuICAgIGlmIChFTU9KSV9SRUdFWC50ZXN0KHRleHQpKVxyXG4gICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKEVNT0pJX1JFR0VYLCAoZW1vamkpID0+XHJcbiAgICAgICAgYDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj4ke0VNT0pJX01BUFtlbW9qaV19PC9pPmApO1xyXG4gICAgaWYgKERPQ1VNRU5UX1JFR0VYLnRlc3QodGV4dCkpIHtcclxuICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShET0NVTUVOVF9SRUdFWCwgKGUsIG51bWJlcikgPT5cclxuICAgICAgICBgPGEgZGF0YS1pZD1cIiR7KHJlc291cmNlW251bWJlcl0gYXMgbnVtYmVyKS5lbmNvZGVJZCgpfVwiPiR7ZX08L2E+YCk7XHJcbiAgICB9XHJcbiAgICBpZiAoVVNFUl9SRUdFWC50ZXN0KHRleHQpKSB7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoVVNFUl9SRUdFWCwgKF8sIG5hbWUpID0+IHtcclxuICAgICAgICBjb25zdCBpZCA9IHJlc291cmNlW25hbWVdO1xyXG4gICAgICAgIHJldHVybiBpZCA9PT0gdGhpcy5fbWUgPyAnQCcgKyB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZb3UnKSA6XHJcbiAgICAgICAgICB0aGlzLl9jaGF0LmZvcm1hdCh7IGlkLCBuYW1lOiAnQCcgKyBuYW1lIH0gYXMgYW55KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKEJPTERfUkVHRVgsIChfLCB3b3JkcykgPT5cclxuICAgICAgYDxlbT4ke3dvcmRzfTwvZW0+YCk7XHJcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFVSTF9SRUdFWCwgKF8sIHVybDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51cmwgPSB1cmwuc3RhcnRzV2l0aCgnaHR0cCcpID8gdXJsIDogJ2h0dHA6Ly8nICsgdXJsO1xyXG4gICAgICByZXR1cm4gYDxhIGhyZWY9XCIke251cmx9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+JHt1cmx9PC9hPmA7XHJcbiAgICB9KTtcclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoTkVXX0xJTkUsICc8YnIvPicpO1xyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fY2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICByZXR1cm4gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRleHQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jbGljayhldnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBzcmMgPSBldnQuc3JjRWxlbWVudCBhcyBIVE1MQW5jaG9yRWxlbWVudDtcclxuICAgIGlmIChzcmMudGFnTmFtZSA9PT0gJ0EnKSB7XHJcbiAgICAgIGNvbnN0IGlkID0gc3JjLmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpO1xyXG4gICAgICBpZiAoaWQpIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCBpZF0sIHtcclxuICAgICAgICB9KTtcclxuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zdCB1c2VySWQgPSBzcmMuZ2V0QXR0cmlidXRlKCdkYXRhLWluZm8nKTtcclxuICAgICAgICB1c2VySWQgJiYgdGhpcy5fY2hhdC5vcGVuKHVzZXJJZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9jbGljay5iaW5kKHRoaXMpKTtcclxuICB9XHJcbn1cclxuIl19