@skyux/text-editor 11.0.0-alpha.13 → 11.0.0-alpha.14
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.
- package/documentation.json +146 -146
- package/esm2022/lib/modules/text-editor/menubar/text-editor-menubar.component.mjs +3 -3
- package/esm2022/lib/modules/text-editor/text-editor.component.mjs +4 -4
- package/esm2022/lib/modules/text-editor/toolbar/text-editor-toolbar.component.mjs +3 -3
- package/esm2022/lib/modules/text-editor/url-modal/text-editor-url-modal.component.mjs +3 -5
- package/fesm2022/skyux-text-editor.mjs +10 -11
- package/fesm2022/skyux-text-editor.mjs.map +1 -1
- package/package.json +13 -13
|
@@ -190,7 +190,7 @@ export class SkyTextEditorToolbarComponent {
|
|
|
190
190
|
return undefined;
|
|
191
191
|
}
|
|
192
192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyTextEditorToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyTextEditorToolbarComponent, isStandalone: true, selector: "sky-text-editor-toolbar", inputs: { editorFocusStream: "editorFocusStream", fontList: "fontList", fontSizeList: "fontSizeList", toolbarActions: "toolbarActions", linkWindowOptions: "linkWindowOptions", styleState: "styleState", disabled: ["disabled", "disabled", booleanAttribute] }, ngImport: i0, template: "<sky-toolbar-item\n *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n>\n @switch (action) {\n @case ('font-family') {\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-size') {\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-style') {\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n />\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n />\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n />\n </div>\n }\n @case ('color') {\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #colorPicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n pickerButtonIcon=\"highlighter\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #backColorPicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n pickerButtonIcon=\"text-color\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n }\n @case ('list') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon icon=\"bullet-list\" />\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon icon=\"number-list\" />\n </button>\n </div>\n }\n @case ('alignment') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon icon=\"align-left-text\" />\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon icon=\"center-text\" />\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon icon=\"align-right-text\" />\n </button>\n </div>\n }\n @case ('indentation') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon icon=\"outdent\" />\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon icon=\"indent\" />\n </button>\n </div>\n }\n @case ('undo-redo') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon icon=\"undo\" />\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon icon=\"redo\" />\n </button>\n </div>\n }\n @case ('link') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon icon=\"link\" />\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n type=\"button\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon icon=\"unlink\" />\n </button>\n </div>\n }\n }\n</sky-toolbar-item>\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i3.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "ngmodule", type: SkyColorpickerModule }, { kind: "component", type: i4.λ1, selector: "sky-colorpicker", inputs: ["pickerButtonIcon", "pickerButtonIconType", "label", "labelledBy", "labelText", "labelHidden", "helpKey", "helpPopoverContent", "helpPopoverTitle", "hintText", "stacked", "messageStream", "showResetButton"], outputs: ["selectedColorChanged", "selectedColorApplied"] }, { kind: "directive", type: i4.λ2, selector: "[skyColorpickerInput]", inputs: ["skyColorpickerInput", "initialColor", "id", "returnFormat", "outputFormat", "presetColors", "alphaChannel", "allowTransparency"] }, { kind: "ngmodule", type: SkyDropdownModule }, { kind: "component", type: i5.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i5.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i5.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i5.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i6.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i7.λ39, selector: "sky-toolbar-item" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyTextEditorToolbarComponent, isStandalone: true, selector: "sky-text-editor-toolbar", inputs: { editorFocusStream: "editorFocusStream", fontList: "fontList", fontSizeList: "fontSizeList", toolbarActions: "toolbarActions", linkWindowOptions: "linkWindowOptions", styleState: "styleState", disabled: ["disabled", "disabled", booleanAttribute] }, ngImport: i0, template: "@for (action of toolbarActions; track action) {\n <sky-toolbar-item\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n >\n @switch (action) {\n @case ('font-family') {\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (fontModel of fontList; track fontModel) {\n <sky-dropdown-item>\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-size') {\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (size of fontSizeList; track size) {\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-style') {\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n />\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n />\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n />\n </div>\n }\n @case ('color') {\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #colorPicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n pickerButtonIcon=\"highlighter\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #backColorPicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n pickerButtonIcon=\"text-color\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n }\n @case ('list') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon icon=\"bullet-list\" />\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon icon=\"number-list\" />\n </button>\n </div>\n }\n @case ('alignment') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon icon=\"align-left-text\" />\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon icon=\"center-text\" />\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon icon=\"align-right-text\" />\n </button>\n </div>\n }\n @case ('indentation') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon icon=\"outdent\" />\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon icon=\"indent\" />\n </button>\n </div>\n }\n @case ('undo-redo') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon icon=\"undo\" />\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon icon=\"redo\" />\n </button>\n </div>\n }\n @case ('link') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon icon=\"link\" />\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n type=\"button\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon icon=\"unlink\" />\n </button>\n </div>\n }\n }\n </sky-toolbar-item>\n}\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i3.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "ngmodule", type: SkyColorpickerModule }, { kind: "component", type: i4.λ1, selector: "sky-colorpicker", inputs: ["pickerButtonIcon", "pickerButtonIconType", "label", "labelledBy", "labelText", "labelHidden", "helpKey", "helpPopoverContent", "helpPopoverTitle", "hintText", "stacked", "messageStream", "showResetButton"], outputs: ["selectedColorChanged", "selectedColorApplied"] }, { kind: "directive", type: i4.λ2, selector: "[skyColorpickerInput]", inputs: ["skyColorpickerInput", "initialColor", "id", "returnFormat", "outputFormat", "presetColors", "alphaChannel", "allowTransparency"] }, { kind: "ngmodule", type: SkyDropdownModule }, { kind: "component", type: i5.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i5.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i5.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i5.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i6.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i7.λ39, selector: "sky-toolbar-item" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
194
194
|
}
|
|
195
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyTextEditorToolbarComponent, decorators: [{
|
|
196
196
|
type: Component,
|
|
@@ -203,7 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
203
203
|
SkyIconModule,
|
|
204
204
|
SkyThemeModule,
|
|
205
205
|
SkyToolbarModule,
|
|
206
|
-
], template: "<sky-toolbar-item\n *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n>\n @switch (action) {\n @case ('font-family') {\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-size') {\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-style') {\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n />\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n />\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n />\n </div>\n }\n @case ('color') {\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #colorPicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n pickerButtonIcon=\"highlighter\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #backColorPicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n pickerButtonIcon=\"text-color\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n }\n @case ('list') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon icon=\"bullet-list\" />\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon icon=\"number-list\" />\n </button>\n </div>\n }\n @case ('alignment') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon icon=\"align-left-text\" />\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon icon=\"center-text\" />\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon icon=\"align-right-text\" />\n </button>\n </div>\n }\n @case ('indentation') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon icon=\"outdent\" />\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon icon=\"indent\" />\n </button>\n </div>\n }\n @case ('undo-redo') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon icon=\"undo\" />\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon icon=\"redo\" />\n </button>\n </div>\n }\n @case ('link') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon icon=\"link\" />\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n type=\"button\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon icon=\"unlink\" />\n </button>\n </div>\n }\n }\n</sky-toolbar-item>\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"] }]
|
|
206
|
+
], template: "@for (action of toolbarActions; track action) {\n <sky-toolbar-item\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n >\n @switch (action) {\n @case ('font-family') {\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (fontModel of fontList; track fontModel) {\n <sky-dropdown-item>\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-size') {\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (size of fontSizeList; track size) {\n <sky-dropdown-item>\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n }\n @case ('font-style') {\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n />\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n />\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n />\n </div>\n }\n @case ('color') {\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #colorPicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n pickerButtonIcon=\"highlighter\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n #backColorPicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n pickerButtonIcon=\"text-color\"\n pickerButtonIconType=\"skyux\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n }\n @case ('list') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon icon=\"bullet-list\" />\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon icon=\"number-list\" />\n </button>\n </div>\n }\n @case ('alignment') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon icon=\"align-left-text\" />\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon icon=\"center-text\" />\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon icon=\"align-right-text\" />\n </button>\n </div>\n }\n @case ('indentation') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon icon=\"outdent\" />\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon icon=\"indent\" />\n </button>\n </div>\n }\n @case ('undo-redo') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon icon=\"undo\" />\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon icon=\"redo\" />\n </button>\n </div>\n }\n @case ('link') {\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n type=\"button\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon icon=\"link\" />\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n type=\"button\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon icon=\"unlink\" />\n </button>\n </div>\n }\n }\n </sky-toolbar-item>\n}\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"] }]
|
|
207
207
|
}], propDecorators: { editorFocusStream: [{
|
|
208
208
|
type: Input
|
|
209
209
|
}], fontList: [{
|
|
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
220
220
|
type: Input,
|
|
221
221
|
args: [{ transform: booleanAttribute }]
|
|
222
222
|
}] } });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3Rvb2xiYXIvdGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3Rvb2xiYXIvdGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLG9CQUFvQixHQUVyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGlCQUFpQixHQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBZ0Is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Qjs4QkFJVSxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBV0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUssVUFBVTtzQkFEcEIsS0FBSztnQkFpQkMsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlck1lc3NhZ2UsXG4gIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUsXG4gIFNreUNvbG9ycGlja2VyTW9kdWxlLFxuICBTa3lDb2xvcnBpY2tlck91dHB1dCxcbn0gZnJvbSAnQHNreXV4L2NvbG9ycGlja2VyJztcbmltcG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncywgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lc3NhZ2UsXG4gIFNreURyb3Bkb3duTWVzc2FnZVR5cGUsXG4gIFNreURyb3Bkb3duTW9kdWxlLFxufSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU1RZTEVfU1RBVEVfREVGQVVMVFMgfSBmcm9tICcuLi9kZWZhdWx0cy9zdHlsZS1zdGF0ZS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZXh0LWVkaXRvci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEVkaXRvckZvbnQgfSBmcm9tICcuLi90eXBlcy9mb250LXN0YXRlJztcbmltcG9ydCB7IFNreVRleHRFZGl0b3JMaW5rV2luZG93T3B0aW9uc1R5cGUgfSBmcm9tICcuLi90eXBlcy9saW5rLXdpbmRvdy1vcHRpb25zLXR5cGUnO1xuaW1wb3J0IHsgU2t5VGV4dEVkaXRvclN0eWxlU3RhdGUgfSBmcm9tICcuLi90eXBlcy9zdHlsZS1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yVG9vbGJhckFjdGlvblR5cGUgfSBmcm9tICcuLi90eXBlcy90b29sYmFyLWFjdGlvbi10eXBlJztcbmltcG9ydCB7IFNreVVybE1vZGFsQ29udGV4dCB9IGZyb20gJy4uL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yVXJsTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi91cmwtbW9kYWwvdGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcmxUYXJnZXQgfSBmcm9tICcuLi91cmwtbW9kYWwvdGV4dC1lZGl0b3ItdXJsLXRhcmdldCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWVkaXRvci10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWVkaXRvci10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreUNvbG9ycGlja2VyTW9kdWxlLFxuICAgIFNreURyb3Bkb3duTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEVkaXRvclRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVkaXRvckZvY3VzU3RyZWFtKHZhbHVlOiBTdWJqZWN0PHZvaWQ+KSB7XG4gICAgdGhpcy4jX2VkaXRvckZvY3VzU3RyZWFtID0gdmFsdWU7XG4gICAgdGhpcy4jc3Vic2NyaWJlRWRpdG9yRm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdG9yRm9jdXNTdHJlYW0oKTogU3ViamVjdDx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19lZGl0b3JGb2N1c1N0cmVhbTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb250TGlzdDogU2t5VGV4dEVkaXRvckZvbnRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb250U2l6ZUxpc3Q6IG51bWJlcltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRvb2xiYXJBY3Rpb25zOiBTa3lUZXh0RWRpdG9yVG9vbGJhckFjdGlvblR5cGVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaW5rV2luZG93T3B0aW9uczogU2t5VGV4dEVkaXRvckxpbmtXaW5kb3dPcHRpb25zVHlwZVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdHlsZVN0YXRlKHZhbHVlOiBTa3lUZXh0RWRpdG9yU3R5bGVTdGF0ZSkge1xuICAgIHRoaXMuI19zdHlsZVN0YXRlID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlLmZvbnQgIT09IHRoaXMuc3R5bGVTdGF0ZUZvbnROYW1lKSB7XG4gICAgICBpZiAodmFsdWUuZm9udCA9PT0gJ1wiQmxhY2tiYXVkIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYnKSB7XG4gICAgICAgIHRoaXMuc3R5bGVTdGF0ZUZvbnROYW1lID0gdGhpcy4jZ2V0Rm9udE5hbWUoJ0JsYWNrYmF1ZCBTYW5zJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0eWxlU3RhdGVGb250TmFtZSA9IHRoaXMuI2dldEZvbnROYW1lKHZhbHVlLmZvbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3R5bGVTdGF0ZSgpOiBTa3lUZXh0RWRpdG9yU3R5bGVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuI19zdHlsZVN0YXRlO1xuICB9XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBiYWNrQ29sb3JwaWNrZXJTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lDb2xvcnBpY2tlck1lc3NhZ2U+KCk7XG4gIHB1YmxpYyBjb2xvcnBpY2tlclN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUNvbG9ycGlja2VyTWVzc2FnZT4oKTtcbiAgcHVibGljIGZvbnRQaWNrZXJTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lEcm9wZG93bk1lc3NhZ2U+KCk7XG4gIHB1YmxpYyBmb250U2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreURyb3Bkb3duTWVzc2FnZT4oKTtcbiAgcHVibGljIHN0eWxlU3RhdGVGb250TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNlZGl0b3JGb2N1c1N0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19lZGl0b3JGb2N1c1N0cmVhbSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNfc3R5bGVTdGF0ZSA9IFNUWUxFX1NUQVRFX0RFRkFVTFRTO1xuXG4gIHJlYWRvbmx5ICNhZGFwdGVyU2VydmljZSA9IGluamVjdChTa3lUZXh0RWRpdG9yQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjbW9kYWxTZXJ2aWNlID0gaW5qZWN0KFNreU1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3N1YnNjcmliZUVkaXRvckZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgZXhlY0NvbW1hbmQoY29tbWFuZDogc3RyaW5nLCB2YWx1ZSA9ICcnKTogdm9pZCB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UuZXhlY0NvbW1hbmQoe1xuICAgICAgY29tbWFuZDogY29tbWFuZCxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnN0eWxlU3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0eWxlU3RhdGUsXG4gICAgICAuLi50aGlzLiNhZGFwdGVyU2VydmljZS5nZXRTdHlsZVN0YXRlKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVGb250U3R5bGUoXG4gICAgY3VycmVudFN0YXRlOiBib29sZWFuLFxuICAgIG5ld1N0YXRlOiBib29sZWFuLFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGN1cnJlbnRTdGF0ZSAhPT0gbmV3U3RhdGUpIHtcbiAgICAgIHRoaXMuZXhlY0NvbW1hbmQoY29tbWFuZCk7XG4gICAgfVxuXG4gICAgLy8gRm9yY2Ugc2t5LWNoZWNrYm94IHRvIHNob3cgY2hhbmdlcyBvbiB1c2VyJ3MgaW5pdGlhbCBjbGljay5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbGluaygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmlvclNlbGVjdGlvbiA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNhdmVTZWxlY3Rpb24oKTtcbiAgICBjb25zdCBjdXJyZW50TGluayA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldExpbmsoKTtcbiAgICBjb25zdCBpbnB1dE1vZGFsID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oU2t5VGV4dEVkaXRvclVybE1vZGFsQ29tcG9uZW50LCBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNreVVybE1vZGFsQ29udGV4dCxcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5VXJsTW9kYWxDb250ZXh0KCk7XG4gICAgICAgICAgY29udGV4dC51cmxSZXN1bHQgPSBjdXJyZW50TGluaztcbiAgICAgICAgICBjb250ZXh0LmxpbmtXaW5kb3dPcHRpb25zID0gdGhpcy5saW5rV2luZG93T3B0aW9ucztcblxuICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBpbnB1dE1vZGFsLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGlmIChyZXN1bHQucmVhc29uID09PSAnc2F2ZScgJiYgcHJpb3JTZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKGN1cnJlbnRMaW5rKSB7XG4gICAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0U2VsZWN0ZWRBbmNob3JUYWcoKTtcblxuICAgICAgICAgIGlmIChhbmNob3IpIHtcbiAgICAgICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNlbGVjdEVsZW1lbnQoYW5jaG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4ZWNDb21tYW5kKCd1bmxpbmsnKTtcbiAgICAgICAgaWYgKHJlc3VsdC5kYXRhLnRhcmdldCA9PT0gVXJsVGFyZ2V0Lk5vbmUpIHtcbiAgICAgICAgICAvLyBDdXJyZW50IHdpbmRvd1xuICAgICAgICAgIHRoaXMuZXhlY0NvbW1hbmQoJ2NyZWF0ZUxpbmsnLCByZXN1bHQuZGF0YS51cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5ldyBXaW5kb3dcbiAgICAgICAgICBjb25zdCBzVGV4dCA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldEN1cnJlbnRTZWxlY3Rpb24oKTtcbiAgICAgICAgICB0aGlzLmV4ZWNDb21tYW5kKFxuICAgICAgICAgICAgJ2luc2VydEhUTUwnLFxuICAgICAgICAgICAgJzxhIGhyZWY9XCInICtcbiAgICAgICAgICAgICAgcmVzdWx0LmRhdGEudXJsICtcbiAgICAgICAgICAgICAgJ1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj4nICtcbiAgICAgICAgICAgICAgc1RleHQgK1xuICAgICAgICAgICAgICAnPC9hPicsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVubGluaygpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2VsZWN0aW9uUmFuZ2UgPSB0aGlzLiNhZGFwdGVyU2VydmljZVxuICAgICAgLmdldEN1cnJlbnRTZWxlY3Rpb24oKVxuICAgICAgPy5nZXRSYW5nZUF0KDApO1xuICAgIGlmIChjdXJyZW50U2VsZWN0aW9uUmFuZ2UgJiYgY3VycmVudFNlbGVjdGlvblJhbmdlLnRvU3RyaW5nKCkubGVuZ3RoIDw9IDApIHtcbiAgICAgIGNvbnN0IGFuY2hvclRhZyA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFNlbGVjdGVkQW5jaG9yVGFnKCk7XG4gICAgICBpZiAoYW5jaG9yVGFnKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNlbGVjdEVsZW1lbnQoYW5jaG9yVGFnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5leGVjQ29tbWFuZCgndW5saW5rJyk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRm9udFNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0Rm9udFNpemUoc2l6ZSk7XG4gICAgdGhpcy5zdHlsZVN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdHlsZVN0YXRlLFxuICAgICAgLi4udGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0U3R5bGVTdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25Db2xvcnBpY2tlckNvbG9yQ2hhbmdlZChcbiAgICBjb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQsXG4gICAgaXNCYWNrZ3JvdW5kID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIGlmIChpc0JhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuZXhlY0NvbW1hbmQoJ2JhY2tDb2xvcicsIGNvbG9yLnJnYmFUZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5leGVjQ29tbWFuZCgnZm9yZUNvbG9yJywgY29sb3IuaGV4KTtcbiAgICB9XG4gIH1cblxuICAjc3Vic2NyaWJlRWRpdG9yRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy4jZWRpdG9yRm9jdXNTdHJlYW1TdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNlZGl0b3JGb2N1c1N0cmVhbVN1YiA9IHRoaXMuZWRpdG9yRm9jdXNTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0eWxlU3RhdGUgPSB7XG4gICAgICAgICAgLi4udGhpcy5zdHlsZVN0YXRlLFxuICAgICAgICAgIC4uLnRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFN0eWxlU3RhdGUoKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy4jY2xvc2VEcm9wZG93bnMoKTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICAjY2xvc2VEcm9wZG93bnMoKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlID0ge1xuICAgICAgdHlwZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICB9O1xuICAgIHRoaXMuY29sb3JwaWNrZXJTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICB0aGlzLmJhY2tDb2xvcnBpY2tlclN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICAgIHRoaXMuZm9udFBpY2tlclN0cmVhbS5uZXh0KHsgdHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSB9KTtcbiAgICB0aGlzLmZvbnRTaXplU3RyZWFtLm5leHQoeyB0eXBlOiBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlIH0pO1xuICB9XG5cbiAgI2dldEZvbnROYW1lKGZvbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3Qgc2t5VGV4dEVkaXRvckZvbnQgb2YgdGhpcy5mb250TGlzdCkge1xuICAgICAgaWYgKGZvbnROYW1lLnJlcGxhY2UoL1snXCJdKy9nLCAnJykgPT09IHNreVRleHRFZGl0b3JGb250Lm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHNreVRleHRFZGl0b3JGb250Lm5hbWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8c2t5LXRvb2xiYXItaXRlbVxuICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRvb2xiYXJBY3Rpb25zXCJcbiAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItdG9vbGJhci1hY3Rpb25cIlxuICBbbmdDbGFzc109XCInc2t5LXRleHQtZWRpdG9yLXRvb2xiYXItYWN0aW9uLScgKyBhY3Rpb25cIlxuPlxuICBAc3dpdGNoIChhY3Rpb24pIHtcbiAgICBAY2FzZSAoJ2ZvbnQtZmFtaWx5Jykge1xuICAgICAgPHNreS1kcm9wZG93blxuICAgICAgICBjbGFzcz1cInNreS10ZXh0LWVkaXRvci1mb250LXBpY2tlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtsYWJlbF09XCInRm9udDogJyArIHN0eWxlU3RhdGVGb250TmFtZVwiXG4gICAgICAgIFttZXNzYWdlU3RyZWFtXT1cImZvbnRQaWNrZXJTdHJlYW1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWRyb3Bkb3duLWJ1dHRvblxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICdmb250LWZhbWlseSc6IHN0eWxlU3RhdGUuZm9udFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgc3R5bGVTdGF0ZUZvbnROYW1lIH19XG4gICAgICAgIDwvc2t5LWRyb3Bkb3duLWJ1dHRvbj5cbiAgICAgICAgPHNreS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgIDxza3ktZHJvcGRvd24taXRlbSAqbmdGb3I9XCJsZXQgZm9udE1vZGVsIG9mIGZvbnRMaXN0XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgJ2ZvbnQtZmFtaWx5JzogZm9udE1vZGVsLnZhbHVlXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZXhlY0NvbW1hbmQoJ2ZvbnRuYW1lJywgZm9udE1vZGVsLm5hbWUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgZm9udE1vZGVsLm5hbWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgIDwvc2t5LWRyb3Bkb3duLW1lbnU+XG4gICAgICA8L3NreS1kcm9wZG93bj5cbiAgICB9XG4gICAgQGNhc2UgKCdmb250LXNpemUnKSB7XG4gICAgICA8c2t5LWRyb3Bkb3duXG4gICAgICAgIGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLWZvbnQtc2l6ZS1waWNrZXJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbbGFiZWxdPVwiJ0ZvbnQgc2l6ZTogJyArIHN0eWxlU3RhdGUuZm9udFNpemUgKyAncHgnXCJcbiAgICAgICAgW21lc3NhZ2VTdHJlYW1dPVwiZm9udFNpemVTdHJlYW1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWRyb3Bkb3duLWJ1dHRvblxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICdmb250LWZhbWlseSc6IHN0eWxlU3RhdGUuZm9udFNpemVcbiAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHN0eWxlU3RhdGUuZm9udFNpemUgKyAncHgnIH19XG4gICAgICAgIDwvc2t5LWRyb3Bkb3duLWJ1dHRvbj5cbiAgICAgICAgPHNreS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgIDxza3ktZHJvcGRvd24taXRlbSAqbmdGb3I9XCJsZXQgc2l6ZSBvZiBmb250U2l6ZUxpc3RcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjaGFuZ2VGb250U2l6ZShzaXplKVwiPlxuICAgICAgICAgICAgICB7eyBzaXplICsgJ3B4JyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktZHJvcGRvd24taXRlbT5cbiAgICAgICAgPC9za3ktZHJvcGRvd24tbWVudT5cbiAgICAgIDwvc2t5LWRyb3Bkb3duPlxuICAgIH1cbiAgICBAY2FzZSAoJ2ZvbnQtc3R5bGUnKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXN3aXRjaC1pY29uLWdyb3VwIHNreS10ZXh0LWVkaXRvci1mb250LXN0eWxlLXBpY2tlclwiPlxuICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgaWNvbj1cImJvbGRcIlxuICAgICAgICAgIGxhYmVsPVwiQm9sZFwiXG4gICAgICAgICAgdGl0bGU9XCJCb2xkXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUuYm9sZFN0YXRlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJcbiAgICAgICAgICAgIHRvZ2dsZUZvbnRTdHlsZShzdHlsZVN0YXRlLmJvbGRTdGF0ZSwgJGV2ZW50LCAnYm9sZCcpXG4gICAgICAgICAgXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgIGljb249XCJpdGFsaWNcIlxuICAgICAgICAgIGxhYmVsPVwiSXRhbGljaXplZFwiXG4gICAgICAgICAgdGl0bGU9XCJJdGFsaWNpemVkXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUuaXRhbGljU3RhdGVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIlxuICAgICAgICAgICAgdG9nZ2xlRm9udFN0eWxlKHN0eWxlU3RhdGUuaXRhbGljU3RhdGUsICRldmVudCwgJ2l0YWxpYycpXG4gICAgICAgICAgXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgIGljb249XCJ1bmRlcmxpbmVcIlxuICAgICAgICAgIGxhYmVsPVwiVW5kZXJsaW5lXCJcbiAgICAgICAgICB0aXRsZT1cIlVuZGVybGluZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJzdHlsZVN0YXRlLnVuZGVybGluZVN0YXRlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJcbiAgICAgICAgICAgIHRvZ2dsZUZvbnRTdHlsZShzdHlsZVN0YXRlLnVuZGVybGluZVN0YXRlLCAkZXZlbnQsICd1bmRlcmxpbmUnKVxuICAgICAgICAgIFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGNhc2UgKCdjb2xvcicpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItY29sb3JwaWNrZXItZ3JvdXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS10ZXh0LWVkaXRvci1jb2xvcnBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICA8c2t5LWNvbG9ycGlja2VyXG4gICAgICAgICAgICAjY29sb3JQaWNrZXJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLWZvbnQtY29sb3ItcGlja2VyXCJcbiAgICAgICAgICAgIGxhYmVsPVwiRm9udCBjb2xvclwiXG4gICAgICAgICAgICBwaWNrZXJCdXR0b25JY29uPVwiaGlnaGxpZ2h0ZXJcIlxuICAgICAgICAgICAgcGlja2VyQnV0dG9uSWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICBbbWVzc2FnZVN0cmVhbV09XCJjb2xvcnBpY2tlclN0cmVhbVwiXG4gICAgICAgICAgICBbc2hvd1Jlc2V0QnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZENvbG9yQ2hhbmdlZCk9XCJvbkNvbG9ycGlja2VyQ29sb3JDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9XCJoZXhcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFthbGxvd1RyYW5zcGFyZW5jeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUuZm9udENvbG9yXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VySW5wdXRdPVwiY29sb3JQaWNrZXJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1jb2xvcnBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItY29sb3JwaWNrZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgPHNreS1jb2xvcnBpY2tlclxuICAgICAgICAgICAgI2JhY2tDb2xvclBpY2tlclxuICAgICAgICAgICAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItYmFja2dyb3VuZC1jb2xvci1waWNrZXJcIlxuICAgICAgICAgICAgbGFiZWw9XCJCYWNrZ3JvdW5kIGNvbG9yXCJcbiAgICAgICAgICAgIHBpY2tlckJ1dHRvbkljb249XCJ0ZXh0LWNvbG9yXCJcbiAgICAgICAgICAgIHBpY2tlckJ1dHRvbkljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgICAgW21lc3NhZ2VTdHJlYW1dPVwiYmFja0NvbG9ycGlja2VyU3RyZWFtXCJcbiAgICAgICAgICAgIFtzaG93UmVzZXRCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgKHNlbGVjdGVkQ29sb3JDaGFuZ2VkKT1cIm9uQ29sb3JwaWNrZXJDb2xvckNoYW5nZWQoJGV2ZW50LCB0cnVlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIG91dHB1dEZvcm1hdD1cInJnYmFcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFthbGxvd1RyYW5zcGFyZW5jeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwic3R5bGVTdGF0ZS5iYWNrQ29sb3JcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJJbnB1dF09XCJiYWNrQ29sb3JQaWNrZXJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1jb2xvcnBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGNhc2UgKCdsaXN0Jykge1xuICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkJ1bGxldGVkIGxpc3RcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICB0aXRsZT1cIkJ1bGxldGVkIGxpc3RcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdpbnNlcnRVbm9yZGVyZWRMaXN0JylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJidWxsZXQtbGlzdFwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIk51bWJlcmVkIGxpc3RcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICB0aXRsZT1cIk51bWJlcmVkIGxpc3RcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdpbnNlcnRPcmRlcmVkTGlzdCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwibnVtYmVyLWxpc3RcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ2FsaWdubWVudCcpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJBbGlnbiBsZWZ0XCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgdGl0bGU9XCJBbGlnbiBsZWZ0XCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgnanVzdGlmeUxlZnQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFsaWduLWxlZnQtdGV4dFwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkFsaWduIGNlbnRlclwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgIHRpdGxlPVwiQWxpZ24gY2VudGVyXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgnanVzdGlmeUNlbnRlcicpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiY2VudGVyLXRleHRcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJBbGlnbiByaWdodFwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgIHRpdGxlPVwiQWxpZ24gcmlnaHRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdqdXN0aWZ5UmlnaHQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFsaWduLXJpZ2h0LXRleHRcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ2luZGVudGF0aW9uJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIk91dGRlbnRcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICB0aXRsZT1cIk91dGRlbnRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdvdXRkZW50JylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJvdXRkZW50XCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBhcmlhLWxhYmVsPVwiSW5kZW50XCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgdGl0bGU9XCJJbmRlbnRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdpbmRlbnQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImluZGVudFwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBjYXNlICgndW5kby1yZWRvJykge1xuICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlVuZG9cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICB0aXRsZT1cIlVuZG9cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCd1bmRvJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJ1bmRvXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVkb1wiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgIHRpdGxlPVwiUmVkb1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwiZXhlY0NvbW1hbmQoJ3JlZG8nKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cInJlZG9cIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ2xpbmsnKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXN3aXRjaC1pY29uLWdyb3VwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTGlua1wiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgIHRpdGxlPVwiTGlua1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnaWNvbi1idG4tYWN0aXZlJzogc3R5bGVTdGF0ZS5saW5rU3RhdGVcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2spPVwibGluaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwibGlua1wiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlVubGlua1wiXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgIHRpdGxlPVwiVW5saW5rXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN0eWxlU3RhdGUubGlua1N0YXRlIHx8IGRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwidW5saW5rKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJ1bmxpbmtcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9za3ktdG9vbGJhci1pdGVtPlxuIl19
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3Rvb2xiYXIvdGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3Rvb2xiYXIvdGV4dC1lZGl0b3ItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLG9CQUFvQixHQUVyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGlCQUFpQixHQUNsQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBZ0Is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Qjs4QkFJVSxpQkFBaUI7c0JBRDNCLEtBQUs7Z0JBV0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUssVUFBVTtzQkFEcEIsS0FBSztnQkFpQkMsUUFBUTtzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBTa3lDb2xvcnBpY2tlck1lc3NhZ2UsXG4gIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUsXG4gIFNreUNvbG9ycGlja2VyTW9kdWxlLFxuICBTa3lDb2xvcnBpY2tlck91dHB1dCxcbn0gZnJvbSAnQHNreXV4L2NvbG9ycGlja2VyJztcbmltcG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncywgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5pbXBvcnQge1xuICBTa3lEcm9wZG93bk1lc3NhZ2UsXG4gIFNreURyb3Bkb3duTWVzc2FnZVR5cGUsXG4gIFNreURyb3Bkb3duTW9kdWxlLFxufSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU1RZTEVfU1RBVEVfREVGQVVMVFMgfSBmcm9tICcuLi9kZWZhdWx0cy9zdHlsZS1zdGF0ZS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZXh0LWVkaXRvci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEVkaXRvckZvbnQgfSBmcm9tICcuLi90eXBlcy9mb250LXN0YXRlJztcbmltcG9ydCB7IFNreVRleHRFZGl0b3JMaW5rV2luZG93T3B0aW9uc1R5cGUgfSBmcm9tICcuLi90eXBlcy9saW5rLXdpbmRvdy1vcHRpb25zLXR5cGUnO1xuaW1wb3J0IHsgU2t5VGV4dEVkaXRvclN0eWxlU3RhdGUgfSBmcm9tICcuLi90eXBlcy9zdHlsZS1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yVG9vbGJhckFjdGlvblR5cGUgfSBmcm9tICcuLi90eXBlcy90b29sYmFyLWFjdGlvbi10eXBlJztcbmltcG9ydCB7IFNreVVybE1vZGFsQ29udGV4dCB9IGZyb20gJy4uL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lUZXh0RWRpdG9yVXJsTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi91cmwtbW9kYWwvdGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcmxUYXJnZXQgfSBmcm9tICcuLi91cmwtbW9kYWwvdGV4dC1lZGl0b3ItdXJsLXRhcmdldCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWVkaXRvci10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWVkaXRvci10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreUNvbG9ycGlja2VyTW9kdWxlLFxuICAgIFNreURyb3Bkb3duTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VG9vbGJhck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEVkaXRvclRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVkaXRvckZvY3VzU3RyZWFtKHZhbHVlOiBTdWJqZWN0PHZvaWQ+KSB7XG4gICAgdGhpcy4jX2VkaXRvckZvY3VzU3RyZWFtID0gdmFsdWU7XG4gICAgdGhpcy4jc3Vic2NyaWJlRWRpdG9yRm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWRpdG9yRm9jdXNTdHJlYW0oKTogU3ViamVjdDx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19lZGl0b3JGb2N1c1N0cmVhbTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb250TGlzdDogU2t5VGV4dEVkaXRvckZvbnRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb250U2l6ZUxpc3Q6IG51bWJlcltdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRvb2xiYXJBY3Rpb25zOiBTa3lUZXh0RWRpdG9yVG9vbGJhckFjdGlvblR5cGVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaW5rV2luZG93T3B0aW9uczogU2t5VGV4dEVkaXRvckxpbmtXaW5kb3dPcHRpb25zVHlwZVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdHlsZVN0YXRlKHZhbHVlOiBTa3lUZXh0RWRpdG9yU3R5bGVTdGF0ZSkge1xuICAgIHRoaXMuI19zdHlsZVN0YXRlID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlLmZvbnQgIT09IHRoaXMuc3R5bGVTdGF0ZUZvbnROYW1lKSB7XG4gICAgICBpZiAodmFsdWUuZm9udCA9PT0gJ1wiQmxhY2tiYXVkIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYnKSB7XG4gICAgICAgIHRoaXMuc3R5bGVTdGF0ZUZvbnROYW1lID0gdGhpcy4jZ2V0Rm9udE5hbWUoJ0JsYWNrYmF1ZCBTYW5zJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0eWxlU3RhdGVGb250TmFtZSA9IHRoaXMuI2dldEZvbnROYW1lKHZhbHVlLmZvbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3R5bGVTdGF0ZSgpOiBTa3lUZXh0RWRpdG9yU3R5bGVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuI19zdHlsZVN0YXRlO1xuICB9XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBiYWNrQ29sb3JwaWNrZXJTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lDb2xvcnBpY2tlck1lc3NhZ2U+KCk7XG4gIHB1YmxpYyBjb2xvcnBpY2tlclN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreUNvbG9ycGlja2VyTWVzc2FnZT4oKTtcbiAgcHVibGljIGZvbnRQaWNrZXJTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lEcm9wZG93bk1lc3NhZ2U+KCk7XG4gIHB1YmxpYyBmb250U2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PFNreURyb3Bkb3duTWVzc2FnZT4oKTtcbiAgcHVibGljIHN0eWxlU3RhdGVGb250TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNlZGl0b3JGb2N1c1N0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19lZGl0b3JGb2N1c1N0cmVhbSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNfc3R5bGVTdGF0ZSA9IFNUWUxFX1NUQVRFX0RFRkFVTFRTO1xuXG4gIHJlYWRvbmx5ICNhZGFwdGVyU2VydmljZSA9IGluamVjdChTa3lUZXh0RWRpdG9yQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjbW9kYWxTZXJ2aWNlID0gaW5qZWN0KFNreU1vZGFsU2VydmljZSk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3N1YnNjcmliZUVkaXRvckZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgZXhlY0NvbW1hbmQoY29tbWFuZDogc3RyaW5nLCB2YWx1ZSA9ICcnKTogdm9pZCB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UuZXhlY0NvbW1hbmQoe1xuICAgICAgY29tbWFuZDogY29tbWFuZCxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnN0eWxlU3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0eWxlU3RhdGUsXG4gICAgICAuLi50aGlzLiNhZGFwdGVyU2VydmljZS5nZXRTdHlsZVN0YXRlKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVGb250U3R5bGUoXG4gICAgY3VycmVudFN0YXRlOiBib29sZWFuLFxuICAgIG5ld1N0YXRlOiBib29sZWFuLFxuICAgIGNvbW1hbmQ6IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGN1cnJlbnRTdGF0ZSAhPT0gbmV3U3RhdGUpIHtcbiAgICAgIHRoaXMuZXhlY0NvbW1hbmQoY29tbWFuZCk7XG4gICAgfVxuXG4gICAgLy8gRm9yY2Ugc2t5LWNoZWNrYm94IHRvIHNob3cgY2hhbmdlcyBvbiB1c2VyJ3MgaW5pdGlhbCBjbGljay5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbGluaygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmlvclNlbGVjdGlvbiA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNhdmVTZWxlY3Rpb24oKTtcbiAgICBjb25zdCBjdXJyZW50TGluayA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldExpbmsoKTtcbiAgICBjb25zdCBpbnB1dE1vZGFsID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oU2t5VGV4dEVkaXRvclVybE1vZGFsQ29tcG9uZW50LCBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNreVVybE1vZGFsQ29udGV4dCxcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5VXJsTW9kYWxDb250ZXh0KCk7XG4gICAgICAgICAgY29udGV4dC51cmxSZXN1bHQgPSBjdXJyZW50TGluaztcbiAgICAgICAgICBjb250ZXh0LmxpbmtXaW5kb3dPcHRpb25zID0gdGhpcy5saW5rV2luZG93T3B0aW9ucztcblxuICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBpbnB1dE1vZGFsLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGlmIChyZXN1bHQucmVhc29uID09PSAnc2F2ZScgJiYgcHJpb3JTZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKGN1cnJlbnRMaW5rKSB7XG4gICAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0U2VsZWN0ZWRBbmNob3JUYWcoKTtcblxuICAgICAgICAgIGlmIChhbmNob3IpIHtcbiAgICAgICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNlbGVjdEVsZW1lbnQoYW5jaG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4ZWNDb21tYW5kKCd1bmxpbmsnKTtcbiAgICAgICAgaWYgKHJlc3VsdC5kYXRhLnRhcmdldCA9PT0gVXJsVGFyZ2V0Lk5vbmUpIHtcbiAgICAgICAgICAvLyBDdXJyZW50IHdpbmRvd1xuICAgICAgICAgIHRoaXMuZXhlY0NvbW1hbmQoJ2NyZWF0ZUxpbmsnLCByZXN1bHQuZGF0YS51cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5ldyBXaW5kb3dcbiAgICAgICAgICBjb25zdCBzVGV4dCA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldEN1cnJlbnRTZWxlY3Rpb24oKTtcbiAgICAgICAgICB0aGlzLmV4ZWNDb21tYW5kKFxuICAgICAgICAgICAgJ2luc2VydEhUTUwnLFxuICAgICAgICAgICAgJzxhIGhyZWY9XCInICtcbiAgICAgICAgICAgICAgcmVzdWx0LmRhdGEudXJsICtcbiAgICAgICAgICAgICAgJ1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj4nICtcbiAgICAgICAgICAgICAgc1RleHQgK1xuICAgICAgICAgICAgICAnPC9hPicsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVubGluaygpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2VsZWN0aW9uUmFuZ2UgPSB0aGlzLiNhZGFwdGVyU2VydmljZVxuICAgICAgLmdldEN1cnJlbnRTZWxlY3Rpb24oKVxuICAgICAgPy5nZXRSYW5nZUF0KDApO1xuICAgIGlmIChjdXJyZW50U2VsZWN0aW9uUmFuZ2UgJiYgY3VycmVudFNlbGVjdGlvblJhbmdlLnRvU3RyaW5nKCkubGVuZ3RoIDw9IDApIHtcbiAgICAgIGNvbnN0IGFuY2hvclRhZyA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFNlbGVjdGVkQW5jaG9yVGFnKCk7XG4gICAgICBpZiAoYW5jaG9yVGFnKSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNlbGVjdEVsZW1lbnQoYW5jaG9yVGFnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5leGVjQ29tbWFuZCgndW5saW5rJyk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRm9udFNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0Rm9udFNpemUoc2l6ZSk7XG4gICAgdGhpcy5zdHlsZVN0YXRlID0ge1xuICAgICAgLi4udGhpcy5zdHlsZVN0YXRlLFxuICAgICAgLi4udGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0U3R5bGVTdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25Db2xvcnBpY2tlckNvbG9yQ2hhbmdlZChcbiAgICBjb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXQsXG4gICAgaXNCYWNrZ3JvdW5kID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIGlmIChpc0JhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuZXhlY0NvbW1hbmQoJ2JhY2tDb2xvcicsIGNvbG9yLnJnYmFUZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5leGVjQ29tbWFuZCgnZm9yZUNvbG9yJywgY29sb3IuaGV4KTtcbiAgICB9XG4gIH1cblxuICAjc3Vic2NyaWJlRWRpdG9yRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy4jZWRpdG9yRm9jdXNTdHJlYW1TdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNlZGl0b3JGb2N1c1N0cmVhbVN1YiA9IHRoaXMuZWRpdG9yRm9jdXNTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0eWxlU3RhdGUgPSB7XG4gICAgICAgICAgLi4udGhpcy5zdHlsZVN0YXRlLFxuICAgICAgICAgIC4uLnRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFN0eWxlU3RhdGUoKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy4jY2xvc2VEcm9wZG93bnMoKTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICAjY2xvc2VEcm9wZG93bnMoKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlID0ge1xuICAgICAgdHlwZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICB9O1xuICAgIHRoaXMuY29sb3JwaWNrZXJTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgICB0aGlzLmJhY2tDb2xvcnBpY2tlclN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICAgIHRoaXMuZm9udFBpY2tlclN0cmVhbS5uZXh0KHsgdHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSB9KTtcbiAgICB0aGlzLmZvbnRTaXplU3RyZWFtLm5leHQoeyB0eXBlOiBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlIH0pO1xuICB9XG5cbiAgI2dldEZvbnROYW1lKGZvbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGZvciAoY29uc3Qgc2t5VGV4dEVkaXRvckZvbnQgb2YgdGhpcy5mb250TGlzdCkge1xuICAgICAgaWYgKGZvbnROYW1lLnJlcGxhY2UoL1snXCJdKy9nLCAnJykgPT09IHNreVRleHRFZGl0b3JGb250Lm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHNreVRleHRFZGl0b3JGb250Lm5hbWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iLCJAZm9yIChhY3Rpb24gb2YgdG9vbGJhckFjdGlvbnM7IHRyYWNrIGFjdGlvbikge1xuICA8c2t5LXRvb2xiYXItaXRlbVxuICAgIGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLXRvb2xiYXItYWN0aW9uXCJcbiAgICBbbmdDbGFzc109XCInc2t5LXRleHQtZWRpdG9yLXRvb2xiYXItYWN0aW9uLScgKyBhY3Rpb25cIlxuICA+XG4gICAgQHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBAY2FzZSAoJ2ZvbnQtZmFtaWx5Jykge1xuICAgICAgICA8c2t5LWRyb3Bkb3duXG4gICAgICAgICAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItZm9udC1waWNrZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW2xhYmVsXT1cIidGb250OiAnICsgc3R5bGVTdGF0ZUZvbnROYW1lXCJcbiAgICAgICAgICBbbWVzc2FnZVN0cmVhbV09XCJmb250UGlja2VyU3RyZWFtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktZHJvcGRvd24tYnV0dG9uXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICdmb250LWZhbWlseSc6IHN0eWxlU3RhdGUuZm9udFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgc3R5bGVTdGF0ZUZvbnROYW1lIH19XG4gICAgICAgICAgPC9za3ktZHJvcGRvd24tYnV0dG9uPlxuICAgICAgICAgIDxza3ktZHJvcGRvd24tbWVudT5cbiAgICAgICAgICAgIEBmb3IgKGZvbnRNb2RlbCBvZiBmb250TGlzdDsgdHJhY2sgZm9udE1vZGVsKSB7XG4gICAgICAgICAgICAgIDxza3ktZHJvcGRvd24taXRlbT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtZmFtaWx5JzogZm9udE1vZGVsLnZhbHVlXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgnZm9udG5hbWUnLCBmb250TW9kZWwubmFtZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGZvbnRNb2RlbC5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvc2t5LWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9za3ktZHJvcGRvd24tbWVudT5cbiAgICAgICAgPC9za3ktZHJvcGRvd24+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ2ZvbnQtc2l6ZScpIHtcbiAgICAgICAgPHNreS1kcm9wZG93blxuICAgICAgICAgIGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLWZvbnQtc2l6ZS1waWNrZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW2xhYmVsXT1cIidGb250IHNpemU6ICcgKyBzdHlsZVN0YXRlLmZvbnRTaXplICsgJ3B4J1wiXG4gICAgICAgICAgW21lc3NhZ2VTdHJlYW1dPVwiZm9udFNpemVTdHJlYW1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1kcm9wZG93bi1idXR0b25cbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgJ2ZvbnQtZmFtaWx5Jzogc3R5bGVTdGF0ZS5mb250U2l6ZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgc3R5bGVTdGF0ZS5mb250U2l6ZSArICdweCcgfX1cbiAgICAgICAgICA8L3NreS1kcm9wZG93bi1idXR0b24+XG4gICAgICAgICAgPHNreS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgQGZvciAoc2l6ZSBvZiBmb250U2l6ZUxpc3Q7IHRyYWNrIHNpemUpIHtcbiAgICAgICAgICAgICAgPHNreS1kcm9wZG93bi1pdGVtPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjaGFuZ2VGb250U2l6ZShzaXplKVwiPlxuICAgICAgICAgICAgICAgICAge3sgc2l6ZSArICdweCcgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9za3ktZHJvcGRvd24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1kcm9wZG93bi1tZW51PlxuICAgICAgICA8L3NreS1kcm9wZG93bj5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnZm9udC1zdHlsZScpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cCBza3ktdGV4dC1lZGl0b3ItZm9udC1zdHlsZS1waWNrZXJcIj5cbiAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICBpY29uPVwiYm9sZFwiXG4gICAgICAgICAgICBsYWJlbD1cIkJvbGRcIlxuICAgICAgICAgICAgdGl0bGU9XCJCb2xkXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzdHlsZVN0YXRlLmJvbGRTdGF0ZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJcbiAgICAgICAgICAgICAgdG9nZ2xlRm9udFN0eWxlKHN0eWxlU3RhdGUuYm9sZFN0YXRlLCAkZXZlbnQsICdib2xkJylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICBpY29uPVwiaXRhbGljXCJcbiAgICAgICAgICAgIGxhYmVsPVwiSXRhbGljaXplZFwiXG4gICAgICAgICAgICB0aXRsZT1cIkl0YWxpY2l6ZWRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUuaXRhbGljU3RhdGVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgIHRvZ2dsZUZvbnRTdHlsZShzdHlsZVN0YXRlLml0YWxpY1N0YXRlLCAkZXZlbnQsICdpdGFsaWMnKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgIGljb249XCJ1bmRlcmxpbmVcIlxuICAgICAgICAgICAgbGFiZWw9XCJVbmRlcmxpbmVcIlxuICAgICAgICAgICAgdGl0bGU9XCJVbmRlcmxpbmVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUudW5kZXJsaW5lU3RhdGVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgIHRvZ2dsZUZvbnRTdHlsZShzdHlsZVN0YXRlLnVuZGVybGluZVN0YXRlLCAkZXZlbnQsICd1bmRlcmxpbmUnKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnY29sb3InKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItY29sb3JwaWNrZXItZ3JvdXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLWNvbG9ycGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNreS1jb2xvcnBpY2tlclxuICAgICAgICAgICAgICAjY29sb3JQaWNrZXJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItZm9udC1jb2xvci1waWNrZXJcIlxuICAgICAgICAgICAgICBsYWJlbD1cIkZvbnQgY29sb3JcIlxuICAgICAgICAgICAgICBwaWNrZXJCdXR0b25JY29uPVwiaGlnaGxpZ2h0ZXJcIlxuICAgICAgICAgICAgICBwaWNrZXJCdXR0b25JY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICAgICAgW21lc3NhZ2VTdHJlYW1dPVwiY29sb3JwaWNrZXJTdHJlYW1cIlxuICAgICAgICAgICAgICBbc2hvd1Jlc2V0QnV0dG9uXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkQ29sb3JDaGFuZ2VkKT1cIm9uQ29sb3JwaWNrZXJDb2xvckNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIG91dHB1dEZvcm1hdD1cImhleFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFthbGxvd1RyYW5zcGFyZW5jeV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzdHlsZVN0YXRlLmZvbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VySW5wdXRdPVwiY29sb3JQaWNrZXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9za3ktY29sb3JwaWNrZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNreS10ZXh0LWVkaXRvci1jb2xvcnBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxza3ktY29sb3JwaWNrZXJcbiAgICAgICAgICAgICAgI2JhY2tDb2xvclBpY2tlclxuICAgICAgICAgICAgICBjbGFzcz1cInNreS10ZXh0LWVkaXRvci1iYWNrZ3JvdW5kLWNvbG9yLXBpY2tlclwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQmFja2dyb3VuZCBjb2xvclwiXG4gICAgICAgICAgICAgIHBpY2tlckJ1dHRvbkljb249XCJ0ZXh0LWNvbG9yXCJcbiAgICAgICAgICAgICAgcGlja2VyQnV0dG9uSWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICAgIFttZXNzYWdlU3RyZWFtXT1cImJhY2tDb2xvcnBpY2tlclN0cmVhbVwiXG4gICAgICAgICAgICAgIFtzaG93UmVzZXRCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAoc2VsZWN0ZWRDb2xvckNoYW5nZWQpPVwib25Db2xvcnBpY2tlckNvbG9yQ2hhbmdlZCgkZXZlbnQsIHRydWUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0PVwicmdiYVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFthbGxvd1RyYW5zcGFyZW5jeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInN0eWxlU3RhdGUuYmFja0NvbG9yXCJcbiAgICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJJbnB1dF09XCJiYWNrQ29sb3JQaWNrZXJcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9za3ktY29sb3JwaWNrZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGNhc2UgKCdsaXN0Jykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LXN3aXRjaC1pY29uLWdyb3VwXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkJ1bGxldGVkIGxpc3RcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJCdWxsZXRlZCBsaXN0XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgnaW5zZXJ0VW5vcmRlcmVkTGlzdCcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImJ1bGxldC1saXN0XCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTnVtYmVyZWQgbGlzdFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgICB0aXRsZT1cIk51bWJlcmVkIGxpc3RcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdpbnNlcnRPcmRlcmVkTGlzdCcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cIm51bWJlci1saXN0XCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ2FsaWdubWVudCcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBbGlnbiBsZWZ0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICAgIHRpdGxlPVwiQWxpZ24gbGVmdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhlY0NvbW1hbmQoJ2p1c3RpZnlMZWZ0JylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiYWxpZ24tbGVmdC10ZXh0XCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWxpZ24gY2VudGVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICAgIHRpdGxlPVwiQWxpZ24gY2VudGVyXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgnanVzdGlmeUNlbnRlcicpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImNlbnRlci10ZXh0XCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWxpZ24gcmlnaHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJBbGlnbiByaWdodFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhlY0NvbW1hbmQoJ2p1c3RpZnlSaWdodCcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImFsaWduLXJpZ2h0LXRleHRcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnaW5kZW50YXRpb24nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiT3V0ZGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgICB0aXRsZT1cIk91dGRlbnRcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCdvdXRkZW50JylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwib3V0ZGVudFwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkluZGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgICB0aXRsZT1cIkluZGVudFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhlY0NvbW1hbmQoJ2luZGVudCcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImluZGVudFwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGNhc2UgKCd1bmRvLXJlZG8nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiVW5kb1wiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvblwiXG4gICAgICAgICAgICB0aXRsZT1cIlVuZG9cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4ZWNDb21tYW5kKCd1bmRvJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwidW5kb1wiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlJlZG9cIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJSZWRvXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleGVjQ29tbWFuZCgncmVkbycpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cInJlZG9cIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnbGluaycpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJMaW5rXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uXCJcbiAgICAgICAgICAgIHRpdGxlPVwiTGlua1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdpY29uLWJ0bi1hY3RpdmUnOiBzdHlsZVN0YXRlLmxpbmtTdGF0ZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwibGluaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImxpbmtcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJVbmxpbmtcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb25cIlxuICAgICAgICAgICAgdGl0bGU9XCJVbmxpbmtcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXN0eWxlU3RhdGUubGlua1N0YXRlIHx8IGRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ1bmxpbmsoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb249XCJ1bmxpbmtcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvc2t5LXRvb2xiYXItaXRlbT5cbn1cbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
1
|
import { Component, inject } from '@angular/core';
|
|
3
2
|
import { FormsModule } from '@angular/forms';
|
|
4
3
|
import { SkyIdModule } from '@skyux/core';
|
|
@@ -132,7 +131,7 @@ export class SkyTextEditorUrlModalComponent {
|
|
|
132
131
|
return !!this.emailAddress && SkyValidation.isEmail(this.emailAddress);
|
|
133
132
|
}
|
|
134
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyTextEditorUrlModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyTextEditorUrlModalComponent, isStandalone: true, selector: "sky-text-editor-url-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box\n class=\"sky-text-editor-url-input\"\n stacked=\"true\"\n [hintText]=\"\n openLinksInNewWindowOnly\n ? ('skyux_text_editor_url_modal_open_in_new_window_label'\n | skyLibResources)\n : undefined\n \"\n >\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n #urlInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"url\"\n />\n </sky-input-box>\n </div>\n @if (allowAllOpenLinkOptions) {\n <sky-input-box stacked=\"true\" class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n #targetInput=\"skyId\"\n class=\"sky-form-control\"\n skyId\n [(ngModel)]=\"target\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label'\n | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n }\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box stacked=\"true\">\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n #emailAddressInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"emailAddress\"\n />\n </sky-input-box>\n </div>\n <sky-input-box stacked=\"true\" class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n #subjectInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"subject\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i2.λ5, selector: "sky-modal", inputs: ["formErrors", "headingText", "helpKey", "helpPopoverContent", "helpPopoverTitle", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i2.λ2, selector: "sky-modal-content" }, { kind: "component", type: i2.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i2.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyInputBoxModule }, { kind: "component", type: i4.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "ngmodule", type: SkyTabsModule }, { kind: "component", type: i5.λ1, selector: "sky-tab", inputs: ["active", "disabled", "permalinkValue", "tabHeaderCount", "tabHeading", "tabIndexValue", "layout"], outputs: ["close"] }, { kind: "component", type: i5.λ2, selector: "sky-tabset", inputs: ["active", "ariaLabel", "ariaLabelledBy", "permalinkId", "tabStyle"], outputs: ["activeChange", "newTab", "openTab", "tabIndexesChange"] }, { kind: "ngmodule", type: SkyTextEditorResourcesModule }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
|
|
136
135
|
}
|
|
137
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyTextEditorUrlModalComponent, decorators: [{
|
|
138
137
|
type: Component,
|
|
@@ -143,7 +142,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
143
142
|
SkyInputBoxModule,
|
|
144
143
|
SkyTabsModule,
|
|
145
144
|
SkyTextEditorResourcesModule,
|
|
146
|
-
|
|
147
|
-
], template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box\n class=\"sky-text-editor-url-input\"\n stacked=\"true\"\n [hintText]=\"\n openLinksInNewWindowOnly\n ? ('skyux_text_editor_url_modal_open_in_new_window_label'\n | skyLibResources)\n : undefined\n \"\n >\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box\n *ngIf=\"allowAllOpenLinkOptions\"\n stacked=\"true\"\n class=\"sky-form-group\"\n >\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label' | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box stacked=\"true\">\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box stacked=\"true\" class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"] }]
|
|
145
|
+
], template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box\n class=\"sky-text-editor-url-input\"\n stacked=\"true\"\n [hintText]=\"\n openLinksInNewWindowOnly\n ? ('skyux_text_editor_url_modal_open_in_new_window_label'\n | skyLibResources)\n : undefined\n \"\n >\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n #urlInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"url\"\n />\n </sky-input-box>\n </div>\n @if (allowAllOpenLinkOptions) {\n <sky-input-box stacked=\"true\" class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n #targetInput=\"skyId\"\n class=\"sky-form-control\"\n skyId\n [(ngModel)]=\"target\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label'\n | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n }\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box stacked=\"true\">\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n #emailAddressInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"emailAddress\"\n />\n </sky-input-box>\n </div>\n <sky-input-box stacked=\"true\" class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n #subjectInput=\"skyId\"\n class=\"sky-form-control\"\n type=\"text\"\n skyId\n [(ngModel)]=\"subject\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"] }]
|
|
148
146
|
}], ctorParameters: () => [] });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRTdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFFckQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO0FB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SSxJQUFJLFlBQ04sMkJBQTJCLFdBRzVCO3dCQUNQLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYiw0QkFBNEI7d0JBQzVCLElBQUk7cUJBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlkTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SW5wdXRCb3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcbmltcG9ydCB7IFNreVRhYkluZGV4LCBTa3lUYWJzTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RhYnMnO1xuaW1wb3J0IHsgU2t5VmFsaWRhdGlvbiB9IGZyb20gJ0Bza3l1eC92YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgU2t5VGV4dEVkaXRvclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktdGV4dC1lZGl0b3ItcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreVVybE1vZGFsQ29udGV4dCB9IGZyb20gJy4vdGV4dC1lZGl0b3ItdXJsLW1vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgVXJsTW9kYWxSZXN1bHQgfSBmcm9tICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC1yZXN1bHQnO1xuaW1wb3J0IHsgVXJsVGFyZ2V0IH0gZnJvbSAnLi90ZXh0LWVkaXRvci11cmwtdGFyZ2V0JztcblxuY29uc3QgZW1haWxLZXkgPSAnbWFpbHRvOic7XG5jb25zdCBxdWVyeVN0cmluZ1BhcmFtS2V5ID0gJz9TdWJqZWN0PSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWVkaXRvci11cmwtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTa3lNb2RhbE1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lJbnB1dEJveE1vZHVsZSxcbiAgICBTa3lUYWJzTW9kdWxlLFxuICAgIFNreVRleHRFZGl0b3JSZXNvdXJjZXNNb2R1bGUsXG4gICAgTmdJZixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEVkaXRvclVybE1vZGFsQ29tcG9uZW50IHtcbiAgcHVibGljIHNldCBhY3RpdmVUYWIodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuI19hY3RpdmVUYWIgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkID0gdGhpcy4jaXNWYWxpZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZVRhYjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZW1haWxBZGRyZXNzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNfZW1haWxBZGRyZXNzID0gdmFsdWU7XG4gICAgdGhpcy52YWxpZCA9IHRoaXMuI2lzVmFsaWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1haWxBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19lbWFpbEFkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgc2V0IHVybCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy4jX3VybCA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWQgPSB0aGlzLiNpc1ZhbGlkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfdXJsO1xuICB9XG5cbiAgcHVibGljIGVtYWlsQWRkcmVzc1ZhbGlkID0gZmFsc2U7XG4gIHB1YmxpYyBhbGxvd0FsbE9wZW5MaW5rT3B0aW9ucyA9IHRydWU7XG4gIHB1YmxpYyBvcGVuTGlua3NJbk5ld1dpbmRvd09ubHkgPSBmYWxzZTtcbiAgcHVibGljIHN1YmplY3QgPSAnJztcbiAgcHVibGljIHRhcmdldDogbnVtYmVyIHwgc3RyaW5nID0gMDtcbiAgcHVibGljIHZhbGlkID0gZmFsc2U7XG5cbiAgI19hY3RpdmVUYWIgPSAwO1xuICAjX2VtYWlsQWRkcmVzcyA9ICcnO1xuICAjX3VybCA9ICdodHRwczovLyc7XG5cbiAgcmVhZG9ubHkgI21vZGFsQ29udGV4dCA9IGluamVjdChTa3lVcmxNb2RhbENvbnRleHQpO1xuICByZWFkb25seSAjbW9kYWxJbnN0YW5jZSA9IGluamVjdChTa3lNb2RhbEluc3RhbmNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBsaW5rV2luZG93T3B0aW9ucyA9IHRoaXMuI21vZGFsQ29udGV4dC5saW5rV2luZG93T3B0aW9ucztcblxuICAgIGlmIChsaW5rV2luZG93T3B0aW9ucz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmFsbG93QWxsT3BlbkxpbmtPcHRpb25zID0gZmFsc2U7XG4gICAgICBpZiAobGlua1dpbmRvd09wdGlvbnNbMF0gPT09ICduZXcnKSB7XG4gICAgICAgIHRoaXMub3BlbkxpbmtzSW5OZXdXaW5kb3dPbmx5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50YXJnZXQgPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50YXJnZXQgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0KSB7XG4gICAgICBpZiAodGhpcy4jbW9kYWxDb250ZXh0LnVybFJlc3VsdC51cmwuc3RhcnRzV2l0aChlbWFpbEtleSkpIHtcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnVybC5yZXBsYWNlKFxuICAgICAgICAgIGVtYWlsS2V5LFxuICAgICAgICAgICcnLFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBxdWVyeVN0cmluZ0luZGV4ID0gdGhpcy5lbWFpbEFkZHJlc3MuaW5kZXhPZihxdWVyeVN0cmluZ1BhcmFtS2V5KTtcbiAgICAgICAgcXVlcnlTdHJpbmdJbmRleCA9XG4gICAgICAgICAgcXVlcnlTdHJpbmdJbmRleCA+IC0xXG4gICAgICAgICAgICA/IHF1ZXJ5U3RyaW5nSW5kZXhcbiAgICAgICAgICAgIDogdGhpcy5lbWFpbEFkZHJlc3MuaW5kZXhPZihxdWVyeVN0cmluZ1BhcmFtS2V5LnRvTG93ZXJDYXNlKCkpO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChxdWVyeVN0cmluZ0luZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLnN1YmplY3QgPSBkZWNvZGVVUkkodGhpcy5lbWFpbEFkZHJlc3MpLnNsaWNlKFxuICAgICAgICAgICAgcXVlcnlTdHJpbmdJbmRleCArIHF1ZXJ5U3RyaW5nUGFyYW1LZXkubGVuZ3RoLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgPSB0aGlzLmVtYWlsQWRkcmVzcy5zbGljZSgwLCBxdWVyeVN0cmluZ0luZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCBhY3RpdmUgdGFiIHRvIGVtYWlsXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICh0aGlzLnVybCA9IHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQudXJsKSxcbiAgICAgICAgICAodGhpcy50YXJnZXQgPSB0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnRhcmdldCBhcyBhbnkpO1xuXG4gICAgICAgIC8vIHNldCBhY3RpdmUgdGFiIHRvIHdlYiBwYWdlXG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlVGFiQ2hhbmdlZCh2YWx1ZTogU2t5VGFiSW5kZXgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IE51bWJlcih2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNpc1ZhbGlkKCkpIHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gMCkge1xuICAgICAgICB0aGlzLiNtb2RhbEluc3RhbmNlLnNhdmUoe1xuICAgICAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICAgICAgdGFyZ2V0OiB0aGlzLnRhcmdldFxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLnRhcmdldCBhcyBzdHJpbmcsIHVuZGVmaW5lZClcbiAgICAgICAgICAgIDogVXJsVGFyZ2V0Lk5vbmUsXG4gICAgICAgIH0gYXMgVXJsTW9kYWxSZXN1bHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbW9kYWxJbnN0YW5jZS5zYXZlKHtcbiAgICAgICAgICB1cmw6IHRoaXMuI2dldEVtYWlsVXJsKCksXG4gICAgICAgICAgdGFyZ2V0OiBVcmxUYXJnZXQuTm9uZSxcbiAgICAgICAgfSBhcyBVcmxNb2RhbFJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb2RhbEluc3RhbmNlLmNhbmNlbCgpO1xuICB9XG5cbiAgI2dldEVtYWlsVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVtYWlsS2V5ICtcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzICtcbiAgICAgICh0aGlzLnN1YmplY3QgPyAnP1N1YmplY3Q9JyArIGVuY29kZVVSSSh0aGlzLnN1YmplY3QpIDogJycpXG4gICAgKTtcbiAgfVxuXG4gICNpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gMCkge1xuICAgICAgcmV0dXJuICEhdGhpcy51cmwgJiYgU2t5VmFsaWRhdGlvbi5pc1VybCh0aGlzLnVybCk7XG4gICAgfVxuICAgIHJldHVybiAhIXRoaXMuZW1haWxBZGRyZXNzICYmIFNreVZhbGlkYXRpb24uaXNFbWFpbCh0aGlzLmVtYWlsQWRkcmVzcyk7XG4gIH1cbn1cbiIsIjxza3ktbW9kYWw+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfaGVhZGVyX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gIDxza3ktbW9kYWwtY29udGVudD5cbiAgICA8c2t5LXRhYnNldFxuICAgICAgZGF0YS1za3ktaWQ9XCJ0ZXN0LXRhYnNldFwiXG4gICAgICBbYWN0aXZlXT1cImFjdGl2ZVRhYlwiXG4gICAgICAoYWN0aXZlQ2hhbmdlKT1cImFjdGl2ZVRhYkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNreS10YWIgdGFiSGVhZGluZz1cIldlYiBwYWdlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZm9ybS1ncm91cCBza3ktdGV4dC1lZGl0b3ItdXJsLW1vZGFsLWZpcnN0LWZpZWxkXCI+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3hcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LXRleHQtZWRpdG9yLXVybC1pbnB1dFwiXG4gICAgICAgICAgICBzdGFja2VkPVwidHJ1ZVwiXG4gICAgICAgICAgICBbaGludFRleHRdPVwiXG4gICAgICAgICAgICAgIG9wZW5MaW5rc0luTmV3V2luZG93T25seVxuICAgICAgICAgICAgICAgID8gKCdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfb3Blbl9pbl9uZXdfd2luZG93X2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWwgc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWRcIlxuICAgICAgICAgICAgICBbZm9yXT1cInVybElucHV0LmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF91cmxfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ1cmxcIlxuICAgICAgICAgICAgICBza3lJZFxuICAgICAgICAgICAgICAjdXJsSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxza3ktaW5wdXQtYm94XG4gICAgICAgICAgKm5nSWY9XCJhbGxvd0FsbE9wZW5MaW5rT3B0aW9uc1wiXG4gICAgICAgICAgc3RhY2tlZD1cInRydWVcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tZ3JvdXBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cInRhcmdldElucHV0LmlkXCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX29wZW5fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICN0YXJnZXRJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfY3VycmVudF9vcHRpb25fbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfbmV3X29wdGlvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICA8L3NreS10YWI+XG4gICAgICA8c2t5LXRhYiB0YWJIZWFkaW5nPVwiRW1haWwgYWRkcmVzc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2t5LWZvcm0tZ3JvdXAgZmlyc3QtZmllbGRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveCBzdGFja2VkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWwgc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWRcIlxuICAgICAgICAgICAgICBbZm9yXT1cImVtYWlsQWRkcmVzc0lucHV0LmlkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9lbWFpbF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVtYWlsQWRkcmVzc1wiXG4gICAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAgICNlbWFpbEFkZHJlc3NJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNreS1pbnB1dC1ib3ggc3RhY2tlZD1cInRydWVcIiBjbGFzcz1cInNreS1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cInN1YmplY3RJbnB1dC5pZFwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9zdWJqZWN0X2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzdWJqZWN0XCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc3ViamVjdElucHV0PVwic2t5SWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgIDwvc2t5LXRhYj5cbiAgICA8L3NreS10YWJzZXQ+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIXZhbGlkXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfc2F2ZV9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGlua1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9jYW5jZWxfYnV0dG9uX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFlLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUVyRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFDM0IsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFFeEM7O0dBRUc7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QVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUlucHV0Qm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UsIFNreU1vZGFsTW9kdWxlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5pbXBvcnQgeyBTa3lUYWJJbmRleCwgU2t5VGFic01vZHVsZSB9IGZyb20gJ0Bza3l1eC90YWJzJztcbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICdAc2t5dXgvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IFNreVRleHRFZGl0b3JSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRleHQtZWRpdG9yLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lVcmxNb2RhbENvbnRleHQgfSBmcm9tICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFVybE1vZGFsUmVzdWx0IH0gZnJvbSAnLi90ZXh0LWVkaXRvci11cmwtbW9kYWwtcmVzdWx0JztcbmltcG9ydCB7IFVybFRhcmdldCB9IGZyb20gJy4vdGV4dC1lZGl0b3ItdXJsLXRhcmdldCc7XG5cbmNvbnN0IGVtYWlsS2V5ID0gJ21haWx0bzonO1xuY29uc3QgcXVlcnlTdHJpbmdQYXJhbUtleSA9ICc/U3ViamVjdD0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1lZGl0b3ItdXJsLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5SW5wdXRCb3hNb2R1bGUsXG4gICAgU2t5VGFic01vZHVsZSxcbiAgICBTa3lUZXh0RWRpdG9yUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RWRpdG9yVXJsTW9kYWxDb21wb25lbnQge1xuICBwdWJsaWMgc2V0IGFjdGl2ZVRhYih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy4jX2FjdGl2ZVRhYiA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWQgPSB0aGlzLiNpc1ZhbGlkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlVGFiO1xuICB9XG5cbiAgcHVibGljIHNldCBlbWFpbEFkZHJlc3ModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuI19lbWFpbEFkZHJlc3MgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkID0gdGhpcy4jaXNWYWxpZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbWFpbEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2VtYWlsQWRkcmVzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdXJsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNfdXJsID0gdmFsdWU7XG4gICAgdGhpcy52YWxpZCA9IHRoaXMuI2lzVmFsaWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI191cmw7XG4gIH1cblxuICBwdWJsaWMgZW1haWxBZGRyZXNzVmFsaWQgPSBmYWxzZTtcbiAgcHVibGljIGFsbG93QWxsT3BlbkxpbmtPcHRpb25zID0gdHJ1ZTtcbiAgcHVibGljIG9wZW5MaW5rc0luTmV3V2luZG93T25seSA9IGZhbHNlO1xuICBwdWJsaWMgc3ViamVjdCA9ICcnO1xuICBwdWJsaWMgdGFyZ2V0OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICBwdWJsaWMgdmFsaWQgPSBmYWxzZTtcblxuICAjX2FjdGl2ZVRhYiA9IDA7XG4gICNfZW1haWxBZGRyZXNzID0gJyc7XG4gICNfdXJsID0gJ2h0dHBzOi8vJztcblxuICByZWFkb25seSAjbW9kYWxDb250ZXh0ID0gaW5qZWN0KFNreVVybE1vZGFsQ29udGV4dCk7XG4gIHJlYWRvbmx5ICNtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGxpbmtXaW5kb3dPcHRpb25zID0gdGhpcy4jbW9kYWxDb250ZXh0LmxpbmtXaW5kb3dPcHRpb25zO1xuXG4gICAgaWYgKGxpbmtXaW5kb3dPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYWxsb3dBbGxPcGVuTGlua09wdGlvbnMgPSBmYWxzZTtcbiAgICAgIGlmIChsaW5rV2luZG93T3B0aW9uc1swXSA9PT0gJ25ldycpIHtcbiAgICAgICAgdGhpcy5vcGVuTGlua3NJbk5ld1dpbmRvd09ubHkgPSB0cnVlO1xuICAgICAgICB0aGlzLnRhcmdldCA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhcmdldCA9IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQpIHtcbiAgICAgIGlmICh0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnVybC5zdGFydHNXaXRoKGVtYWlsS2V5KSkge1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQudXJsLnJlcGxhY2UoXG4gICAgICAgICAgZW1haWxLZXksXG4gICAgICAgICAgJycsXG4gICAgICAgICk7XG5cbiAgICAgICAgbGV0IHF1ZXJ5U3RyaW5nSW5kZXggPSB0aGlzLmVtYWlsQWRkcmVzcy5pbmRleE9mKHF1ZXJ5U3RyaW5nUGFyYW1LZXkpO1xuICAgICAgICBxdWVyeVN0cmluZ0luZGV4ID1cbiAgICAgICAgICBxdWVyeVN0cmluZ0luZGV4ID4gLTFcbiAgICAgICAgICAgID8gcXVlcnlTdHJpbmdJbmRleFxuICAgICAgICAgICAgOiB0aGlzLmVtYWlsQWRkcmVzcy5pbmRleE9mKHF1ZXJ5U3RyaW5nUGFyYW1LZXkudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHF1ZXJ5U3RyaW5nSW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMuc3ViamVjdCA9IGRlY29kZVVSSSh0aGlzLmVtYWlsQWRkcmVzcykuc2xpY2UoXG4gICAgICAgICAgICBxdWVyeVN0cmluZ0luZGV4ICsgcXVlcnlTdHJpbmdQYXJhbUtleS5sZW5ndGgsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuZW1haWxBZGRyZXNzLnNsaWNlKDAsIHF1ZXJ5U3RyaW5nSW5kZXgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IGFjdGl2ZSB0YWIgdG8gZW1haWxcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgKHRoaXMudXJsID0gdGhpcy4jbW9kYWxDb250ZXh0LnVybFJlc3VsdC51cmwpLFxuICAgICAgICAgICh0aGlzLnRhcmdldCA9IHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQudGFyZ2V0IGFzIGFueSk7XG5cbiAgICAgICAgLy8gc2V0IGFjdGl2ZSB0YWIgdG8gd2ViIHBhZ2VcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWJDaGFuZ2VkKHZhbHVlOiBTa3lUYWJJbmRleCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gTnVtYmVyKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2lzVmFsaWQoKSkge1xuICAgICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAwKSB7XG4gICAgICAgIHRoaXMuI21vZGFsSW5zdGFuY2Uuc2F2ZSh7XG4gICAgICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0XG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMudGFyZ2V0IGFzIHN0cmluZywgdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBVcmxUYXJnZXQuTm9uZSxcbiAgICAgICAgfSBhcyBVcmxNb2RhbFJlc3VsdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb2RhbEluc3RhbmNlLnNhdmUoe1xuICAgICAgICAgIHVybDogdGhpcy4jZ2V0RW1haWxVcmwoKSxcbiAgICAgICAgICB0YXJnZXQ6IFVybFRhcmdldC5Ob25lLFxuICAgICAgICB9IGFzIFVybE1vZGFsUmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICAjZ2V0RW1haWxVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgZW1haWxLZXkgK1xuICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgK1xuICAgICAgKHRoaXMuc3ViamVjdCA/ICc/U3ViamVjdD0nICsgZW5jb2RlVVJJKHRoaXMuc3ViamVjdCkgOiAnJylcbiAgICApO1xuICB9XG5cbiAgI2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAwKSB7XG4gICAgICByZXR1cm4gISF0aGlzLnVybCAmJiBTa3lWYWxpZGF0aW9uLmlzVXJsKHRoaXMudXJsKTtcbiAgICB9XG4gICAgcmV0dXJuICEhdGhpcy5lbWFpbEFkZHJlc3MgJiYgU2t5VmFsaWRhdGlvbi5pc0VtYWlsKHRoaXMuZW1haWxBZGRyZXNzKTtcbiAgfVxufVxuIiwiPHNreS1tb2RhbD5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9oZWFkZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50PlxuICAgIDxza3ktdGFic2V0XG4gICAgICBkYXRhLXNreS1pZD1cInRlc3QtdGFic2V0XCJcbiAgICAgIFthY3RpdmVdPVwiYWN0aXZlVGFiXCJcbiAgICAgIChhY3RpdmVDaGFuZ2UpPVwiYWN0aXZlVGFiQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c2t5LXRhYiB0YWJIZWFkaW5nPVwiV2ViIHBhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1mb3JtLWdyb3VwIHNreS10ZXh0LWVkaXRvci11cmwtbW9kYWwtZmlyc3QtZmllbGRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItdXJsLWlucHV0XCJcbiAgICAgICAgICAgIHN0YWNrZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgIFtoaW50VGV4dF09XCJcbiAgICAgICAgICAgICAgb3BlbkxpbmtzSW5OZXdXaW5kb3dPbmx5XG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9vcGVuX2luX25ld193aW5kb3dfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbCBza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwidXJsSW5wdXQuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX3VybF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgI3VybElucHV0PVwic2t5SWRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXJsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChhbGxvd0FsbE9wZW5MaW5rT3B0aW9ucykge1xuICAgICAgICAgIDxza3ktaW5wdXQtYm94IHN0YWNrZWQ9XCJ0cnVlXCIgY2xhc3M9XCJza3ktZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cInRhcmdldElucHV0LmlkXCI+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfb3Blbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICN0YXJnZXRJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2N1cnJlbnRfb3B0aW9uX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX25ld19vcHRpb25fbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIH1cbiAgICAgIDwvc2t5LXRhYj5cbiAgICAgIDxza3ktdGFiIHRhYkhlYWRpbmc9XCJFbWFpbCBhZGRyZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZm9ybS1ncm91cCBmaXJzdC1maWVsZFwiPlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94IHN0YWNrZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbCBza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwiZW1haWxBZGRyZXNzSW5wdXQuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2VtYWlsX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAjZW1haWxBZGRyZXNzSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbEFkZHJlc3NcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2t5LWlucHV0LWJveCBzdGFja2VkPVwidHJ1ZVwiIGNsYXNzPVwic2t5LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiIFtmb3JdPVwic3ViamVjdElucHV0LmlkXCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX3N1YmplY3RfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNzdWJqZWN0SW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3ViamVjdFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9za3ktdGFiPlxuICAgIDwvc2t5LXRhYnNldD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhdmFsaWRcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9zYXZlX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2NhbmNlbF9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
|