@covalent/markdown-navigator 3.1.1-beta.1 → 3.1.2-beta.7

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../src/platform/markdown-navigator/markdown-navigator.component.ts","../../../../src/platform/markdown-navigator/markdown-navigator-window/markdown-navigator-window.component.ts","../../../../src/platform/markdown-navigator/markdown-navigator-window-service/markdown-navigator-window.service.ts","../../../../src/platform/markdown-navigator/markdown-navigator-window-directive/markdown-navigator-window.directive.ts","../../../../src/platform/markdown-navigator/markdown-navigator.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__values","o","s","m","i","__read","r","ar","error","__spread","arguments","concat","DEFAULT_MARKDOWN_NAVIGATOR_LABELS","goHome","goBack","emptyState","defaultCompareWith","o1","o2","id","TdMarkdownNavigatorComponent","_markdownUrlLoaderService","_changeDetectorRef","_sanitizer","_http","copyCodeToClipboard","copyCodeTooltips","buttonClicked","EventEmitter","historyStack","currentMenuItems","loading","prototype","clickListener","event","anchor","element","matches","isAnchorLink","pathname","endsWith","handleLinkClick","defineProperty","showHomeButton","showGoBackButton","currentItemTitle","currentMarkdownItem","url","showTdMarkdown","markdownString","footer","httpOptions","items","labels","getTitle","ngOnChanges","changes","reset","startAt","_jumpTo","undefined","hasChildrenOrChildrenUrl","item","children","childrenUrl","clearErrors","markdownLoaderError","childrenUrlError","markForCheck","parent","startAtLink","slice","setChildrenAsCurrentMenuItems","handleItemSelected","stackSnapshot","loadChildrenUrl","_a","newStackSnapshot","every","stackItem","index","sanitizedUrl","sanitize","SecurityContext","URL","get","assign","toPromise","handleChildrenUrlError","error_1","removeLeadingHash","title","temp","hash","path","split","replace","getTitleFromUrl","firstLine","find","line","trim","getTitleFromMarkdownString","getIcon","icon","message","handleMarkdownLoaderError","itemOrPath","Array","isArray","followPath","findPath","forEach","pathItem","_this","pathItems","currentLevel","compareWith","foundItem","this_1","path_1","path_1_1","items_1","items_1_1","child","ancestors","preventDefault","link","href","load","markdownWrapper","nativeElement","scrollTop","window","open","focus","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","TdMarkdownLoaderService","ChangeDetectorRef","DomSanitizer","HttpClient","Input","Output","ViewChild","HostListener","DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS","close","dock","unDock","TdMarkdownNavigatorWindowComponent","toolbarColor","docked","closed","dockToggled","toggleDockedState","emit","DEFAULT_POSITION","bottom","right","DEFAULT_WIDTH","DEFAULT_DRAGGABLE_DIALOG_CONFIG","hasBackdrop","closeOnNavigation","panelClass","position","height","width","maxWidth","TdMarkdownNavigatorWindowService","_tdDialogService","_document","rendererFactory","markdownNavigatorWindowDialog","markdownNavigatorWindowDialogsOpen","_renderer2","createRenderer","config","dialogConfig","draggableConfig","openDraggable","component","dragHandleSelectors","draggableClass","matDialogRef","dragRefSubject","componentInstance","subscribe","dragRf","dragRef","resizableDraggableDialog","ResizableDraggableDialog","_handleEvents","detach","dimensions","updateSize","updatePosition","top","left","setFreeDragPosition","disabled","attach","_getDialogSize","getFreeDragPosition","afterClosed","dialogRef","getComputedStyle","getElementById","parentElement","Injectable","TdDialogService","Inject","DOCUMENT","RendererFactory2","TdMarkdownNavigatorWindowDirective","_markdownNavigatorWindowService","click","Directive","NgModule","imports","CommonModule","MatButtonModule","MatTooltipModule","MatListModule","MatIconModule","MatProgressBarModule","CovalentMessageModule","CovalentFlavoredMarkdownModule","CovalentDialogsModule","declarations","exports","providers"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Type,\n Output,\n EventEmitter,\n SecurityContext,\n} from '@angular/core';\nimport { removeLeadingHash, isAnchorLink, TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorItem {\n id?: string;\n title?: string;\n url?: string;\n httpOptions?: object;\n markdownString?: string; // raw markdown\n anchor?: string;\n children?: IMarkdownNavigatorItem[];\n childrenUrl?: string;\n description?: string;\n icon?: string;\n footer?: Type<any>;\n startAtLink?: IMarkdownNavigatorItem;\n}\n\nexport interface IMarkdownNavigatorLabels {\n goHome?: string;\n goBack?: string;\n emptyState?: string;\n}\n\nexport type IMarkdownNavigatorCompareWith = (o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem) => boolean;\n\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\n\nfunction getTitleFromUrl(url: string): string {\n if (url) {\n const temp: URL = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n } else {\n const path: string[] = temp.pathname.split('/');\n const fileName: string = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return undefined;\n}\n\nfunction getTitleFromMarkdownString(markdownString: string): string {\n if (markdownString) {\n const firstLine: string = markdownString.split(/[\\r\\n]+/).find((line: string) => !!line);\n return removeLeadingHash(firstLine).trim();\n }\n return undefined;\n}\n\nfunction isMarkdownHref(anchor: HTMLAnchorElement): boolean {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem): boolean {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n\n@Component({\n selector: 'td-markdown-navigator',\n templateUrl: './markdown-navigator.component.html',\n styleUrls: ['./markdown-navigator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n @Input() items: IMarkdownNavigatorItem[];\n\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n @Input() labels: IMarkdownNavigatorLabels;\n\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n @Input() startAt: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n @Input() footer: Type<any>;\n\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n @Input() compareWith: IMarkdownNavigatorCompareWith;\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n @ViewChild('markdownWrapper') markdownWrapper: ElementRef;\n\n historyStack: IMarkdownNavigatorItem[] = []; // history\n currentMarkdownItem: IMarkdownNavigatorItem; // currently rendered\n currentMenuItems: IMarkdownNavigatorItem[] = []; // current menu items\n\n loading: boolean = false;\n\n markdownLoaderError: string;\n childrenUrlError: string;\n\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient,\n ) {}\n\n @HostListener('click', ['$event'])\n clickListener(event: Event): void {\n const element: HTMLElement = <HTMLElement>event.srcElement;\n if (element.matches('a[href]') && isMarkdownHref(<HTMLAnchorElement>element)) {\n this.handleLinkClick(event);\n }\n }\n\n get showGoBackButton(): boolean {\n return this.historyStack.length > 0;\n }\n\n get showHomeButton(): boolean {\n return this.historyStack.length > 1;\n }\n\n get showHeader(): boolean {\n return this.showHomeButton || this.showGoBackButton || !!this.currentItemTitle;\n }\n\n get showMenu(): boolean {\n return this.currentMenuItems && this.currentMenuItems.length > 0;\n }\n\n get showTdMarkdownLoader(): boolean {\n return !!this.currentMarkdownItem && !!this.currentMarkdownItem.url && !this.showTdMarkdown;\n }\n\n get showTdMarkdown(): boolean {\n return !!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString;\n }\n\n get url(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n\n get footerComponent(): any {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions(): object {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n }\n get markdownString(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n }\n\n get anchor(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n }\n\n get showEmptyState(): boolean {\n return !this.items || this.items.length < 1;\n }\n\n get goHomeLabel(): string {\n return (this.labels && this.labels.goHome) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome;\n }\n\n get goBackLabel(): string {\n return (this.labels && this.labels.goBack) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack;\n }\n\n get emptyStateLabel(): string {\n return (this.labels && this.labels.emptyState) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState;\n }\n\n get currentItemTitle(): string {\n if (this.historyStack.length < 1) {\n return '';\n } else if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n } else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes.items) {\n this.reset();\n }\n if (changes.startAt && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n\n hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors(): void {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n\n reset(): void {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (this.items && this.items.length === 1 && !this.hasChildrenOrChildrenUrl(this.items[0])) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n } else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this._changeDetectorRef.markForCheck();\n }\n\n goBack(): void {\n this.loading = false;\n this.clearErrors();\n if (this.historyStack.length > 1) {\n let parent: IMarkdownNavigatorItem = this.historyStack[this.historyStack.length - 2];\n\n if (parent.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -1);\n }\n\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(0, -1);\n this.setChildrenAsCurrentMenuItems(parent);\n } else {\n this.reset();\n }\n } else {\n // one level down just go to root\n this.reset();\n }\n this._changeDetectorRef.markForCheck();\n }\n\n handleItemSelected(item: IMarkdownNavigatorItem): void {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this._changeDetectorRef.markForCheck();\n }\n\n async setChildrenAsCurrentMenuItems(item: IMarkdownNavigatorItem): Promise<void> {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n\n const stackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n let children: IMarkdownNavigatorItem[] = [];\n if (item.children) {\n children = item.children;\n } else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n if (\n stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every((stackItem: IMarkdownNavigatorItem, index: number) => stackItem === newStackSnapshot[index])\n ) {\n this.currentMenuItems = children;\n }\n\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n\n async loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]> {\n const sanitizedUrl: string = this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl);\n try {\n return await this._http\n .get<IMarkdownNavigatorItem[]>(sanitizedUrl, { ...item.httpOptions })\n .toPromise();\n } catch (error) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n\n getTitle(item: IMarkdownNavigatorItem): string {\n if (item) {\n return (\n removeLeadingHash(item.anchor) ||\n item.title ||\n getTitleFromUrl(item.url) ||\n getTitleFromMarkdownString(item.markdownString) ||\n ''\n ).trim();\n }\n }\n\n getIcon(item: IMarkdownNavigatorItem): string {\n if (item) {\n return item.icon || 'subject';\n }\n }\n\n handleChildrenUrlError(error: Error): void {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error: Error): void {\n this.markdownLoaderError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n\n private async _jumpTo(\n itemOrPath: IMarkdownNavigatorItem | IMarkdownNavigatorItem[],\n children: IMarkdownNavigatorItem[],\n ): Promise<void> {\n const historyStack: IMarkdownNavigatorItem[] = this.historyStack;\n this.reset();\n if (this.items && this.items.length > 0) {\n let path: IMarkdownNavigatorItem[] = [];\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n } else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n } else {\n path = this.findPath(this.items, itemOrPath);\n }\n (path || []).forEach((pathItem: IMarkdownNavigatorItem) => this.handleItemSelected(pathItem));\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private async followPath(\n items: IMarkdownNavigatorItem[],\n path: IMarkdownNavigatorItem[],\n ): Promise<IMarkdownNavigatorItem[]> {\n let pathItems: IMarkdownNavigatorItem[] = [];\n let currentLevel: IMarkdownNavigatorItem[] = items;\n const compareWith: IMarkdownNavigatorCompareWith = this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem: IMarkdownNavigatorItem = currentLevel.find((item: IMarkdownNavigatorItem) =>\n compareWith(pathItem, item),\n );\n\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n\n if (foundItem.children) {\n currentLevel = foundItem.children;\n } else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n } else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n\n private findPath(items: IMarkdownNavigatorItem[], item: IMarkdownNavigatorItem): IMarkdownNavigatorItem[] {\n const compareWith: IMarkdownNavigatorCompareWith = this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (compareWith(child, item)) {\n return [child];\n }\n const ancestors: IMarkdownNavigatorItem[] = this.findPath(child.children, item);\n if (ancestors) {\n return [child, ...ancestors];\n }\n }\n }\n return undefined;\n }\n\n private async handleLinkClick(event: Event): Promise<void> {\n event.preventDefault();\n const link: HTMLAnchorElement = <HTMLAnchorElement>event.target;\n const url: URL = new URL(link.href);\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n const markdownString: string = await this._markdownUrlLoaderService.load(url.href);\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n } catch (error) {\n const win: Window = window.open(url.href, '_blank');\n win.focus();\n } finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n","import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorLabels,\n IMarkdownNavigatorCompareWith,\n} from '../markdown-navigator.component';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowLabels extends IMarkdownNavigatorLabels {\n title?: string;\n close?: string;\n dock?: string;\n unDock?: string;\n}\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels = {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n};\n\n@Component({\n selector: 'td-markdown-navigator-window',\n templateUrl: './markdown-navigator-window.component.html',\n styleUrls: ['./markdown-navigator-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdMarkdownNavigatorWindowComponent {\n @Input() items: IMarkdownNavigatorItem[];\n @Input() labels: IMarkdownNavigatorWindowLabels;\n @Input() toolbarColor: ThemePalette = 'primary';\n @Input() startAt: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n @Input() compareWith: IMarkdownNavigatorCompareWith;\n @Input() docked: boolean = false;\n @Input() copyCodeToClipboard: boolean = false;\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n @Input() footer: Type<any>;\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n get markdownNavigatorLabels(): IMarkdownNavigatorLabels {\n if (this.labels) {\n const { goHome, goBack, emptyState }: IMarkdownNavigatorWindowLabels = this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n }\n get titleLabel(): string {\n return (this.labels && this.labels.title) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title;\n }\n\n get closeLabel(): string {\n return (this.labels && this.labels.close) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close;\n }\n\n get toggleDockedStateLabel(): string {\n if (this.docked) {\n return (this.labels && this.labels.unDock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock;\n } else {\n return (this.labels && this.labels.dock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock;\n }\n }\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","import { Injectable, Inject, RendererFactory2, Renderer2, Type } from '@angular/core';\nimport { MatDialogRef, MatDialogConfig, DialogPosition } from '@angular/material/dialog';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n TdMarkdownNavigatorWindowComponent,\n IMarkdownNavigatorWindowLabels,\n} from '../markdown-navigator-window/markdown-navigator-window.component';\nimport { TdDialogService, IDraggableRefs, ResizableDraggableDialog } from '@covalent/core/dialogs';\nimport { DragRef, Point } from '@angular/cdk/drag-drop/drag-ref';\nimport { DOCUMENT } from '@angular/common';\nimport { IMarkdownNavigatorItem, IMarkdownNavigatorCompareWith } from '../markdown-navigator.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowConfig {\n items: IMarkdownNavigatorItem[];\n dialogConfig?: MatDialogConfig;\n labels?: IMarkdownNavigatorWindowLabels;\n toolbarColor?: ThemePalette;\n startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n compareWith?: IMarkdownNavigatorCompareWith;\n copyCodeToClipboard?: boolean;\n copyCodeTooltips?: ICopyCodeTooltips;\n footer?: Type<any>;\n}\n\nconst CDK_OVERLAY_CUSTOM_CLASS: string = 'td-window-dialog';\n\nconst DEFAULT_POSITION: DialogPosition = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH: string = '360px';\nconst DEFAULT_HEIGHT: string = '75vh';\nconst MIN_HEIGHT: string = '56px';\nconst MAX_WIDTH: string = '100vw';\n\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG: MatDialogConfig = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\n\ninterface IDialogDimensions {\n width: string;\n height: string;\n}\n\n@Injectable()\nexport class TdMarkdownNavigatorWindowService {\n private _renderer2: Renderer2;\n private dragRef: DragRef;\n private resizableDraggableDialog: ResizableDraggableDialog;\n private markdownNavigatorWindowDialog: MatDialogRef<TdMarkdownNavigatorWindowComponent> = undefined;\n private markdownNavigatorWindowDialogsOpen: number = 0;\n\n constructor(\n private _tdDialogService: TdDialogService,\n @Inject(DOCUMENT) private _document: any,\n private rendererFactory: RendererFactory2,\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, undefined);\n }\n\n public open(config: IMarkdownNavigatorWindowConfig): MatDialogRef<TdMarkdownNavigatorWindowComponent> {\n this.close();\n\n let panelClass: string[] = [...DEFAULT_DRAGGABLE_DIALOG_CONFIG.panelClass];\n if (config.dialogConfig && config.dialogConfig.panelClass) {\n if (Array.isArray(config.dialogConfig.panelClass)) {\n panelClass = [...config.dialogConfig.panelClass];\n } else {\n panelClass = [config.dialogConfig.panelClass];\n }\n }\n const draggableConfig: MatDialogConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n panelClass,\n };\n const {\n matDialogRef,\n dragRefSubject,\n }: IDraggableRefs<TdMarkdownNavigatorWindowComponent> = this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt = config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard = config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips = config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith = config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf: DragRef) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(\n this._document,\n this._renderer2,\n this.markdownNavigatorWindowDialog,\n this.dragRef,\n );\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n\n public close(): void {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n\n public get isOpen(): boolean {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n\n private _handleEvents(): void {\n let position: Point;\n let dimensions: IDialogDimensions;\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());\n this.markdownNavigatorWindowDialog.componentInstance.dockToggled.subscribe((docked: boolean) => {\n if (docked) {\n this.markdownNavigatorWindowDialog.componentInstance.docked = false;\n this.markdownNavigatorWindowDialog.updateSize(dimensions.width, dimensions.height);\n this.markdownNavigatorWindowDialog.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });\n this.dragRef.setFreeDragPosition(position);\n this.dragRef.disabled = false;\n this.resizableDraggableDialog.attach();\n } else {\n dimensions = this._getDialogSize(this.markdownNavigatorWindowDialog);\n position = this.dragRef.getFreeDragPosition();\n this.markdownNavigatorWindowDialog.componentInstance.docked = true;\n this.markdownNavigatorWindowDialog.updateSize(DEFAULT_WIDTH, MIN_HEIGHT);\n this.markdownNavigatorWindowDialog.updatePosition(DEFAULT_POSITION);\n this.dragRef.reset();\n this.dragRef.disabled = true;\n this.resizableDraggableDialog.detach();\n }\n });\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n\n private _getDialogSize(dialogRef: MatDialogRef<TdMarkdownNavigatorWindowComponent>): IDialogDimensions {\n const { width, height } = getComputedStyle(\n (<HTMLElement>this._document.getElementById(dialogRef.id)).parentElement,\n );\n return {\n width,\n height,\n };\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport {\n TdMarkdownNavigatorWindowService,\n IMarkdownNavigatorWindowConfig,\n} from '../markdown-navigator-window-service/markdown-navigator-window.service';\n\n@Directive({\n selector: '[tdMarkdownNavigatorWindow]',\n})\nexport class TdMarkdownNavigatorWindowDirective {\n @Input('tdMarkdownNavigatorWindow') config: IMarkdownNavigatorWindowConfig;\n @Input() disabled: boolean = false;\n constructor(private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService) {}\n\n @HostListener('click') click(): void {\n if (!this.disabled) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { CovalentFlavoredMarkdownModule } from '@covalent/flavored-markdown';\nimport { CovalentDialogsModule } from '@covalent/core/dialogs';\nimport { CovalentMessageModule } from '@covalent/core/message';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\n\n@NgModule({\n imports: [\n CommonModule,\n\n // material\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n CovalentMessageModule,\n CovalentFlavoredMarkdownModule,\n CovalentDialogsModule,\n ],\n declarations: [TdMarkdownNavigatorComponent, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowDirective],\n exports: [TdMarkdownNavigatorComponent, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowDirective],\n providers: [TdMarkdownNavigatorWindowService],\n})\nexport class CovalentMarkdownNavigatorModule {}\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../src/platform/markdown-navigator/markdown-navigator.component.ts","../../../src/platform/markdown-navigator/markdown-navigator-window/markdown-navigator-window.component.ts","../../../src/platform/markdown-navigator/markdown-navigator-window-service/markdown-navigator-window.service.ts","../../../src/platform/markdown-navigator/markdown-navigator-window-directive/markdown-navigator-window.directive.ts","../../../../src/platform/markdown-navigator/markdown-navigator.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__values","o","s","m","i","__read","r","ar","error","__spread","arguments","concat","DEFAULT_MARKDOWN_NAVIGATOR_LABELS","goHome","goBack","emptyState","defaultCompareWith","o1","o2","id","TdMarkdownNavigatorComponent","_markdownUrlLoaderService","_changeDetectorRef","_sanitizer","_http","copyCodeToClipboard","copyCodeTooltips","buttonClicked","EventEmitter","historyStack","currentMenuItems","loading","prototype","clickListener","event","anchor","element","matches","isAnchorLink","pathname","endsWith","handleLinkClick","defineProperty","showHomeButton","showGoBackButton","currentItemTitle","currentMarkdownItem","url","showTdMarkdown","markdownString","footer","httpOptions","items","labels","getTitle","ngOnChanges","changes","reset","startAt","_jumpTo","undefined","hasChildrenOrChildrenUrl","item","children","childrenUrl","clearErrors","markdownLoaderError","childrenUrlError","markForCheck","parent","startAtLink","slice","setChildrenAsCurrentMenuItems","handleItemSelected","stackSnapshot","loadChildrenUrl","_a","newStackSnapshot","every","stackItem","index","sanitizedUrl","sanitize","SecurityContext","URL","get","assign","toPromise","handleChildrenUrlError","error_1","removeLeadingHash","title","temp","hash","path","split","replace","getTitleFromUrl","firstLine","find","line","trim","getTitleFromMarkdownString","getIcon","icon","message","handleMarkdownLoaderError","itemOrPath","Array","isArray","followPath","findPath","forEach","pathItem","_this","pathItems","currentLevel","compareWith","foundItem","this_1","path_1","path_1_1","items_1","items_1_1","child","ancestors","preventDefault","link","href","load","markdownWrapper","nativeElement","scrollTop","window","open","focus","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","TdMarkdownLoaderService","ChangeDetectorRef","DomSanitizer","HttpClient","Input","Output","ViewChild","HostListener","DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS","close","dock","unDock","TdMarkdownNavigatorWindowComponent","toolbarColor","docked","closed","dockToggled","toggleDockedState","emit","DEFAULT_POSITION","bottom","right","DEFAULT_WIDTH","DEFAULT_DRAGGABLE_DIALOG_CONFIG","hasBackdrop","closeOnNavigation","panelClass","position","height","width","maxWidth","TdMarkdownNavigatorWindowService","_tdDialogService","_document","rendererFactory","markdownNavigatorWindowDialog","markdownNavigatorWindowDialogsOpen","_renderer2","createRenderer","config","dialogConfig","draggableConfig","openDraggable","component","dragHandleSelectors","draggableClass","matDialogRef","dragRefSubject","componentInstance","subscribe","dragRf","dragRef","resizableDraggableDialog","ResizableDraggableDialog","_handleEvents","detach","dimensions","updateSize","updatePosition","top","left","setFreeDragPosition","disabled","attach","_getDialogSize","getFreeDragPosition","afterClosed","dialogRef","getComputedStyle","getElementById","parentElement","Injectable","TdDialogService","Inject","DOCUMENT","RendererFactory2","TdMarkdownNavigatorWindowDirective","_markdownNavigatorWindowService","click","Directive","NgModule","imports","CommonModule","MatButtonModule","MatTooltipModule","MatListModule","MatIconModule","MatProgressBarModule","CovalentMessageModule","CovalentFlavoredMarkdownModule","CovalentDialogsModule","declarations","exports","providers"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n HostListener,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n Type,\n Output,\n EventEmitter,\n SecurityContext,\n} from '@angular/core';\nimport { removeLeadingHash, isAnchorLink, TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorItem {\n id?: string;\n title?: string;\n url?: string;\n httpOptions?: object;\n markdownString?: string; // raw markdown\n anchor?: string;\n children?: IMarkdownNavigatorItem[];\n childrenUrl?: string;\n description?: string;\n icon?: string;\n footer?: Type<any>;\n startAtLink?: IMarkdownNavigatorItem;\n}\n\nexport interface IMarkdownNavigatorLabels {\n goHome?: string;\n goBack?: string;\n emptyState?: string;\n}\n\nexport type IMarkdownNavigatorCompareWith = (o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem) => boolean;\n\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS: IMarkdownNavigatorLabels = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\n\nfunction getTitleFromUrl(url: string): string {\n if (url) {\n const temp: URL = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n } else {\n const path: string[] = temp.pathname.split('/');\n const fileName: string = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return undefined;\n}\n\nfunction getTitleFromMarkdownString(markdownString: string): string {\n if (markdownString) {\n const firstLine: string = markdownString.split(/[\\r\\n]+/).find((line: string) => !!line);\n return removeLeadingHash(firstLine).trim();\n }\n return undefined;\n}\n\nfunction isMarkdownHref(anchor: HTMLAnchorElement): boolean {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(o1: IMarkdownNavigatorItem, o2: IMarkdownNavigatorItem): boolean {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n\n@Component({\n selector: 'td-markdown-navigator',\n templateUrl: './markdown-navigator.component.html',\n styleUrls: ['./markdown-navigator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n @Input() items: IMarkdownNavigatorItem[];\n\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n @Input() labels: IMarkdownNavigatorLabels;\n\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n @Input() startAt: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n @Input() footer: Type<any>;\n\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n @Input() compareWith: IMarkdownNavigatorCompareWith;\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n @ViewChild('markdownWrapper') markdownWrapper: ElementRef;\n\n historyStack: IMarkdownNavigatorItem[] = []; // history\n currentMarkdownItem: IMarkdownNavigatorItem; // currently rendered\n currentMenuItems: IMarkdownNavigatorItem[] = []; // current menu items\n\n loading: boolean = false;\n\n markdownLoaderError: string;\n childrenUrlError: string;\n\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient,\n ) {}\n\n @HostListener('click', ['$event'])\n clickListener(event: Event): void {\n const element: HTMLElement = <HTMLElement>event.srcElement;\n if (element.matches('a[href]') && isMarkdownHref(<HTMLAnchorElement>element)) {\n this.handleLinkClick(event);\n }\n }\n\n get showGoBackButton(): boolean {\n return this.historyStack.length > 0;\n }\n\n get showHomeButton(): boolean {\n return this.historyStack.length > 1;\n }\n\n get showHeader(): boolean {\n return this.showHomeButton || this.showGoBackButton || !!this.currentItemTitle;\n }\n\n get showMenu(): boolean {\n return this.currentMenuItems && this.currentMenuItems.length > 0;\n }\n\n get showTdMarkdownLoader(): boolean {\n return !!this.currentMarkdownItem && !!this.currentMarkdownItem.url && !this.showTdMarkdown;\n }\n\n get showTdMarkdown(): boolean {\n return !!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString;\n }\n\n get url(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n\n get footerComponent(): any {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions(): object {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n }\n get markdownString(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n }\n\n get anchor(): string {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n }\n\n get showEmptyState(): boolean {\n return !this.items || this.items.length < 1;\n }\n\n get goHomeLabel(): string {\n return (this.labels && this.labels.goHome) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome;\n }\n\n get goBackLabel(): string {\n return (this.labels && this.labels.goBack) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack;\n }\n\n get emptyStateLabel(): string {\n return (this.labels && this.labels.emptyState) || DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState;\n }\n\n get currentItemTitle(): string {\n if (this.historyStack.length < 1) {\n return '';\n } else if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n } else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n if (changes.items) {\n this.reset();\n }\n if (changes.startAt && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n\n hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors(): void {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n\n reset(): void {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (this.items && this.items.length === 1 && !this.hasChildrenOrChildrenUrl(this.items[0])) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n } else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this._changeDetectorRef.markForCheck();\n }\n\n goBack(): void {\n this.loading = false;\n this.clearErrors();\n if (this.historyStack.length > 1) {\n let parent: IMarkdownNavigatorItem = this.historyStack[this.historyStack.length - 2];\n\n if (parent.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -1);\n }\n\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(0, -1);\n this.setChildrenAsCurrentMenuItems(parent);\n } else {\n this.reset();\n }\n } else {\n // one level down just go to root\n this.reset();\n }\n this._changeDetectorRef.markForCheck();\n }\n\n handleItemSelected(item: IMarkdownNavigatorItem): void {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this._changeDetectorRef.markForCheck();\n }\n\n async setChildrenAsCurrentMenuItems(item: IMarkdownNavigatorItem): Promise<void> {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n\n const stackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n let children: IMarkdownNavigatorItem[] = [];\n if (item.children) {\n children = item.children;\n } else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot: IMarkdownNavigatorItem[] = this.historyStack;\n if (\n stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every((stackItem: IMarkdownNavigatorItem, index: number) => stackItem === newStackSnapshot[index])\n ) {\n this.currentMenuItems = children;\n }\n\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n\n async loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]> {\n const sanitizedUrl: string = this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl);\n try {\n return await this._http.get<IMarkdownNavigatorItem[]>(sanitizedUrl, { ...item.httpOptions }).toPromise();\n } catch (error) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n\n getTitle(item: IMarkdownNavigatorItem): string {\n if (item) {\n return (\n removeLeadingHash(item.anchor) ||\n item.title ||\n getTitleFromUrl(item.url) ||\n getTitleFromMarkdownString(item.markdownString) ||\n ''\n ).trim();\n }\n }\n\n getIcon(item: IMarkdownNavigatorItem): string {\n if (item) {\n return item.icon || 'subject';\n }\n }\n\n handleChildrenUrlError(error: Error): void {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error: Error): void {\n this.markdownLoaderError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n\n private async _jumpTo(\n itemOrPath: IMarkdownNavigatorItem | IMarkdownNavigatorItem[],\n children: IMarkdownNavigatorItem[],\n ): Promise<void> {\n const historyStack: IMarkdownNavigatorItem[] = this.historyStack;\n this.reset();\n if (this.items && this.items.length > 0) {\n let path: IMarkdownNavigatorItem[] = [];\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n } else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n } else {\n path = this.findPath(this.items, itemOrPath);\n }\n (path || []).forEach((pathItem: IMarkdownNavigatorItem) => this.handleItemSelected(pathItem));\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private async followPath(\n items: IMarkdownNavigatorItem[],\n path: IMarkdownNavigatorItem[],\n ): Promise<IMarkdownNavigatorItem[]> {\n let pathItems: IMarkdownNavigatorItem[] = [];\n let currentLevel: IMarkdownNavigatorItem[] = items;\n const compareWith: IMarkdownNavigatorCompareWith = this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem: IMarkdownNavigatorItem = currentLevel.find((item: IMarkdownNavigatorItem) =>\n compareWith(pathItem, item),\n );\n\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n\n if (foundItem.children) {\n currentLevel = foundItem.children;\n } else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n } else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n\n private findPath(items: IMarkdownNavigatorItem[], item: IMarkdownNavigatorItem): IMarkdownNavigatorItem[] {\n const compareWith: IMarkdownNavigatorCompareWith = this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (compareWith(child, item)) {\n return [child];\n }\n const ancestors: IMarkdownNavigatorItem[] = this.findPath(child.children, item);\n if (ancestors) {\n return [child, ...ancestors];\n }\n }\n }\n return undefined;\n }\n\n private async handleLinkClick(event: Event): Promise<void> {\n event.preventDefault();\n const link: HTMLAnchorElement = <HTMLAnchorElement>event.target;\n const url: URL = new URL(link.href);\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n const markdownString: string = await this._markdownUrlLoaderService.load(url.href);\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n } catch (error) {\n const win: Window = window.open(url.href, '_blank');\n win.focus();\n } finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n}\n","import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n IMarkdownNavigatorItem,\n IMarkdownNavigatorLabels,\n IMarkdownNavigatorCompareWith,\n} from '../markdown-navigator.component';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowLabels extends IMarkdownNavigatorLabels {\n title?: string;\n close?: string;\n dock?: string;\n unDock?: string;\n}\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS: IMarkdownNavigatorWindowLabels = {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n};\n\n@Component({\n selector: 'td-markdown-navigator-window',\n templateUrl: './markdown-navigator-window.component.html',\n styleUrls: ['./markdown-navigator-window.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdMarkdownNavigatorWindowComponent {\n @Input() items: IMarkdownNavigatorItem[];\n @Input() labels: IMarkdownNavigatorWindowLabels;\n @Input() toolbarColor: ThemePalette = 'primary';\n @Input() startAt: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n @Input() compareWith: IMarkdownNavigatorCompareWith;\n @Input() docked: boolean = false;\n @Input() copyCodeToClipboard: boolean = false;\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n @Input() footer: Type<any>;\n\n @Output() closed: EventEmitter<void> = new EventEmitter();\n @Output() dockToggled: EventEmitter<boolean> = new EventEmitter();\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n get markdownNavigatorLabels(): IMarkdownNavigatorLabels {\n if (this.labels) {\n const { goHome, goBack, emptyState }: IMarkdownNavigatorWindowLabels = this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n }\n get titleLabel(): string {\n return (this.labels && this.labels.title) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title;\n }\n\n get closeLabel(): string {\n return (this.labels && this.labels.close) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close;\n }\n\n get toggleDockedStateLabel(): string {\n if (this.docked) {\n return (this.labels && this.labels.unDock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock;\n } else {\n return (this.labels && this.labels.dock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock;\n }\n }\n\n toggleDockedState(): void {\n this.dockToggled.emit(this.docked);\n }\n}\n","import { Injectable, Inject, RendererFactory2, Renderer2, Type } from '@angular/core';\nimport { MatDialogRef, MatDialogConfig, DialogPosition } from '@angular/material/dialog';\nimport { ThemePalette } from '@angular/material/core';\nimport {\n TdMarkdownNavigatorWindowComponent,\n IMarkdownNavigatorWindowLabels,\n} from '../markdown-navigator-window/markdown-navigator-window.component';\nimport { TdDialogService, IDraggableRefs, ResizableDraggableDialog } from '@covalent/core/dialogs';\nimport { DragRef, Point } from '@angular/cdk/drag-drop/drag-ref';\nimport { DOCUMENT } from '@angular/common';\nimport { IMarkdownNavigatorItem, IMarkdownNavigatorCompareWith } from '../markdown-navigator.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\nexport interface IMarkdownNavigatorWindowConfig {\n items: IMarkdownNavigatorItem[];\n dialogConfig?: MatDialogConfig;\n labels?: IMarkdownNavigatorWindowLabels;\n toolbarColor?: ThemePalette;\n startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n compareWith?: IMarkdownNavigatorCompareWith;\n copyCodeToClipboard?: boolean;\n copyCodeTooltips?: ICopyCodeTooltips;\n footer?: Type<any>;\n}\n\nconst CDK_OVERLAY_CUSTOM_CLASS: string = 'td-window-dialog';\n\nconst DEFAULT_POSITION: DialogPosition = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH: string = '360px';\nconst DEFAULT_HEIGHT: string = '75vh';\nconst MIN_HEIGHT: string = '56px';\nconst MAX_WIDTH: string = '100vw';\n\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG: MatDialogConfig = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\n\ninterface IDialogDimensions {\n width: string;\n height: string;\n}\n\n@Injectable()\nexport class TdMarkdownNavigatorWindowService {\n private _renderer2: Renderer2;\n private dragRef: DragRef;\n private resizableDraggableDialog: ResizableDraggableDialog;\n private markdownNavigatorWindowDialog: MatDialogRef<TdMarkdownNavigatorWindowComponent> = undefined;\n private markdownNavigatorWindowDialogsOpen: number = 0;\n\n constructor(\n private _tdDialogService: TdDialogService,\n @Inject(DOCUMENT) private _document: any,\n private rendererFactory: RendererFactory2,\n ) {\n this._renderer2 = rendererFactory.createRenderer(undefined, undefined);\n }\n\n public open(config: IMarkdownNavigatorWindowConfig): MatDialogRef<TdMarkdownNavigatorWindowComponent> {\n this.close();\n\n let panelClass: string[] = [...DEFAULT_DRAGGABLE_DIALOG_CONFIG.panelClass];\n if (config.dialogConfig && config.dialogConfig.panelClass) {\n if (Array.isArray(config.dialogConfig.panelClass)) {\n panelClass = [...config.dialogConfig.panelClass];\n } else {\n panelClass = [config.dialogConfig.panelClass];\n }\n }\n const draggableConfig: MatDialogConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n panelClass,\n };\n const { matDialogRef, dragRefSubject }: IDraggableRefs<TdMarkdownNavigatorWindowComponent> =\n this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt = config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard = config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips = config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith = config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf: DragRef) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(\n this._document,\n this._renderer2,\n this.markdownNavigatorWindowDialog,\n this.dragRef,\n );\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n\n public close(): void {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n\n public get isOpen(): boolean {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n\n private _handleEvents(): void {\n let position: Point;\n let dimensions: IDialogDimensions;\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());\n this.markdownNavigatorWindowDialog.componentInstance.dockToggled.subscribe((docked: boolean) => {\n if (docked) {\n this.markdownNavigatorWindowDialog.componentInstance.docked = false;\n this.markdownNavigatorWindowDialog.updateSize(dimensions.width, dimensions.height);\n this.markdownNavigatorWindowDialog.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });\n this.dragRef.setFreeDragPosition(position);\n this.dragRef.disabled = false;\n this.resizableDraggableDialog.attach();\n } else {\n dimensions = this._getDialogSize(this.markdownNavigatorWindowDialog);\n position = this.dragRef.getFreeDragPosition();\n this.markdownNavigatorWindowDialog.componentInstance.docked = true;\n this.markdownNavigatorWindowDialog.updateSize(DEFAULT_WIDTH, MIN_HEIGHT);\n this.markdownNavigatorWindowDialog.updatePosition(DEFAULT_POSITION);\n this.dragRef.reset();\n this.dragRef.disabled = true;\n this.resizableDraggableDialog.detach();\n }\n });\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n\n private _getDialogSize(dialogRef: MatDialogRef<TdMarkdownNavigatorWindowComponent>): IDialogDimensions {\n const { width, height } = getComputedStyle(\n (<HTMLElement>this._document.getElementById(dialogRef.id)).parentElement,\n );\n return {\n width,\n height,\n };\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport {\n TdMarkdownNavigatorWindowService,\n IMarkdownNavigatorWindowConfig,\n} from '../markdown-navigator-window-service/markdown-navigator-window.service';\n\n@Directive({\n selector: '[tdMarkdownNavigatorWindow]',\n})\nexport class TdMarkdownNavigatorWindowDirective {\n @Input('tdMarkdownNavigatorWindow') config: IMarkdownNavigatorWindowConfig;\n @Input() disabled: boolean = false;\n constructor(private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService) {}\n\n @HostListener('click') click(): void {\n if (!this.disabled) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { CovalentFlavoredMarkdownModule } from '@covalent/flavored-markdown';\nimport { CovalentDialogsModule } from '@covalent/core/dialogs';\nimport { CovalentMessageModule } from '@covalent/core/message';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\n\n@NgModule({\n imports: [\n CommonModule,\n\n // material\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n CovalentMessageModule,\n CovalentFlavoredMarkdownModule,\n CovalentDialogsModule,\n ],\n declarations: [TdMarkdownNavigatorComponent, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowDirective],\n exports: [TdMarkdownNavigatorComponent, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowDirective],\n providers: [TdMarkdownNavigatorWindowService],\n})\nexport class CovalentMarkdownNavigatorModule {}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"CovalentMarkdownNavigatorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":24,"character":4},{"__symbolic":"reference","module":"@covalent/core/message","name":"CovalentMessageModule","line":25,"character":4},{"__symbolic":"reference","module":"@covalent/flavored-markdown","name":"CovalentFlavoredMarkdownModule","line":26,"character":4},{"__symbolic":"reference","module":"@covalent/core/dialogs","name":"CovalentDialogsModule","line":27,"character":4}],"declarations":[{"__symbolic":"reference","name":"TdMarkdownNavigatorComponent"},{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowComponent"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"TdMarkdownNavigatorComponent"},{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowComponent"},{"__symbolic":"reference","name":"ɵa"}],"providers":[{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowService"}]}]}],"members":{}},"IMarkdownNavigatorItem":{"__symbolic":"interface"},"IMarkdownNavigatorLabels":{"__symbolic":"interface"},"IMarkdownNavigatorCompareWith":{"__symbolic":"interface"},"DEFAULT_MARKDOWN_NAVIGATOR_LABELS":{"goHome":"Go home","goBack":"Go back","emptyState":"No item(s) to display"},"TdMarkdownNavigatorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":82,"character":1},"arguments":[{"selector":"td-markdown-navigator","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":86,"character":19},"member":"OnPush"},"template":"<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar *ngIf=\"loading\" mode=\"indeterminate\" color=\"accent\"></mat-progress-bar>\n\n <ng-container *ngIf=\"showHeader\">\n <div [style.display]=\"'flex'\">\n <button\n id=\"td-markdown-navigator-home-button\"\n *ngIf=\"showHomeButton\"\n mat-icon-button\n [matTooltip]=\"goHomeLabel\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >\n <mat-icon [attr.aria-label]=\"goHomeLabel\">home</mat-icon>\n </button>\n\n <button\n id=\"td-markdown-navigator-back-button\"\n *ngIf=\"showGoBackButton\"\n mat-icon-button\n [matTooltip]=\"goBackLabel\"\n (click)=\"goBack()\"\n [attr.data-test]=\"'back-button'\"\n >\n <mat-icon [attr.aria-label]=\"goBackLabel\">arrow_back</mat-icon>\n </button>\n <span flex *ngIf=\"currentItemTitle\" class=\"mat-body-2 title truncate\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </span>\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon matListIcon>\n {{ getIcon(item) }}\n </mat-icon>\n <span matLine class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <div *ngIf=\"showTdMarkdownLoader || showTdMarkdown\" class=\"markdown-wrapper\" #markdownWrapper>\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url\"\n [httpOptions]=\"httpOptions\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString\"\n [hostedUrl]=\"url\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div *ngIf=\"showEmptyState\" layout=\"column\" layout-align=\"center center\" class=\"empty-state\">\n <mat-icon matListAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n","styles":[":host{-ms-flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;flex-direction:column;height:inherit;height:100%;position:relative}:host .scroll-area{-ms-flex:1;box-sizing:border-box;flex:1;min-height:1px;overflow-y:auto}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{left:0;position:absolute;right:0;top:0}:host .title{display:inline-block;margin:8px 0;padding-left:16px;vertical-align:middle}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"startAt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"compareWith":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":3}}]}],"markdownWrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":142,"character":3},"arguments":["markdownWrapper"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@covalent/markdown","name":"TdMarkdownLoaderService","line":154,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":155,"character":32},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":156,"character":24},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":157,"character":19}]}],"clickListener":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":160,"character":3},"arguments":["click",["$event"]]}]}],"ngOnChanges":[{"__symbolic":"method"}],"hasChildrenOrChildrenUrl":[{"__symbolic":"method"}],"clearErrors":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"goBack":[{"__symbolic":"method"}],"handleItemSelected":[{"__symbolic":"method"}],"setChildrenAsCurrentMenuItems":[{"__symbolic":"method"}],"loadChildrenUrl":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"getIcon":[{"__symbolic":"method"}],"handleChildrenUrlError":[{"__symbolic":"method"}],"handleMarkdownLoaderError":[{"__symbolic":"method"}],"_jumpTo":[{"__symbolic":"method"}],"followPath":[{"__symbolic":"method"}],"findPath":[{"__symbolic":"method"}],"handleLinkClick":[{"__symbolic":"method"}]}},"IMarkdownNavigatorWindowLabels":{"__symbolic":"interface"},"DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS":{"title":"Help","close":"Close","dock":"Dock","unDock":"Undock"},"TdMarkdownNavigatorWindowComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"td-markdown-navigator-window","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":19},"member":"OnPush"},"template":"<td-window-dialog\n [toolbarColor]=\"toolbarColor\"\n [docked]=\"docked\"\n [title]=\"titleLabel\"\n [toggleDockedStateLabel]=\"toggleDockedStateLabel\"\n [closeLabel]=\"closeLabel\"\n (dockToggled)=\"toggleDockedState()\"\n (closed)=\"closed.emit()\"\n>\n <td-markdown-navigator\n [items]=\"items\"\n [labels]=\"markdownNavigatorLabels\"\n [style.display]=\"docked ? 'none' : 'inherit'\"\n [startAt]=\"startAt\"\n [compareWith]=\"compareWith\"\n [footer]=\"footer\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n","styles":[":host{-ms-flex-direction:column;display:-ms-flexbox;display:flex;flex-direction:column;height:100%}td-markdown-navigator{height:calc(100% - 56px)}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"toolbarColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"startAt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"compareWith":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"docked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"closed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"dockToggled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"toggleDockedState":[{"__symbolic":"method"}]}},"IMarkdownNavigatorWindowConfig":{"__symbolic":"interface"},"TdMarkdownNavigatorWindowService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":58,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@covalent/core/dialogs","name":"TdDialogService","line":57,"character":30},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":59,"character":29}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"_handleEvents":[{"__symbolic":"method"}],"_getDialogSize":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[tdMarkdownNavigatorWindow]"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3},"arguments":["tdMarkdownNavigatorWindow"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowService"}]}],"click":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["click"]}]}]}}},"origins":{"CovalentMarkdownNavigatorModule":"./markdown-navigator.module","IMarkdownNavigatorItem":"./markdown-navigator.component","IMarkdownNavigatorLabels":"./markdown-navigator.component","IMarkdownNavigatorCompareWith":"./markdown-navigator.component","DEFAULT_MARKDOWN_NAVIGATOR_LABELS":"./markdown-navigator.component","TdMarkdownNavigatorComponent":"./markdown-navigator.component","IMarkdownNavigatorWindowLabels":"./markdown-navigator-window/markdown-navigator-window.component","DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS":"./markdown-navigator-window/markdown-navigator-window.component","TdMarkdownNavigatorWindowComponent":"./markdown-navigator-window/markdown-navigator-window.component","IMarkdownNavigatorWindowConfig":"./markdown-navigator-window-service/markdown-navigator-window.service","TdMarkdownNavigatorWindowService":"./markdown-navigator-window-service/markdown-navigator-window.service","ɵa":"./markdown-navigator-window-directive/markdown-navigator-window.directive"},"importAs":"@covalent/markdown-navigator"}
1
+ {"__symbolic":"module","version":4,"metadata":{"CovalentMarkdownNavigatorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":24,"character":4},{"__symbolic":"reference","module":"@covalent/core/message","name":"CovalentMessageModule","line":25,"character":4},{"__symbolic":"reference","module":"@covalent/flavored-markdown","name":"CovalentFlavoredMarkdownModule","line":26,"character":4},{"__symbolic":"reference","module":"@covalent/core/dialogs","name":"CovalentDialogsModule","line":27,"character":4}],"declarations":[{"__symbolic":"reference","name":"TdMarkdownNavigatorComponent"},{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowComponent"},{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"TdMarkdownNavigatorComponent"},{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowComponent"},{"__symbolic":"reference","name":"ɵa"}],"providers":[{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowService"}]}]}],"members":{}},"IMarkdownNavigatorItem":{"__symbolic":"interface"},"IMarkdownNavigatorLabels":{"__symbolic":"interface"},"IMarkdownNavigatorCompareWith":{"__symbolic":"interface"},"DEFAULT_MARKDOWN_NAVIGATOR_LABELS":{"goHome":"Go home","goBack":"Go back","emptyState":"No item(s) to display"},"TdMarkdownNavigatorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":82,"character":1},"arguments":[{"selector":"td-markdown-navigator","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":86,"character":19},"member":"OnPush"},"template":"<ng-container *ngIf=\"!showEmptyState\">\n <mat-progress-bar *ngIf=\"loading\" mode=\"indeterminate\" color=\"accent\"></mat-progress-bar>\n\n <ng-container *ngIf=\"showHeader\">\n <div [style.display]=\"'flex'\">\n <button\n id=\"td-markdown-navigator-home-button\"\n *ngIf=\"showHomeButton\"\n mat-icon-button\n [matTooltip]=\"goHomeLabel\"\n (click)=\"reset()\"\n [attr.data-test]=\"'home-button'\"\n >\n <mat-icon [attr.aria-label]=\"goHomeLabel\">home</mat-icon>\n </button>\n\n <button\n id=\"td-markdown-navigator-back-button\"\n *ngIf=\"showGoBackButton\"\n mat-icon-button\n [matTooltip]=\"goBackLabel\"\n (click)=\"goBack()\"\n [attr.data-test]=\"'back-button'\"\n >\n <mat-icon [attr.aria-label]=\"goBackLabel\">arrow_back</mat-icon>\n </button>\n <span flex *ngIf=\"currentItemTitle\" class=\"mat-body-2 title truncate\" [attr.data-test]=\"'title'\">\n {{ currentItemTitle }}\n </span>\n </div>\n\n <mat-divider [style.position]=\"'relative'\"></mat-divider>\n </ng-container>\n\n <div class=\"scroll-area\" id=\"td-markdown-navigator-content\">\n <div *ngIf=\"showTdMarkdownLoader || showTdMarkdown\" class=\"markdown-wrapper\" #markdownWrapper>\n <td-message\n *ngIf=\"markdownLoaderError\"\n [sublabel]=\"markdownLoaderError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'markdown-loader-error'\"\n ></td-message>\n <td-flavored-markdown-loader\n *ngIf=\"showTdMarkdownLoader\"\n [url]=\"url\"\n [httpOptions]=\"httpOptions\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (loadFailed)=\"handleMarkdownLoaderError($event)\"\n ></td-flavored-markdown-loader>\n <td-flavored-markdown\n *ngIf=\"showTdMarkdown\"\n [content]=\"markdownString\"\n [hostedUrl]=\"url\"\n [anchor]=\"anchor\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-flavored-markdown>\n </div>\n\n <td-message\n *ngIf=\"childrenUrlError\"\n [sublabel]=\"childrenUrlError\"\n color=\"warn\"\n icon=\"error\"\n [attr.data-test]=\"'children-url-error'\"\n ></td-message>\n <div *ngIf=\"showMenu\" class=\"td-markdown-list\">\n <mat-action-list>\n <button\n *ngFor=\"let item of currentMenuItems; index as index\"\n [id]=\"'td-markdown-navigator-list-item-' + (item.id ? item.id : index)\"\n (click)=\"handleItemSelected(item)\"\n mat-list-item\n [matTooltip]=\"getTitle(item)\"\n matTooltipPosition=\"before\"\n matTooltipShowDelay=\"500\"\n >\n <mat-icon matListIcon>\n {{ getIcon(item) }}\n </mat-icon>\n <span matLine class=\"truncate\">\n {{ getTitle(item) }}\n </span>\n <span matLine class=\"truncate\">{{ item.description }}</span>\n <mat-divider></mat-divider>\n </button>\n </mat-action-list>\n </div>\n\n <ng-container *ngComponentOutlet=\"footerComponent\"></ng-container>\n </div>\n</ng-container>\n\n<div *ngIf=\"showEmptyState\" layout=\"column\" layout-align=\"center center\" class=\"empty-state\">\n <mat-icon matListAvatar>subject</mat-icon>\n <h2>{{ emptyStateLabel }}</h2>\n</div>\n","styles":[":host{-ms-flex-direction:column;box-sizing:border-box;display:-ms-flexbox;display:flex;flex-direction:column;height:inherit;height:100%;position:relative}:host .scroll-area{-ms-flex:1;box-sizing:border-box;flex:1;min-height:1px;overflow-y:auto}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{left:0;position:absolute;right:0;top:0}:host .title{display:inline-block;margin:8px 0;padding-left:16px;vertical-align:middle}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"startAt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"compareWith":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":3}}]}],"markdownWrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":142,"character":3},"arguments":["markdownWrapper"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@covalent/markdown","name":"TdMarkdownLoaderService","line":154,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":155,"character":32},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":156,"character":24},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":157,"character":19}]}],"clickListener":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":160,"character":3},"arguments":["click",["$event"]]}]}],"ngOnChanges":[{"__symbolic":"method"}],"hasChildrenOrChildrenUrl":[{"__symbolic":"method"}],"clearErrors":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"goBack":[{"__symbolic":"method"}],"handleItemSelected":[{"__symbolic":"method"}],"setChildrenAsCurrentMenuItems":[{"__symbolic":"method"}],"loadChildrenUrl":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"getIcon":[{"__symbolic":"method"}],"handleChildrenUrlError":[{"__symbolic":"method"}],"handleMarkdownLoaderError":[{"__symbolic":"method"}],"_jumpTo":[{"__symbolic":"method"}],"followPath":[{"__symbolic":"method"}],"findPath":[{"__symbolic":"method"}],"handleLinkClick":[{"__symbolic":"method"}]}},"IMarkdownNavigatorWindowLabels":{"__symbolic":"interface"},"DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS":{"title":"Help","close":"Close","dock":"Dock","unDock":"Undock"},"TdMarkdownNavigatorWindowComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"td-markdown-navigator-window","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":19},"member":"OnPush"},"template":"<td-window-dialog\n [toolbarColor]=\"toolbarColor\"\n [docked]=\"docked\"\n [title]=\"titleLabel\"\n [toggleDockedStateLabel]=\"toggleDockedStateLabel\"\n [closeLabel]=\"closeLabel\"\n (dockToggled)=\"toggleDockedState()\"\n (closed)=\"closed.emit()\"\n>\n <td-markdown-navigator\n [items]=\"items\"\n [labels]=\"markdownNavigatorLabels\"\n [style.display]=\"docked ? 'none' : 'inherit'\"\n [startAt]=\"startAt\"\n [compareWith]=\"compareWith\"\n [footer]=\"footer\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n ></td-markdown-navigator>\n</td-window-dialog>\n","styles":[":host{-ms-flex-direction:column;display:-ms-flexbox;display:flex;flex-direction:column;height:100%}td-markdown-navigator{height:calc(100% - 56px)}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"toolbarColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"startAt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"compareWith":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"docked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"closed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"dockToggled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"toggleDockedState":[{"__symbolic":"method"}]}},"IMarkdownNavigatorWindowConfig":{"__symbolic":"interface"},"TdMarkdownNavigatorWindowService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":58,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@covalent/core/dialogs","name":"TdDialogService","line":57,"character":30},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":59,"character":29}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"_handleEvents":[{"__symbolic":"method"}],"_getDialogSize":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":6,"character":1},"arguments":[{"selector":"[tdMarkdownNavigatorWindow]"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3},"arguments":["tdMarkdownNavigatorWindow"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TdMarkdownNavigatorWindowService"}]}],"click":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":14,"character":3},"arguments":["click"]}]}]}}},"origins":{"CovalentMarkdownNavigatorModule":"./markdown-navigator.module","IMarkdownNavigatorItem":"./markdown-navigator.component","IMarkdownNavigatorLabels":"./markdown-navigator.component","IMarkdownNavigatorCompareWith":"./markdown-navigator.component","DEFAULT_MARKDOWN_NAVIGATOR_LABELS":"./markdown-navigator.component","TdMarkdownNavigatorComponent":"./markdown-navigator.component","IMarkdownNavigatorWindowLabels":"./markdown-navigator-window/markdown-navigator-window.component","DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS":"./markdown-navigator-window/markdown-navigator-window.component","TdMarkdownNavigatorWindowComponent":"./markdown-navigator-window/markdown-navigator-window.component","IMarkdownNavigatorWindowConfig":"./markdown-navigator-window-service/markdown-navigator-window.service","TdMarkdownNavigatorWindowService":"./markdown-navigator-window-service/markdown-navigator-window.service","ɵa":"./markdown-navigator-window-directive/markdown-navigator-window.directive"},"importAs":"@covalent/markdown-navigator"}
@@ -8,4 +8,4 @@
8
8
  */
