@covalent/flavored-markdown 11.5.8 → 11.5.10

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.
@@ -18,5 +18,28 @@
18
18
  }
19
19
  }
20
20
  }
21
+
22
+ mat-table {
23
+ --mat-table-row-item-outline-color: var(--cv-theme-outline-variant);
24
+ --mat-table-background-color: var(--cv-theme-surface-bright);
25
+ --mat-table-header-headline-font: var(
26
+ --cv-typography-caption-font-family
27
+ );
28
+ --mat-table-header-headline-line-height: var(
29
+ --cv-typography-caption-line-height
30
+ );
31
+ --mat-table-header-headline-size: var(--cv-typography-caption-font-size);
32
+ --mat-table-header-headline-weight: var(
33
+ --cv-typography-caption-font-weight
34
+ );
35
+
36
+ &.mat-mdc-table {
37
+ border: 1px solid var(--cv-theme-outline-variant);
38
+ }
39
+
40
+ mat-row.mat-mdc-row:nth-child(even) {
41
+ background-color: var(--cv-theme-surface);
42
+ }
43
+ }
21
44
  }
22
45
  }
@@ -607,11 +607,11 @@ class TdFlavoredMarkdownComponent {
607
607
  i0.ɵɵelementStart(0, "div", 0);
608
608
  i0.ɵɵprojection(1);
609
609
  i0.ɵɵelementEnd();
610
- } }, dependencies: [TdFlavoredMarkdownContainerDirective], styles: ["[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}[_nghost-%COMP%] mat-table .align-right{justify-content:flex-end}[_nghost-%COMP%] mat-table .align-center{justify-content:center}"], changeDetection: 0 });
610
+ } }, dependencies: [TdFlavoredMarkdownContainerDirective], styles: ["[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}[_nghost-%COMP%] mat-table.mat-mdc-table{border-radius:8px;overflow:hidden}[_nghost-%COMP%] mat-table .align-right{justify-content:flex-end}[_nghost-%COMP%] mat-table .align-center{justify-content:center}"], changeDetection: 0 });
611
611
  }
