@covalent/flavored-markdown 6.4.0 → 6.4.1
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/{esm2022 → esm2020}/lib/cfm-list/cfm-list.component.mjs +14 -13
- package/esm2020/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +111 -0
- package/esm2020/lib/flavored-markdown.component.mjs +543 -0
- package/{esm2022 → esm2020}/lib/flavored-markdown.module.mjs +12 -12
- package/fesm2015/covalent-flavored-markdown.mjs +838 -0
- package/fesm2015/covalent-flavored-markdown.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/covalent-flavored-markdown.mjs +164 -192
- package/{fesm2022 → fesm2020}/covalent-flavored-markdown.mjs.map +1 -1
- package/lib/cfm-list/cfm-list.component.d.ts +1 -1
- package/lib/flavored-markdown-loader/flavored-markdown-loader.component.d.ts +1 -1
- package/lib/flavored-markdown.component.d.ts +3 -3
- package/package.json +18 -12
- package/esm2022/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +0 -129
- package/esm2022/lib/flavored-markdown.component.mjs +0 -554
- /package/{esm2022 → esm2020}/covalent-flavored-markdown.mjs +0 -0
- /package/{esm2022 → esm2020}/public_api.mjs +0 -0
|
@@ -33,19 +33,20 @@ function TdFlavoredListComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
33
33
|
i0.ɵɵproperty("ngIf", !last_r2);
|
|
34
34
|
} }
|
|
35
35
|
export class TdFlavoredListComponent {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredListComponent, selectors: [["td-cfm-list"]], inputs: { lines: "lines", dense: "dense" }, decls: 2, vars: 2, consts: [["ngFor", "", 3, "ngForOf"], ["matListItemTitle", ""], ["matListItemLine", "", 4, "ngFor", "ngForOf"], ["matListItemLine", "", 4, "ngIf"], ["matListItemLine", ""]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelementStart(0, "mat-list");
|
|
41
|
-
i0.ɵɵtemplate(1, TdFlavoredListComponent_ng_template_1_Template, 5, 3, "ng-template", 0);
|
|
42
|
-
i0.ɵɵelementEnd();
|
|
43
|
-
} if (rf & 2) {
|
|
44
|
-
i0.ɵɵattribute("dense", ctx.dense ? true : null);
|
|
45
|
-
i0.ɵɵadvance(1);
|
|
46
|
-
i0.ɵɵproperty("ngForOf", ctx.lines);
|
|
47
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatList, i2.MatListItem, i3.MatDivider, i2.MatListItemLine, i2.MatListItemTitle] });
|
|
36
|
+
constructor() {
|
|
37
|
+
this.dense = false;
|
|
38
|
+
}
|
|
48
39
|
}
|
|
40
|
+
TdFlavoredListComponent.ɵfac = function TdFlavoredListComponent_Factory(t) { return new (t || TdFlavoredListComponent)(); };
|
|
41
|
+
TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredListComponent, selectors: [["td-cfm-list"]], inputs: { lines: "lines", dense: "dense" }, decls: 2, vars: 2, consts: [["ngFor", "", 3, "ngForOf"], ["matListItemTitle", ""], ["matListItemLine", "", 4, "ngFor", "ngForOf"], ["matListItemLine", "", 4, "ngIf"], ["matListItemLine", ""]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
i0.ɵɵelementStart(0, "mat-list");
|
|
43
|
+
i0.ɵɵtemplate(1, TdFlavoredListComponent_ng_template_1_Template, 5, 3, "ng-template", 0);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
i0.ɵɵattribute("dense", ctx.dense ? true : null);
|
|
47
|
+
i0.ɵɵadvance(1);
|
|
48
|
+
i0.ɵɵproperty("ngForOf", ctx.lines);
|
|
49
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatList, i2.MatListItem, i3.MatDivider, i2.MatListItemLine, i2.MatListItemTitle] });
|
|
49
50
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{
|
|
50
51
|
type: Component,
|
|
51
52
|
args: [{ selector: 'td-cfm-list', template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matListItemTitle>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matListItemLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\" matListItemLine></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n" }]
|
|
@@ -54,4 +55,4 @@ export class TdFlavoredListComponent {
|
|
|
54
55
|
}], dense: [{
|
|
55
56
|
type: Input
|
|
56
57
|
}] }); })();
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2NmbS1saXN0L2NmbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDTTNDLDRCQUF5RDtJQUN2RCxZQUNGO0lBQUEsaUJBQUk7OztJQURGLGVBQ0Y7SUFERSwyQ0FDRjs7O0lBQ0EsaUNBQXlEOzs7SUFQM0QscUNBQWUsWUFBQTtJQUVYLFlBQ0Y7SUFBQSxpQkFBSztJQUNMLGtGQUVJO0lBQ0osc0dBQXlEO0lBQzNELGlCQUFnQjs7OztJQU5aLGVBQ0Y7SUFERSw2Q0FDRjtJQUN1QixlQUFnQjtJQUFoQiwwQ0FBZ0I7SUFHekIsZUFBVztJQUFYLCtCQUFXOztBREcvQixNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT1csVUFBSyxHQUFHLEtBQUssQ0FBQztLQUN4Qjs7OEZBSFksdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUNacEMsZ0NBQTZDO1FBQzNDLHdGQVVjO1FBQ2hCLGlCQUFXOztRQVpELGdEQUFrQztRQUNFLGVBQWlCO1FBQWpCLG1DQUFpQjs7dUZEV2xELHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLGFBQWE7Z0JBS2QsS0FBSztrQkFBYixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGbGF2b3JlZExpc3RJdGVtIHtcbiAgbGluZTogc3RyaW5nO1xuICBzdWJsaW5lcz86IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1jZm0tbGlzdCcsXG4gIHN0eWxlVXJsczogWycuL2NmbS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluZXMhOiBJRmxhdm9yZWRMaXN0SXRlbVtdO1xuICBASW5wdXQoKSBkZW5zZSA9IGZhbHNlO1xufVxuIiwiPG1hdC1saXN0IFthdHRyLmRlbnNlXT1cImRlbnNlID8gdHJ1ZSA6IG51bGxcIj5cbiAgPG5nLXRlbXBsYXRlIGxldC1saW5lIGxldC1sYXN0PVwibGFzdFwiIG5nRm9yIFtuZ0Zvck9mXT1cImxpbmVzXCI+XG4gICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICA8aDQgbWF0TGlzdEl0ZW1UaXRsZT5cbiAgICAgICAge3sgbGluZS5saW5lIH19XG4gICAgICA8L2g0PlxuICAgICAgPHAgKm5nRm9yPVwibGV0IHN1YmxpbmUgb2YgbGluZS5zdWJsaW5lc1wiIG1hdExpc3RJdGVtTGluZT5cbiAgICAgICAge3sgc3VibGluZSB9fVxuICAgICAgPC9wPlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiIWxhc3RcIiBtYXRMaXN0SXRlbUxpbmU+PC9tYXQtZGl2aWRlcj5cbiAgICA8L21hdC1saXN0LWl0ZW0+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1saXN0PlxuIl19
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
|
|
2
|
+
import { TdMarkdownLoaderService } from '@covalent/markdown';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@covalent/markdown";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/progress-bar";
|
|
7
|
+
import * as i4 from "../flavored-markdown.component";
|
|
8
|
+
function TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
i0.ɵɵelement(0, "mat-progress-bar", 2);
|
|
10
|
+
} if (rf & 2) {
|
|
11
|
+
i0.ɵɵproperty("ngClass", "delay");
|
|
12
|
+
} }
|
|
13
|
+
function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
15
|
+
i0.ɵɵelementStart(0, "td-flavored-markdown", 3);
|
|
16
|
+
i0.ɵɵlistener("contentReady", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.contentReady.emit()); })("buttonClicked", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.buttonClicked.emit($event)); });
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
20
|
+
let tmp_1_0;
|
|
21
|
+
let tmp_2_0;
|
|
22
|
+
i0.ɵɵproperty("content", ctx_r1.content)("hostedUrl", (tmp_1_0 = ctx_r1.url) !== null && tmp_1_0 !== undefined ? tmp_1_0 : "")("anchor", (tmp_2_0 = ctx_r1.anchor) !== null && tmp_2_0 !== undefined ? tmp_2_0 : "")("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips)("useCfmList", ctx_r1.useCfmList);
|
|
23
|
+
} }
|
|
24
|
+
// TODO: make a td-markdown-loader component
|
|
25
|
+
export class TdFlavoredMarkdownLoaderComponent {
|
|
26
|
+
constructor(_changeDetectorRef, _markdownUrlLoaderService) {
|
|
27
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
28
|
+
this._markdownUrlLoaderService = _markdownUrlLoaderService;
|
|
29
|
+
/**
|
|
30
|
+
* copyCodeToClipboard?: boolean
|
|
31
|
+
*
|
|
32
|
+
* Display copy button on code snippets to copy code to clipboard.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
this.copyCodeToClipboard = false;
|
|
36
|
+
/**
|
|
37
|
+
* copyCodeTooltips?: ICopyCodeTooltips
|
|
38
|
+
*
|
|
39
|
+
* Tooltips for copy button to copy and upon copying.
|
|
40
|
+
*/
|
|
41
|
+
this.copyCodeTooltips = {};
|
|
42
|
+
/**
|
|
43
|
+
* useCfmList?: boolean = false;
|
|
44
|
+
* Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.
|
|
45
|
+
*/
|
|
46
|
+
this.useCfmList = false;
|
|
47
|
+
/**
|
|
48
|
+
* contentReady: void
|
|
49
|
+
* Emitted when markdown rendering is finished.
|
|
50
|
+
*/
|
|
51
|
+
this.contentReady = new EventEmitter();
|
|
52
|
+
/**
|
|
53
|
+
* loadFailed: Error
|
|
54
|
+
* Emitted when loading of markdown file fails.
|
|
55
|
+
*/
|
|
56
|
+
this.loadFailed = new EventEmitter();
|
|
57
|
+
this.buttonClicked = new EventEmitter();
|
|
58
|
+
this.loading = true;
|
|
59
|
+
}
|
|
60
|
+
ngOnChanges(changes) {
|
|
61
|
+
if (changes['url'] || changes['httpOptions']) {
|
|
62
|
+
this.loadMarkdown();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async loadMarkdown() {
|
|
66
|
+
this.loading = true;
|
|
67
|
+
this._changeDetectorRef.markForCheck();
|
|
68
|
+
try {
|
|
69
|
+
this.content = await this._markdownUrlLoaderService.load(this.url ?? '', this.httpOptions);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.loadFailed.emit(error);
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
this.loading = false;
|
|
76
|
+
this._changeDetectorRef.markForCheck();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
TdFlavoredMarkdownLoaderComponent.ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(t) { return new (t || TdFlavoredMarkdownLoaderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.TdMarkdownLoaderService)); };
|
|
81
|
+
TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownLoaderComponent, selectors: [["td-flavored-markdown-loader"]], inputs: { url: "url", httpOptions: "httpOptions", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", loadFailed: "loadFailed", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["mode", "indeterminate", "color", "accent", "class", "sticky", 3, "ngClass", 4, "ngIf"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked", 4, "ngIf"], ["mode", "indeterminate", "color", "accent", 1, "sticky", 3, "ngClass"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked"]], template: function TdFlavoredMarkdownLoaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵtemplate(0, TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template, 1, 1, "mat-progress-bar", 0);
|
|
83
|
+
i0.ɵɵtemplate(1, TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template, 1, 6, "td-flavored-markdown", 1);
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
86
|
+
i0.ɵɵadvance(1);
|
|
87
|
+
i0.ɵɵproperty("ngIf", !ctx.loading);
|
|
88
|
+
} }, dependencies: [i2.NgClass, i2.NgIf, i3.MatProgressBar, i4.TdFlavoredMarkdownComponent], styles: ["[_nghost-%COMP%]{display:block}.sticky[_ngcontent-%COMP%]{position:absolute;top:0}.delay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_delay-animation;animation-duration:.6s}@keyframes _ngcontent-%COMP%_delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"], changeDetection: 0 });
|
|
89
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'td-flavored-markdown-loader', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n", styles: [":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delay-animation;animation-duration:.6s}@keyframes delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}\n"] }]
|
|
92
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TdMarkdownLoaderService }]; }, { url: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], httpOptions: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], anchor: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], copyCodeToClipboard: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], copyCodeTooltips: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], useCfmList: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], contentReady: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}], loadFailed: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}], buttonClicked: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}] }); })();
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUdqQixNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7OztJQ1Y3RCxzQ0FNb0I7O0lBTGxCLGlDQUFtQjs7OztJQU1yQiwrQ0FVQztJQUZDLDJOQUFnQixlQUFBLDBCQUFtQixDQUFBLElBQUMsc05BQ25CLGVBQUEsaUNBQTBCLENBQUEsSUFEUDtJQUVyQyxpQkFBdUI7Ozs7O0lBUnRCLHdDQUFtQixzRkFBQSxzRkFBQSxtREFBQSw2Q0FBQSxpQ0FBQTs7QURLckIsNENBQTRDO0FBUTVDLE1BQU0sT0FBTyxpQ0FBaUM7SUEwRDVDLFlBQ1Usa0JBQXFDLEVBQ3JDLHlCQUFrRDtRQURsRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBeUI7UUF6QzVEOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQUksS0FBSyxDQUFDO1FBRXRDOzs7O1dBSUc7UUFDTSxxQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO1FBRW5EOzs7V0FHRztRQUNNLGVBQVUsR0FBSSxLQUFLLENBQUM7UUFFN0I7OztXQUdHO1FBQ08saUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRTs7O1dBR0c7UUFDTyxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsa0JBQWEsR0FDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdyQixZQUFPLEdBQUcsSUFBSSxDQUFDO0lBS1osQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxJQUFJO1lBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQ3RELElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxFQUNkLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7U0FDSDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBYyxDQUFDLENBQUM7U0FDdEM7Z0JBQVM7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDOztrSEFuRlUsaUNBQWlDO29GQUFqQyxpQ0FBaUM7UUN0QjlDLDRHQU1vQjtRQUNwQixvSEFVd0I7O1FBZnJCLGtDQUFhO1FBTWIsZUFBYztRQUFkLG1DQUFjOzt1RkRjSixpQ0FBaUM7Y0FON0MsU0FBUzsyQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU07MEdBT3RDLEdBQUc7a0JBQVgsS0FBSztZQU1HLFdBQVc7a0JBQW5CLEtBQUs7WUFNRyxNQUFNO2tCQUFkLEtBQUs7WUFRRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFPRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFNRyxVQUFVO2tCQUFsQixLQUFLO1lBTUksWUFBWTtrQkFBckIsTUFBTTtZQU1HLFVBQVU7a0JBQW5CLE1BQU07WUFFRyxhQUFhO2tCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRkTWFya2Rvd25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnQGNvdmFsZW50L21hcmtkb3duJztcbmltcG9ydCB7IElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50IH0gZnJvbSAnLi4vZmxhdm9yZWQtbWFya2Rvd24uY29tcG9uZW50JztcbmltcG9ydCB7IElDb3B5Q29kZVRvb2x0aXBzIH0gZnJvbSAnQGNvdmFsZW50L2hpZ2hsaWdodCc7XG5cbi8vIFRPRE86IG1ha2UgYSB0ZC1tYXJrZG93bi1sb2FkZXIgY29tcG9uZW50XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWZsYXZvcmVkLW1hcmtkb3duLWxvYWRlcicsXG4gIHN0eWxlVXJsczogWycuL2ZsYXZvcmVkLW1hcmtkb3duLWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRNYXJrZG93bkxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiB1cmw6IHN0cmluZ1xuICAgKiBUaGUgdXJsIG9mIHRoZSBtYXJrZG93biBmaWxlLlxuICAgKi9cbiAgQElucHV0KCkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBodHRwT3B0aW9uczogb2JqZWN0XG4gICAqIEhUVFAgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXJ0IG9mIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgQElucHV0KCkgaHR0cE9wdGlvbnM/OiBvYmplY3Q7XG5cbiAgLyoqXG4gICAqIGFuY2hvcjogc3RyaW5nXG4gICAqIEFuY2hvciB0byBqdW1wIHRvLlxuICAgKi9cbiAgQElucHV0KCkgYW5jaG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIHVzZUNmbUxpc3Q/OiBib29sZWFuID0gZmFsc2U7XG4gICAqIFVzZSBDRk0gbGlzdCBjb21wb25lbnQgaW5zdGVhZCBvZiB2YW5pbGxhIG1hcmtkb3duIGxpc3QuIFVzZWQgaW4gY292YWxlbnQgZG9jdW1lbnRhdGlvbiBhcHAuXG4gICAqL1xuICBASW5wdXQoKSB1c2VDZm1MaXN0PyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBjb250ZW50UmVhZHk6IHZvaWRcbiAgICogRW1pdHRlZCB3aGVuIG1hcmtkb3duIHJlbmRlcmluZyBpcyBmaW5pc2hlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBjb250ZW50UmVhZHk6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogbG9hZEZhaWxlZDogRXJyb3JcbiAgICogRW1pdHRlZCB3aGVuIGxvYWRpbmcgb2YgbWFya2Rvd24gZmlsZSBmYWlscy5cbiAgICovXG4gIEBPdXRwdXQoKSBsb2FkRmFpbGVkOiBFdmVudEVtaXR0ZXI8RXJyb3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29udGVudCE6IHN0cmluZztcbiAgbG9hZGluZyA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX21hcmtkb3duVXJsTG9hZGVyU2VydmljZTogVGRNYXJrZG93bkxvYWRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndXJsJ10gfHwgY2hhbmdlc1snaHR0cE9wdGlvbnMnXSkge1xuICAgICAgdGhpcy5sb2FkTWFya2Rvd24oKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTWFya2Rvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jb250ZW50ID0gYXdhaXQgdGhpcy5fbWFya2Rvd25VcmxMb2FkZXJTZXJ2aWNlLmxvYWQoXG4gICAgICAgIHRoaXMudXJsID8/ICcnLFxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvYWRGYWlsZWQuZW1pdChlcnJvciBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LXByb2dyZXNzLWJhclxuICBbbmdDbGFzc109XCInZGVsYXknXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICBjb2xvcj1cImFjY2VudFwiXG4gIGNsYXNzPVwic3RpY2t5XCJcbj48L21hdC1wcm9ncmVzcy1iYXI+XG48dGQtZmxhdm9yZWQtbWFya2Rvd25cbiAgKm5nSWY9XCIhbG9hZGluZ1wiXG4gIFtjb250ZW50XT1cImNvbnRlbnRcIlxuICBbaG9zdGVkVXJsXT1cInVybCA/PyAnJ1wiXG4gIFthbmNob3JdPVwiYW5jaG9yID8/ICcnXCJcbiAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICBbdXNlQ2ZtTGlzdF09XCJ1c2VDZm1MaXN0XCJcbiAgKGNvbnRlbnRSZWFkeSk9XCJjb250ZW50UmVhZHkuZW1pdCgpXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuPjwvdGQtZmxhdm9yZWQtbWFya2Rvd24+XG4iXX0=
|