@covalent/markdown-navigator 4.0.0 → 4.1.0-develop.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -58
- package/covalent-markdown-navigator.d.ts +2 -2
- package/esm2020/covalent-markdown-navigator.mjs +5 -0
- package/esm2020/markdown-navigator-window/markdown-navigator-window.component.mjs +84 -0
- package/esm2020/markdown-navigator-window-directive/markdown-navigator-window.directive.mjs +32 -0
- package/esm2020/markdown-navigator-window-service/markdown-navigator-window.service.mjs +130 -0
- package/esm2020/markdown-navigator.component.mjs +394 -0
- package/esm2020/markdown-navigator.module.mjs +73 -0
- package/esm2020/public_api.mjs +6 -0
- package/fesm2015/covalent-markdown-navigator.mjs +711 -0
- package/fesm2015/covalent-markdown-navigator.mjs.map +1 -0
- package/fesm2020/covalent-markdown-navigator.mjs +699 -0
- package/fesm2020/covalent-markdown-navigator.mjs.map +1 -0
- package/markdown-navigator-window/markdown-navigator-window.component.d.ts +15 -12
- package/markdown-navigator-window-directive/markdown-navigator-window.directive.d.ts +4 -1
- package/markdown-navigator-window-service/markdown-navigator-window.service.d.ts +3 -0
- package/markdown-navigator.component.d.ts +21 -18
- package/markdown-navigator.module.d.ts +16 -0
- package/package.json +38 -41
- package/{public-api.d.ts → public_api.d.ts} +1 -0
- package/bundles/covalent-markdown-navigator.umd.js +0 -1650
- package/bundles/covalent-markdown-navigator.umd.js.map +0 -1
- package/bundles/covalent-markdown-navigator.umd.min.js +0 -16
- package/bundles/covalent-markdown-navigator.umd.min.js.map +0 -1
- package/covalent-markdown-navigator.metadata.json +0 -1
- package/esm2015/covalent-markdown-navigator.js +0 -11
- package/esm2015/index.js +0 -7
- package/esm2015/markdown-navigator-window/markdown-navigator-window.component.js +0 -129
- package/esm2015/markdown-navigator-window-directive/markdown-navigator-window.directive.js +0 -50
- package/esm2015/markdown-navigator-window-service/markdown-navigator-window.service.js +0 -254
- package/esm2015/markdown-navigator.component.js +0 -698
- package/esm2015/markdown-navigator.module.js +0 -41
- package/esm2015/public-api.js +0 -10
- package/fesm2015/covalent-markdown-navigator.js +0 -1181
- package/fesm2015/covalent-markdown-navigator.js.map +0 -1
- package/index.d.ts +0 -1
- package/markdown-navigator-window/markdown-navigator-window.component.scss +0 -8
- package/markdown-navigator.component.scss +0 -50
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: markdown-navigator-window/markdown-navigator-window.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type } from '@angular/core';
|
|
7
|
-
/**
|
|
8
|
-
* @record
|
|
9
|
-
*/
|
|
10
|
-
export function IMarkdownNavigatorWindowLabels() { }
|
|
11
|
-
if (false) {
|
|
12
|
-
/** @type {?|undefined} */
|
|
13
|
-
IMarkdownNavigatorWindowLabels.prototype.title;
|
|
14
|
-
/** @type {?|undefined} */
|
|
15
|
-
IMarkdownNavigatorWindowLabels.prototype.close;
|
|
16
|
-
/** @type {?|undefined} */
|
|
17
|
-
IMarkdownNavigatorWindowLabels.prototype.dock;
|
|
18
|
-
/** @type {?|undefined} */
|
|
19
|
-
IMarkdownNavigatorWindowLabels.prototype.unDock;
|
|
20
|
-
}
|
|
21
|
-
/** @type {?} */
|
|
22
|
-
export const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS = {
|
|
23
|
-
title: 'Help',
|
|
24
|
-
close: 'Close',
|
|
25
|
-
dock: 'Dock',
|
|
26
|
-
unDock: 'Undock',
|
|
27
|
-
};
|
|
28
|
-
export class TdMarkdownNavigatorWindowComponent {
|
|
29
|
-
constructor() {
|
|
30
|
-
this.toolbarColor = 'primary';
|
|
31
|
-
this.docked = false;
|
|
32
|
-
this.copyCodeToClipboard = false;
|
|
33
|
-
this.copyCodeTooltips = {};
|
|
34
|
-
this.closed = new EventEmitter();
|
|
35
|
-
this.dockToggled = new EventEmitter();
|
|
36
|
-
this.buttonClicked = new EventEmitter();
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
get markdownNavigatorLabels() {
|
|
42
|
-
if (this.labels) {
|
|
43
|
-
const { goHome, goBack, emptyState } = this.labels;
|
|
44
|
-
return {
|
|
45
|
-
goHome,
|
|
46
|
-
goBack,
|
|
47
|
-
emptyState,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
get titleLabel() {
|
|
55
|
-
return (this.labels && this.labels.title) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
get closeLabel() {
|
|
61
|
-
return (this.labels && this.labels.close) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* @return {?}
|
|
65
|
-
*/
|
|
66
|
-
get toggleDockedStateLabel() {
|
|
67
|
-
if (this.docked) {
|
|
68
|
-
return (this.labels && this.labels.unDock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return (this.labels && this.labels.dock) || DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @return {?}
|
|
76
|
-
*/
|
|
77
|
-
toggleDockedState() {
|
|
78
|
-
this.dockToggled.emit(this.docked);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
TdMarkdownNavigatorWindowComponent.decorators = [
|
|
82
|
-
{ type: Component, args: [{
|
|
83
|
-
selector: 'td-markdown-navigator-window',
|
|
84
|
-
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",
|
|
85
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
86
|
-
styles: [":host{-ms-flex-direction:column;display:-ms-flexbox;display:flex;flex-direction:column;height:100%}td-markdown-navigator{height:calc(100% - 56px)}"]
|
|
87
|
-
}] }
|
|
88
|
-
];
|
|
89
|
-
TdMarkdownNavigatorWindowComponent.propDecorators = {
|
|
90
|
-
items: [{ type: Input }],
|
|
91
|
-
labels: [{ type: Input }],
|
|
92
|
-
toolbarColor: [{ type: Input }],
|
|
93
|
-
startAt: [{ type: Input }],
|
|
94
|
-
compareWith: [{ type: Input }],
|
|
95
|
-
docked: [{ type: Input }],
|
|
96
|
-
copyCodeToClipboard: [{ type: Input }],
|
|
97
|
-
copyCodeTooltips: [{ type: Input }],
|
|
98
|
-
footer: [{ type: Input }],
|
|
99
|
-
closed: [{ type: Output }],
|
|
100
|
-
dockToggled: [{ type: Output }],
|
|
101
|
-
buttonClicked: [{ type: Output }]
|
|
102
|
-
};
|
|
103
|
-
if (false) {
|
|
104
|
-
/** @type {?} */
|
|
105
|
-
TdMarkdownNavigatorWindowComponent.prototype.items;
|
|
106
|
-
/** @type {?} */
|
|
107
|
-
TdMarkdownNavigatorWindowComponent.prototype.labels;
|
|
108
|
-
/** @type {?} */
|
|
109
|
-
TdMarkdownNavigatorWindowComponent.prototype.toolbarColor;
|
|
110
|
-
/** @type {?} */
|
|
111
|
-
TdMarkdownNavigatorWindowComponent.prototype.startAt;
|
|
112
|
-
/** @type {?} */
|
|
113
|
-
TdMarkdownNavigatorWindowComponent.prototype.compareWith;
|
|
114
|
-
/** @type {?} */
|
|
115
|
-
TdMarkdownNavigatorWindowComponent.prototype.docked;
|
|
116
|
-
/** @type {?} */
|
|
117
|
-
TdMarkdownNavigatorWindowComponent.prototype.copyCodeToClipboard;
|
|
118
|
-
/** @type {?} */
|
|
119
|
-
TdMarkdownNavigatorWindowComponent.prototype.copyCodeTooltips;
|
|
120
|
-
/** @type {?} */
|
|
121
|
-
TdMarkdownNavigatorWindowComponent.prototype.footer;
|
|
122
|
-
/** @type {?} */
|
|
123
|
-
TdMarkdownNavigatorWindowComponent.prototype.closed;
|
|
124
|
-
/** @type {?} */
|
|
125
|
-
TdMarkdownNavigatorWindowComponent.prototype.dockToggled;
|
|
126
|
-
/** @type {?} */
|
|
127
|
-
TdMarkdownNavigatorWindowComponent.prototype.buttonClicked;
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci8iLCJzb3VyY2VzIjpbIm1hcmtkb3duLW5hdmlnYXRvci13aW5kb3cvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVV0RyxvREFLQzs7O0lBSkMsK0NBQWU7O0lBQ2YsK0NBQWU7O0lBQ2YsOENBQWM7O0lBQ2QsZ0RBQWdCOzs7QUFFbEIsTUFBTSxPQUFPLHdDQUF3QyxHQUFtQztJQUN0RixLQUFLLEVBQUUsTUFBTTtJQUNiLEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNqQjtBQVFELE1BQU0sT0FBTyxrQ0FBa0M7SUFOL0M7UUFTVyxpQkFBWSxHQUFpQixTQUFTLENBQUM7UUFHdkMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMscUJBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUd4QyxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxrQkFBYSxHQUFzRCxJQUFJLFlBQVksRUFBRSxDQUFDO0lBK0JsRyxDQUFDOzs7O0lBN0JDLElBQUksdUJBQXVCO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtrQkFDVCxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQW1DLElBQUksQ0FBQyxNQUFNO1lBQ2xGLE9BQU87Z0JBQ0wsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFVBQVU7YUFDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7O0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxLQUFLLENBQUM7SUFDOUYsQ0FBQzs7OztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksd0NBQXdDLENBQUMsS0FBSyxDQUFDO0lBQzlGLENBQUM7Ozs7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLE1BQU0sQ0FBQztTQUMvRjthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxJQUFJLENBQUM7U0FDM0Y7SUFDSCxDQUFDOzs7O0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsZ3NCQUF5RDtnQkFFekQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7b0JBRUUsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO3FCQUNMLEtBQUs7a0NBQ0wsS0FBSzsrQkFDTCxLQUFLO3FCQUNMLEtBQUs7cUJBRUwsTUFBTTswQkFDTixNQUFNOzRCQUNOLE1BQU07Ozs7SUFaUCxtREFBeUM7O0lBQ3pDLG9EQUFnRDs7SUFDaEQsMERBQWdEOztJQUNoRCxxREFBb0U7O0lBQ3BFLHlEQUFvRDs7SUFDcEQsb0RBQWlDOztJQUNqQyxpRUFBOEM7O0lBQzlDLDhEQUFrRDs7SUFDbEQsb0RBQTJCOztJQUUzQixvREFBMEQ7O0lBQzFELHlEQUFrRTs7SUFDbEUsMkRBQWdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIElNYXJrZG93bk5hdmlnYXRvckxhYmVscyxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB7XG4gIHRpdGxlOiAnSGVscCcsXG4gIGNsb3NlOiAnQ2xvc2UnLFxuICBkb2NrOiAnRG9jaycsXG4gIHVuRG9jazogJ1VuZG9jaycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgbGFiZWxzOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGg7XG4gIEBJbnB1dCgpIGRvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGZvb3RlcjogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICAgIGlmICh0aGlzLmxhYmVscykge1xuICAgICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPSB0aGlzLmxhYmVscztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGdvSG9tZSxcbiAgICAgICAgZ29CYWNrLFxuICAgICAgICBlbXB0eVN0YXRlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgZ2V0IHRpdGxlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLnRpdGxlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlO1xuICB9XG5cbiAgZ2V0IGNsb3NlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFiZWxzICYmIHRoaXMubGFiZWxzLmNsb3NlKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmNsb3NlO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudW5Eb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnVuRG9jaztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5kb2NrKSB8fCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLmRvY2s7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRG9ja2VkU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5kb2NrVG9nZ2xlZC5lbWl0KHRoaXMuZG9ja2VkKTtcbiAgfVxufVxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: markdown-navigator-window-directive/markdown-navigator-window.directive.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
7
|
-
import { TdMarkdownNavigatorWindowService, } from '../markdown-navigator-window-service/markdown-navigator-window.service';
|
|
8
|
-
export class TdMarkdownNavigatorWindowDirective {
|
|
9
|
-
/**
|
|
10
|
-
* @param {?} _markdownNavigatorWindowService
|
|
11
|
-
*/
|
|
12
|
-
constructor(_markdownNavigatorWindowService) {
|
|
13
|
-
this._markdownNavigatorWindowService = _markdownNavigatorWindowService;
|
|
14
|
-
this.disabled = false;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
click() {
|
|
20
|
-
if (!this.disabled) {
|
|
21
|
-
this._markdownNavigatorWindowService.open(this.config);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
TdMarkdownNavigatorWindowDirective.decorators = [
|
|
26
|
-
{ type: Directive, args: [{
|
|
27
|
-
selector: '[tdMarkdownNavigatorWindow]',
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
/** @nocollapse */
|
|
31
|
-
TdMarkdownNavigatorWindowDirective.ctorParameters = () => [
|
|
32
|
-
{ type: TdMarkdownNavigatorWindowService }
|
|
33
|
-
];
|
|
34
|
-
TdMarkdownNavigatorWindowDirective.propDecorators = {
|
|
35
|
-
config: [{ type: Input, args: ['tdMarkdownNavigatorWindow',] }],
|
|
36
|
-
disabled: [{ type: Input }],
|
|
37
|
-
click: [{ type: HostListener, args: ['click',] }]
|
|
38
|
-
};
|
|
39
|
-
if (false) {
|
|
40
|
-
/** @type {?} */
|
|
41
|
-
TdMarkdownNavigatorWindowDirective.prototype.config;
|
|
42
|
-
/** @type {?} */
|
|
43
|
-
TdMarkdownNavigatorWindowDirective.prototype.disabled;
|
|
44
|
-
/**
|
|
45
|
-
* @type {?}
|
|
46
|
-
* @private
|
|
47
|
-
*/
|
|
48
|
-
TdMarkdownNavigatorWindowDirective.prototype._markdownNavigatorWindowService;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL21hcmtkb3duLW5hdmlnYXRvci8iLCJzb3VyY2VzIjpbIm1hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctZGlyZWN0aXZlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3RUFBd0UsQ0FBQztBQUtoRixNQUFNLE9BQU8sa0NBQWtDOzs7O0lBRzdDLFlBQW9CLCtCQUFpRTtRQUFqRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWtDO1FBRDVFLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFDcUQsQ0FBQzs7OztJQUVsRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7O1lBWkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7YUFDeEM7Ozs7WUFOQyxnQ0FBZ0M7OztxQkFRL0IsS0FBSyxTQUFDLDJCQUEyQjt1QkFDakMsS0FBSztvQkFHTCxZQUFZLFNBQUMsT0FBTzs7OztJQUpyQixvREFBMkU7O0lBQzNFLHNEQUFtQzs7Ozs7SUFDdkIsNkVBQXlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnLFxufSBmcm9tICcuLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpcmVjdGl2ZSB7XG4gIEBJbnB1dCgndGRNYXJrZG93bk5hdmlnYXRvcldpbmRvdycpIGNvbmZpZzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2U6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: markdown-navigator-window-service/markdown-navigator-window.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable, Inject, RendererFactory2 } from '@angular/core';
|
|
7
|
-
import { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';
|
|
8
|
-
import { TdDialogService, ResizableDraggableDialog } from '@covalent/core/dialogs';
|
|
9
|
-
import { DOCUMENT } from '@angular/common';
|
|
10
|
-
/**
|
|
11
|
-
* @record
|
|
12
|
-
*/
|
|
13
|
-
export function IMarkdownNavigatorWindowConfig() { }
|
|
14
|
-
if (false) {
|
|
15
|
-
/** @type {?} */
|
|
16
|
-
IMarkdownNavigatorWindowConfig.prototype.items;
|
|
17
|
-
/** @type {?|undefined} */
|
|
18
|
-
IMarkdownNavigatorWindowConfig.prototype.dialogConfig;
|
|
19
|
-
/** @type {?|undefined} */
|
|
20
|
-
IMarkdownNavigatorWindowConfig.prototype.labels;
|
|
21
|
-
/** @type {?|undefined} */
|
|
22
|
-
IMarkdownNavigatorWindowConfig.prototype.toolbarColor;
|
|
23
|
-
/** @type {?|undefined} */
|
|
24
|
-
IMarkdownNavigatorWindowConfig.prototype.startAt;
|
|
25
|
-
/** @type {?|undefined} */
|
|
26
|
-
IMarkdownNavigatorWindowConfig.prototype.compareWith;
|
|
27
|
-
/** @type {?|undefined} */
|
|
28
|
-
IMarkdownNavigatorWindowConfig.prototype.copyCodeToClipboard;
|
|
29
|
-
/** @type {?|undefined} */
|
|
30
|
-
IMarkdownNavigatorWindowConfig.prototype.copyCodeTooltips;
|
|
31
|
-
/** @type {?|undefined} */
|
|
32
|
-
IMarkdownNavigatorWindowConfig.prototype.footer;
|
|
33
|
-
}
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
const CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
const DEFAULT_POSITION = { bottom: '0px', right: '0px' };
|
|
38
|
-
/** @type {?} */
|
|
39
|
-
const DEFAULT_WIDTH = '360px';
|
|
40
|
-
/** @type {?} */
|
|
41
|
-
const DEFAULT_HEIGHT = '75vh';
|
|
42
|
-
/** @type {?} */
|
|
43
|
-
const MIN_HEIGHT = '56px';
|
|
44
|
-
/** @type {?} */
|
|
45
|
-
const MAX_WIDTH = '100vw';
|
|
46
|
-
/** @type {?} */
|
|
47
|
-
const DEFAULT_DRAGGABLE_DIALOG_CONFIG = {
|
|
48
|
-
hasBackdrop: false,
|
|
49
|
-
closeOnNavigation: true,
|
|
50
|
-
panelClass: [CDK_OVERLAY_CUSTOM_CLASS],
|
|
51
|
-
position: DEFAULT_POSITION,
|
|
52
|
-
height: DEFAULT_HEIGHT,
|
|
53
|
-
width: DEFAULT_WIDTH,
|
|
54
|
-
maxWidth: MAX_WIDTH,
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* @record
|
|
58
|
-
*/
|
|
59
|
-
function IDialogDimensions() { }
|
|
60
|
-
if (false) {
|
|
61
|
-
/** @type {?} */
|
|
62
|
-
IDialogDimensions.prototype.width;
|
|
63
|
-
/** @type {?} */
|
|
64
|
-
IDialogDimensions.prototype.height;
|
|
65
|
-
}
|
|
66
|
-
export class TdMarkdownNavigatorWindowService {
|
|
67
|
-
/**
|
|
68
|
-
* @param {?} _tdDialogService
|
|
69
|
-
* @param {?} _document
|
|
70
|
-
* @param {?} rendererFactory
|
|
71
|
-
*/
|
|
72
|
-
constructor(_tdDialogService, _document, rendererFactory) {
|
|
73
|
-
this._tdDialogService = _tdDialogService;
|
|
74
|
-
this._document = _document;
|
|
75
|
-
this.rendererFactory = rendererFactory;
|
|
76
|
-
this.markdownNavigatorWindowDialog = undefined;
|
|
77
|
-
this.markdownNavigatorWindowDialogsOpen = 0;
|
|
78
|
-
this._renderer2 = rendererFactory.createRenderer(undefined, undefined);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @param {?} config
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
open(config) {
|
|
85
|
-
this.close();
|
|
86
|
-
/** @type {?} */
|
|
87
|
-
let panelClass = [...DEFAULT_DRAGGABLE_DIALOG_CONFIG.panelClass];
|
|
88
|
-
if (config.dialogConfig && config.dialogConfig.panelClass) {
|
|
89
|
-
if (Array.isArray(config.dialogConfig.panelClass)) {
|
|
90
|
-
panelClass = [...config.dialogConfig.panelClass];
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
panelClass = [config.dialogConfig.panelClass];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/** @type {?} */
|
|
97
|
-
const draggableConfig = Object.assign(Object.assign(Object.assign({}, DEFAULT_DRAGGABLE_DIALOG_CONFIG), config.dialogConfig), { panelClass });
|
|
98
|
-
const { matDialogRef, dragRefSubject } = this._tdDialogService.openDraggable({
|
|
99
|
-
component: TdMarkdownNavigatorWindowComponent,
|
|
100
|
-
config: draggableConfig,
|
|
101
|
-
dragHandleSelectors: ['.td-window-dialog-toolbar'],
|
|
102
|
-
draggableClass: 'td-draggable-markdown-navigator-window',
|
|
103
|
-
});
|
|
104
|
-
this.markdownNavigatorWindowDialog = matDialogRef;
|
|
105
|
-
this.markdownNavigatorWindowDialog.componentInstance.items = config.items;
|
|
106
|
-
this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;
|
|
107
|
-
this.markdownNavigatorWindowDialog.componentInstance.startAt = config.startAt;
|
|
108
|
-
this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard = config.copyCodeToClipboard;
|
|
109
|
-
this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips = config.copyCodeTooltips;
|
|
110
|
-
this.markdownNavigatorWindowDialog.componentInstance.compareWith = config.compareWith;
|
|
111
|
-
this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =
|
|
112
|
-
'toolbarColor' in config ? config.toolbarColor : 'primary';
|
|
113
|
-
this.markdownNavigatorWindowDialogsOpen++;
|
|
114
|
-
this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;
|
|
115
|
-
dragRefSubject.subscribe((/**
|
|
116
|
-
* @param {?} dragRf
|
|
117
|
-
* @return {?}
|
|
118
|
-
*/
|
|
119
|
-
(dragRf) => {
|
|
120
|
-
this.dragRef = dragRf;
|
|
121
|
-
this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);
|
|
122
|
-
}));
|
|
123
|
-
this._handleEvents();
|
|
124
|
-
return this.markdownNavigatorWindowDialog;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* @return {?}
|
|
128
|
-
*/
|
|
129
|
-
close() {
|
|
130
|
-
if (this.markdownNavigatorWindowDialog) {
|
|
131
|
-
if (this.resizableDraggableDialog) {
|
|
132
|
-
this.resizableDraggableDialog.detach();
|
|
133
|
-
}
|
|
134
|
-
this.markdownNavigatorWindowDialog.close();
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* @return {?}
|
|
139
|
-
*/
|
|
140
|
-
get isOpen() {
|
|
141
|
-
return this.markdownNavigatorWindowDialogsOpen > 0;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* @private
|
|
145
|
-
* @return {?}
|
|
146
|
-
*/
|
|
147
|
-
_handleEvents() {
|
|
148
|
-
/** @type {?} */
|
|
149
|
-
let position;
|
|
150
|
-
/** @type {?} */
|
|
151
|
-
let dimensions;
|
|
152
|
-
this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe((/**
|
|
153
|
-
* @return {?}
|
|
154
|
-
*/
|
|
155
|
-
() => this.close()));
|
|
156
|
-
this.markdownNavigatorWindowDialog.componentInstance.dockToggled.subscribe((/**
|
|
157
|
-
* @param {?} docked
|
|
158
|
-
* @return {?}
|
|
159
|
-
*/
|
|
160
|
-
(docked) => {
|
|
161
|
-
if (docked) {
|
|
162
|
-
this.markdownNavigatorWindowDialog.componentInstance.docked = false;
|
|
163
|
-
this.markdownNavigatorWindowDialog.updateSize(dimensions.width, dimensions.height);
|
|
164
|
-
this.markdownNavigatorWindowDialog.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });
|
|
165
|
-
this.dragRef.setFreeDragPosition(position);
|
|
166
|
-
this.dragRef.disabled = false;
|
|
167
|
-
this.resizableDraggableDialog.attach();
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
dimensions = this._getDialogSize(this.markdownNavigatorWindowDialog);
|
|
171
|
-
position = this.dragRef.getFreeDragPosition();
|
|
172
|
-
this.markdownNavigatorWindowDialog.componentInstance.docked = true;
|
|
173
|
-
this.markdownNavigatorWindowDialog.updateSize(DEFAULT_WIDTH, MIN_HEIGHT);
|
|
174
|
-
this.markdownNavigatorWindowDialog.updatePosition(DEFAULT_POSITION);
|
|
175
|
-
this.dragRef.reset();
|
|
176
|
-
this.dragRef.disabled = true;
|
|
177
|
-
this.resizableDraggableDialog.detach();
|
|
178
|
-
}
|
|
179
|
-
}));
|
|
180
|
-
this.markdownNavigatorWindowDialog
|
|
181
|
-
.afterClosed()
|
|
182
|
-
.toPromise()
|
|
183
|
-
.then((/**
|
|
184
|
-
* @return {?}
|
|
185
|
-
*/
|
|
186
|
-
() => {
|
|
187
|
-
this.markdownNavigatorWindowDialogsOpen--;
|
|
188
|
-
}));
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* @private
|
|
192
|
-
* @param {?} dialogRef
|
|
193
|
-
* @return {?}
|
|
194
|
-
*/
|
|
195
|
-
_getDialogSize(dialogRef) {
|
|
196
|
-
const { width, height } = getComputedStyle(((/** @type {?} */ (this._document.getElementById(dialogRef.id)))).parentElement);
|
|
197
|
-
return {
|
|
198
|
-
width,
|
|
199
|
-
height,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
TdMarkdownNavigatorWindowService.decorators = [
|
|
204
|
-
{ type: Injectable }
|
|
205
|
-
];
|
|
206
|
-
/** @nocollapse */
|
|
207
|
-
TdMarkdownNavigatorWindowService.ctorParameters = () => [
|
|
208
|
-
{ type: TdDialogService },
|
|
209
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
|
|
210
|
-
{ type: RendererFactory2 }
|
|
211
|
-
];
|
|
212
|
-
if (false) {
|
|
213
|
-
/**
|
|
214
|
-
* @type {?}
|
|
215
|
-
* @private
|
|
216
|
-
*/
|
|
217
|
-
TdMarkdownNavigatorWindowService.prototype._renderer2;
|
|
218
|
-
/**
|
|
219
|
-
* @type {?}
|
|
220
|
-
* @private
|
|
221
|
-
*/
|
|
222
|
-
TdMarkdownNavigatorWindowService.prototype.dragRef;
|
|
223
|
-
/**
|
|
224
|
-
* @type {?}
|
|
225
|
-
* @private
|
|
226
|
-
*/
|
|
227
|
-
TdMarkdownNavigatorWindowService.prototype.resizableDraggableDialog;
|
|
228
|
-
/**
|
|
229
|
-
* @type {?}
|
|
230
|
-
* @private
|
|
231
|
-
*/
|
|
232
|
-
TdMarkdownNavigatorWindowService.prototype.markdownNavigatorWindowDialog;
|
|
233
|
-
/**
|
|
234
|
-
* @type {?}
|
|
235
|
-
* @private
|
|
236
|
-
*/
|
|
237
|
-
TdMarkdownNavigatorWindowService.prototype.markdownNavigatorWindowDialogsOpen;
|
|
238
|
-
/**
|
|
239
|
-
* @type {?}
|
|
240
|
-
* @private
|
|
241
|
-
*/
|
|
242
|
-
TdMarkdownNavigatorWindowService.prototype._tdDialogService;
|
|
243
|
-
/**
|
|
244
|
-
* @type {?}
|
|
245
|
-
* @private
|
|
246
|
-
*/
|
|
247
|
-
TdMarkdownNavigatorWindowService.prototype._document;
|
|
248
|
-
/**
|
|
249
|
-
* @type {?}
|
|
250
|
-
* @private
|
|
251
|
-
*/
|
|
252
|
-
TdMarkdownNavigatorWindowService.prototype.rendererFactory;
|
|
253
|
-
}
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9tYXJrZG93bi1uYXZpZ2F0b3IvIiwic291cmNlcyI6WyJtYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LXNlcnZpY2UvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5HLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUkzQyxvREFVQzs7O0lBVEMsK0NBQWdDOztJQUNoQyxzREFBK0I7O0lBQy9CLGdEQUF3Qzs7SUFDeEMsc0RBQTRCOztJQUM1QixpREFBNEQ7O0lBQzVELHFEQUE0Qzs7SUFDNUMsNkRBQThCOztJQUM5QiwwREFBcUM7O0lBQ3JDLGdEQUFtQjs7O01BR2Ysd0JBQXdCLEdBQVcsa0JBQWtCOztNQUVyRCxnQkFBZ0IsR0FBbUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7O01BQ2xFLGFBQWEsR0FBVyxPQUFPOztNQUMvQixjQUFjLEdBQVcsTUFBTTs7TUFDL0IsVUFBVSxHQUFXLE1BQU07O01BQzNCLFNBQVMsR0FBVyxPQUFPOztNQUUzQiwrQkFBK0IsR0FBb0I7SUFDdkQsV0FBVyxFQUFFLEtBQUs7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCOzs7O0FBRUQsZ0NBR0M7OztJQUZDLGtDQUFjOztJQUNkLG1DQUFlOztBQUlqQixNQUFNLE9BQU8sZ0NBQWdDOzs7Ozs7SUFPM0MsWUFDVSxnQkFBaUMsRUFDZixTQUFjLEVBQ2hDLGVBQWlDO1FBRmpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQU5uQyxrQ0FBNkIsR0FBcUQsU0FBUyxDQUFDO1FBQzVGLHVDQUFrQyxHQUFXLENBQUMsQ0FBQztRQU9yRCxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLE1BQXNDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7WUFFVCxVQUFVLEdBQWEsQ0FBQyxHQUFHLCtCQUErQixDQUFDLFVBQVUsQ0FBQztRQUMxRSxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUU7WUFDekQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pELFVBQVUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNsRDtpQkFBTTtnQkFDTCxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9DO1NBQ0Y7O2NBQ0ssZUFBZSxpREFDaEIsK0JBQStCLEdBQy9CLE1BQU0sQ0FBQyxZQUFZLEtBQ3RCLFVBQVUsR0FDWDtjQUNLLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxHQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxrQ0FBa0M7WUFDN0MsTUFBTSxFQUFFLGVBQWU7WUFDdkIsbUJBQW1CLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUNsRCxjQUFjLEVBQUUsd0NBQXdDO1NBQ3pELENBQUM7UUFDSixJQUFJLENBQUMsNkJBQTZCLEdBQUcsWUFBWSxDQUFDO1FBQ2xELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdEcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEYsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLFlBQVk7WUFDL0QsY0FBYyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzdELElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1RSxjQUFjLENBQUMsU0FBUzs7OztRQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksd0JBQXdCLENBQzFELElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsNkJBQTZCLEVBQ2xDLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUNKLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsNkJBQTZCLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN4QztZQUNELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7Ozs7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTyxhQUFhOztZQUNmLFFBQWU7O1lBQ2YsVUFBNkI7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQzdGLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRixJQUFJLENBQUMsNkJBQTZCLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzVHLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNMLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUNyRSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbkUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyw2QkFBNkI7YUFDL0IsV0FBVyxFQUFFO2FBQ2IsU0FBUyxFQUFFO2FBQ1gsSUFBSTs7O1FBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7Ozs7SUFFTyxjQUFjLENBQUMsU0FBMkQ7Y0FDMUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQ3hDLENBQUMsbUJBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFBLENBQUMsQ0FBQyxhQUFhLENBQ3pFO1FBQ0QsT0FBTztZQUNMLEtBQUs7WUFDTCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7OztZQW5IRixVQUFVOzs7O1lBekNGLGVBQWU7NENBbURuQixNQUFNLFNBQUMsUUFBUTtZQTFEUyxnQkFBZ0I7Ozs7Ozs7SUFrRDNDLHNEQUE4Qjs7Ozs7SUFDOUIsbURBQXlCOzs7OztJQUN6QixvRUFBMkQ7Ozs7O0lBQzNELHlFQUFvRzs7Ozs7SUFDcEcsOEVBQXVEOzs7OztJQUdyRCw0REFBeUM7Ozs7O0lBQ3pDLHFEQUF3Qzs7Ozs7SUFDeEMsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBSZW5kZXJlckZhY3RvcnkyLCBSZW5kZXJlcjIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29uZmlnLCBEaWFsb2dQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZERpYWxvZ1NlcnZpY2UsIElEcmFnZ2FibGVSZWZzLCBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2cgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcC9kcmFnLXJlZic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLCBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCB9IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcge1xuICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscztcbiAgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgY29weUNvZGVUb0NsaXBib2FyZD86IGJvb2xlYW47XG4gIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwcztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xufVxuXG5jb25zdCBDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1M6IHN0cmluZyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSDogc3RyaW5nID0gJzM2MHB4JztcbmNvbnN0IERFRkFVTFRfSEVJR0hUOiBzdHJpbmcgPSAnNzV2aCc7XG5jb25zdCBNSU5fSEVJR0hUOiBzdHJpbmcgPSAnNTZweCc7XG5jb25zdCBNQVhfV0lEVEg6IHN0cmluZyA9ICcxMDB2dyc7XG5cbmNvbnN0IERFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgcGFuZWxDbGFzczogW0NES19PVkVSTEFZX0NVU1RPTV9DTEFTU10sXG4gIHBvc2l0aW9uOiBERUZBVUxUX1BPU0lUSU9OLFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICB3aWR0aDogREVGQVVMVF9XSURUSCxcbiAgbWF4V2lkdGg6IE1BWF9XSURUSCxcbn07XG5cbmludGVyZmFjZSBJRGlhbG9nRGltZW5zaW9ucyB7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBkcmFnUmVmOiBEcmFnUmVmO1xuICBwcml2YXRlIHJlc2l6YWJsZURyYWdnYWJsZURpYWxvZzogUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nO1xuICBwcml2YXRlIG1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbjogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF90ZERpYWxvZ1NlcnZpY2U6IFRkRGlhbG9nU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oY29uZmlnOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcpOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4ge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIGxldCBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsuLi5ERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHLnBhbmVsQ2xhc3NdO1xuICAgIGlmIChjb25maWcuZGlhbG9nQ29uZmlnICYmIGNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzKSkge1xuICAgICAgICBwYW5lbENsYXNzID0gWy4uLmNvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYW5lbENsYXNzID0gW2NvbmZpZy5kaWFsb2dDb25maWcucGFuZWxDbGFzc107XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICBwYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3QgeyBtYXREaWFsb2dSZWYsIGRyYWdSZWZTdWJqZWN0IH06IElEcmFnZ2FibGVSZWZzPFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQ+ID1cbiAgICAgIHRoaXMuX3RkRGlhbG9nU2VydmljZS5vcGVuRHJhZ2dhYmxlKHtcbiAgICAgICAgY29tcG9uZW50OiBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICAgICAgICBjb25maWc6IGRyYWdnYWJsZUNvbmZpZyxcbiAgICAgICAgZHJhZ0hhbmRsZVNlbGVjdG9yczogWycudGQtd2luZG93LWRpYWxvZy10b29sYmFyJ10sXG4gICAgICAgIGRyYWdnYWJsZUNsYXNzOiAndGQtZHJhZ2dhYmxlLW1hcmtkb3duLW5hdmlnYXRvci13aW5kb3cnLFxuICAgICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyA9IG1hdERpYWxvZ1JlZjtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLml0ZW1zID0gY29uZmlnLml0ZW1zO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UubGFiZWxzID0gY29uZmlnLmxhYmVscztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLnN0YXJ0QXQgPSBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPSBjb25maWcuY29weUNvZGVUb0NsaXBib2FyZDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9vbHRpcHMgPSBjb25maWcuY29weUNvZGVUb29sdGlwcztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvbXBhcmVXaXRoID0gY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZixcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5faGFuZGxlRXZlbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2c7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpIHtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZykge1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5kZXRhY2goKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cygpOiB2b2lkIHtcbiAgICBsZXQgcG9zaXRpb246IFBvaW50O1xuICAgIGxldCBkaW1lbnNpb25zOiBJRGlhbG9nRGltZW5zaW9ucztcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmRvY2tUb2dnbGVkLnN1YnNjcmliZSgoZG9ja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoZG9ja2VkKSB7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlU2l6ZShkaW1lbnNpb25zLndpZHRoLCBkaW1lbnNpb25zLmhlaWdodCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cudXBkYXRlUG9zaXRpb24oeyB0b3A6ICcwcHgnLCByaWdodDogJzBweCcsIGJvdHRvbTogJzBweCcsIGxlZnQ6ICcwcHgnIH0pO1xuICAgICAgICB0aGlzLmRyYWdSZWYuc2V0RnJlZURyYWdQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgIHRoaXMuZHJhZ1JlZi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5hdHRhY2goKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpbWVuc2lvbnMgPSB0aGlzLl9nZXREaWFsb2dTaXplKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpO1xuICAgICAgICBwb3NpdGlvbiA9IHRoaXMuZHJhZ1JlZi5nZXRGcmVlRHJhZ1Bvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuZG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy51cGRhdGVTaXplKERFRkFVTFRfV0lEVEgsIE1JTl9IRUlHSFQpO1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLnVwZGF0ZVBvc2l0aW9uKERFRkFVTFRfUE9TSVRJT04pO1xuICAgICAgICB0aGlzLmRyYWdSZWYucmVzZXQoKTtcbiAgICAgICAgdGhpcy5kcmFnUmVmLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNpemFibGVEcmFnZ2FibGVEaWFsb2cuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ1xuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4tLTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nU2l6ZShkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50Pik6IElEaWFsb2dEaW1lbnNpb25zIHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldENvbXB1dGVkU3R5bGUoXG4gICAgICAoPEhUTUxFbGVtZW50PnRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpYWxvZ1JlZi5pZCkpLnBhcmVudEVsZW1lbnQsXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgfTtcbiAgfVxufVxuIl19
|