9
9
  export { CovalentMarkdownNavigatorModule, DEFAULT_MARKDOWN_NAVIGATOR_LABELS, TdMarkdownNavigatorComponent, DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowService } from './index';
10
10
  export { TdMarkdownNavigatorWindowDirective as ɵa } from './markdown-navigator-window-directive/markdown-navigator-window.directive';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci9jb3ZhbGVudC1tYXJrZG93bi1uYXZpZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxpT0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlIGFzIMm1YX0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LWRpcmVjdGl2ZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmRpcmVjdGl2ZSc7Il19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9tYXJrZG93bi1uYXZpZ2F0b3IvIiwic291cmNlcyI6WyJjb3ZhbGVudC1tYXJrZG93bi1uYXZpZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSxpT0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGtDQUFrQyxJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlIGFzIMm1YX0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LWRpcmVjdGl2ZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmRpcmVjdGl2ZSc7Il19
package/esm2015/index.js CHANGED
@@ -4,4 +4,4 @@
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
6
  export { CovalentMarkdownNavigatorModule, DEFAULT_MARKDOWN_NAVIGATOR_LABELS, TdMarkdownNavigatorComponent, DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS, TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowService } from './public-api';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vbWFya2Rvd24tbmF2aWdhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaU9BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaU9BQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -126,4 +126,4 @@ if (false) {
126
126
  /** @type {?} */
127
127
  TdMarkdownNavigatorWindowComponent.prototype.buttonClicked;
128
128
  }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vbWFya2Rvd24tbmF2aWdhdG9yL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVV0RyxvREFLQzs7O0lBSkMsK0NBQWU7O0lBQ2YsK0NBQWU7O0lBQ2YsOENBQWM7O0lBQ2QsZ0RBQWdCOzs7QUFFbEIsTUFBTSxPQUFPLHdDQUF3QyxHQUFtQztJQUN0RixLQUFLLEVBQUUsTUFBTTtJQUNiLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNqQjtBQVFELE1BQU0sT0FBTyxrQ0FBa0M7SUFOL0M7UUFTVyxpQkFBWSxHQUFpQixTQUFTLENBQUM7UUFHdkMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMscUJBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUd4QyxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxrQkFBYSxHQUFzRCxJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0JsRyxDQUFDOzs7O0lBN0JDLElBQUksdUJBQXVCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtrQkFDVCxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQW1DLElBQUksQ0FBQyxNQUFNO1lBQ2xGLE9BQU87Z0JBQ0wsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFVBQVU7YUFDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7O0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxLQUFLLENBQUM7SUFDOUYsQ0FBQzs7OztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksd0NBQXdDLENBQUMsS0FBSyxDQUFDO0lBQzlGLENBQUM7Ozs7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLE1BQU0sQ0FBQztTQUMvRjthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxJQUFJLENBQUM7U0FDM0Y7SUFDSCxDQUFDOzs7O0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsZ3NCQUF5RDtnQkFFekQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7b0JBRUUsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO3FCQUNMLEtBQUs7a0NBQ0wsS0FBSzsrQkFDTCxLQUFLO3FCQUNMLEtBQUs7cUJBRUwsTUFBTTswQkFDTixNQUFNOzRCQUNOLE1BQU07Ozs7SUFaUCxtREFBeUM7O0lBQ3pDLG9EQUFnRDs7SUFDaEQsMERBQWdEOztJQUNoRCxxREFBb0U7O0lBQ3BFLHlEQUFvRDs7SUFDcEQsb0RBQWlDOztJQUNqQyxpRUFBOEM7O0lBQzlDLDhEQUFrRDs7SUFDbEQsb0RBQTJCOztJQUUzQixvREFBMEQ7O0lBQzFELHlEQUFrRTs7SUFDbEUsMkRBQWdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIElNYXJrZG93bk5hdmlnYXRvckxhYmVscyxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB7XG4gIHRpdGxlOiAnSGVscCcsXG4gIGNsb3NlOiAnQ2xvc2UnLFxuICBkb2NrOiAnRG9jaycsXG4gIHVuRG9jazogJ1VuZG9jaycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgbGFiZWxzOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGg7XG4gIEBJbnB1dCgpIGRvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGZvb3RlcjogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICAgIGlmICh0aGlzLmxhYmVscykge1xuICAgICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB0aGlzLmxhYmVscztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGdvSG9tZSxcbiAgICAgICAgZ29CYWNrLFxuICAgICAgICBlbXB0eVN0YXRlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgZ2V0IHRpdGxlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLnRpdGxlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlO1xuICB9XG5cbiAgZ2V0IGNsb3NlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLmNsb3NlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmNsb3NlO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudW5Eb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnVuRG9jaztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5kb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmRvY2s7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRG9ja2VkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5kb2NrVG9nZ2xlZC5lbWl0KHRoaXMuZG9ja2VkKTtcbiAgfVxufVxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci8iLCJzb3VyY2VzIjpbIm1hcmtkb3duLW5hdmlnYXRvci13aW5kb3cvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVV0RyxvREFLQzs7O0lBSkMsK0NBQWU7O0lBQ2YsK0NBQWU7O0lBQ2YsOENBQWM7O0lBQ2QsZ0RBQWdCOzs7QUFFbEIsTUFBTSxPQUFPLHdDQUF3QyxHQUFtQztJQUN0RixLQUFLLEVBQUUsTUFBTTtJQUNiLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNqQjtBQVFELE1BQU0sT0FBTyxrQ0FBa0M7SUFOL0M7UUFTVyxpQkFBWSxHQUFpQixTQUFTLENBQUM7UUFHdkMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMscUJBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUd4QyxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxrQkFBYSxHQUFzRCxJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0JsRyxDQUFDOzs7O0lBN0JDLElBQUksdUJBQXVCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtrQkFDVCxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQW1DLElBQUksQ0FBQyxNQUFNO1lBQ2xGLE9BQU87Z0JBQ0wsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFVBQVU7YUFDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7O0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxLQUFLLENBQUM7SUFDOUYsQ0FBQzs7OztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksd0NBQXdDLENBQUMsS0FBSyxDQUFDO0lBQzlGLENBQUM7Ozs7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLE1BQU0sQ0FBQztTQUMvRjthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxJQUFJLENBQUM7U0FDM0Y7SUFDSCxDQUFDOzs7O0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsZ3NCQUF5RDtnQkFFekQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7b0JBRUUsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO3FCQUNMLEtBQUs7a0NBQ0wsS0FBSzsrQkFDTCxLQUFLO3FCQUNMLEtBQUs7cUJBRUwsTUFBTTswQkFDTixNQUFNOzRCQUNOLE1BQU07Ozs7SUFaUCxtREFBeUM7O0lBQ3pDLG9EQUFnRDs7SUFDaEQsMERBQWdEOztJQUNoRCxxREFBb0U7O0lBQ3BFLHlEQUFvRDs7SUFDcEQsb0RBQWlDOztJQUNqQyxpRUFBOEM7O0lBQzlDLDhEQUFrRDs7SUFDbEQsb0RBQTJCOztJQUUzQixvREFBMEQ7O0lBQzFELHlEQUFrRTs7SUFDbEUsMkRBQWdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIElNYXJrZG93bk5hdmlnYXRvckxhYmVscyxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB7XG4gIHRpdGxlOiAnSGVscCcsXG4gIGNsb3NlOiAnQ2xvc2UnLFxuICBkb2NrOiAnRG9jaycsXG4gIHVuRG9jazogJ1VuZG9jaycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgbGFiZWxzOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGg7XG4gIEBJbnB1dCgpIGRvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGZvb3RlcjogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICAgIGlmICh0aGlzLmxhYmVscykge1xuICAgICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB0aGlzLmxhYmVscztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGdvSG9tZSxcbiAgICAgICAgZ29CYWNrLFxuICAgICAgICBlbXB0eVN0YXRlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgZ2V0IHRpdGxlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLnRpdGxlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlO1xuICB9XG5cbiAgZ2V0IGNsb3NlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLmNsb3NlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmNsb3NlO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudW5Eb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnVuRG9jaztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5kb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmRvY2s7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRG9ja2VkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5kb2NrVG9nZ2xlZC5lbWl0KHRoaXMuZG9ja2VkKTtcbiAgfVxufVxuIl19