612
612
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownComponent, [{
613
613
  type: Component,
614
- args: [{ selector: 'td-flavored-markdown', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdFlavoredMarkdownContainerDirective], template: "<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox{display:block}:host ::ng-deep td-highlight,:host ::ng-deep mat-table,:host ::ng-deep mat-checkbox:last-of-type{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{display:flex;flex-direction:row;justify-content:space-between}:host ::ng-deep mat-table .align-right{justify-content:flex-end}:host ::ng-deep mat-table .align-center{justify-content:center}\n"] }]
614
+ args: [{ selector: 'td-flavored-markdown', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdFlavoredMarkdownContainerDirective], template: "<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox{display:block}:host ::ng-deep td-highlight,:host ::ng-deep mat-table,:host ::ng-deep mat-checkbox:last-of-type{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{display:flex;flex-direction:row;justify-content:space-between}:host ::ng-deep mat-table.mat-mdc-table{border-radius:8px;overflow:hidden}:host ::ng-deep mat-table .align-right{justify-content:flex-end}:host ::ng-deep mat-table .align-center{justify-content:center}\n"] }]
615
615
  }], null, { content: [{
616
616
  type: Input
617
617
  }], simpleLineBreaks: [{
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../tmp-esm2022/lib/cfm-list/cfm-list.component.js","../tmp-esm2022/lib/flavored-markdown.component.js","../tmp-esm2022/lib/flavored-markdown-loader/flavored-markdown-loader.component.js","../tmp-esm2022/lib/flavored-markdown.module.js","../tmp-esm2022/covalent-flavored-markdown.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatListModule } from '@angular/material/list';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/list\";\nfunction TdFlavoredListComponent_ng_template_1_p_3_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"p\", 4);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const subline_r1 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", subline_r1, \" \");\n} }\nfunction TdFlavoredListComponent_ng_template_1_mat_divider_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-divider\");\n} }\nfunction TdFlavoredListComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-list-item\")(1, \"h4\", 1);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, TdFlavoredListComponent_ng_template_1_p_3_Template, 2, 1, \"p\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, TdFlavoredListComponent_ng_template_1_mat_divider_4_Template, 1, 0, \"mat-divider\", 3);\n} if (rf & 2) {\n const line_r2 = ctx.$implicit;\n const last_r3 = ctx.last;\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", line_r2.line, \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", line_r2.sublines);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !last_r3);\n} }\nexport class TdFlavoredListComponent {\n lines;\n dense = false;\n static ɵfac = function TdFlavoredListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredListComponent)(); };\n 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\"], [4, \"ngIf\"], [\"matListItemLine\", \"\"]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-list\");\n i0.ɵɵtemplate(1, TdFlavoredListComponent_ng_template_1_Template, 5, 3, \"ng-template\", 0);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵattribute(\"dense\", ctx.dense ? true : null);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.lines);\n } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf, MatListModule, i2.MatList, i2.MatListItem, i2.MatDivider, i2.MatListItemLine, i2.MatListItemTitle, MatDividerModule], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{\n type: Component,\n args: [{ selector: 'td-cfm-list', imports: [CommonModule, MatListModule, MatDividerModule], 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-list-item>\\n <mat-divider *ngIf=\\\"!last\\\"></mat-divider>\\n </ng-template>\\n</mat-list>\\n\" }]\n }], null, { lines: [{\n type: Input\n }], dense: [{\n type: Input\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredListComponent, { className: \"TdFlavoredListComponent\", filePath: \"lib/cfm-list/cfm-list.component.ts\", lineNumber: 17 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2NmbS1saXN0L2NmbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztJQ0dqRCw0QkFBeUQ7SUFDdkQsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsMkNBQ0Y7OztJQUVGLDhCQUF5Qzs7O0lBUHZDLEFBREYscUNBQWUsWUFDUTtJQUNuQixZQUNGO0lBQUEsaUJBQUs7SUFDTCxrRkFBeUQ7SUFHM0QsaUJBQWdCO0lBQ2hCLHNHQUEyQjs7OztJQU52QixlQUNGO0lBREUsNkNBQ0Y7SUFDdUIsY0FBZ0I7SUFBaEIsMENBQWdCO0lBSTNCLGNBQVc7SUFBWCwrQkFBVzs7QURNN0IsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixLQUFLLENBQXVCO0lBQzVCLEtBQUssR0FBRyxLQUFLLENBQUM7aUhBRlosdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNoQnBDLGdDQUE2QztZQUMzQyx3RkFBOEQ7WUFXaEUsaUJBQVc7OztZQVhtQyxjQUFpQjtZQUFqQixtQ0FBaUI7NEJEYW5ELFlBQVksdUJBQUUsYUFBYSxzRkFBRSxnQkFBZ0I7O2lGQUU1Qyx1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxhQUFhLFdBR2QsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDO2dCQUcvQyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7O2tGQUZLLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZsYXZvcmVkTGlzdEl0ZW0ge1xuICBsaW5lOiBzdHJpbmc7XG4gIHN1YmxpbmVzPzogc3RyaW5nW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNmbS1saXN0JyxcbiAgc3R5bGVVcmxzOiBbJy4vY2ZtLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NmbS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0TGlzdE1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluZXMhOiBJRmxhdm9yZWRMaXN0SXRlbVtdO1xuICBASW5wdXQoKSBkZW5zZSA9IGZhbHNlO1xufVxuIiwiPG1hdC1saXN0IFthdHRyLmRlbnNlXT1cImRlbnNlID8gdHJ1ZSA6IG51bGxcIj5cbiAgPG5nLXRlbXBsYXRlIGxldC1saW5lIGxldC1sYXN0PVwibGFzdFwiIG5nRm9yIFtuZ0Zvck9mXT1cImxpbmVzXCI+XG4gICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICA8aDQgbWF0TGlzdEl0ZW1UaXRsZT5cbiAgICAgICAge3sgbGluZS5saW5lIH19XG4gICAgICA8L2g0PlxuICAgICAgPHAgKm5nRm9yPVwibGV0IHN1YmxpbmUgb2YgbGluZS5zdWJsaW5lc1wiIG1hdExpc3RJdGVtTGluZT5cbiAgICAgICAge3sgc3VibGluZSB9fVxuICAgICAgPC9wPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCIhbGFzdFwiPjwvbWF0LWRpdmlkZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1saXN0PlxuIl19","import { Component, Directive, Input, Renderer2, ChangeDetectorRef, EventEmitter, Output, ViewContainerRef, ComponentFactoryResolver, Injector, ViewChild, ChangeDetectionStrategy, ElementRef, HostBinding, inject, } from '@angular/core';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TdFlavoredListComponent, } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/table\";\nimport * as i3 from \"@angular/material/button\";\nconst _c0 = (a0, a1) => ({ \"align-right\": a0, \"align-center\": a1 });\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_mat_header_cell_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-header-cell\", 7);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const column_r1 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(2, _c0, column_r1.numeric, column_r1.centered));\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(column_r1.label);\n} }\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_mat_cell_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-cell\", 8)(1, \"td-markdown\");\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const row_r2 = ctx.$implicit;\n const column_r1 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(2, _c0, column_r1.numeric, column_r1.centered));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(row_r2[column_r1.name]);\n} }\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0, 4);\n i0.ɵɵtemplate(1, TdFlavoredMarkdownTableComponent_ng_template_1_mat_header_cell_1_Template, 2, 5, \"mat-header-cell\", 5)(2, TdFlavoredMarkdownTableComponent_ng_template_1_mat_cell_2_Template, 3, 5, \"mat-cell\", 6);\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const column_r1 = ctx.$implicit;\n i0.ɵɵproperty(\"matColumnDef\", column_r1.name);\n} }\nfunction TdFlavoredMarkdownTableComponent_mat_header_row_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-header-row\");\n} }\nfunction TdFlavoredMarkdownTableComponent_mat_row_3_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-row\");\n} }\nconst _c1 = [\"*\"];\nexport class TdFlavoredMarkdownTableComponent {\n columnDefs = [];\n data;\n sort;\n displayedColumns;\n dataSource;\n ngOnInit() {\n // Check if the first column is empty\n const isFirstColumnEmpty = this.columnDefs.length > 0 &&\n this.columnDefs[0].label.trim() === '' && // Check if the header cell is empty\n this.data.every((row) => !row[this.columnDefs[0].name]); // Check if all cells in the first column are empty\n // If the first column is empty, remove it\n if (isFirstColumnEmpty) {\n this.columnDefs.shift(); // Remove the first column definition\n }\n this.displayedColumns = this.columnDefs.map((c) => c.name);\n this.dataSource = new MatTableDataSource(this.data);\n }\n ngAfterViewInit() {\n this.dataSource.sort = this.sort;\n }\n static ɵfac = function TdFlavoredMarkdownTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownTableComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownTableComponent, selectors: [[\"ng-component\"]], viewQuery: function TdFlavoredMarkdownTableComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(MatSort, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);\n } }, inputs: { columnDefs: \"columnDefs\", data: \"data\" }, decls: 4, vars: 4, consts: [[\"matSort\", \"\", 3, \"dataSource\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [4, \"matHeaderRowDef\"], [4, \"matRowDef\", \"matRowDefColumns\"], [3, \"matColumnDef\"], [\"mat-sort-header\", \"\", 3, \"ngClass\", 4, \"matHeaderCellDef\"], [3, \"ngClass\", 4, \"matCellDef\"], [\"mat-sort-header\", \"\", 3, \"ngClass\"], [3, \"ngClass\"]], template: function TdFlavoredMarkdownTableComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-table\", 0);\n i0.ɵɵtemplate(1, TdFlavoredMarkdownTableComponent_ng_template_1_Template, 3, 1, \"ng-template\", 1)(2, TdFlavoredMarkdownTableComponent_mat_header_row_2_Template, 1, 0, \"mat-header-row\", 2)(3, TdFlavoredMarkdownTableComponent_mat_row_3_Template, 1, 0, \"mat-row\", 3);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵproperty(\"dataSource\", ctx.dataSource);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.columnDefs);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matHeaderRowDef\", ctx.displayedColumns);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matRowDefColumns\", ctx.displayedColumns);\n } }, dependencies: [CommonModule, i1.NgClass, i1.NgForOf, MatTableModule, i2.MatTable, i2.MatHeaderCellDef, i2.MatHeaderRowDef, i2.MatColumnDef, i2.MatCellDef, i2.MatRowDef, i2.MatHeaderCell, i2.MatCell, i2.MatHeaderRow, i2.MatRow, TdMarkdownComponent], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownTableComponent, [{\n type: Component,\n args: [{\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell\n [ngClass]=\"{\n 'align-right': column.numeric,\n 'align-center': column.centered,\n }\"\n *matHeaderCellDef\n mat-sort-header\n >{{ column.label }}</mat-header-cell\n >\n <mat-cell\n *matCellDef=\"let row\"\n [ngClass]=\"{\n 'align-right': column.numeric,\n 'align-center': column.centered,\n }\"\n ><td-markdown>{{ row[column.name] }}</td-markdown></mat-cell\n >\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n imports: [CommonModule, MatTableModule, TdMarkdownComponent],\n }]\n }], null, { columnDefs: [{\n type: Input\n }], data: [{\n type: Input\n }], sort: [{\n type: ViewChild,\n args: [MatSort]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownTableComponent, { className: \"TdFlavoredMarkdownTableComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 91 }); })();\nexport class TdFlavoredMarkdownButtonComponent {\n display = 'inline-block';\n text = '';\n data = '';\n clicked = new EventEmitter();\n emitClick() {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n static ɵfac = function TdFlavoredMarkdownButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownButtonComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownButtonComponent, selectors: [[\"ng-component\"]], hostVars: 2, hostBindings: function TdFlavoredMarkdownButtonComponent_HostBindings(rf, ctx) { if (rf & 2) {\n i0.ɵɵstyleProp(\"display\", ctx.display);\n } }, inputs: { text: \"text\", data: \"data\" }, outputs: { clicked: \"clicked\" }, decls: 2, vars: 1, consts: [[\"mat-raised-button\", \"\", 3, \"click\"]], template: function TdFlavoredMarkdownButtonComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"button\", 0);\n i0.ɵɵlistener(\"click\", function TdFlavoredMarkdownButtonComponent_Template_button_click_0_listener() { return ctx.emitClick(); });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx.text, \" \");\n } }, dependencies: [MatButtonModule, i3.MatButton], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownButtonComponent, [{\n type: Component,\n args: [{\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n imports: [MatButtonModule],\n }]\n }], null, { display: [{\n type: HostBinding,\n args: ['style.display']\n }], text: [{\n type: Input\n }], data: [{\n type: Input\n }], clicked: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownButtonComponent, { className: \"TdFlavoredMarkdownButtonComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 130 }); })();\nexport class TdFlavoredMarkdownContainerDirective {\n viewContainerRef = inject(ViewContainerRef);\n _renderer = inject(Renderer2);\n clear() {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n static ɵfac = function TdFlavoredMarkdownContainerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownContainerDirective)(); };\n static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TdFlavoredMarkdownContainerDirective, selectors: [[\"\", \"tdFlavoredMarkdownContainer\", \"\"]] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownContainerDirective, [{\n type: Directive,\n args: [{\n selector: '[tdFlavoredMarkdownContainer]',\n }]\n }], null, null); })();\nexport class TdFlavoredMarkdownComponent {\n _componentFactoryResolver = inject(ComponentFactoryResolver);\n _renderer = inject(Renderer2);\n _changeDetectorRef = inject(ChangeDetectorRef);\n _injector = inject(Injector);\n _elementRef = inject(ElementRef);\n _content;\n _simpleLineBreaks = false;\n _hostedUrl;\n _anchor;\n _components = {};\n _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n set content(content) {\n this._content = content;\n }\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n set simpleLineBreaks(simpleLineBreaks) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n set hostedUrl(hostedUrl) {\n this._hostedUrl = hostedUrl;\n }\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n set anchor(anchor) {\n this._anchor = anchor;\n }\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * toggleRawCode?: boolean\n *\n * Display button to toggle raw code view\n */\n toggleRawCode = false;\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw code toggle button\n */\n rawToggleLabels = {};\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n useCfmList = false;\n /**\n * The file extensions to monitor for in anchor tags. If an anchor's `href` ends\n * with this extension, an event will be triggered insetad of performing the default action.\n * Example values: \".ipynb\", \".zip\", \".docx\"\n */\n fileLinkExtensions;\n /**\n * Event emitted when an anchor tag with an `href` matching the specified\n * file link extension is clicked. The emitted value is the `href` of the clicked anchor.\n */\n fileLinkClicked = new EventEmitter();\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n contentReady = new EventEmitter();\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n buttonClicked = new EventEmitter();\n container;\n _destroy$ = new Subject();\n ngOnChanges(changes) {\n // only anchor changed\n if (changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n }\n else {\n this.refresh();\n }\n }\n ngAfterViewInit() {\n if (!this._content) {\n this._loadContent(this.container.viewContainerRef.element.nativeElement\n .textContent ?? '');\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n }\n refresh() {\n if (this._content) {\n this._loadContent(this._content);\n }\n else if (this._viewInit) {\n this._loadContent(this.container.viewContainerRef.element.nativeElement\n .textContent ?? '');\n }\n this._changeDetectorRef.markForCheck();\n }\n _loadContent(markdown) {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines = markdown.split('\\n');\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line) {\n return line.replace(startingWhitespaceRegex, '').replaceAll('\\r', '');\n });\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n const keys = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA, compB) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n _render(markdown, key, keys) {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n }\n else {\n const contentRef = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.fileLinkExtensions = this.fileLinkExtensions;\n contentRef.instance.fileLinkClicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((url) => {\n this.fileLinkClicked.emit(url);\n });\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n _replaceComponent(markdown, type, regExp, replacerFunc) {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args) => {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key = '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n _replaceCheckbox(markdown) {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(markdown, MatCheckbox, checkboxRegExp, (componentRef, match, checked, label) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.ariaLabel = label;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty((componentRef.instance._elementRef.nativeElement).getElementsByTagName('label')[0], 'innerHTML', label);\n });\n }\n _replaceButtons(markdown) {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(markdown, TdFlavoredMarkdownButtonComponent, globalButtonRegExp, (componentRef, match) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text = matches[1];\n const data = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent) => this.buttonClicked.emit(clickEvent));\n });\n }\n _replaceCodeBlocks(markdown) {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(markdown, TdHighlightComponent, codeBlockRegExp, (componentRef, match, language, codeblock) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.toggleRawButton = this.toggleRawCode;\n componentRef.instance.rawToggleLabels = this.rawToggleLabels;\n componentRef.instance.content = codeblock;\n });\n }\n _replaceTables(markdown) {\n const tableRgx = /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(markdown, TdFlavoredMarkdownTableComponent, tableRgx, (componentRef, match) => {\n const dataTableLines = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns = dataTableLines[0]\n .split('|')\n .filter((col) => {\n return col;\n })\n .map((s) => {\n return s.trim();\n });\n const alignment = dataTableLines[1]\n .split('|')\n .filter((v) => {\n return v;\n })\n .map((s) => {\n return s.trim();\n });\n const data = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit = dataTableLines[i]\n .split('|')\n .filter((cell) => {\n return cell;\n })\n .map((s) => {\n return s.trim();\n });\n const row = {};\n columns.forEach((col, index) => {\n const rowSplitCell = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m, value) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col, index) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n centered: /^:--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n });\n }\n _replaceLists(markdown) {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(markdown, TdFlavoredListComponent, listRegExp, (componentRef, match) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n const lineTexts = match.split(new RegExp('\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'));\n lineTexts.shift();\n const lines = [];\n lineTexts.forEach((text) => {\n const sublineTexts = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n if (listCharRegExp.test(lineText)) {\n return;\n }\n lines.push({\n line: lineText,\n sublines: sublineTexts\n .map((subline) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n })\n .filter((line) => !!line),\n });\n });\n componentRef.instance.lines = lines;\n });\n }\n static ɵfac = function TdFlavoredMarkdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownComponent, selectors: [[\"td-flavored-markdown\"]], viewQuery: function TdFlavoredMarkdownComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(TdFlavoredMarkdownContainerDirective, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);\n } }, inputs: { content: \"content\", simpleLineBreaks: \"simpleLineBreaks\", hostedUrl: \"hostedUrl\", anchor: \"anchor\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", toggleRawCode: \"toggleRawCode\", rawToggleLabels: \"rawToggleLabels\", useCfmList: \"useCfmList\", fileLinkExtensions: \"fileLinkExtensions\" }, outputs: { fileLinkClicked: \"fileLinkClicked\", contentReady: \"contentReady\", buttonClicked: \"buttonClicked\" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c1, decls: 2, vars: 0, consts: [[\"tdFlavoredMarkdownContainer\", \"\"]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n } }, dependencies: [TdFlavoredMarkdownContainerDirective], styles: [\"[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}[_nghost-%COMP%] mat-table .align-right{justify-content:flex-end}[_nghost-%COMP%] mat-table .align-center{justify-content:center}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownComponent, [{\n type: Component,\n args: [{ selector: 'td-flavored-markdown', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdFlavoredMarkdownContainerDirective], template: \"<div tdFlavoredMarkdownContainer>\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox{display:block}:host ::ng-deep td-highlight,:host ::ng-deep mat-table,:host ::ng-deep mat-checkbox:last-of-type{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{display:flex;flex-direction:row;justify-content:space-between}:host ::ng-deep mat-table .align-right{justify-content:flex-end}:host ::ng-deep mat-table .align-center{justify-content:center}\\n\"] }]\n }], null, { content: [{\n type: Input\n }], simpleLineBreaks: [{\n type: Input\n }], hostedUrl: [{\n type: Input\n }], anchor: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], toggleRawCode: [{\n type: Input\n }], rawToggleLabels: [{\n type: Input\n }], useCfmList: [{\n type: Input\n }], fileLinkExtensions: [{\n type: Input\n }], fileLinkClicked: [{\n type: Output\n }], contentReady: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }], container: [{\n type: ViewChild,\n args: [TdFlavoredMarkdownContainerDirective, { static: true }]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownComponent, { className: \"TdFlavoredMarkdownComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 171 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2ZsYXZvcmVkLW1hcmtkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUdULGlCQUFpQixFQUNqQixZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsUUFBUSxFQUVSLFNBQVMsRUFDVCx1QkFBdUIsRUFHdkIsVUFBVSxFQUNWLFdBQVcsRUFHWCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxvQkFBb0IsR0FHckIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFB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dEMsQ0FBQyxvQ0FBb0MsQ0FBQztnQkEwQjNDLE9BQU87a0JBRFYsS0FBSztZQVlGLGdCQUFnQjtrQkFEbkIsS0FBSztZQVlGLFNBQVM7a0JBRFosS0FBSztZQVlGLE1BQU07a0JBRFQsS0FBSztZQVdHLG1CQUFtQjtrQkFBM0IsS0FBSztZQU9HLGdCQUFnQjtrQkFBeEIsS0FBSztZQU9HLGFBQWE7a0JBQXJCLEtBQUs7WUFPRyxlQUFlO2tCQUF2QixLQUFLO1lBTUcsVUFBVTtrQkFBbEIsS0FBSztZQVFOLGtCQUFrQjtrQkFEakIsS0FBSztZQU9JLGVBQWU7a0JBQXhCLE1BQU07WUFNRyxZQUFZO2tCQUFyQixNQUFNO1lBU1AsYUFBYTtrQkFEWixNQUFNO1lBS1AsU0FBUztrQkFEUixTQUFTO21CQUFDLG9DQUFvQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBOUh0RCwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBDb21wb25lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRDaGVja2JveCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSwgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50LFxuICBJRmxhdm9yZWRMaXN0SXRlbSxcbn0gZnJvbSAnLi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGRIaWdobGlnaHRDb21wb25lbnQsXG4gIElDb3B5Q29kZVRvb2x0aXBzLFxuICBJUmF3VG9nZ2xlTGFiZWxzLFxufSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuaW1wb3J0IHsgVGRNYXJrZG93bkNvbXBvbmVudCwgc2Nyb2xsVG9BbmNob3IgfSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGRGbGF2b3JlZE1hcmtEb3duVGFibGVDb2x1bW4ge1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG51bWVyaWM6IGJvb2xlYW47XG4gIGNlbnRlcmVkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICAgICAgPCEtLSBDb2x1bW4gRGVmaW5pdGlvbiAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY29sdW1uIFtuZ0Zvck9mXT1cImNvbHVtbkRlZnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYWxpZ24tcmlnaHQnOiBjb2x1bW4ubnVtZXJpYyxcbiAgICAgICAgICAgICAgJ2FsaWduLWNlbnRlcic6IGNvbHVtbi5jZW50ZXJlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fTwvbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICAgPlxuICAgICAgICAgIDxtYXQtY2VsbFxuICAgICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgcm93XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2FsaWduLXJpZ2h0JzogY29sdW1uLm51bWVyaWMsXG4gICAgICAgICAgICAgICdhbGlnbi1jZW50ZXInOiBjb2x1bW4uY2VudGVyZWQsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID48dGQtbWFya2Rvd24+e3sgcm93W2NvbHVtbi5uYW1lXSB9fTwvdGQtbWFya2Rvd24+PC9tYXQtY2VsbFxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPCEtLSBIZWFkZXIgYW5kIFJvdyBEZWNsYXJhdGlvbnMgLS0+XG4gICAgICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L21hdC1yb3c+XG4gICAgPC9tYXQtdGFibGU+XG4gIGAsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBUZE1hcmtkb3duQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5EZWZzOiBJVGRGbGF2b3JlZE1hcmtEb3duVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhITogdW5rbm93bltdO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGRpc3BsYXllZENvbHVtbnMhOiBzdHJpbmdbXTtcbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTx1bmtub3duPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgY29sdW1uIGlzIGVtcHR5XG4gICAgY29uc3QgaXNGaXJzdENvbHVtbkVtcHR5ID1cbiAgICAgIHRoaXMuY29sdW1uRGVmcy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLmNvbHVtbkRlZnNbMF0ubGFiZWwudHJpbSgpID09PSAnJyAmJiAvLyBDaGVjayBpZiB0aGUgaGVhZGVyIGNlbGwgaXMgZW1wdHlcbiAgICAgIHRoaXMuZGF0YS5ldmVyeSgocm93OiBhbnkpID0+ICFyb3dbdGhpcy5jb2x1bW5EZWZzWzBdLm5hbWVdKTsgLy8gQ2hlY2sgaWYgYWxsIGNlbGxzIGluIHRoZSBmaXJzdCBjb2x1bW4gYXJlIGVtcHR5XG5cbiAgICAvLyBJZiB0aGUgZmlyc3QgY29sdW1uIGlzIGVtcHR5LCByZW1vdmUgaXRcbiAgICBpZiAoaXNGaXJzdENvbHVtbkVtcHR5KSB7XG4gICAgICB0aGlzLmNvbHVtbkRlZnMuc2hpZnQoKTsgLy8gUmVtb3ZlIHRoZSBmaXJzdCBjb2x1bW4gZGVmaW5pdGlvblxuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1uRGVmcy5tYXAoXG4gICAgICAoYzogSVRkRmxhdm9yZWRNYXJrRG93blRhYmxlQ29sdW1uKSA9PiBjLm5hbWUsXG4gICAgKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZW1pdENsaWNrKClcIj5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuICBASW5wdXQoKSBkYXRhID0gJyc7XG4gIEBPdXRwdXQoKVxuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50PigpO1xuICBlbWl0Q2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoeyB0ZXh0OiB0aGlzLnRleHQsIGRhdGE6IHRoaXMuZGF0YSB9KTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGRGbGF2b3JlZE1hcmtkb3duQ29udGFpbmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRNYXJrZG93bkNvbnRhaW5lckRpcmVjdGl2ZSB7XG4gIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2lubmVySFRNTCcsXG4gICAgICAnJyxcbiAgICApO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIElSZXBsYWNlckZ1bmM8VD4gPSAoXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+LFxuICAuLi5hcmdzOiBhbnlbXVxuKSA9PiB2b2lkO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1mbGF2b3JlZC1tYXJrZG93bicsXG4gIHN0eWxlVXJsczogWycuL2ZsYXZvcmVkLW1hcmtkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVGRGbGF2b3JlZE1hcmtkb3duQ29udGFpbmVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gaW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQhOiBzdHJpbmc7XG4gIHByaXZhdGUgX3NpbXBsZUxpbmVCcmVha3MgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaG9zdGVkVXJsITogc3RyaW5nO1xuICBwcml2YXRlIF9hbmNob3IhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfY29tcG9uZW50czogeyBba2V5OiBzdHJpbmddOiBDb21wb25lbnRSZWY8dW5rbm93bj4gfSA9IHt9O1xuICBwcml2YXRlIF92aWV3SW5pdCA9IGZhbHNlO1xuICAvKipcbiAgICogY29udGVudD86IHN0cmluZ1xuICAgKlxuICAgKiBNYXJrZG93biBmb3JtYXQgY29udGVudCB0byBiZSBwYXJzZWQgYXMgbWF0ZXJpYWwvY292YWxlbnQgbWFya3VwLlxuICAgKlxuICAgKiBlLmcuIFJFQURNRS5tZCBjb250ZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cblxuICAvKipcbiAgICogc2ltcGxlTGluZUJyZWFrcz86IHN0cmluZ1xuICAgKlxuICAgKiBTZXRzIHdoZXRoZXIgbmV3bGluZSBjaGFyYWN0ZXJzIGluc2lkZSBwYXJhZ3JhcGhzIGFuZCBzcGFucyBhcmUgcGFyc2VkIGFzIDxici8+LlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzaW1wbGVMaW5lQnJlYWtzKHNpbXBsZUxpbmVCcmVha3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaW1wbGVMaW5lQnJlYWtzID0gc2ltcGxlTGluZUJyZWFrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBob3N0ZWRVcmw/OiBzdHJpbmdcbiAgICpcbiAgICogSWYgbWFya2Rvd24gY29udGFpbnMgcmVsYXRpdmUgcGF0aHMsIHRoaXMgaXMgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgY29ycmVjdCB1cmxzXG4gICAqXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgaG9zdGVkVXJsKGhvc3RlZFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5faG9zdGVkVXJsID0gaG9zdGVkVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIGFuY2hvcj86IHN0cmluZ1xuICAgKlxuICAgKiBBbmNob3IgdG8ganVtcCB0b1xuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGFuY2hvcihhbmNob3I6IHN0cmluZykge1xuICAgIHRoaXMuX2FuY2hvciA9IGFuY2hvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIHRvZ2dsZVJhd0NvZGU/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgYnV0dG9uIHRvIHRvZ2dsZSByYXcgY29kZSB2aWV3XG4gICAqL1xuICBASW5wdXQoKSB0b2dnbGVSYXdDb2RlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHNcbiAgICpcbiAgICogTGFiZWxzIGZvciByYXcgY29kZSB0b2dnbGUgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSByYXdUb2dnbGVMYWJlbHM/OiBJUmF3VG9nZ2xlTGFiZWxzID0ge307XG5cbiAgLyoqXG4gICAqIHVzZUNmbUxpc3Q/OiBib29sZWFuID0gZmFsc2U7XG4gICAqIFVzZSBDRk0gbGlzdCBjb21wb25lbnQgaW5zdGVhZCBvZiB2YW5pbGxhIG1hcmtkb3duIGxpc3QuIFVzZWQgaW4gY292YWxlbnQgZG9jdW1lbnRhdGlvbiBhcHAuXG4gICAqL1xuICBASW5wdXQoKSB1c2VDZm1MaXN0PyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSBleHRlbnNpb25zIHRvIG1vbml0b3IgZm9yIGluIGFuY2hvciB0YWdzLiBJZiBhbiBhbmNob3IncyBgaHJlZmAgZW5kc1xuICAgKiB3aXRoIHRoaXMgZXh0ZW5zaW9uLCBhbiBldmVudCB3aWxsIGJlIHRyaWdnZXJlZCBpbnNldGFkIG9mIHBlcmZvcm1pbmcgdGhlIGRlZmF1bHQgYWN0aW9uLlxuICAgKiBFeGFtcGxlIHZhbHVlczogXCIuaXB5bmJcIiwgXCIuemlwXCIsIFwiLmRvY3hcIlxuICAgKi9cbiAgQElucHV0KClcbiAgZmlsZUxpbmtFeHRlbnNpb25zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBhbmNob3IgdGFnIHdpdGggYW4gYGhyZWZgIG1hdGNoaW5nIHRoZSBzcGVjaWZpZWRcbiAgICogZmlsZSBsaW5rIGV4dGVuc2lvbiBpcyBjbGlja2VkLiBUaGUgZW1pdHRlZCB2YWx1ZSBpcyB0aGUgYGhyZWZgIG9mIHRoZSBjbGlja2VkIGFuY2hvci5cbiAgICovXG4gIEBPdXRwdXQoKSBmaWxlTGlua0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVSTD4oKTtcblxuICAvKipcbiAgICogY29udGVudFJlYWR5PzogZnVuY3Rpb25cbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgbWFya2Rvd24gY29udGVudCByZW5kZXJpbmcgaXMgZmluaXNoZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgY29udGVudFJlYWR5OiBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjx1bmRlZmluZWQ+KCk7XG5cbiAgLyoqXG4gICAqIGJ1dHRvbkNsaWNrZWQ/OiBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudFxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBJcyBhbiBvYmplY3QgY29udGFpbmluZyB0ZXh0IGFuZCBkYXRhIG9mIGJ1dHRvblxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZChUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGNvbnRhaW5lciE6IFRkRmxhdm9yZWRNYXJrZG93bkNvbnRhaW5lckRpcmVjdGl2ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIG9ubHkgYW5jaG9yIGNoYW5nZWRcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhbmNob3InXSAmJlxuICAgICAgIWNoYW5nZXNbJ2NvbnRlbnQnXSAmJlxuICAgICAgIWNoYW5nZXNbJ3NpbXBsZUxpbmVCcmVha3MnXSAmJlxuICAgICAgIWNoYW5nZXNbJ2hvc3RlZFVybCddXG4gICAgKSB7XG4gICAgICBzY3JvbGxUb0FuY2hvcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX2FuY2hvciwgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudChcbiAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAudGV4dENvbnRlbnQgPz8gJycsXG4gICAgICApO1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuX3ZpZXdJbml0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudCh0aGlzLl9jb250ZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3ZpZXdJbml0KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudChcbiAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAudGV4dENvbnRlbnQgPz8gJycsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRDb250ZW50KG1hcmtkb3duOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWFya2Rvd24gJiYgbWFya2Rvd24udHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmNsZWFyKCk7XG4gICAgICBtYXJrZG93biA9IG1hcmtkb3duXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcc3xcXHQpKlxcbisvZywgJycpXG4gICAgICAgIC5yZXBsYWNlKC8oXFxzfFxcdCkqXFxuKyhcXHN8XFx0KSokL2csICcnKTtcbiAgICAgIC8vIFNwbGl0IG1hcmtkb3duIGJ5IGxpbmUgY2hhcmFjdGVyc1xuICAgICAgbGV0IGxpbmVzOiBzdHJpbmdbXSA9IG1hcmtkb3duLnNwbGl0KCdcXG4nKTtcblxuICAgICAgLy8gY2hlY2sgaG93IG11Y2ggaW5kZW50YXRpb24gaXMgdXNlZCBieSB0aGUgZmlyc3QgYWN0dWFsIG1hcmtkb3duIGxpbmVcbiAgICAgIGNvbnN0IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaCA9IGxpbmVzWzBdLm1hdGNoKC9eKFxcc3xcXHQpKi8pO1xuICAgICAgY29uc3QgZmlyc3RMaW5lV2hpdGVzcGFjZSA9IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaFxuICAgICAgICA/IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaFswXVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIC8vIFJlbW92ZSBhbGwgaW5kZW50YXRpb24gc3BhY2VzIHNvIG1hcmtkb3duIGNhbiBiZSBwYXJzZWQgY29ycmVjdGx5XG4gICAgICAvLyBSZW1vdmUgYWxsIFxcciBjaGFyYWN0ZXJzXG4gICAgICBjb25zdCBzdGFydGluZ1doaXRlc3BhY2VSZWdleCA9IG5ldyBSZWdFeHAoJ14nICsgZmlyc3RMaW5lV2hpdGVzcGFjZSk7XG4gICAgICBsaW5lcyA9IGxpbmVzLm1hcChmdW5jdGlvbiAobGluZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxpbmUucmVwbGFjZShzdGFydGluZ1doaXRlc3BhY2VSZWdleCwgJycpLnJlcGxhY2VBbGwoJ1xccicsICcnKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBKb2luIGxpbmVzIGFnYWluIHdpdGggbGluZSBjaGFyYWN0ZXJzXG4gICAgICBtYXJrZG93biA9IFsuLi5saW5lcywgJycsICcnXS5qb2luKCdcXG4nKTtcbiAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUNvZGVCbG9ja3MobWFya2Rvd24pO1xuICAgICAgbWFya2Rvd24gPSB0aGlzLl9yZXBsYWNlQ2hlY2tib3gobWFya2Rvd24pO1xuICAgICAgbWFya2Rvd24gPSB0aGlzLl9yZXBsYWNlVGFibGVzKG1hcmtkb3duKTtcbiAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUJ1dHRvbnMobWFya2Rvd24pO1xuXG4gICAgICBpZiAodGhpcy51c2VDZm1MaXN0KSB7XG4gICAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUxpc3RzKG1hcmtkb3duKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyh0aGlzLl9jb21wb25lbnRzKTtcbiAgICAgIC8vIG5lZWQgdG8gc29ydCB0aGUgcGxhY2Vob2xkZXJzIGluIG9yZGVyIG9mIGVuY291bnRlciBpbiBtYXJrZG93biBjb250ZW50XG4gICAgICBrZXlzLnNvcnQoKGNvbXBBOiBzdHJpbmcsIGNvbXBCOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIG1hcmtkb3duLmluZGV4T2YoY29tcEEpID4gbWFya2Rvd24uaW5kZXhPZihjb21wQikgPyAxIDogLTE7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3JlbmRlcihtYXJrZG93biwga2V5c1swXSwga2V5cyk7XG4gICAgICAvLyBUT0RPOiB0aW1lb3V0IHJlcXVpcmVkIHNpbmNlIHJlc2l6aW5nIG9mIGh0bWwgZWxlbWVudHMgb2NjdXJzIHdoaWNoIGNhdXNlcyBhIGNoYW5nZSBpbiB0aGUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIHNjcm9sbFRvQW5jaG9yKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fYW5jaG9yLCBmYWxzZSksXG4gICAgICAgIDI1MCxcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbnRlbnRSZWFkeS5lbWl0KCk7XG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIobWFya2Rvd246IHN0cmluZywga2V5OiBzdHJpbmcsIGtleXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKCFtYXJrZG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoa2V5ICYmIG1hcmtkb3duLmluZGV4T2Yoa2V5KSA+IC0xKSB7XG4gICAgICBjb25zdCBtYXJrZG93blBhcnRzOiBzdHJpbmdbXSA9IG1hcmtkb3duLnNwbGl0KGtleSk7XG4gICAgICBrZXlzLnNoaWZ0KCk7XG4gICAgICB0aGlzLl9yZW5kZXIobWFya2Rvd25QYXJ0c1swXSwgJycsIFtdKTtcbiAgICAgIHRoaXMuY29udGFpbmVyLnZpZXdDb250YWluZXJSZWYuaW5zZXJ0KFxuICAgICAgICB0aGlzLl9jb21wb25lbnRzW2tleV0uaG9zdFZpZXcsXG4gICAgICAgIHRoaXMuY29udGFpbmVyLnZpZXdDb250YWluZXJSZWYubGVuZ3RoLFxuICAgICAgKTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9jb21wb25lbnRzW2tleV07XG4gICAgICB0aGlzLl9yZW5kZXIobWFya2Rvd25QYXJ0c1sxXSwga2V5c1swXSwga2V5cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRSZWY6IENvbXBvbmVudFJlZjxUZE1hcmtkb3duQ29tcG9uZW50PiA9XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUZE1hcmtkb3duQ29tcG9uZW50KVxuICAgICAgICAgIC5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gbWFya2Rvd247XG4gICAgICBjb250ZW50UmVmLmluc3RhbmNlLmhvc3RlZFVybCA9IHRoaXMuX2hvc3RlZFVybDtcbiAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2Uuc2ltcGxlTGluZUJyZWFrcyA9IHRoaXMuX3NpbXBsZUxpbmVCcmVha3M7XG4gICAgICBjb250ZW50UmVmLmluc3RhbmNlLmZpbGVMaW5rRXh0ZW5zaW9ucyA9IHRoaXMuZmlsZUxpbmtFeHRlbnNpb25zO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5maWxlTGlua0NsaWNrZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgLnN1YnNjcmliZSgodXJsOiBVUkwpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVMaW5rQ2xpY2tlZC5lbWl0KHVybCk7XG4gICAgICAgIH0pO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5yZWZyZXNoKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmluc2VydChcbiAgICAgICAgY29udGVudFJlZi5ob3N0VmlldyxcbiAgICAgICAgdGhpcy5jb250YWluZXIudmlld0NvbnRhaW5lclJlZi5sZW5ndGgsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDb21wb25lbnQ8VD4oXG4gICAgbWFya2Rvd246IHN0cmluZyxcbiAgICB0eXBlOiBUeXBlPFQ+LFxuICAgIHJlZ0V4cDogUmVnRXhwLFxuICAgIHJlcGxhY2VyRnVuYzogSVJlcGxhY2VyRnVuYzxUPixcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgY29tcG9uZW50SW5kZXggPSAwO1xuICAgIHJldHVybiBtYXJrZG93bi5yZXBsYWNlKHJlZ0V4cCwgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PFQ+ID1cbiAgICAgICAgdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHR5cGUpO1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsXG4gICAgICApO1xuICAgICAgcmVwbGFjZXJGdW5jKGNvbXBvbmVudFJlZiwgLi4uYXJncyk7XG4gICAgICBjb25zdCBrZXk6IHN0cmluZyA9XG4gICAgICAgICdbJyArXG4gICAgICAgIGNvbXBvbmVudEZhY3Rvcnkuc2VsZWN0b3IgK1xuICAgICAgICAnLXBsYWNlaG9sZGVyLScgK1xuICAgICAgICBjb21wb25lbnRJbmRleCsrICtcbiAgICAgICAgJ10nO1xuICAgICAgdGhpcy5fY29tcG9uZW50c1trZXldID0gY29tcG9uZW50UmVmO1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDaGVja2JveChtYXJrZG93bjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaGVja2JveFJlZ0V4cCA9IC8oPzpefFxcbiktIFxcWyh4fCApXFxdKC4qKS9naTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgTWF0Q2hlY2tib3gsXG4gICAgICBjaGVja2JveFJlZ0V4cCxcbiAgICAgIChcbiAgICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8TWF0Q2hlY2tib3g+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgICBjaGVja2VkOiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICApID0+IHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNoZWNrZWQgPSAhIWNoZWNrZWQudHJpbSgpO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYXJpYUxhYmVsID0gbGFiZWw7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5sYWJlbFBvc2l0aW9uID0gJ2FmdGVyJztcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICAgICAgKDxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICkpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsYWJlbCcpWzBdLFxuICAgICAgICAgICdpbm5lckhUTUwnLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZUJ1dHRvbnMobWFya2Rvd246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYnV0dG9uUmVnRXhwID0gL1xcWyhbXltdKylcXF0oXFwoI2RhdGE9KC4qPylcXCkpL2k7XG4gICAgY29uc3QgZ2xvYmFsQnV0dG9uUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgIGJ1dHRvblJlZ0V4cC5zb3VyY2UsXG4gICAgICBidXR0b25SZWdFeHAuZmxhZ3MgKyAnZycsXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ29tcG9uZW50LFxuICAgICAgZ2xvYmFsQnV0dG9uUmVnRXhwLFxuICAgICAgKFxuICAgICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25Db21wb25lbnQ+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBidXR0b25SZWdFeHAuZXhlYyhtYXRjaCk7XG4gICAgICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSBtYXRjaGVzWzFdO1xuICAgICAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBtYXRjaGVzWzNdO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudGV4dCA9IHRleHQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gZGF0YTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNsaWNrZWRcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGNsaWNrRXZlbnQ6IElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50KSA9PlxuICAgICAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoY2xpY2tFdmVudCksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDb2RlQmxvY2tzKG1hcmtkb3duOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvZGVCbG9ja1JlZ0V4cCA9IC8oPzpefFxcbilgYGAoLiopXFxuKFtcXHNcXFNdKj8pXFxuYGBgL2c7XG4gICAgcmV0dXJuIHRoaXMuX3JlcGxhY2VDb21wb25lbnQoXG4gICAgICBtYXJrZG93bixcbiAgICAgIFRkSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgICAgY29kZUJsb2NrUmVnRXhwLFxuICAgICAgKFxuICAgICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUZEhpZ2hsaWdodENvbXBvbmVudD4sXG4gICAgICAgIG1hdGNoOiBzdHJpbmcsXG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGVibG9jazogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGlmIChsYW5ndWFnZSkge1xuICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb2RlTGFuZyA9IGxhbmd1YWdlO1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb3B5Q29kZVRvQ2xpcGJvYXJkID0gdGhpcy5jb3B5Q29kZVRvQ2xpcGJvYXJkO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29weUNvZGVUb29sdGlwcyA9IHRoaXMuY29weUNvZGVUb29sdGlwcztcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvZ2dsZVJhd0J1dHRvbiA9IHRoaXMudG9nZ2xlUmF3Q29kZTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJhd1RvZ2dsZUxhYmVscyA9IHRoaXMucmF3VG9nZ2xlTGFiZWxzO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGNvZGVibG9jaztcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VUYWJsZXMobWFya2Rvd246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGFibGVSZ3ggPVxuICAgICAgL14gezAsM31cXHw/LitcXHwuK1xcblsgXFx0XXswLDN9XFx8P1sgXFx0XSo6P1sgXFx0XSooPzotfD0pezIsfVsgXFx0XSo6P1sgXFx0XSpcXHxbIFxcdF0qOj9bIFxcdF0qKD86LXw9KXsyLH1bXFxzXFxTXSs/KD86XFxuXFxufH4wKS9nbTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQsXG4gICAgICB0YWJsZVJneCxcbiAgICAgIChcbiAgICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQ+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFUYWJsZUxpbmVzOiBzdHJpbmdbXSA9IG1hdGNoXG4gICAgICAgICAgLnJlcGxhY2UoLyhcXHN8XFx0KSpcXG4rKFxcc3xcXHQpKiQvZywgJycpXG4gICAgICAgICAgLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QgY29sdW1uczogc3RyaW5nW10gPSBkYXRhVGFibGVMaW5lc1swXVxuICAgICAgICAgIC5zcGxpdCgnfCcpXG4gICAgICAgICAgLmZpbHRlcigoY29sOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjb2w7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAubWFwKChzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzLnRyaW0oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50OiBzdHJpbmdbXSA9IGRhdGFUYWJsZUxpbmVzWzFdXG4gICAgICAgICAgLnNwbGl0KCd8JylcbiAgICAgICAgICAuZmlsdGVyKCh2OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2O1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLm1hcCgoczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDI7IGkgPCBkYXRhVGFibGVMaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHJvd1NwbGl0OiBzdHJpbmdbXSA9IGRhdGFUYWJsZUxpbmVzW2ldXG4gICAgICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAgICAgLmZpbHRlcigoY2VsbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjZWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKHM6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCByb3c6IGFueSA9IHt9O1xuICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvd1NwbGl0Q2VsbDogc3RyaW5nID0gcm93U3BsaXRbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKHJvd1NwbGl0Q2VsbCkge1xuICAgICAgICAgICAgICByb3dbY29sLnRvTG93ZXJDYXNlKCkudHJpbSgpXSA9IHJvd1NwbGl0Q2VsbC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIC9gKC4qKWAvLFxuICAgICAgICAgICAgICAgIChtOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRhdGEucHVzaChyb3cpO1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb2x1bW5EZWZzID0gY29sdW1ucy5tYXAoXG4gICAgICAgICAgKGNvbDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBsYWJlbDogY29sLFxuICAgICAgICAgICAgICBuYW1lOiBjb2wgPyBjb2wudG9Mb3dlckNhc2UoKS50cmltKCkgOiBgY29sdW1uICR7aW5kZXh9YCxcbiAgICAgICAgICAgICAgbnVtZXJpYzogL14tLSpbIFxcdF0qOlsgXFx0XSokLy50ZXN0KGFsaWdubWVudFtpbmRleF0pLFxuICAgICAgICAgICAgICBjZW50ZXJlZDogL146LS0qWyBcXHRdKjpbIFxcdF0qJC8udGVzdChhbGlnbm1lbnRbaW5kZXhdKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGEgPSBkYXRhO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZUxpc3RzKG1hcmtkb3duOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpc3RSZWdFeHAgPSAvKD86XnxcXG4pKCggKihcXCt8XFwqfC0pKVsgfFxcdF0oLiopXFxuKSsvZztcbiAgICBjb25zdCBsaXN0Q2hhclJlZ0V4cCA9IG5ldyBSZWdFeHAoL14oXFwrfFxcKnwtKS8pO1xuICAgIHJldHVybiB0aGlzLl9yZXBsYWNlQ29tcG9uZW50KFxuICAgICAgbWFya2Rvd24sXG4gICAgICBUZEZsYXZvcmVkTGlzdENvbXBvbmVudCxcbiAgICAgIGxpc3RSZWdFeHAsXG4gICAgICAoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGRGbGF2b3JlZExpc3RDb21wb25lbnQ+LCBtYXRjaDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gLyhcXCt8XFwqfC0pLy5leGVjKG1hdGNoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXJ0ICE9PSBudWxsID8gc3RhcnQuaW5kZXggOiAxO1xuXG4gICAgICAgIGNvbnN0IGxpbmVUZXh0czogc3RyaW5nW10gPSBtYXRjaC5zcGxpdChcbiAgICAgICAgICBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgJ1xcXFxuIHsnICsgKG1hdGNoSW5kZXggLSAxKS50b1N0cmluZygpICsgJ30oXFxcXCt8XFxcXCp8XFxcXC0pWyB8XFxcXHRdJyxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBsaW5lVGV4dHMuc2hpZnQoKTtcbiAgICAgICAgY29uc3QgbGluZXM6IElGbGF2b3JlZExpc3RJdGVtW10gPSBbXTtcbiAgICAgICAgbGluZVRleHRzLmZvckVhY2goKHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YmxpbmVUZXh0czogc3RyaW5nW10gPSB0ZXh0LnNwbGl0KC9cXG4gKihcXCt8XFwqfC0pIC8pO1xuICAgICAgICAgIGNvbnN0IGxpbmVUZXh0ID0gc3VibGluZVRleHRzLnNoaWZ0KCkgPz8gJyc7XG5cbiAgICAgICAgICBpZiAobGlzdENoYXJSZWdFeHAudGVzdChsaW5lVGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lcy5wdXNoKHtcbiAgICAgICAgICAgIGxpbmU6IGxpbmVUZXh0LFxuICAgICAgICAgICAgc3VibGluZXM6IHN1YmxpbmVUZXh0c1xuICAgICAgICAgICAgICAubWFwKChzdWJsaW5lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdENoYXJSZWdFeHAudGVzdChzdWJsaW5lKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VibGluZS50cmltKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+ICEhbGluZSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubGluZXMgPSBsaW5lcztcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiB0ZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19","import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ChangeDetectionStrategy, inject, } from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { TdFlavoredMarkdownComponent, } from '../flavored-markdown.component';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nfunction TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-progress-bar\", 2);\n} if (rf & 2) {\n i0.ɵɵproperty(\"ngClass\", \"delay\");\n} }\nfunction TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown\", 3);\n i0.ɵɵlistener(\"contentReady\", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.contentReady.emit()); })(\"buttonClicked\", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"content\", ctx_r1.content)(\"hostedUrl\", ctx_r1.url ?? \"\")(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips)(\"useCfmList\", ctx_r1.useCfmList);\n} }\n// TODO: make a td-markdown-loader component\nexport class TdFlavoredMarkdownLoaderComponent {\n _changeDetectorRef = inject(ChangeDetectorRef);\n _markdownUrlLoaderService = inject(TdMarkdownLoaderService);\n /**\n * url: string\n * The url of the markdown file.\n */\n url;\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n httpOptions;\n /**\n * anchor: string\n * Anchor to jump to.\n */\n anchor;\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n useCfmList = false;\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n contentReady = new EventEmitter();\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n loadFailed = new EventEmitter();\n buttonClicked = new EventEmitter();\n content;\n loading = true;\n ngOnChanges(changes) {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n async loadMarkdown() {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url ?? '', this.httpOptions);\n }\n catch (error) {\n this.loadFailed.emit(error);\n }\n finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n static ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownLoaderComponent)(); };\n static ɵ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, \"contentReady\", \"buttonClicked\", \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\", \"useCfmList\"]], template: function TdFlavoredMarkdownLoaderComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template, 1, 1, \"mat-progress-bar\", 0)(1, TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template, 1, 6, \"td-flavored-markdown\", 1);\n } if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.loading);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.loading);\n } }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, MatProgressBar, 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 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{\n type: Component,\n args: [{ selector: 'td-flavored-markdown-loader', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, MatProgressBar, TdFlavoredMarkdownComponent], 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\"] }]\n }], null, { url: [{\n type: Input\n }], httpOptions: [{\n type: Input\n }], anchor: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], useCfmList: [{\n type: Input\n }], contentReady: [{\n type: Output\n }], loadFailed: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownLoaderComponent, { className: \"TdFlavoredMarkdownLoaderComponent\", filePath: \"lib/flavored-markdown-loader/flavored-markdown-loader.component.ts\", lineNumber: 30 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUdqQixNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUVMLDJCQUEyQixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUNsQi9DLHNDQU1vQjs7SUFMbEIsaUNBQW1COzs7O0lBTXJCLCtDQVVDO0lBREMsQUFEQSwwT0FBZ0IsMEJBQW1CLEtBQUMscU9BQ25CLGlDQUEwQixLQUFDO0lBQzdDLGlCQUF1Qjs7O0lBSHRCLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx3Q0FBbUIsK0JBQ0ksK0JBQ0EsbURBQ29CLDZDQUNOLGlDQUNaOztBRE0zQiw0Q0FBNEM7QUFTNUMsTUFBTSxPQUFPLGlDQUFpQztJQUNwQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvQyx5QkFBeUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVwRTs7O09BR0c7SUFDTSxHQUFHLENBQVU7SUFFdEI7OztPQUdHO0lBQ00sV0FBVyxDQUFVO0lBRTlCOzs7T0FHRztJQUNNLE1BQU0sQ0FBVTtJQUV6Qjs7Ozs7T0FLRztJQUNNLG1CQUFtQixHQUFJLEtBQUssQ0FBQztJQUV0Qzs7OztPQUlHO0lBQ00sZ0JBQWdCLEdBQXVCLEVBQUUsQ0FBQztJQUVuRDs7O09BR0c7SUFDTSxVQUFVLEdBQUksS0FBSyxDQUFDO0lBRTdCOzs7T0FHRztJQUNPLFlBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRTs7O09BR0c7SUFDTyxVQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckQsYUFBYSxHQUNyQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXJCLE9BQU8sQ0FBVTtJQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRWYsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDdEQsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBYyxDQUFDLENBQUM7UUFDdkMsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOzJIQWpGVSxpQ0FBaUM7NkRBQWpDLGlDQUFpQztZQ3RCOUMsQUFQQSw0R0FNQyx1R0FXQTs7WUFmRSxrQ0FBYTtZQU1iLGNBQWM7WUFBZCxtQ0FBYzs0QkRtQkwsWUFBWSx1QkFBRSxjQUFjLEVBQUUsMkJBQTJCOztpRkFFeEQsaUNBQWlDO2NBUDdDLFNBQVM7MkJBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSwyQkFBMkIsQ0FBQztnQkFVM0QsR0FBRztrQkFBWCxLQUFLO1lBTUcsV0FBVztrQkFBbkIsS0FBSztZQU1HLE1BQU07a0JBQWQsS0FBSztZQVFHLG1CQUFtQjtrQkFBM0IsS0FBSztZQU9HLGdCQUFnQjtrQkFBeEIsS0FBSztZQU1HLFVBQVU7a0JBQWxCLEtBQUs7WUFNSSxZQUFZO2tCQUFyQixNQUFNO1lBTUcsVUFBVTtrQkFBbkIsTUFBTTtZQUVHLGFBQWE7a0JBQXRCLE1BQU07O2tGQXZESSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTG9hZGVyU2VydmljZSB9IGZyb20gJ0Bjb3ZhbGVudC9tYXJrZG93bic7XG5pbXBvcnQge1xuICBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50LFxufSBmcm9tICcuLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIFRPRE86IG1ha2UgYSB0ZC1tYXJrZG93bi1sb2FkZXIgY29tcG9uZW50XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWZsYXZvcmVkLW1hcmtkb3duLWxvYWRlcicsXG4gIHN0eWxlVXJsczogWycuL2ZsYXZvcmVkLW1hcmtkb3duLWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFByb2dyZXNzQmFyLCBUZEZsYXZvcmVkTWFya2Rvd25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgX21hcmtkb3duVXJsTG9hZGVyU2VydmljZSA9IGluamVjdChUZE1hcmtkb3duTG9hZGVyU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIHVybDogc3RyaW5nXG4gICAqIFRoZSB1cmwgb2YgdGhlIG1hcmtkb3duIGZpbGUuXG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGh0dHBPcHRpb25zOiBvYmplY3RcbiAgICogSFRUUCBvcHRpb25zIHRoYXQgY2FuIGJlIHBhcnQgb2YgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBASW5wdXQoKSBodHRwT3B0aW9ucz86IG9iamVjdDtcblxuICAvKipcbiAgICogYW5jaG9yOiBzdHJpbmdcbiAgICogQW5jaG9yIHRvIGp1bXAgdG8uXG4gICAqL1xuICBASW5wdXQoKSBhbmNob3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZD8gPSBmYWxzZTtcblxuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcblxuICAvKipcbiAgICogdXNlQ2ZtTGlzdD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICogVXNlIENGTSBsaXN0IGNvbXBvbmVudCBpbnN0ZWFkIG9mIHZhbmlsbGEgbWFya2Rvd24gbGlzdC4gVXNlZCBpbiBjb3ZhbGVudCBkb2N1bWVudGF0aW9uIGFwcC5cbiAgICovXG4gIEBJbnB1dCgpIHVzZUNmbUxpc3Q/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvbnRlbnRSZWFkeTogdm9pZFxuICAgKiBFbWl0dGVkIHdoZW4gbWFya2Rvd24gcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBsb2FkRmFpbGVkOiBFcnJvclxuICAgKiBFbWl0dGVkIHdoZW4gbG9hZGluZyBvZiBtYXJrZG93biBmaWxlIGZhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpIGxvYWRGYWlsZWQ6IEV2ZW50RW1pdHRlcjxFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb250ZW50ITogc3RyaW5nO1xuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3VybCddIHx8IGNoYW5nZXNbJ2h0dHBPcHRpb25zJ10pIHtcbiAgICAgIHRoaXMubG9hZE1hcmtkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZE1hcmtkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY29udGVudCA9IGF3YWl0IHRoaXMuX21hcmtkb3duVXJsTG9hZGVyU2VydmljZS5sb2FkKFxuICAgICAgICB0aGlzLnVybCA/PyAnJyxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9ucyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9hZEZhaWxlZC5lbWl0KGVycm9yIGFzIEVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyXG4gIFtuZ0NsYXNzXT1cIidkZWxheSdcIlxuICAqbmdJZj1cImxvYWRpbmdcIlxuICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gIGNvbG9yPVwiYWNjZW50XCJcbiAgY2xhc3M9XCJzdGlja3lcIlxuPjwvbWF0LXByb2dyZXNzLWJhcj5cbjx0ZC1mbGF2b3JlZC1tYXJrZG93blxuICAqbmdJZj1cIiFsb2FkaW5nXCJcbiAgW2NvbnRlbnRdPVwiY29udGVudFwiXG4gIFtob3N0ZWRVcmxdPVwidXJsID8/ICcnXCJcbiAgW2FuY2hvcl09XCJhbmNob3IgPz8gJydcIlxuICBbY29weUNvZGVUb0NsaXBib2FyZF09XCJjb3B5Q29kZVRvQ2xpcGJvYXJkXCJcbiAgW2NvcHlDb2RlVG9vbHRpcHNdPVwiY29weUNvZGVUb29sdGlwc1wiXG4gIFt1c2VDZm1MaXN0XT1cInVzZUNmbUxpc3RcIlxuICAoY29udGVudFJlYWR5KT1cImNvbnRlbnRSZWFkeS5lbWl0KClcIlxuICAoYnV0dG9uQ2xpY2tlZCk9XCJidXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4+PC90ZC1mbGF2b3JlZC1tYXJrZG93bj5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport { TdFlavoredMarkdownComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownTableComponent, } from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentFlavoredMarkdownModule {\n static ɵfac = function CovalentFlavoredMarkdownModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentFlavoredMarkdownModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentFlavoredMarkdownModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TdFlavoredListComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentFlavoredMarkdownModule, [{\n type: NgModule,\n args: [{\n imports: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentFlavoredMarkdownModule, { imports: [TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent], exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2ZsYXZvcmVkLW1hcmtkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFFbEg7OztHQUdHO0FBWUgsTUFBTSxPQUFPLDhCQUE4Qjt3SEFBOUIsOEJBQThCOzREQUE5Qiw4QkFBOEI7Z0VBVHZDLHVCQUF1QjtZQUd2QixpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLGdDQUFnQzs7aUZBSXZCLDhCQUE4QjtjQVgxQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsMkJBQTJCO29CQUMzQixvQ0FBb0M7b0JBQ3BDLGlDQUFpQztvQkFDakMsaUNBQWlDO29CQUNqQyxnQ0FBZ0M7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGlDQUFpQyxDQUFDO2FBQzFFOzt3RkFDWSw4QkFBOEIsY0FUdkMsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixvQ0FBb0M7UUFDcEMsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyxnQ0FBZ0MsYUFFeEIsMkJBQTJCLEVBQUUsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50LFxuICBUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsXG4gIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQsXG59IGZyb20gJy4vZmxhdm9yZWQtbWFya2Rvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRkRmxhdm9yZWRNYXJrZG93bkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyL2ZsYXZvcmVkLW1hcmtkb3duLWxvYWRlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXG4gKiBQbGVhc2UgbWlncmF0ZSB0byB1c2luZyBzdGFuZGFsb25lIGNvbXBvbmVudHMgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50LFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsXG4gICAgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50LFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25UYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1RkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCwgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRGbGF2b3JlZE1hcmtkb3duTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLWZsYXZvcmVkL3NyYy9jb3ZhbGVudC1mbGF2b3JlZC1tYXJrZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../tmp-esm2022/lib/cfm-list/cfm-list.component.js","../tmp-esm2022/lib/flavored-markdown.component.js","../tmp-esm2022/lib/flavored-markdown-loader/flavored-markdown-loader.component.js","../tmp-esm2022/lib/flavored-markdown.module.js","../tmp-esm2022/covalent-flavored-markdown.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatListModule } from '@angular/material/list';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/list\";\nfunction TdFlavoredListComponent_ng_template_1_p_3_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"p\", 4);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const subline_r1 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", subline_r1, \" \");\n} }\nfunction TdFlavoredListComponent_ng_template_1_mat_divider_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-divider\");\n} }\nfunction TdFlavoredListComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-list-item\")(1, \"h4\", 1);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, TdFlavoredListComponent_ng_template_1_p_3_Template, 2, 1, \"p\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, TdFlavoredListComponent_ng_template_1_mat_divider_4_Template, 1, 0, \"mat-divider\", 3);\n} if (rf & 2) {\n const line_r2 = ctx.$implicit;\n const last_r3 = ctx.last;\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", line_r2.line, \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", line_r2.sublines);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !last_r3);\n} }\nexport class TdFlavoredListComponent {\n lines;\n dense = false;\n static ɵfac = function TdFlavoredListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredListComponent)(); };\n 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\"], [4, \"ngIf\"], [\"matListItemLine\", \"\"]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-list\");\n i0.ɵɵtemplate(1, TdFlavoredListComponent_ng_template_1_Template, 5, 3, \"ng-template\", 0);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵattribute(\"dense\", ctx.dense ? true : null);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.lines);\n } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf, MatListModule, i2.MatList, i2.MatListItem, i2.MatDivider, i2.MatListItemLine, i2.MatListItemTitle, MatDividerModule], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{\n type: Component,\n args: [{ selector: 'td-cfm-list', imports: [CommonModule, MatListModule, MatDividerModule], 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-list-item>\\n <mat-divider *ngIf=\\\"!last\\\"></mat-divider>\\n </ng-template>\\n</mat-list>\\n\" }]\n }], null, { lines: [{\n type: Input\n }], dense: [{\n type: Input\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredListComponent, { className: \"TdFlavoredListComponent\", filePath: \"lib/cfm-list/cfm-list.component.ts\", lineNumber: 17 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2NmbS1saXN0L2NmbS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztJQ0dqRCw0QkFBeUQ7SUFDdkQsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsMkNBQ0Y7OztJQUVGLDhCQUF5Qzs7O0lBUHZDLEFBREYscUNBQWUsWUFDUTtJQUNuQixZQUNGO0lBQUEsaUJBQUs7SUFDTCxrRkFBeUQ7SUFHM0QsaUJBQWdCO0lBQ2hCLHNHQUEyQjs7OztJQU52QixlQUNGO0lBREUsNkNBQ0Y7SUFDdUIsY0FBZ0I7SUFBaEIsMENBQWdCO0lBSTNCLGNBQVc7SUFBWCwrQkFBVzs7QURNN0IsTUFBTSxPQUFPLHVCQUF1QjtJQUN6QixLQUFLLENBQXVCO0lBQzVCLEtBQUssR0FBRyxLQUFLLENBQUM7aUhBRlosdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUNoQnBDLGdDQUE2QztZQUMzQyx3RkFBOEQ7WUFXaEUsaUJBQVc7OztZQVhtQyxjQUFpQjtZQUFqQixtQ0FBaUI7NEJEYW5ELFlBQVksdUJBQUUsYUFBYSxzRkFBRSxnQkFBZ0I7O2lGQUU1Qyx1QkFBdUI7Y0FObkMsU0FBUzsyQkFDRSxhQUFhLFdBR2QsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDOztrQkFHdkQsS0FBSzs7a0JBQ0wsS0FBSzs7a0ZBRkssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBJRmxhdm9yZWRMaXN0SXRlbSB7XG4gIGxpbmU6IHN0cmluZztcbiAgc3VibGluZXM/OiBzdHJpbmdbXTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtY2ZtLWxpc3QnLFxuICBzdHlsZVVybHM6IFsnLi9jZm0tbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2ZtLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXREaXZpZGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZExpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBsaW5lcyE6IElGbGF2b3JlZExpc3RJdGVtW107XG4gIEBJbnB1dCgpIGRlbnNlID0gZmFsc2U7XG59XG4iLCI8bWF0LWxpc3QgW2F0dHIuZGVuc2VdPVwiZGVuc2UgPyB0cnVlIDogbnVsbFwiPlxuICA8bmctdGVtcGxhdGUgbGV0LWxpbmUgbGV0LWxhc3Q9XCJsYXN0XCIgbmdGb3IgW25nRm9yT2ZdPVwibGluZXNcIj5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgIDxoNCBtYXRMaXN0SXRlbVRpdGxlPlxuICAgICAgICB7eyBsaW5lLmxpbmUgfX1cbiAgICAgIDwvaDQ+XG4gICAgICA8cCAqbmdGb3I9XCJsZXQgc3VibGluZSBvZiBsaW5lLnN1YmxpbmVzXCIgbWF0TGlzdEl0ZW1MaW5lPlxuICAgICAgICB7eyBzdWJsaW5lIH19XG4gICAgICA8L3A+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cIiFsYXN0XCI+PC9tYXQtZGl2aWRlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LWxpc3Q+XG4iXX0=","import { Component, Directive, Input, Renderer2, ChangeDetectorRef, EventEmitter, Output, ViewContainerRef, ComponentFactoryResolver, Injector, ViewChild, ChangeDetectionStrategy, ElementRef, HostBinding, inject, } from '@angular/core';\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { TdFlavoredListComponent, } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/table\";\nimport * as i3 from \"@angular/material/button\";\nconst _c0 = (a0, a1) => ({ \"align-right\": a0, \"align-center\": a1 });\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_mat_header_cell_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-header-cell\", 7);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const column_r1 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(2, _c0, column_r1.numeric, column_r1.centered));\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(column_r1.label);\n} }\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_mat_cell_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-cell\", 8)(1, \"td-markdown\");\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const row_r2 = ctx.$implicit;\n const column_r1 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(2, _c0, column_r1.numeric, column_r1.centered));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(row_r2[column_r1.name]);\n} }\nfunction TdFlavoredMarkdownTableComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0, 4);\n i0.ɵɵtemplate(1, TdFlavoredMarkdownTableComponent_ng_template_1_mat_header_cell_1_Template, 2, 5, \"mat-header-cell\", 5)(2, TdFlavoredMarkdownTableComponent_ng_template_1_mat_cell_2_Template, 3, 5, \"mat-cell\", 6);\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const column_r1 = ctx.$implicit;\n i0.ɵɵproperty(\"matColumnDef\", column_r1.name);\n} }\nfunction TdFlavoredMarkdownTableComponent_mat_header_row_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-header-row\");\n} }\nfunction TdFlavoredMarkdownTableComponent_mat_row_3_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-row\");\n} }\nconst _c1 = [\"*\"];\nexport class TdFlavoredMarkdownTableComponent {\n columnDefs = [];\n data;\n sort;\n displayedColumns;\n dataSource;\n ngOnInit() {\n // Check if the first column is empty\n const isFirstColumnEmpty = this.columnDefs.length > 0 &&\n this.columnDefs[0].label.trim() === '' && // Check if the header cell is empty\n this.data.every((row) => !row[this.columnDefs[0].name]); // Check if all cells in the first column are empty\n // If the first column is empty, remove it\n if (isFirstColumnEmpty) {\n this.columnDefs.shift(); // Remove the first column definition\n }\n this.displayedColumns = this.columnDefs.map((c) => c.name);\n this.dataSource = new MatTableDataSource(this.data);\n }\n ngAfterViewInit() {\n this.dataSource.sort = this.sort;\n }\n static ɵfac = function TdFlavoredMarkdownTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownTableComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownTableComponent, selectors: [[\"ng-component\"]], viewQuery: function TdFlavoredMarkdownTableComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(MatSort, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);\n } }, inputs: { columnDefs: \"columnDefs\", data: \"data\" }, decls: 4, vars: 4, consts: [[\"matSort\", \"\", 3, \"dataSource\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [4, \"matHeaderRowDef\"], [4, \"matRowDef\", \"matRowDefColumns\"], [3, \"matColumnDef\"], [\"mat-sort-header\", \"\", 3, \"ngClass\", 4, \"matHeaderCellDef\"], [3, \"ngClass\", 4, \"matCellDef\"], [\"mat-sort-header\", \"\", 3, \"ngClass\"], [3, \"ngClass\"]], template: function TdFlavoredMarkdownTableComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-table\", 0);\n i0.ɵɵtemplate(1, TdFlavoredMarkdownTableComponent_ng_template_1_Template, 3, 1, \"ng-template\", 1)(2, TdFlavoredMarkdownTableComponent_mat_header_row_2_Template, 1, 0, \"mat-header-row\", 2)(3, TdFlavoredMarkdownTableComponent_mat_row_3_Template, 1, 0, \"mat-row\", 3);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵproperty(\"dataSource\", ctx.dataSource);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.columnDefs);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matHeaderRowDef\", ctx.displayedColumns);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matRowDefColumns\", ctx.displayedColumns);\n } }, dependencies: [CommonModule, i1.NgClass, i1.NgForOf, MatTableModule, i2.MatTable, i2.MatHeaderCellDef, i2.MatHeaderRowDef, i2.MatColumnDef, i2.MatCellDef, i2.MatRowDef, i2.MatHeaderCell, i2.MatCell, i2.MatHeaderRow, i2.MatRow, TdMarkdownComponent], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownTableComponent, [{\n type: Component,\n args: [{\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell\n [ngClass]=\"{\n 'align-right': column.numeric,\n 'align-center': column.centered,\n }\"\n *matHeaderCellDef\n mat-sort-header\n >{{ column.label }}</mat-header-cell\n >\n <mat-cell\n *matCellDef=\"let row\"\n [ngClass]=\"{\n 'align-right': column.numeric,\n 'align-center': column.centered,\n }\"\n ><td-markdown>{{ row[column.name] }}</td-markdown></mat-cell\n >\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n imports: [CommonModule, MatTableModule, TdMarkdownComponent],\n }]\n }], null, { columnDefs: [{\n type: Input\n }], data: [{\n type: Input\n }], sort: [{\n type: ViewChild,\n args: [MatSort]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownTableComponent, { className: \"TdFlavoredMarkdownTableComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 91 }); })();\nexport class TdFlavoredMarkdownButtonComponent {\n display = 'inline-block';\n text = '';\n data = '';\n clicked = new EventEmitter();\n emitClick() {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n static ɵfac = function TdFlavoredMarkdownButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownButtonComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownButtonComponent, selectors: [[\"ng-component\"]], hostVars: 2, hostBindings: function TdFlavoredMarkdownButtonComponent_HostBindings(rf, ctx) { if (rf & 2) {\n i0.ɵɵstyleProp(\"display\", ctx.display);\n } }, inputs: { text: \"text\", data: \"data\" }, outputs: { clicked: \"clicked\" }, decls: 2, vars: 1, consts: [[\"mat-raised-button\", \"\", 3, \"click\"]], template: function TdFlavoredMarkdownButtonComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"button\", 0);\n i0.ɵɵlistener(\"click\", function TdFlavoredMarkdownButtonComponent_Template_button_click_0_listener() { return ctx.emitClick(); });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx.text, \" \");\n } }, dependencies: [MatButtonModule, i3.MatButton], encapsulation: 2 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownButtonComponent, [{\n type: Component,\n args: [{\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n imports: [MatButtonModule],\n }]\n }], null, { display: [{\n type: HostBinding,\n args: ['style.display']\n }], text: [{\n type: Input\n }], data: [{\n type: Input\n }], clicked: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownButtonComponent, { className: \"TdFlavoredMarkdownButtonComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 130 }); })();\nexport class TdFlavoredMarkdownContainerDirective {\n viewContainerRef = inject(ViewContainerRef);\n _renderer = inject(Renderer2);\n clear() {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n static ɵfac = function TdFlavoredMarkdownContainerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownContainerDirective)(); };\n static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TdFlavoredMarkdownContainerDirective, selectors: [[\"\", \"tdFlavoredMarkdownContainer\", \"\"]] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownContainerDirective, [{\n type: Directive,\n args: [{\n selector: '[tdFlavoredMarkdownContainer]',\n }]\n }], null, null); })();\nexport class TdFlavoredMarkdownComponent {\n _componentFactoryResolver = inject(ComponentFactoryResolver);\n _renderer = inject(Renderer2);\n _changeDetectorRef = inject(ChangeDetectorRef);\n _injector = inject(Injector);\n _elementRef = inject(ElementRef);\n _content;\n _simpleLineBreaks = false;\n _hostedUrl;\n _anchor;\n _components = {};\n _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n set content(content) {\n this._content = content;\n }\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n set simpleLineBreaks(simpleLineBreaks) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n set hostedUrl(hostedUrl) {\n this._hostedUrl = hostedUrl;\n }\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n set anchor(anchor) {\n this._anchor = anchor;\n }\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * toggleRawCode?: boolean\n *\n * Display button to toggle raw code view\n */\n toggleRawCode = false;\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw code toggle button\n */\n rawToggleLabels = {};\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n useCfmList = false;\n /**\n * The file extensions to monitor for in anchor tags. If an anchor's `href` ends\n * with this extension, an event will be triggered insetad of performing the default action.\n * Example values: \".ipynb\", \".zip\", \".docx\"\n */\n fileLinkExtensions;\n /**\n * Event emitted when an anchor tag with an `href` matching the specified\n * file link extension is clicked. The emitted value is the `href` of the clicked anchor.\n */\n fileLinkClicked = new EventEmitter();\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n contentReady = new EventEmitter();\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n buttonClicked = new EventEmitter();\n container;\n _destroy$ = new Subject();\n ngOnChanges(changes) {\n // only anchor changed\n if (changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n }\n else {\n this.refresh();\n }\n }\n ngAfterViewInit() {\n if (!this._content) {\n this._loadContent(this.container.viewContainerRef.element.nativeElement\n .textContent ?? '');\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n }\n refresh() {\n if (this._content) {\n this._loadContent(this._content);\n }\n else if (this._viewInit) {\n this._loadContent(this.container.viewContainerRef.element.nativeElement\n .textContent ?? '');\n }\n this._changeDetectorRef.markForCheck();\n }\n _loadContent(markdown) {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines = markdown.split('\\n');\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line) {\n return line.replace(startingWhitespaceRegex, '').replaceAll('\\r', '');\n });\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n const keys = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA, compB) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n _render(markdown, key, keys) {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n }\n else {\n const contentRef = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.fileLinkExtensions = this.fileLinkExtensions;\n contentRef.instance.fileLinkClicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((url) => {\n this.fileLinkClicked.emit(url);\n });\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n _replaceComponent(markdown, type, regExp, replacerFunc) {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args) => {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key = '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n _replaceCheckbox(markdown) {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(markdown, MatCheckbox, checkboxRegExp, (componentRef, match, checked, label) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.ariaLabel = label;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty((componentRef.instance._elementRef.nativeElement).getElementsByTagName('label')[0], 'innerHTML', label);\n });\n }\n _replaceButtons(markdown) {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(markdown, TdFlavoredMarkdownButtonComponent, globalButtonRegExp, (componentRef, match) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text = matches[1];\n const data = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent) => this.buttonClicked.emit(clickEvent));\n });\n }\n _replaceCodeBlocks(markdown) {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(markdown, TdHighlightComponent, codeBlockRegExp, (componentRef, match, language, codeblock) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.toggleRawButton = this.toggleRawCode;\n componentRef.instance.rawToggleLabels = this.rawToggleLabels;\n componentRef.instance.content = codeblock;\n });\n }\n _replaceTables(markdown) {\n const tableRgx = /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(markdown, TdFlavoredMarkdownTableComponent, tableRgx, (componentRef, match) => {\n const dataTableLines = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns = dataTableLines[0]\n .split('|')\n .filter((col) => {\n return col;\n })\n .map((s) => {\n return s.trim();\n });\n const alignment = dataTableLines[1]\n .split('|')\n .filter((v) => {\n return v;\n })\n .map((s) => {\n return s.trim();\n });\n const data = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit = dataTableLines[i]\n .split('|')\n .filter((cell) => {\n return cell;\n })\n .map((s) => {\n return s.trim();\n });\n const row = {};\n columns.forEach((col, index) => {\n const rowSplitCell = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m, value) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col, index) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n centered: /^:--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n });\n }\n _replaceLists(markdown) {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(markdown, TdFlavoredListComponent, listRegExp, (componentRef, match) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n const lineTexts = match.split(new RegExp('\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'));\n lineTexts.shift();\n const lines = [];\n lineTexts.forEach((text) => {\n const sublineTexts = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n if (listCharRegExp.test(lineText)) {\n return;\n }\n lines.push({\n line: lineText,\n sublines: sublineTexts\n .map((subline) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n })\n .filter((line) => !!line),\n });\n });\n componentRef.instance.lines = lines;\n });\n }\n static ɵfac = function TdFlavoredMarkdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownComponent, selectors: [[\"td-flavored-markdown\"]], viewQuery: function TdFlavoredMarkdownComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(TdFlavoredMarkdownContainerDirective, 7);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);\n } }, inputs: { content: \"content\", simpleLineBreaks: \"simpleLineBreaks\", hostedUrl: \"hostedUrl\", anchor: \"anchor\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", toggleRawCode: \"toggleRawCode\", rawToggleLabels: \"rawToggleLabels\", useCfmList: \"useCfmList\", fileLinkExtensions: \"fileLinkExtensions\" }, outputs: { fileLinkClicked: \"fileLinkClicked\", contentReady: \"contentReady\", buttonClicked: \"buttonClicked\" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c1, decls: 2, vars: 0, consts: [[\"tdFlavoredMarkdownContainer\", \"\"]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n } }, dependencies: [TdFlavoredMarkdownContainerDirective], styles: [\"[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}[_nghost-%COMP%] mat-table.mat-mdc-table{border-radius:8px;overflow:hidden}[_nghost-%COMP%] mat-table .align-right{justify-content:flex-end}[_nghost-%COMP%] mat-table .align-center{justify-content:center}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownComponent, [{\n type: Component,\n args: [{ selector: 'td-flavored-markdown', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdFlavoredMarkdownContainerDirective], template: \"<div tdFlavoredMarkdownContainer>\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox{display:block}:host ::ng-deep td-highlight,:host ::ng-deep mat-table,:host ::ng-deep mat-checkbox:last-of-type{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{display:flex;flex-direction:row;justify-content:space-between}:host ::ng-deep mat-table.mat-mdc-table{border-radius:8px;overflow:hidden}:host ::ng-deep mat-table .align-right{justify-content:flex-end}:host ::ng-deep mat-table .align-center{justify-content:center}\\n\"] }]\n }], null, { content: [{\n type: Input\n }], simpleLineBreaks: [{\n type: Input\n }], hostedUrl: [{\n type: Input\n }], anchor: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], toggleRawCode: [{\n type: Input\n }], rawToggleLabels: [{\n type: Input\n }], useCfmList: [{\n type: Input\n }], fileLinkExtensions: [{\n type: Input\n }], fileLinkClicked: [{\n type: Output\n }], contentReady: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }], container: [{\n type: ViewChild,\n args: [TdFlavoredMarkdownContainerDirective, { static: true }]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownComponent, { className: \"TdFlavoredMarkdownComponent\", filePath: \"lib/flavored-markdown.component.ts\", lineNumber: 171 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2ZsYXZvcmVkLW1hcmtkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUdULGlCQUFpQixFQUNqQixZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsUUFBUSxFQUVSLFNBQVMsRUFDVCx1QkFBdUIsRUFHdkIsVUFBVSxFQUNWLFdBQVcsRUFHWCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxvQkFBb0IsR0FHckIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFB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OztrQkFXTCxLQUFLOztrQkFPTCxLQUFLOztrQkFPTCxLQUFLOztrQkFPTCxLQUFLOztrQkFNTCxLQUFLOztrQkFPTCxLQUFLOztrQkFPTCxNQUFNOztrQkFNTixNQUFNOztrQkFRTixNQUFNOztrQkFJTixTQUFTO21CQUFDLG9DQUFvQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBOUh0RCwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbiAgQ29tcG9uZW50RmFjdG9yeSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBDb21wb25lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRDaGVja2JveCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSwgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50LFxuICBJRmxhdm9yZWRMaXN0SXRlbSxcbn0gZnJvbSAnLi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGRIaWdobGlnaHRDb21wb25lbnQsXG4gIElDb3B5Q29kZVRvb2x0aXBzLFxuICBJUmF3VG9nZ2xlTGFiZWxzLFxufSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuaW1wb3J0IHsgVGRNYXJrZG93bkNvbXBvbmVudCwgc2Nyb2xsVG9BbmNob3IgfSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGRGbGF2b3JlZE1hcmtEb3duVGFibGVDb2x1bW4ge1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG51bWVyaWM6IGJvb2xlYW47XG4gIGNlbnRlcmVkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICAgICAgPCEtLSBDb2x1bW4gRGVmaW5pdGlvbiAtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtY29sdW1uIFtuZ0Zvck9mXT1cImNvbHVtbkRlZnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCI+XG4gICAgICAgICAgPG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnYWxpZ24tcmlnaHQnOiBjb2x1bW4ubnVtZXJpYyxcbiAgICAgICAgICAgICAgJ2FsaWduLWNlbnRlcic6IGNvbHVtbi5jZW50ZXJlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fTwvbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICAgPlxuICAgICAgICAgIDxtYXQtY2VsbFxuICAgICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgcm93XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgJ2FsaWduLXJpZ2h0JzogY29sdW1uLm51bWVyaWMsXG4gICAgICAgICAgICAgICdhbGlnbi1jZW50ZXInOiBjb2x1bW4uY2VudGVyZWQsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID48dGQtbWFya2Rvd24+e3sgcm93W2NvbHVtbi5uYW1lXSB9fTwvdGQtbWFya2Rvd24+PC9tYXQtY2VsbFxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPCEtLSBIZWFkZXIgYW5kIFJvdyBEZWNsYXJhdGlvbnMgLS0+XG4gICAgICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L21hdC1oZWFkZXItcm93PlxuICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L21hdC1yb3c+XG4gICAgPC9tYXQtdGFibGU+XG4gIGAsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBUZE1hcmtkb3duQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5EZWZzOiBJVGRGbGF2b3JlZE1hcmtEb3duVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhITogdW5rbm93bltdO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGRpc3BsYXllZENvbHVtbnMhOiBzdHJpbmdbXTtcbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTx1bmtub3duPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgY29sdW1uIGlzIGVtcHR5XG4gICAgY29uc3QgaXNGaXJzdENvbHVtbkVtcHR5ID1cbiAgICAgIHRoaXMuY29sdW1uRGVmcy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLmNvbHVtbkRlZnNbMF0ubGFiZWwudHJpbSgpID09PSAnJyAmJiAvLyBDaGVjayBpZiB0aGUgaGVhZGVyIGNlbGwgaXMgZW1wdHlcbiAgICAgIHRoaXMuZGF0YS5ldmVyeSgocm93OiBhbnkpID0+ICFyb3dbdGhpcy5jb2x1bW5EZWZzWzBdLm5hbWVdKTsgLy8gQ2hlY2sgaWYgYWxsIGNlbGxzIGluIHRoZSBmaXJzdCBjb2x1bW4gYXJlIGVtcHR5XG5cbiAgICAvLyBJZiB0aGUgZmlyc3QgY29sdW1uIGlzIGVtcHR5LCByZW1vdmUgaXRcbiAgICBpZiAoaXNGaXJzdENvbHVtbkVtcHR5KSB7XG4gICAgICB0aGlzLmNvbHVtbkRlZnMuc2hpZnQoKTsgLy8gUmVtb3ZlIHRoZSBmaXJzdCBjb2x1bW4gZGVmaW5pdGlvblxuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1uRGVmcy5tYXAoXG4gICAgICAoYzogSVRkRmxhdm9yZWRNYXJrRG93blRhYmxlQ29sdW1uKSA9PiBjLm5hbWUsXG4gICAgKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZW1pdENsaWNrKClcIj5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuICBASW5wdXQoKSBkYXRhID0gJyc7XG4gIEBPdXRwdXQoKVxuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50PigpO1xuICBlbWl0Q2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbGlja2VkLmVtaXQoeyB0ZXh0OiB0aGlzLnRleHQsIGRhdGE6IHRoaXMuZGF0YSB9KTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGRGbGF2b3JlZE1hcmtkb3duQ29udGFpbmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRNYXJrZG93bkNvbnRhaW5lckRpcmVjdGl2ZSB7XG4gIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2lubmVySFRNTCcsXG4gICAgICAnJyxcbiAgICApO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIElSZXBsYWNlckZ1bmM8VD4gPSAoXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+LFxuICAuLi5hcmdzOiBhbnlbXVxuKSA9PiB2b2lkO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1mbGF2b3JlZC1tYXJrZG93bicsXG4gIHN0eWxlVXJsczogWycuL2ZsYXZvcmVkLW1hcmtkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVGRGbGF2b3JlZE1hcmtkb3duQ29udGFpbmVyRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gaW5qZWN0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gIHByaXZhdGUgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQhOiBzdHJpbmc7XG4gIHByaXZhdGUgX3NpbXBsZUxpbmVCcmVha3MgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaG9zdGVkVXJsITogc3RyaW5nO1xuICBwcml2YXRlIF9hbmNob3IhOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfY29tcG9uZW50czogeyBba2V5OiBzdHJpbmddOiBDb21wb25lbnRSZWY8dW5rbm93bj4gfSA9IHt9O1xuICBwcml2YXRlIF92aWV3SW5pdCA9IGZhbHNlO1xuICAvKipcbiAgICogY29udGVudD86IHN0cmluZ1xuICAgKlxuICAgKiBNYXJrZG93biBmb3JtYXQgY29udGVudCB0byBiZSBwYXJzZWQgYXMgbWF0ZXJpYWwvY292YWxlbnQgbWFya3VwLlxuICAgKlxuICAgKiBlLmcuIFJFQURNRS5tZCBjb250ZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cblxuICAvKipcbiAgICogc2ltcGxlTGluZUJyZWFrcz86IHN0cmluZ1xuICAgKlxuICAgKiBTZXRzIHdoZXRoZXIgbmV3bGluZSBjaGFyYWN0ZXJzIGluc2lkZSBwYXJhZ3JhcGhzIGFuZCBzcGFucyBhcmUgcGFyc2VkIGFzIDxici8+LlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzaW1wbGVMaW5lQnJlYWtzKHNpbXBsZUxpbmVCcmVha3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaW1wbGVMaW5lQnJlYWtzID0gc2ltcGxlTGluZUJyZWFrcztcbiAgfVxuXG4gIC8qKlxuICAgKiBob3N0ZWRVcmw/OiBzdHJpbmdcbiAgICpcbiAgICogSWYgbWFya2Rvd24gY29udGFpbnMgcmVsYXRpdmUgcGF0aHMsIHRoaXMgaXMgcmVxdWlyZWQgdG8gZ2VuZXJhdGUgY29ycmVjdCB1cmxzXG4gICAqXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgaG9zdGVkVXJsKGhvc3RlZFVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5faG9zdGVkVXJsID0gaG9zdGVkVXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIGFuY2hvcj86IHN0cmluZ1xuICAgKlxuICAgKiBBbmNob3IgdG8ganVtcCB0b1xuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGFuY2hvcihhbmNob3I6IHN0cmluZykge1xuICAgIHRoaXMuX2FuY2hvciA9IGFuY2hvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIHRvZ2dsZVJhd0NvZGU/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgYnV0dG9uIHRvIHRvZ2dsZSByYXcgY29kZSB2aWV3XG4gICAqL1xuICBASW5wdXQoKSB0b2dnbGVSYXdDb2RlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHNcbiAgICpcbiAgICogTGFiZWxzIGZvciByYXcgY29kZSB0b2dnbGUgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSByYXdUb2dnbGVMYWJlbHM/OiBJUmF3VG9nZ2xlTGFiZWxzID0ge307XG5cbiAgLyoqXG4gICAqIHVzZUNmbUxpc3Q/OiBib29sZWFuID0gZmFsc2U7XG4gICAqIFVzZSBDRk0gbGlzdCBjb21wb25lbnQgaW5zdGVhZCBvZiB2YW5pbGxhIG1hcmtkb3duIGxpc3QuIFVzZWQgaW4gY292YWxlbnQgZG9jdW1lbnRhdGlvbiBhcHAuXG4gICAqL1xuICBASW5wdXQoKSB1c2VDZm1MaXN0PyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSBleHRlbnNpb25zIHRvIG1vbml0b3IgZm9yIGluIGFuY2hvciB0YWdzLiBJZiBhbiBhbmNob3IncyBgaHJlZmAgZW5kc1xuICAgKiB3aXRoIHRoaXMgZXh0ZW5zaW9uLCBhbiBldmVudCB3aWxsIGJlIHRyaWdnZXJlZCBpbnNldGFkIG9mIHBlcmZvcm1pbmcgdGhlIGRlZmF1bHQgYWN0aW9uLlxuICAgKiBFeGFtcGxlIHZhbHVlczogXCIuaXB5bmJcIiwgXCIuemlwXCIsIFwiLmRvY3hcIlxuICAgKi9cbiAgQElucHV0KClcbiAgZmlsZUxpbmtFeHRlbnNpb25zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBhbmNob3IgdGFnIHdpdGggYW4gYGhyZWZgIG1hdGNoaW5nIHRoZSBzcGVjaWZpZWRcbiAgICogZmlsZSBsaW5rIGV4dGVuc2lvbiBpcyBjbGlja2VkLiBUaGUgZW1pdHRlZCB2YWx1ZSBpcyB0aGUgYGhyZWZgIG9mIHRoZSBjbGlja2VkIGFuY2hvci5cbiAgICovXG4gIEBPdXRwdXQoKSBmaWxlTGlua0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVSTD4oKTtcblxuICAvKipcbiAgICogY29udGVudFJlYWR5PzogZnVuY3Rpb25cbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgbWFya2Rvd24gY29udGVudCByZW5kZXJpbmcgaXMgZmluaXNoZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgY29udGVudFJlYWR5OiBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjx1bmRlZmluZWQ+KCk7XG5cbiAgLyoqXG4gICAqIGJ1dHRvbkNsaWNrZWQ/OiBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudFxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBJcyBhbiBvYmplY3QgY29udGFpbmluZyB0ZXh0IGFuZCBkYXRhIG9mIGJ1dHRvblxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZChUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGNvbnRhaW5lciE6IFRkRmxhdm9yZWRNYXJrZG93bkNvbnRhaW5lckRpcmVjdGl2ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIG9ubHkgYW5jaG9yIGNoYW5nZWRcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhbmNob3InXSAmJlxuICAgICAgIWNoYW5nZXNbJ2NvbnRlbnQnXSAmJlxuICAgICAgIWNoYW5nZXNbJ3NpbXBsZUxpbmVCcmVha3MnXSAmJlxuICAgICAgIWNoYW5nZXNbJ2hvc3RlZFVybCddXG4gICAgKSB7XG4gICAgICBzY3JvbGxUb0FuY2hvcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX2FuY2hvciwgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudChcbiAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAudGV4dENvbnRlbnQgPz8gJycsXG4gICAgICApO1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuX3ZpZXdJbml0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudCh0aGlzLl9jb250ZW50KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3ZpZXdJbml0KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudChcbiAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudClcbiAgICAgICAgICAudGV4dENvbnRlbnQgPz8gJycsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRDb250ZW50KG1hcmtkb3duOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobWFya2Rvd24gJiYgbWFya2Rvd24udHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmNsZWFyKCk7XG4gICAgICBtYXJrZG93biA9IG1hcmtkb3duXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcc3xcXHQpKlxcbisvZywgJycpXG4gICAgICAgIC5yZXBsYWNlKC8oXFxzfFxcdCkqXFxuKyhcXHN8XFx0KSokL2csICcnKTtcbiAgICAgIC8vIFNwbGl0IG1hcmtkb3duIGJ5IGxpbmUgY2hhcmFjdGVyc1xuICAgICAgbGV0IGxpbmVzOiBzdHJpbmdbXSA9IG1hcmtkb3duLnNwbGl0KCdcXG4nKTtcblxuICAgICAgLy8gY2hlY2sgaG93IG11Y2ggaW5kZW50YXRpb24gaXMgdXNlZCBieSB0aGUgZmlyc3QgYWN0dWFsIG1hcmtkb3duIGxpbmVcbiAgICAgIGNvbnN0IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaCA9IGxpbmVzWzBdLm1hdGNoKC9eKFxcc3xcXHQpKi8pO1xuICAgICAgY29uc3QgZmlyc3RMaW5lV2hpdGVzcGFjZSA9IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaFxuICAgICAgICA/IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaFswXVxuICAgICAgICA6IG51bGw7XG5cbiAgICAgIC8vIFJlbW92ZSBhbGwgaW5kZW50YXRpb24gc3BhY2VzIHNvIG1hcmtkb3duIGNhbiBiZSBwYXJzZWQgY29ycmVjdGx5XG4gICAgICAvLyBSZW1vdmUgYWxsIFxcciBjaGFyYWN0ZXJzXG4gICAgICBjb25zdCBzdGFydGluZ1doaXRlc3BhY2VSZWdleCA9IG5ldyBSZWdFeHAoJ14nICsgZmlyc3RMaW5lV2hpdGVzcGFjZSk7XG4gICAgICBsaW5lcyA9IGxpbmVzLm1hcChmdW5jdGlvbiAobGluZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxpbmUucmVwbGFjZShzdGFydGluZ1doaXRlc3BhY2VSZWdleCwgJycpLnJlcGxhY2VBbGwoJ1xccicsICcnKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBKb2luIGxpbmVzIGFnYWluIHdpdGggbGluZSBjaGFyYWN0ZXJzXG4gICAgICBtYXJrZG93biA9IFsuLi5saW5lcywgJycsICcnXS5qb2luKCdcXG4nKTtcbiAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUNvZGVCbG9ja3MobWFya2Rvd24pO1xuICAgICAgbWFya2Rvd24gPSB0aGlzLl9yZXBsYWNlQ2hlY2tib3gobWFya2Rvd24pO1xuICAgICAgbWFya2Rvd24gPSB0aGlzLl9yZXBsYWNlVGFibGVzKG1hcmtkb3duKTtcbiAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUJ1dHRvbnMobWFya2Rvd24pO1xuXG4gICAgICBpZiAodGhpcy51c2VDZm1MaXN0KSB7XG4gICAgICAgIG1hcmtkb3duID0gdGhpcy5fcmVwbGFjZUxpc3RzKG1hcmtkb3duKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyh0aGlzLl9jb21wb25lbnRzKTtcbiAgICAgIC8vIG5lZWQgdG8gc29ydCB0aGUgcGxhY2Vob2xkZXJzIGluIG9yZGVyIG9mIGVuY291bnRlciBpbiBtYXJrZG93biBjb250ZW50XG4gICAgICBrZXlzLnNvcnQoKGNvbXBBOiBzdHJpbmcsIGNvbXBCOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIG1hcmtkb3duLmluZGV4T2YoY29tcEEpID4gbWFya2Rvd24uaW5kZXhPZihjb21wQikgPyAxIDogLTE7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3JlbmRlcihtYXJrZG93biwga2V5c1swXSwga2V5cyk7XG4gICAgICAvLyBUT0RPOiB0aW1lb3V0IHJlcXVpcmVkIHNpbmNlIHJlc2l6aW5nIG9mIGh0bWwgZWxlbWVudHMgb2NjdXJzIHdoaWNoIGNhdXNlcyBhIGNoYW5nZSBpbiB0aGUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIHNjcm9sbFRvQW5jaG9yKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fYW5jaG9yLCBmYWxzZSksXG4gICAgICAgIDI1MCxcbiAgICAgICk7XG4gICAgICB0aGlzLmNvbnRlbnRSZWFkeS5lbWl0KCk7XG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXIobWFya2Rvd246IHN0cmluZywga2V5OiBzdHJpbmcsIGtleXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKCFtYXJrZG93bikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoa2V5ICYmIG1hcmtkb3duLmluZGV4T2Yoa2V5KSA+IC0xKSB7XG4gICAgICBjb25zdCBtYXJrZG93blBhcnRzOiBzdHJpbmdbXSA9IG1hcmtkb3duLnNwbGl0KGtleSk7XG4gICAgICBrZXlzLnNoaWZ0KCk7XG4gICAgICB0aGlzLl9yZW5kZXIobWFya2Rvd25QYXJ0c1swXSwgJycsIFtdKTtcbiAgICAgIHRoaXMuY29udGFpbmVyLnZpZXdDb250YWluZXJSZWYuaW5zZXJ0KFxuICAgICAgICB0aGlzLl9jb21wb25lbnRzW2tleV0uaG9zdFZpZXcsXG4gICAgICAgIHRoaXMuY29udGFpbmVyLnZpZXdDb250YWluZXJSZWYubGVuZ3RoLFxuICAgICAgKTtcbiAgICAgIGRlbGV0ZSB0aGlzLl9jb21wb25lbnRzW2tleV07XG4gICAgICB0aGlzLl9yZW5kZXIobWFya2Rvd25QYXJ0c1sxXSwga2V5c1swXSwga2V5cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRlbnRSZWY6IENvbXBvbmVudFJlZjxUZE1hcmtkb3duQ29tcG9uZW50PiA9XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICAgICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUZE1hcmtkb3duQ29tcG9uZW50KVxuICAgICAgICAgIC5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gbWFya2Rvd247XG4gICAgICBjb250ZW50UmVmLmluc3RhbmNlLmhvc3RlZFVybCA9IHRoaXMuX2hvc3RlZFVybDtcbiAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2Uuc2ltcGxlTGluZUJyZWFrcyA9IHRoaXMuX3NpbXBsZUxpbmVCcmVha3M7XG4gICAgICBjb250ZW50UmVmLmluc3RhbmNlLmZpbGVMaW5rRXh0ZW5zaW9ucyA9IHRoaXMuZmlsZUxpbmtFeHRlbnNpb25zO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5maWxlTGlua0NsaWNrZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgLnN1YnNjcmliZSgodXJsOiBVUkwpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVMaW5rQ2xpY2tlZC5lbWl0KHVybCk7XG4gICAgICAgIH0pO1xuICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5yZWZyZXNoKCk7XG4gICAgICB0aGlzLmNvbnRhaW5lci52aWV3Q29udGFpbmVyUmVmLmluc2VydChcbiAgICAgICAgY29udGVudFJlZi5ob3N0VmlldyxcbiAgICAgICAgdGhpcy5jb250YWluZXIudmlld0NvbnRhaW5lclJlZi5sZW5ndGgsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDb21wb25lbnQ8VD4oXG4gICAgbWFya2Rvd246IHN0cmluZyxcbiAgICB0eXBlOiBUeXBlPFQ+LFxuICAgIHJlZ0V4cDogUmVnRXhwLFxuICAgIHJlcGxhY2VyRnVuYzogSVJlcGxhY2VyRnVuYzxUPixcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgY29tcG9uZW50SW5kZXggPSAwO1xuICAgIHJldHVybiBtYXJrZG93bi5yZXBsYWNlKHJlZ0V4cCwgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PFQ+ID1cbiAgICAgICAgdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHR5cGUpO1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsXG4gICAgICApO1xuICAgICAgcmVwbGFjZXJGdW5jKGNvbXBvbmVudFJlZiwgLi4uYXJncyk7XG4gICAgICBjb25zdCBrZXk6IHN0cmluZyA9XG4gICAgICAgICdbJyArXG4gICAgICAgIGNvbXBvbmVudEZhY3Rvcnkuc2VsZWN0b3IgK1xuICAgICAgICAnLXBsYWNlaG9sZGVyLScgK1xuICAgICAgICBjb21wb25lbnRJbmRleCsrICtcbiAgICAgICAgJ10nO1xuICAgICAgdGhpcy5fY29tcG9uZW50c1trZXldID0gY29tcG9uZW50UmVmO1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDaGVja2JveChtYXJrZG93bjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaGVja2JveFJlZ0V4cCA9IC8oPzpefFxcbiktIFxcWyh4fCApXFxdKC4qKS9naTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgTWF0Q2hlY2tib3gsXG4gICAgICBjaGVja2JveFJlZ0V4cCxcbiAgICAgIChcbiAgICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8TWF0Q2hlY2tib3g+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgICBjaGVja2VkOiBzdHJpbmcsXG4gICAgICAgIGxhYmVsOiBzdHJpbmcsXG4gICAgICApID0+IHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNoZWNrZWQgPSAhIWNoZWNrZWQudHJpbSgpO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYXJpYUxhYmVsID0gbGFiZWw7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5sYWJlbFBvc2l0aW9uID0gJ2FmdGVyJztcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoXG4gICAgICAgICAgKDxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICkpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsYWJlbCcpWzBdLFxuICAgICAgICAgICdpbm5lckhUTUwnLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZUJ1dHRvbnMobWFya2Rvd246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgYnV0dG9uUmVnRXhwID0gL1xcWyhbXltdKylcXF0oXFwoI2RhdGE9KC4qPylcXCkpL2k7XG4gICAgY29uc3QgZ2xvYmFsQnV0dG9uUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgIGJ1dHRvblJlZ0V4cC5zb3VyY2UsXG4gICAgICBidXR0b25SZWdFeHAuZmxhZ3MgKyAnZycsXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ29tcG9uZW50LFxuICAgICAgZ2xvYmFsQnV0dG9uUmVnRXhwLFxuICAgICAgKFxuICAgICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25Db21wb25lbnQ+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBidXR0b25SZWdFeHAuZXhlYyhtYXRjaCk7XG4gICAgICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0OiBzdHJpbmcgPSBtYXRjaGVzWzFdO1xuICAgICAgICBjb25zdCBkYXRhOiBzdHJpbmcgPSBtYXRjaGVzWzNdO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudGV4dCA9IHRleHQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kYXRhID0gZGF0YTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNsaWNrZWRcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGNsaWNrRXZlbnQ6IElUZEZsYXZvcmVkTWFya2Rvd25CdXR0b25DbGlja0V2ZW50KSA9PlxuICAgICAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoY2xpY2tFdmVudCksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VDb2RlQmxvY2tzKG1hcmtkb3duOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvZGVCbG9ja1JlZ0V4cCA9IC8oPzpefFxcbilgYGAoLiopXFxuKFtcXHNcXFNdKj8pXFxuYGBgL2c7XG4gICAgcmV0dXJuIHRoaXMuX3JlcGxhY2VDb21wb25lbnQoXG4gICAgICBtYXJrZG93bixcbiAgICAgIFRkSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgICAgY29kZUJsb2NrUmVnRXhwLFxuICAgICAgKFxuICAgICAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUZEhpZ2hsaWdodENvbXBvbmVudD4sXG4gICAgICAgIG1hdGNoOiBzdHJpbmcsXG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGVibG9jazogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGlmIChsYW5ndWFnZSkge1xuICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb2RlTGFuZyA9IGxhbmd1YWdlO1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb3B5Q29kZVRvQ2xpcGJvYXJkID0gdGhpcy5jb3B5Q29kZVRvQ2xpcGJvYXJkO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29weUNvZGVUb29sdGlwcyA9IHRoaXMuY29weUNvZGVUb29sdGlwcztcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnRvZ2dsZVJhd0J1dHRvbiA9IHRoaXMudG9nZ2xlUmF3Q29kZTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJhd1RvZ2dsZUxhYmVscyA9IHRoaXMucmF3VG9nZ2xlTGFiZWxzO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGNvZGVibG9jaztcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VUYWJsZXMobWFya2Rvd246IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdGFibGVSZ3ggPVxuICAgICAgL14gezAsM31cXHw/LitcXHwuK1xcblsgXFx0XXswLDN9XFx8P1sgXFx0XSo6P1sgXFx0XSooPzotfD0pezIsfVsgXFx0XSo6P1sgXFx0XSpcXHxbIFxcdF0qOj9bIFxcdF0qKD86LXw9KXsyLH1bXFxzXFxTXSs/KD86XFxuXFxufH4wKS9nbTtcbiAgICByZXR1cm4gdGhpcy5fcmVwbGFjZUNvbXBvbmVudChcbiAgICAgIG1hcmtkb3duLFxuICAgICAgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQsXG4gICAgICB0YWJsZVJneCxcbiAgICAgIChcbiAgICAgICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQ+LFxuICAgICAgICBtYXRjaDogc3RyaW5nLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFUYWJsZUxpbmVzOiBzdHJpbmdbXSA9IG1hdGNoXG4gICAgICAgICAgLnJlcGxhY2UoLyhcXHN8XFx0KSpcXG4rKFxcc3xcXHQpKiQvZywgJycpXG4gICAgICAgICAgLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QgY29sdW1uczogc3RyaW5nW10gPSBkYXRhVGFibGVMaW5lc1swXVxuICAgICAgICAgIC5zcGxpdCgnfCcpXG4gICAgICAgICAgLmZpbHRlcigoY29sOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjb2w7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAubWFwKChzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzLnRyaW0oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50OiBzdHJpbmdbXSA9IGRhdGFUYWJsZUxpbmVzWzFdXG4gICAgICAgICAgLnNwbGl0KCd8JylcbiAgICAgICAgICAuZmlsdGVyKCh2OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2O1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLm1hcCgoczogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDI7IGkgPCBkYXRhVGFibGVMaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHJvd1NwbGl0OiBzdHJpbmdbXSA9IGRhdGFUYWJsZUxpbmVzW2ldXG4gICAgICAgICAgICAuc3BsaXQoJ3wnKVxuICAgICAgICAgICAgLmZpbHRlcigoY2VsbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjZWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKHM6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gcy50cmltKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCByb3c6IGFueSA9IHt9O1xuICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvd1NwbGl0Q2VsbDogc3RyaW5nID0gcm93U3BsaXRbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKHJvd1NwbGl0Q2VsbCkge1xuICAgICAgICAgICAgICByb3dbY29sLnRvTG93ZXJDYXNlKCkudHJpbSgpXSA9IHJvd1NwbGl0Q2VsbC5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIC9gKC4qKWAvLFxuICAgICAgICAgICAgICAgIChtOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGRhdGEucHVzaChyb3cpO1xuICAgICAgICB9XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb2x1bW5EZWZzID0gY29sdW1ucy5tYXAoXG4gICAgICAgICAgKGNvbDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBsYWJlbDogY29sLFxuICAgICAgICAgICAgICBuYW1lOiBjb2wgPyBjb2wudG9Mb3dlckNhc2UoKS50cmltKCkgOiBgY29sdW1uICR7aW5kZXh9YCxcbiAgICAgICAgICAgICAgbnVtZXJpYzogL14tLSpbIFxcdF0qOlsgXFx0XSokLy50ZXN0KGFsaWdubWVudFtpbmRleF0pLFxuICAgICAgICAgICAgICBjZW50ZXJlZDogL146LS0qWyBcXHRdKjpbIFxcdF0qJC8udGVzdChhbGlnbm1lbnRbaW5kZXhdKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGEgPSBkYXRhO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZUxpc3RzKG1hcmtkb3duOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpc3RSZWdFeHAgPSAvKD86XnxcXG4pKCggKihcXCt8XFwqfC0pKVsgfFxcdF0oLiopXFxuKSsvZztcbiAgICBjb25zdCBsaXN0Q2hhclJlZ0V4cCA9IG5ldyBSZWdFeHAoL14oXFwrfFxcKnwtKS8pO1xuICAgIHJldHVybiB0aGlzLl9yZXBsYWNlQ29tcG9uZW50KFxuICAgICAgbWFya2Rvd24sXG4gICAgICBUZEZsYXZvcmVkTGlzdENvbXBvbmVudCxcbiAgICAgIGxpc3RSZWdFeHAsXG4gICAgICAoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGRGbGF2b3JlZExpc3RDb21wb25lbnQ+LCBtYXRjaDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gLyhcXCt8XFwqfC0pLy5leGVjKG1hdGNoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHN0YXJ0ICE9PSBudWxsID8gc3RhcnQuaW5kZXggOiAxO1xuXG4gICAgICAgIGNvbnN0IGxpbmVUZXh0czogc3RyaW5nW10gPSBtYXRjaC5zcGxpdChcbiAgICAgICAgICBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgJ1xcXFxuIHsnICsgKG1hdGNoSW5kZXggLSAxKS50b1N0cmluZygpICsgJ30oXFxcXCt8XFxcXCp8XFxcXC0pWyB8XFxcXHRdJyxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBsaW5lVGV4dHMuc2hpZnQoKTtcbiAgICAgICAgY29uc3QgbGluZXM6IElGbGF2b3JlZExpc3RJdGVtW10gPSBbXTtcbiAgICAgICAgbGluZVRleHRzLmZvckVhY2goKHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YmxpbmVUZXh0czogc3RyaW5nW10gPSB0ZXh0LnNwbGl0KC9cXG4gKihcXCt8XFwqfC0pIC8pO1xuICAgICAgICAgIGNvbnN0IGxpbmVUZXh0ID0gc3VibGluZVRleHRzLnNoaWZ0KCkgPz8gJyc7XG5cbiAgICAgICAgICBpZiAobGlzdENoYXJSZWdFeHAudGVzdChsaW5lVGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lcy5wdXNoKHtcbiAgICAgICAgICAgIGxpbmU6IGxpbmVUZXh0LFxuICAgICAgICAgICAgc3VibGluZXM6IHN1YmxpbmVUZXh0c1xuICAgICAgICAgICAgICAubWFwKChzdWJsaW5lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdENoYXJSZWdFeHAudGVzdChzdWJsaW5lKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc3VibGluZS50cmltKCk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxpbmUpID0+ICEhbGluZSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubGluZXMgPSBsaW5lcztcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiB0ZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19","import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ChangeDetectionStrategy, inject, } from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { TdFlavoredMarkdownComponent, } from '../flavored-markdown.component';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nfunction TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-progress-bar\", 2);\n} if (rf & 2) {\n i0.ɵɵproperty(\"ngClass\", \"delay\");\n} }\nfunction TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown\", 3);\n i0.ɵɵlistener(\"contentReady\", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.contentReady.emit()); })(\"buttonClicked\", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"content\", ctx_r1.content)(\"hostedUrl\", ctx_r1.url ?? \"\")(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips)(\"useCfmList\", ctx_r1.useCfmList);\n} }\n// TODO: make a td-markdown-loader component\nexport class TdFlavoredMarkdownLoaderComponent {\n _changeDetectorRef = inject(ChangeDetectorRef);\n _markdownUrlLoaderService = inject(TdMarkdownLoaderService);\n /**\n * url: string\n * The url of the markdown file.\n */\n url;\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n httpOptions;\n /**\n * anchor: string\n * Anchor to jump to.\n */\n anchor;\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n useCfmList = false;\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n contentReady = new EventEmitter();\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n loadFailed = new EventEmitter();\n buttonClicked = new EventEmitter();\n content;\n loading = true;\n ngOnChanges(changes) {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n async loadMarkdown() {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url ?? '', this.httpOptions);\n }\n catch (error) {\n this.loadFailed.emit(error);\n }\n finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n static ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdFlavoredMarkdownLoaderComponent)(); };\n static ɵ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, \"contentReady\", \"buttonClicked\", \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\", \"useCfmList\"]], template: function TdFlavoredMarkdownLoaderComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵtemplate(0, TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template, 1, 1, \"mat-progress-bar\", 0)(1, TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template, 1, 6, \"td-flavored-markdown\", 1);\n } if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.loading);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.loading);\n } }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, MatProgressBar, 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 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{\n type: Component,\n args: [{ selector: 'td-flavored-markdown-loader', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, MatProgressBar, TdFlavoredMarkdownComponent], 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\"] }]\n }], null, { url: [{\n type: Input\n }], httpOptions: [{\n type: Input\n }], anchor: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], useCfmList: [{\n type: Input\n }], contentReady: [{\n type: Output\n }], loadFailed: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdFlavoredMarkdownLoaderComponent, { className: \"TdFlavoredMarkdownLoaderComponent\", filePath: \"lib/flavored-markdown-loader/flavored-markdown-loader.component.ts\", lineNumber: 30 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tZmxhdm9yZWQvc3JjL2xpYi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUdqQixNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUVMLDJCQUEyQixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUNsQi9DLHNDQU1vQjs7SUFMbEIsaUNBQW1COzs7O0lBTXJCLCtDQVVDO0lBREMsQUFEQSwwT0FBZ0IsMEJBQW1CLEtBQUMscU9BQ25CLGlDQUEwQixLQUFDO0lBQzdDLGlCQUF1Qjs7O0lBSHRCLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx3Q0FBbUIsK0JBQ0ksK0JBQ0EsbURBQ29CLDZDQUNOLGlDQUNaOztBRE0zQiw0Q0FBNEM7QUFTNUMsTUFBTSxPQUFPLGlDQUFpQztJQUNwQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvQyx5QkFBeUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVwRTs7O09BR0c7SUFDTSxHQUFHLENBQVU7SUFFdEI7OztPQUdHO0lBQ00sV0FBVyxDQUFVO0lBRTlCOzs7T0FHRztJQUNNLE1BQU0sQ0FBVTtJQUV6Qjs7Ozs7T0FLRztJQUNNLG1CQUFtQixHQUFJLEtBQUssQ0FBQztJQUV0Qzs7OztPQUlHO0lBQ00sZ0JBQWdCLEdBQXVCLEVBQUUsQ0FBQztJQUVuRDs7O09BR0c7SUFDTSxVQUFVLEdBQUksS0FBSyxDQUFDO0lBRTdCOzs7T0FHRztJQUNPLFlBQVksR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRTs7O09BR0c7SUFDTyxVQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckQsYUFBYSxHQUNyQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXJCLE9BQU8sQ0FBVTtJQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRWYsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDdEQsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBYyxDQUFDLENBQUM7UUFDdkMsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOzJIQWpGVSxpQ0FBaUM7NkRBQWpDLGlDQUFpQztZQ3RCOUMsQUFQQSw0R0FNQyx1R0FXQTs7WUFmRSxrQ0FBYTtZQU1iLGNBQWM7WUFBZCxtQ0FBYzs0QkRtQkwsWUFBWSx1QkFBRSxjQUFjLEVBQUUsMkJBQTJCOztpRkFFeEQsaUNBQWlDO2NBUDdDLFNBQVM7MkJBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSwyQkFBMkIsQ0FBQzs7a0JBVW5FLEtBQUs7O2tCQU1MLEtBQUs7O2tCQU1MLEtBQUs7O2tCQVFMLEtBQUs7O2tCQU9MLEtBQUs7O2tCQU1MLEtBQUs7O2tCQU1MLE1BQU07O2tCQU1OLE1BQU07O2tCQUVOLE1BQU07O2tGQXZESSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTG9hZGVyU2VydmljZSB9IGZyb20gJ0Bjb3ZhbGVudC9tYXJrZG93bic7XG5pbXBvcnQge1xuICBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50LFxufSBmcm9tICcuLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIFRPRE86IG1ha2UgYSB0ZC1tYXJrZG93bi1sb2FkZXIgY29tcG9uZW50XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWZsYXZvcmVkLW1hcmtkb3duLWxvYWRlcicsXG4gIHN0eWxlVXJsczogWycuL2ZsYXZvcmVkLW1hcmtkb3duLWxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFByb2dyZXNzQmFyLCBUZEZsYXZvcmVkTWFya2Rvd25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgX21hcmtkb3duVXJsTG9hZGVyU2VydmljZSA9IGluamVjdChUZE1hcmtkb3duTG9hZGVyU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIHVybDogc3RyaW5nXG4gICAqIFRoZSB1cmwgb2YgdGhlIG1hcmtkb3duIGZpbGUuXG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGh0dHBPcHRpb25zOiBvYmplY3RcbiAgICogSFRUUCBvcHRpb25zIHRoYXQgY2FuIGJlIHBhcnQgb2YgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBASW5wdXQoKSBodHRwT3B0aW9ucz86IG9iamVjdDtcblxuICAvKipcbiAgICogYW5jaG9yOiBzdHJpbmdcbiAgICogQW5jaG9yIHRvIGp1bXAgdG8uXG4gICAqL1xuICBASW5wdXQoKSBhbmNob3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZD8gPSBmYWxzZTtcblxuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcblxuICAvKipcbiAgICogdXNlQ2ZtTGlzdD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICogVXNlIENGTSBsaXN0IGNvbXBvbmVudCBpbnN0ZWFkIG9mIHZhbmlsbGEgbWFya2Rvd24gbGlzdC4gVXNlZCBpbiBjb3ZhbGVudCBkb2N1bWVudGF0aW9uIGFwcC5cbiAgICovXG4gIEBJbnB1dCgpIHVzZUNmbUxpc3Q/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvbnRlbnRSZWFkeTogdm9pZFxuICAgKiBFbWl0dGVkIHdoZW4gbWFya2Rvd24gcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBsb2FkRmFpbGVkOiBFcnJvclxuICAgKiBFbWl0dGVkIHdoZW4gbG9hZGluZyBvZiBtYXJrZG93biBmaWxlIGZhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpIGxvYWRGYWlsZWQ6IEV2ZW50RW1pdHRlcjxFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb250ZW50ITogc3RyaW5nO1xuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3VybCddIHx8IGNoYW5nZXNbJ2h0dHBPcHRpb25zJ10pIHtcbiAgICAgIHRoaXMubG9hZE1hcmtkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZE1hcmtkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuY29udGVudCA9IGF3YWl0IHRoaXMuX21hcmtkb3duVXJsTG9hZGVyU2VydmljZS5sb2FkKFxuICAgICAgICB0aGlzLnVybCA/PyAnJyxcbiAgICAgICAgdGhpcy5odHRwT3B0aW9ucyxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9hZEZhaWxlZC5lbWl0KGVycm9yIGFzIEVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyXG4gIFtuZ0NsYXNzXT1cIidkZWxheSdcIlxuICAqbmdJZj1cImxvYWRpbmdcIlxuICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gIGNvbG9yPVwiYWNjZW50XCJcbiAgY2xhc3M9XCJzdGlja3lcIlxuPjwvbWF0LXByb2dyZXNzLWJhcj5cbjx0ZC1mbGF2b3JlZC1tYXJrZG93blxuICAqbmdJZj1cIiFsb2FkaW5nXCJcbiAgW2NvbnRlbnRdPVwiY29udGVudFwiXG4gIFtob3N0ZWRVcmxdPVwidXJsID8/ICcnXCJcbiAgW2FuY2hvcl09XCJhbmNob3IgPz8gJydcIlxuICBbY29weUNvZGVUb0NsaXBib2FyZF09XCJjb3B5Q29kZVRvQ2xpcGJvYXJkXCJcbiAgW2NvcHlDb2RlVG9vbHRpcHNdPVwiY29weUNvZGVUb29sdGlwc1wiXG4gIFt1c2VDZm1MaXN0XT1cInVzZUNmbUxpc3RcIlxuICAoY29udGVudFJlYWR5KT1cImNvbnRlbnRSZWFkeS5lbWl0KClcIlxuICAoYnV0dG9uQ2xpY2tlZCk9XCJidXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4+PC90ZC1mbGF2b3JlZC1tYXJrZG93bj5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport { TdFlavoredMarkdownComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownTableComponent, } from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentFlavoredMarkdownModule {\n static ɵfac = function CovalentFlavoredMarkdownModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentFlavoredMarkdownModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentFlavoredMarkdownModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TdFlavoredListComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentFlavoredMarkdownModule, [{\n type: NgModule,\n args: [{\n imports: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentFlavoredMarkdownModule, { imports: [TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent], exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1mbGF2b3JlZC9zcmMvbGliL2ZsYXZvcmVkLW1hcmtkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFFbEg7OztHQUdHO0FBWUgsTUFBTSxPQUFPLDhCQUE4Qjt3SEFBOUIsOEJBQThCOzREQUE5Qiw4QkFBOEI7Z0VBVHZDLHVCQUF1QjtZQUd2QixpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLGdDQUFnQzs7aUZBSXZCLDhCQUE4QjtjQVgxQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsMkJBQTJCO29CQUMzQixvQ0FBb0M7b0JBQ3BDLGlDQUFpQztvQkFDakMsaUNBQWlDO29CQUNqQyxnQ0FBZ0M7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGlDQUFpQyxDQUFDO2FBQzFFOzt3RkFDWSw4QkFBOEIsY0FUdkMsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixvQ0FBb0M7UUFDcEMsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyxnQ0FBZ0MsYUFFeEIsMkJBQTJCLEVBQUUsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jZm0tbGlzdC9jZm0tbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGRGbGF2b3JlZE1hcmtkb3duQ29tcG9uZW50LFxuICBUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsXG4gIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duVGFibGVDb21wb25lbnQsXG59IGZyb20gJy4vZmxhdm9yZWQtbWFya2Rvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRkRmxhdm9yZWRNYXJrZG93bkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyL2ZsYXZvcmVkLW1hcmtkb3duLWxvYWRlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXG4gKiBQbGVhc2UgbWlncmF0ZSB0byB1c2luZyBzdGFuZGFsb25lIGNvbXBvbmVudHMgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50LFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25Db250YWluZXJEaXJlY3RpdmUsXG4gICAgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50LFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25UYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1RkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCwgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRGbGF2b3JlZE1hcmtkb3duTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLWZsYXZvcmVkL3NyYy9jb3ZhbGVudC1mbGF2b3JlZC1tYXJrZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/flavored-markdown",
3
- "version": "11.5.8",
3
+ "version": "11.5.10",
4
4
  "description": "Teradata UI Platform Flavored Markdown Module",
5
5
  "keywords": [
6
6
  "angular",
@@ -25,9 +25,9 @@
25
25
  "@angular/core": "20.x.x",
26
26
  "@angular/cdk": "20.x.x",
27
27
  "@angular/material": "20.x.x",
28
- "@covalent/core": "11.5.8",
29
- "@covalent/highlight": "11.5.8",
30
- "@covalent/markdown": "11.5.8"
28
+ "@covalent/core": "11.5.10",
29
+ "@covalent/highlight": "11.5.10",
30
+ "@covalent/markdown": "11.5.10"
31
31
  },
32
32
  "dependencies": {
33
33
  "tslib": "^2.8.1"