@skyux/text-editor 11.30.1 → 12.0.0-alpha.0
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 +295 -292
- package/fesm2022/skyux-text-editor.mjs +44 -44
- package/fesm2022/skyux-text-editor.mjs.map +1 -1
- package/package.json +18 -20
- package/esm2022/index.mjs +0 -10
- package/esm2022/lib/modules/rich-text-display/rich-text-display.component.mjs +0 -43
- package/esm2022/lib/modules/rich-text-display/rich-text-display.module.mjs +0 -16
- package/esm2022/lib/modules/shared/sky-text-editor-resources.module.mjs +0 -97
- package/esm2022/lib/modules/text-editor/defaults/font-list-defaults.mjs +0 -42
- package/esm2022/lib/modules/text-editor/defaults/font-size-list-defaults.mjs +0 -7
- package/esm2022/lib/modules/text-editor/defaults/link-window-options-defaults.mjs +0 -2
- package/esm2022/lib/modules/text-editor/defaults/menu-defaults.mjs +0 -5
- package/esm2022/lib/modules/text-editor/defaults/style-state-defaults.mjs +0 -15
- package/esm2022/lib/modules/text-editor/defaults/toolbar-action-defaults.mjs +0 -12
- package/esm2022/lib/modules/text-editor/menubar/text-editor-menubar.component.mjs +0 -195
- package/esm2022/lib/modules/text-editor/services/text-editor-adapter.service.mjs +0 -482
- package/esm2022/lib/modules/text-editor/services/text-editor-selection.service.mjs +0 -74
- package/esm2022/lib/modules/text-editor/services/text-editor.service.mjs +0 -65
- package/esm2022/lib/modules/text-editor/services/text-sanitization.service.mjs +0 -38
- package/esm2022/lib/modules/text-editor/text-editor.component.mjs +0 -514
- package/esm2022/lib/modules/text-editor/text-editor.module.mjs +0 -17
- package/esm2022/lib/modules/text-editor/toolbar/text-editor-toolbar.component.mjs +0 -223
- package/esm2022/lib/modules/text-editor/types/editor-command.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/editor-setting.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/font-state.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/link-window-options-type.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/menu-type.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/style-state.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/text-editor-merge-field.mjs +0 -2
- package/esm2022/lib/modules/text-editor/types/toolbar-action-type.mjs +0 -2
- package/esm2022/lib/modules/text-editor/url-modal/text-editor-url-modal-context.mjs +0 -6
- package/esm2022/lib/modules/text-editor/url-modal/text-editor-url-modal-result.mjs +0 -2
- package/esm2022/lib/modules/text-editor/url-modal/text-editor-url-modal.component.mjs +0 -147
- package/esm2022/lib/modules/text-editor/url-modal/text-editor-url-target.mjs +0 -9
- package/esm2022/skyux-text-editor.mjs +0 -5
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { SkyIdModule } from '@skyux/core';
|
|
4
|
-
import { SkyInputBoxModule } from '@skyux/forms';
|
|
5
|
-
import { SkyModalInstance, SkyModalModule } from '@skyux/modals';
|
|
6
|
-
import { SkyTabsModule } from '@skyux/tabs';
|
|
7
|
-
import { SkyValidation } from '@skyux/validation';
|
|
8
|
-
import { SkyTextEditorResourcesModule } from '../../shared/sky-text-editor-resources.module';
|
|
9
|
-
import { SkyUrlModalContext } from './text-editor-url-modal-context';
|
|
10
|
-
import { UrlTarget } from './text-editor-url-target';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/forms";
|
|
13
|
-
import * as i2 from "@skyux/modals";
|
|
14
|
-
import * as i3 from "@skyux/core";
|
|
15
|
-
import * as i4 from "@skyux/forms";
|
|
16
|
-
import * as i5 from "@skyux/tabs";
|
|
17
|
-
import * as i6 from "@skyux/i18n";
|
|
18
|
-
const emailKey = 'mailto:';
|
|
19
|
-
const queryStringParamKey = '?Subject=';
|
|
20
|
-
/**
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export class SkyTextEditorUrlModalComponent {
|
|
24
|
-
set activeTab(value) {
|
|
25
|
-
this.#_activeTab = value;
|
|
26
|
-
this.valid = this.#isValid();
|
|
27
|
-
}
|
|
28
|
-
get activeTab() {
|
|
29
|
-
return this.#_activeTab;
|
|
30
|
-
}
|
|
31
|
-
set emailAddress(value) {
|
|
32
|
-
this.#_emailAddress = value;
|
|
33
|
-
this.valid = this.#isValid();
|
|
34
|
-
}
|
|
35
|
-
get emailAddress() {
|
|
36
|
-
return this.#_emailAddress;
|
|
37
|
-
}
|
|
38
|
-
set url(value) {
|
|
39
|
-
this.#_url = value;
|
|
40
|
-
this.valid = this.#isValid();
|
|
41
|
-
}
|
|
42
|
-
get url() {
|
|
43
|
-
return this.#_url;
|
|
44
|
-
}
|
|
45
|
-
#_activeTab;
|
|
46
|
-
#_emailAddress;
|
|
47
|
-
#_url;
|
|
48
|
-
#modalContext;
|
|
49
|
-
#modalInstance;
|
|
50
|
-
constructor() {
|
|
51
|
-
this.emailAddressValid = false;
|
|
52
|
-
this.allowAllOpenLinkOptions = true;
|
|
53
|
-
this.openLinksInNewWindowOnly = false;
|
|
54
|
-
this.subject = '';
|
|
55
|
-
this.target = 0;
|
|
56
|
-
this.valid = false;
|
|
57
|
-
this.#_activeTab = 0;
|
|
58
|
-
this.#_emailAddress = '';
|
|
59
|
-
this.#_url = 'https://';
|
|
60
|
-
this.#modalContext = inject(SkyUrlModalContext);
|
|
61
|
-
this.#modalInstance = inject(SkyModalInstance);
|
|
62
|
-
const linkWindowOptions = this.#modalContext.linkWindowOptions;
|
|
63
|
-
if (linkWindowOptions?.length === 1) {
|
|
64
|
-
this.allowAllOpenLinkOptions = false;
|
|
65
|
-
if (linkWindowOptions[0] === 'new') {
|
|
66
|
-
this.openLinksInNewWindowOnly = true;
|
|
67
|
-
this.target = 1;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.target = 0;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (this.#modalContext.urlResult) {
|
|
74
|
-
if (this.#modalContext.urlResult.url.startsWith(emailKey)) {
|
|
75
|
-
this.emailAddress = this.#modalContext.urlResult.url.replace(emailKey, '');
|
|
76
|
-
let queryStringIndex = this.emailAddress.indexOf(queryStringParamKey);
|
|
77
|
-
queryStringIndex =
|
|
78
|
-
queryStringIndex > -1
|
|
79
|
-
? queryStringIndex
|
|
80
|
-
: this.emailAddress.indexOf(queryStringParamKey.toLowerCase());
|
|
81
|
-
/* istanbul ignore else */
|
|
82
|
-
if (queryStringIndex > -1) {
|
|
83
|
-
this.subject = decodeURI(this.emailAddress).slice(queryStringIndex + queryStringParamKey.length);
|
|
84
|
-
this.emailAddress = this.emailAddress.slice(0, queryStringIndex);
|
|
85
|
-
}
|
|
86
|
-
// Set active tab to email
|
|
87
|
-
this.activeTab = 1;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.url = this.#modalContext.urlResult.url;
|
|
91
|
-
this.target = this.#modalContext.urlResult.target;
|
|
92
|
-
// set active tab to web page
|
|
93
|
-
this.activeTab = 0;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
activeTabChanged(value) {
|
|
98
|
-
this.activeTab = Number(value);
|
|
99
|
-
}
|
|
100
|
-
save() {
|
|
101
|
-
/* istanbul ignore else */
|
|
102
|
-
if (this.#isValid()) {
|
|
103
|
-
if (this.activeTab === 0) {
|
|
104
|
-
this.#modalInstance.save({
|
|
105
|
-
url: this.url,
|
|
106
|
-
target: this.target
|
|
107
|
-
? parseInt(this.target, undefined)
|
|
108
|
-
: UrlTarget.None,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
this.#modalInstance.save({
|
|
113
|
-
url: this.#getEmailUrl(),
|
|
114
|
-
target: UrlTarget.None,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
cancel() {
|
|
120
|
-
this.#modalInstance.cancel();
|
|
121
|
-
}
|
|
122
|
-
#getEmailUrl() {
|
|
123
|
-
return (emailKey +
|
|
124
|
-
this.emailAddress +
|
|
125
|
-
(this.subject ? '?Subject=' + encodeURI(this.subject) : ''));
|
|
126
|
-
}
|
|
127
|
-
#isValid() {
|
|
128
|
-
if (this.activeTab === 0) {
|
|
129
|
-
return !!this.url && SkyValidation.isUrl(this.url);
|
|
130
|
-
}
|
|
131
|
-
return !!this.emailAddress && SkyValidation.isEmail(this.emailAddress);
|
|
132
|
-
}
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextEditorUrlModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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" }] }); }
|
|
135
|
-
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyTextEditorUrlModalComponent, decorators: [{
|
|
137
|
-
type: Component,
|
|
138
|
-
args: [{ standalone: true, selector: 'sky-text-editor-url-modal', imports: [
|
|
139
|
-
FormsModule,
|
|
140
|
-
SkyModalModule,
|
|
141
|
-
SkyIdModule,
|
|
142
|
-
SkyInputBoxModule,
|
|
143
|
-
SkyTabsModule,
|
|
144
|
-
SkyTextEditorResourcesModule,
|
|
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"] }]
|
|
146
|
-
}], ctorParameters: () => [] });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL2xpYi9tb2R1bGVzL3RleHQtZWRpdG9yL3VybC1tb2RhbC90ZXh0LWVkaXRvci11cmwtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFlLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUVyRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUM7QUFDM0IsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFFeEM7O0dBRUc7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O3dCQUNqQixhQUFhO3dCQUNiLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUlucHV0Qm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreU1vZGFsSW5zdGFuY2UsIFNreU1vZGFsTW9kdWxlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5pbXBvcnQgeyBTa3lUYWJJbmRleCwgU2t5VGFic01vZHVsZSB9IGZyb20gJ0Bza3l1eC90YWJzJztcbmltcG9ydCB7IFNreVZhbGlkYXRpb24gfSBmcm9tICdAc2t5dXgvdmFsaWRhdGlvbic7XG5cbmltcG9ydCB7IFNreVRleHRFZGl0b3JSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRleHQtZWRpdG9yLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lVcmxNb2RhbENvbnRleHQgfSBmcm9tICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFVybE1vZGFsUmVzdWx0IH0gZnJvbSAnLi90ZXh0LWVkaXRvci11cmwtbW9kYWwtcmVzdWx0JztcbmltcG9ydCB7IFVybFRhcmdldCB9IGZyb20gJy4vdGV4dC1lZGl0b3ItdXJsLXRhcmdldCc7XG5cbmNvbnN0IGVtYWlsS2V5ID0gJ21haWx0bzonO1xuY29uc3QgcXVlcnlTdHJpbmdQYXJhbUtleSA9ICc/U3ViamVjdD0nO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1lZGl0b3ItdXJsLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZWRpdG9yLXVybC1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5SW5wdXRCb3hNb2R1bGUsXG4gICAgU2t5VGFic01vZHVsZSxcbiAgICBTa3lUZXh0RWRpdG9yUmVzb3VyY2VzTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RWRpdG9yVXJsTW9kYWxDb21wb25lbnQge1xuICBwdWJsaWMgc2V0IGFjdGl2ZVRhYih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy4jX2FjdGl2ZVRhYiA9IHZhbHVlO1xuICAgIHRoaXMudmFsaWQgPSB0aGlzLiNpc1ZhbGlkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlVGFiO1xuICB9XG5cbiAgcHVibGljIHNldCBlbWFpbEFkZHJlc3ModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuI19lbWFpbEFkZHJlc3MgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbGlkID0gdGhpcy4jaXNWYWxpZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbWFpbEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2VtYWlsQWRkcmVzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdXJsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNfdXJsID0gdmFsdWU7XG4gICAgdGhpcy52YWxpZCA9IHRoaXMuI2lzVmFsaWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI191cmw7XG4gIH1cblxuICBwdWJsaWMgZW1haWxBZGRyZXNzVmFsaWQgPSBmYWxzZTtcbiAgcHVibGljIGFsbG93QWxsT3BlbkxpbmtPcHRpb25zID0gdHJ1ZTtcbiAgcHVibGljIG9wZW5MaW5rc0luTmV3V2luZG93T25seSA9IGZhbHNlO1xuICBwdWJsaWMgc3ViamVjdCA9ICcnO1xuICBwdWJsaWMgdGFyZ2V0OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICBwdWJsaWMgdmFsaWQgPSBmYWxzZTtcblxuICAjX2FjdGl2ZVRhYiA9IDA7XG4gICNfZW1haWxBZGRyZXNzID0gJyc7XG4gICNfdXJsID0gJ2h0dHBzOi8vJztcblxuICByZWFkb25seSAjbW9kYWxDb250ZXh0ID0gaW5qZWN0KFNreVVybE1vZGFsQ29udGV4dCk7XG4gIHJlYWRvbmx5ICNtb2RhbEluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGxpbmtXaW5kb3dPcHRpb25zID0gdGhpcy4jbW9kYWxDb250ZXh0LmxpbmtXaW5kb3dPcHRpb25zO1xuXG4gICAgaWYgKGxpbmtXaW5kb3dPcHRpb25zPy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuYWxsb3dBbGxPcGVuTGlua09wdGlvbnMgPSBmYWxzZTtcbiAgICAgIGlmIChsaW5rV2luZG93T3B0aW9uc1swXSA9PT0gJ25ldycpIHtcbiAgICAgICAgdGhpcy5vcGVuTGlua3NJbk5ld1dpbmRvd09ubHkgPSB0cnVlO1xuICAgICAgICB0aGlzLnRhcmdldCA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhcmdldCA9IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQpIHtcbiAgICAgIGlmICh0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnVybC5zdGFydHNXaXRoKGVtYWlsS2V5KSkge1xuICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuI21vZGFsQ29udGV4dC51cmxSZXN1bHQudXJsLnJlcGxhY2UoXG4gICAgICAgICAgZW1haWxLZXksXG4gICAgICAgICAgJycsXG4gICAgICAgICk7XG5cbiAgICAgICAgbGV0IHF1ZXJ5U3RyaW5nSW5kZXggPSB0aGlzLmVtYWlsQWRkcmVzcy5pbmRleE9mKHF1ZXJ5U3RyaW5nUGFyYW1LZXkpO1xuICAgICAgICBxdWVyeVN0cmluZ0luZGV4ID1cbiAgICAgICAgICBxdWVyeVN0cmluZ0luZGV4ID4gLTFcbiAgICAgICAgICAgID8gcXVlcnlTdHJpbmdJbmRleFxuICAgICAgICAgICAgOiB0aGlzLmVtYWlsQWRkcmVzcy5pbmRleE9mKHF1ZXJ5U3RyaW5nUGFyYW1LZXkudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHF1ZXJ5U3RyaW5nSW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMuc3ViamVjdCA9IGRlY29kZVVSSSh0aGlzLmVtYWlsQWRkcmVzcykuc2xpY2UoXG4gICAgICAgICAgICBxdWVyeVN0cmluZ0luZGV4ICsgcXVlcnlTdHJpbmdQYXJhbUtleS5sZW5ndGgsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmVtYWlsQWRkcmVzcyA9IHRoaXMuZW1haWxBZGRyZXNzLnNsaWNlKDAsIHF1ZXJ5U3RyaW5nSW5kZXgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IGFjdGl2ZSB0YWIgdG8gZW1haWxcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cmwgPSB0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnVybDtcbiAgICAgICAgdGhpcy50YXJnZXQgPSB0aGlzLiNtb2RhbENvbnRleHQudXJsUmVzdWx0LnRhcmdldCBhcyBhbnk7XG5cbiAgICAgICAgLy8gc2V0IGFjdGl2ZSB0YWIgdG8gd2ViIHBhZ2VcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVUYWJDaGFuZ2VkKHZhbHVlOiBTa3lUYWJJbmRleCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gTnVtYmVyKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2lzVmFsaWQoKSkge1xuICAgICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAwKSB7XG4gICAgICAgIHRoaXMuI21vZGFsSW5zdGFuY2Uuc2F2ZSh7XG4gICAgICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0XG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMudGFyZ2V0IGFzIHN0cmluZywgdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBVcmxUYXJnZXQuTm9uZSxcbiAgICAgICAgfSBhcyBVcmxNb2RhbFJlc3VsdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb2RhbEluc3RhbmNlLnNhdmUoe1xuICAgICAgICAgIHVybDogdGhpcy4jZ2V0RW1haWxVcmwoKSxcbiAgICAgICAgICB0YXJnZXQ6IFVybFRhcmdldC5Ob25lLFxuICAgICAgICB9IGFzIFVybE1vZGFsUmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICAjZ2V0RW1haWxVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgZW1haWxLZXkgK1xuICAgICAgdGhpcy5lbWFpbEFkZHJlc3MgK1xuICAgICAgKHRoaXMuc3ViamVjdCA/ICc/U3ViamVjdD0nICsgZW5jb2RlVVJJKHRoaXMuc3ViamVjdCkgOiAnJylcbiAgICApO1xuICB9XG5cbiAgI2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAwKSB7XG4gICAgICByZXR1cm4gISF0aGlzLnVybCAmJiBTa3lWYWxpZGF0aW9uLmlzVXJsKHRoaXMudXJsKTtcbiAgICB9XG4gICAgcmV0dXJuICEhdGhpcy5lbWFpbEFkZHJlc3MgJiYgU2t5VmFsaWRhdGlvbi5pc0VtYWlsKHRoaXMuZW1haWxBZGRyZXNzKTtcbiAgfVxufVxuIiwiPHNreS1tb2RhbD5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9oZWFkZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50PlxuICAgIDxza3ktdGFic2V0XG4gICAgICBkYXRhLXNreS1pZD1cInRlc3QtdGFic2V0XCJcbiAgICAgIFthY3RpdmVdPVwiYWN0aXZlVGFiXCJcbiAgICAgIChhY3RpdmVDaGFuZ2UpPVwiYWN0aXZlVGFiQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c2t5LXRhYiB0YWJIZWFkaW5nPVwiV2ViIHBhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNreS1mb3JtLWdyb3VwIHNreS10ZXh0LWVkaXRvci11cmwtbW9kYWwtZmlyc3QtZmllbGRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktdGV4dC1lZGl0b3ItdXJsLWlucHV0XCJcbiAgICAgICAgICAgIHN0YWNrZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgIFtoaW50VGV4dF09XCJcbiAgICAgICAgICAgICAgb3BlbkxpbmtzSW5OZXdXaW5kb3dPbmx5XG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9vcGVuX2luX25ld193aW5kb3dfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbCBza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwidXJsSW5wdXQuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX3VybF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgI3VybElucHV0PVwic2t5SWRcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidXJsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChhbGxvd0FsbE9wZW5MaW5rT3B0aW9ucykge1xuICAgICAgICAgIDxza3ktaW5wdXQtYm94IHN0YWNrZWQ9XCJ0cnVlXCIgY2xhc3M9XCJza3ktZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIiBbZm9yXT1cInRhcmdldElucHV0LmlkXCI+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF90ZXh0X2VkaXRvcl91cmxfbW9kYWxfb3Blbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICN0YXJnZXRJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMFwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2N1cnJlbnRfb3B0aW9uX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX25ld19vcHRpb25fbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIH1cbiAgICAgIDwvc2t5LXRhYj5cbiAgICAgIDxza3ktdGFiIHRhYkhlYWRpbmc9XCJFbWFpbCBhZGRyZXNzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza3ktZm9ybS1ncm91cCBmaXJzdC1maWVsZFwiPlxuICAgICAgICAgIDxza3ktaW5wdXQtYm94IHN0YWNrZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbCBza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZFwiXG4gICAgICAgICAgICAgIFtmb3JdPVwiZW1haWxBZGRyZXNzSW5wdXQuaWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2VtYWlsX2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAjZW1haWxBZGRyZXNzSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbWFpbEFkZHJlc3NcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2t5LWlucHV0LWJveCBzdGFja2VkPVwidHJ1ZVwiIGNsYXNzPVwic2t5LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiIFtmb3JdPVwic3ViamVjdElucHV0LmlkXCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX3N1YmplY3RfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNzdWJqZWN0SW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic3ViamVjdFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktaW5wdXQtYm94PlxuICAgICAgPC9za3ktdGFiPlxuICAgIDwvc2t5LXRhYnNldD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhdmFsaWRcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X3RleHRfZWRpdG9yX3VybF9tb2RhbF9zYXZlX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICB7eyAnc2t5dXhfdGV4dF9lZGl0b3JfdXJsX21vZGFsX2NhbmNlbF9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @internal
|
|
3
|
-
*/
|
|
4
|
-
export var UrlTarget;
|
|
5
|
-
(function (UrlTarget) {
|
|
6
|
-
UrlTarget[UrlTarget["None"] = 0] = "None";
|
|
7
|
-
UrlTarget[UrlTarget["NewWindow"] = 1] = "NewWindow";
|
|
8
|
-
})(UrlTarget || (UrlTarget = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3ItdXJsLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90ZXh0LWVkaXRvci9zcmMvbGliL21vZHVsZXMvdGV4dC1lZGl0b3IvdXJsLW1vZGFsL3RleHQtZWRpdG9yLXVybC10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHlDQUFRLENBQUE7SUFDUixtREFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gVXJsVGFyZ2V0IHtcbiAgTm9uZSA9IDAsXG4gIE5ld1dpbmRvdyA9IDEsXG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGV4dC1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGV4dC1lZGl0b3Ivc3JjL3NreXV4LXRleHQtZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|