@@ -47,4 +47,4 @@ if (false) {
47
47
  */
48
48
  TdMarkdownNavigatorWindowDirective.prototype._markdownNavigatorWindowService;
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vbWFya2Rvd24tbmF2aWdhdG9yL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctZGlyZWN0aXZlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3RUFBd0UsQ0FBQztBQUtoRixNQUFNLE9BQU8sa0NBQWtDOzs7O0lBRzdDLFlBQW9CLCtCQUFpRTtRQUFqRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWtDO1FBRDVFLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFDcUQsQ0FBQzs7OztJQUVsRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7O1lBWkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7YUFDeEM7Ozs7WUFOQyxnQ0FBZ0M7OztxQkFRL0IsS0FBSyxTQUFDLDJCQUEyQjt1QkFDakMsS0FBSztvQkFHTCxZQUFZLFNBQUMsT0FBTzs7OztJQUpyQixvREFBMkU7O0lBQzNFLHNEQUFtQzs7Ozs7SUFDdkIsNkVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnLFxufSBmcm9tICcuLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpcmVjdGl2ZSB7XG4gIEBJbnB1dCgndGRNYXJrZG93bk5hdmlnYXRvcldpbmRvdycpIGNvbmZpZzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2U6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci8iLCJzb3VyY2VzIjpbIm1hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctZGlyZWN0aXZlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3RUFBd0UsQ0FBQztBQUtoRixNQUFNLE9BQU8sa0NBQWtDOzs7O0lBRzdDLFlBQW9CLCtCQUFpRTtRQUFqRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWtDO1FBRDVFLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFDcUQsQ0FBQzs7OztJQUVsRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7O1lBWkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7YUFDeEM7Ozs7WUFOQyxnQ0FBZ0M7OztxQkFRL0IsS0FBSyxTQUFDLDJCQUEyQjt1QkFDakMsS0FBSztvQkFHTCxZQUFZLFNBQUMsT0FBTzs7OztJQUpyQixvREFBMkU7O0lBQzNFLHNEQUFtQzs7Ozs7SUFDdkIsNkVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnLFxufSBmcm9tICcuLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpcmVjdGl2ZSB7XG4gIEBJbnB1dCgndGRNYXJrZG93bk5hdmlnYXRvcldpbmRvdycpIGNvbmZpZzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2U6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -95,7 +95,7 @@ export class TdMarkdownNavigatorWindowService {
95
95
  }
96
96
  /** @type {?} */
97
97
  const draggableConfig = Object.assign(Object.assign(Object.assign({}, DEFAULT_DRAGGABLE_DIALOG_CONFIG), config.dialogConfig), { panelClass });
98
- const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({
98
+ const { matDialogRef, dragRefSubject } = this._tdDialogService.openDraggable({
99
99
  component: TdMarkdownNavigatorWindowComponent,
100
100
  config: draggableConfig,
101
101
  dragHandleSelectors: ['.td-window-dialog-toolbar'],
@@ -251,4 +251,4 @@ if (false) {
251
251
  */
252
252
  TdMarkdownNavigatorWindowService.prototype.rendererFactory;
253
253
  }
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUkzQyxvREFVQzs7O0lBVEMsK0NBQWdDOztJQUNoQyxzREFBK0I7O0lBQy9CLGdEQUF3Qzs7SUFDeEMsc0RBQTRCOztJQUM1QixpREFBNEQ7O0lBQzVELHFEQUE0Qzs7SUFDNUMsNkRBQThCOztJQUM5QiwwREFBcUM7O0lBQ3JDLGdEQUFtQjs7O01BR2Ysd0JBQXdCLEdBQVcsa0JBQWtCOztNQUVyRCxnQkFBZ0IsR0FBbUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7O01BQ2xFLGFBQWEsR0FBVyxPQUFPOztNQUMvQixjQUFjLEdBQVcsTUFBTTs7TUFDL0IsVUFBVSxHQUFXLE1BQU07O01BQzNCLFNBQVMsR0FBVyxPQUFPOztNQUUzQiwrQkFBK0IsR0FBb0I7SUFDdkQsV0FBVyxFQUFFLEtBQUs7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxj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QUcsZ0JBQWdCLENBQ3hDLENBQUMsbUJBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFBLENBQUMsQ0FBQyxhQUFhLENBQ3pFO1FBQ0QsT0FBTztZQUNMLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7OztZQXJIRixVQUFVOzs7O1lBekNGLGVBQWU7NENBbURuQixNQUFNLFNBQUMsUUFBUTtZQTFEUyxnQkFBZ0I7Ozs7Ozs7SUFrRDNDLHNEQUE4Qjs7Ozs7SUFDOUIsbURBQXlCOzs7OztJQUN6QixvRUFBMkQ7Ozs7O0lBQzNELHlFQUFvRzs7Ozs7SUFDcEcsOEVBQXVEOzs7OztJQUdyRCw0REFBeUM7Ozs7O0lBQ3pDLHFEQUF3Qzs7Ozs7SUFDeEMsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBSZW5kZXJlckZhY3RvcnkyLCBSZW5kZXJlcjIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29uZmlnLCBEaWFsb2dQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZERpYWxvZ1NlcnZpY2UsIElEcmFnZ2FibGVSZWZzLCBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2cgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcC9kcmFnLXJlZic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLCBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCB9IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcge1xuICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscztcbiAgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgY29weUNvZGVUb0NsaXBib2FyZD86IGJvb2xlYW47XG4gIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwcztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xufVxuXG5jb25zdCBDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1M6IHN0cmluZyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSDogc3RyaW5nID0gJzM2MHB4JztcbmNvbnN0IERFRkFVTFRfSEVJR0hUOiBzdHJpbmcgPSAnNzV2aCc7XG5jb25zdCBNSU5fSEVJR0hUOiBzdHJpbmcgPSAnNTZweCc7XG5jb25zdCBNQVhfV0lEVEg6IHN0cmluZyA9ICcxMDB2dyc7XG5cbmNvbnN0IERFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgcGFuZWxDbGFzczogW0NES19PVkVSTEFZX0NVU1RPTV9DTEFTU10sXG4gIHBvc2l0aW9uOiBERUZBVUxUX1BPU0lUSU9OLFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICB3aWR0aDogREVGQVVMVF9XSURUSCxcbiAgbWF4V2lkdGg6IE1BWF9XSURUSCxcbn07XG5cbmludGVyZmFjZSBJRGlhbG9nRGltZW5zaW9ucyB7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBkcmFnUmVmOiBEcmFnUmVmO1xuICBwcml2YXRlIHJlc2l6YWJsZURyYWdnYWJsZURpYWxvZzogUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nO1xuICBwcml2YXRlIG1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbjogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF90ZERpYWxvZ1NlcnZpY2U6IFRkRGlhbG9nU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oY29uZmlnOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcpOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4ge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIGxldCBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsuLi5ERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHLnBhbmVsQ2xhc3NdO1xuICAgIGlmIChjb25maWcuZGlhbG9nQ29uZmlnICYmIGNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzKSkge1xuICAgICAgICBwYW5lbENsYXNzID0gWy4uLmNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYW5lbENsYXNzID0gW2NvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICBwYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3Qge1xuICAgICAgbWF0RGlhbG9nUmVmLFxuICAgICAgZHJhZ1JlZlN1YmplY3QsXG4gICAgfTogSURyYWdnYWJsZVJlZnM8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPSB0aGlzLl90ZERpYWxvZ1NlcnZpY2Uub3BlbkRyYWdnYWJsZSh7XG4gICAgICBjb21wb25lbnQ6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gICAgICBjb25maWc6IGRyYWdnYWJsZUNvbmZpZyxcbiAgICAgIGRyYWdIYW5kbGVTZWxlY3RvcnM6IFsnLnRkLXdpbmRvdy1kaWFsb2ctdG9vbGJhciddLFxuICAgICAgZHJhZ2dhYmxlQ2xhc3M6ICd0ZC1kcmFnZ2FibGUtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyA9IG1hdERpYWxvZ1JlZjtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLml0ZW1zID0gY29uZmlnLml0ZW1zO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UubGFiZWxzID0gY29uZmlnLmxhYmVscztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLnN0YXJ0QXQgPSBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPSBjb25maWcuY29weUNvZGVUb0NsaXBib2FyZDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9vbHRpcHMgPSBjb25maWcuY29weUNvZGVUb29sdGlwcztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvbXBhcmVXaXRoID0gY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZixcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5faGFuZGxlRXZlbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2c7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpIHtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZykge1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5kZXRhY2goKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cygpOiB2b2lkIHtcbiAgICBsZXQgcG9zaXRpb246IFBvaW50O1xuICAgIGxldCBkaW1lbnNpb25zOiBJRGlhbG9nRGltZW5zaW9ucztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmRvY2tUb2dnbGVkLnN1YnNjcmliZSgoZG9ja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoZG9ja2VkKSB7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlU2l6ZShkaW1lbnNpb25zLndpZHRoLCBkaW1lbnNpb25zLmhlaWdodCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlUG9zaXRpb24oeyB0b3A6ICcwcHgnLCByaWdodDogJzBweCcsIGJvdHRvbTogJzBweCcsIGxlZnQ6ICcwcHgnIH0pO1xuICAgICAgICB0aGlzLmRyYWdSZWYuc2V0RnJlZURyYWdQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgIHRoaXMuZHJhZ1JlZi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5hdHRhY2goKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpbWVuc2lvbnMgPSB0aGlzLl9nZXREaWFsb2dTaXplKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpO1xuICAgICAgICBwb3NpdGlvbiA9IHRoaXMuZHJhZ1JlZi5nZXRGcmVlRHJhZ1Bvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy51cGRhdGVTaXplKERFRkFVTFRfV0lEVEgsIE1JTl9IRUlHSFQpO1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLnVwZGF0ZVBvc2l0aW9uKERFRkFVTFRfUE9TSVRJT04pO1xuICAgICAgICB0aGlzLmRyYWdSZWYucmVzZXQoKTtcbiAgICAgICAgdGhpcy5kcmFnUmVmLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ1xuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4tLTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nU2l6ZShkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50Pik6IElEaWFsb2dEaW1lbnNpb25zIHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldENvbXB1dGVkU3R5bGUoXG4gICAgICAoPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpYWxvZ1JlZi5pZCkpLnBhcmVudEVsZW1lbnQsXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgfTtcbiAgfVxufVxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9tYXJrZG93bi1uYXZpZ2F0b3IvIiwic291cmNlcyI6WyJtYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUkzQyxvREFVQzs7O0lBVEMsK0NBQWdDOztJQUNoQyxzREFBK0I7O0lBQy9CLGdEQUF3Qzs7SUFDeEMsc0RBQTRCOztJQUM1QixpREFBNEQ7O0lBQzVELHFEQUE0Qzs7SUFDNUMsNkRBQThCOztJQUM5QiwwREFBcUM7O0lBQ3JDLGdEQUFtQjs7O01BR2Ysd0JBQXdCLEdBQVcsa0JBQWtCOztNQUVyRCxnQkFBZ0IsR0FBbUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7O01BQ2xFLGFBQWEsR0FBVyxPQUFPOztNQUMvQixjQUFjLEdBQVcsTUFBTTs7TUFDL0IsVUFBVSxHQUFXLE1BQU07O01BQzNCLFNBQVMsR0FBVyxPQUFPOztNQUUzQiwrQkFBK0IsR0FBb0I7SUFDdkQsV0FBVyxFQUFFLEtBQUs7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCOzs7O0FBRUQsZ0NBR0M7OztJQUZDLGtDQUFjOztJQUNkLG1DQUFlOztBQUlqQixNQUFNLE9BQU8sZ0NBQWdDOzs7Ozs7SUFPM0MsWUFDVSxnQkFBaUMsRUFDZixTQUFjLEVBQ2hDLGVBQWlDO1FBRmpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQU5uQyxrQ0FBNkIsR0FBcUQsU0FBUyxDQUFDO1FBQzVGLHVDQUFrQyxHQUFXLENBQUMsQ0FBQztRQU9yRCxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLE1BQXNDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7WUFFVCxVQUFVLEdBQWEsQ0FBQyxHQUFHLCtCQUErQixDQUFDLFVBQVUsQ0FBQztRQUMxRSxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDekQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTCxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0Y7O2NBQ0ssZUFBZSxpREFDaEIsK0JBQStCLEdBQy9CLE1BQU0sQ0FBQyxZQUFZLEtBQ3RCLFVBQVUsR0FDWDtjQUNLLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxHQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxrQ0FBa0M7WUFDN0MsTUFBTSxFQUFFLGVBQWU7WUFDdkIsbUJBQW1CLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUNsRCxjQUFjLEVBQUUsd0NBQXdDO1NBQ3pELENBQUM7UUFDSixJQUFJLENBQUMsNkJBQTZCLEdBQUcsWUFBWSxDQUFDO1FBQ2xELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdEcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEYsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLFlBQVk7WUFDL0QsY0FBYyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzdELElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1RSxjQUFjLENBQUMsU0FBUzs7OztRQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksd0JBQXdCLENBQzFELElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsNkJBQTZCLEVBQ2xDLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUNKLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsNkJBQTZCLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN4QztZQUNELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7Ozs7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTyxhQUFhOztZQUNmLFFBQWU7O1lBQ2YsVUFBNkI7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQzdGLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRixJQUFJLENBQUMsNkJBQTZCLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzVHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNMLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUNyRSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbkUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyw2QkFBNkI7YUFDL0IsV0FBVyxFQUFFO2FBQ2IsU0FBUyxFQUFFO2FBQ1gsSUFBSTs7O1FBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7Ozs7SUFFTyxjQUFjLENBQUMsU0FBMkQ7Y0FDMUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQ3hDLENBQUMsbUJBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFBLENBQUMsQ0FBQyxhQUFhLENBQ3pFO1FBQ0QsT0FBTztZQUNMLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7OztZQW5IRixVQUFVOzs7O1lBekNGLGVBQWU7NENBbURuQixNQUFNLFNBQUMsUUFBUTtZQTFEUyxnQkFBZ0I7Ozs7Ozs7SUFrRDNDLHNEQUE4Qjs7Ozs7SUFDOUIsbURBQXlCOzs7OztJQUN6QixvRUFBMkQ7Ozs7O0lBQzNELHlFQUFvRzs7Ozs7SUFDcEcsOEVBQXVEOzs7OztJQUdyRCw0REFBeUM7Ozs7O0lBQ3pDLHFEQUF3Qzs7Ozs7SUFDeEMsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBSZW5kZXJlckZhY3RvcnkyLCBSZW5kZXJlcjIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29uZmlnLCBEaWFsb2dQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZERpYWxvZ1NlcnZpY2UsIElEcmFnZ2FibGVSZWZzLCBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2cgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcC9kcmFnLXJlZic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLCBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCB9IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcge1xuICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscztcbiAgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgY29weUNvZGVUb0NsaXBib2FyZD86IGJvb2xlYW47XG4gIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwcztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xufVxuXG5jb25zdCBDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1M6IHN0cmluZyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSDogc3RyaW5nID0gJzM2MHB4JztcbmNvbnN0IERFRkFVTFRfSEVJR0hUOiBzdHJpbmcgPSAnNzV2aCc7XG5jb25zdCBNSU5fSEVJR0hUOiBzdHJpbmcgPSAnNTZweCc7XG5jb25zdCBNQVhfV0lEVEg6IHN0cmluZyA9ICcxMDB2dyc7XG5cbmNvbnN0IERFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgcGFuZWxDbGFzczogW0NES19PVkVSTEFZX0NVU1RPTV9DTEFTU10sXG4gIHBvc2l0aW9uOiBERUZBVUxUX1BPU0lUSU9OLFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICB3aWR0aDogREVGQVVMVF9XSURUSCxcbiAgbWF4V2lkdGg6IE1BWF9XSURUSCxcbn07XG5cbmludGVyZmFjZSBJRGlhbG9nRGltZW5zaW9ucyB7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBkcmFnUmVmOiBEcmFnUmVmO1xuICBwcml2YXRlIHJlc2l6YWJsZURyYWdnYWJsZURpYWxvZzogUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nO1xuICBwcml2YXRlIG1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbjogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF90ZERpYWxvZ1NlcnZpY2U6IFRkRGlhbG9nU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oY29uZmlnOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcpOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4ge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIGxldCBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsuLi5ERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHLnBhbmVsQ2xhc3NdO1xuICAgIGlmIChjb25maWcuZGlhbG9nQ29uZmlnICYmIGNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzKSkge1xuICAgICAgICBwYW5lbENsYXNzID0gWy4uLmNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYW5lbENsYXNzID0gW2NvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICBwYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3QgeyBtYXREaWFsb2dSZWYsIGRyYWdSZWZTdWJqZWN0IH06IElEcmFnZ2FibGVSZWZzPFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQ+ID1cbiAgICAgIHRoaXMuX3RkRGlhbG9nU2VydmljZS5vcGVuRHJhZ2dhYmxlKHtcbiAgICAgICAgY29tcG9uZW50OiBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICAgICAgICBjb25maWc6IGRyYWdnYWJsZUNvbmZpZyxcbiAgICAgICAgZHJhZ0hhbmRsZVNlbGVjdG9yczogWycudGQtd2luZG93LWRpYWxvZy10b29sYmFyJ10sXG4gICAgICAgIGRyYWdnYWJsZUNsYXNzOiAndGQtZHJhZ2dhYmxlLW1hcmtkb3duLW5hdmlnYXRvci13aW5kb3cnLFxuICAgICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyA9IG1hdERpYWxvZ1JlZjtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLml0ZW1zID0gY29uZmlnLml0ZW1zO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UubGFiZWxzID0gY29uZmlnLmxhYmVscztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLnN0YXJ0QXQgPSBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPSBjb25maWcuY29weUNvZGVUb0NsaXBib2FyZDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9vbHRpcHMgPSBjb25maWcuY29weUNvZGVUb29sdGlwcztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvbXBhcmVXaXRoID0gY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZixcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5faGFuZGxlRXZlbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2c7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpIHtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZykge1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5kZXRhY2goKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cygpOiB2b2lkIHtcbiAgICBsZXQgcG9zaXRpb246IFBvaW50O1xuICAgIGxldCBkaW1lbnNpb25zOiBJRGlhbG9nRGltZW5zaW9ucztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmRvY2tUb2dnbGVkLnN1YnNjcmliZSgoZG9ja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoZG9ja2VkKSB7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlU2l6ZShkaW1lbnNpb25zLndpZHRoLCBkaW1lbnNpb25zLmhlaWdodCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlUG9zaXRpb24oeyB0b3A6ICcwcHgnLCByaWdodDogJzBweCcsIGJvdHRvbTogJzBweCcsIGxlZnQ6ICcwcHgnIH0pO1xuICAgICAgICB0aGlzLmRyYWdSZWYuc2V0RnJlZURyYWdQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgIHRoaXMuZHJhZ1JlZi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5hdHRhY2goKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpbWVuc2lvbnMgPSB0aGlzLl9nZXREaWFsb2dTaXplKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpO1xuICAgICAgICBwb3NpdGlvbiA9IHRoaXMuZHJhZ1JlZi5nZXRGcmVlRHJhZ1Bvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy51cGRhdGVTaXplKERFRkFVTFRfV0lEVEgsIE1JTl9IRUlHSFQpO1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLnVwZGF0ZVBvc2l0aW9uKERFRkFVTFRfUE9TSVRJT04pO1xuICAgICAgICB0aGlzLmRyYWdSZWYucmVzZXQoKTtcbiAgICAgICAgdGhpcy5kcmFnUmVmLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ1xuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4tLTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nU2l6ZShkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50Pik6IElEaWFsb2dEaW1lbnNpb25zIHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldENvbXB1dGVkU3R5bGUoXG4gICAgICAoPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpYWxvZ1JlZi5pZCkpLnBhcmVudEVsZW1lbnQsXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgfTtcbiAgfVxufVxuIl19