axidio-styleguide-library1-v2 0.5.73 → 0.5.74
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.
|
@@ -269,7 +269,7 @@ export class GuageChartComponent extends ComponentUniqueId {
|
|
|
269
269
|
// Status
|
|
270
270
|
if (metaData.status) {
|
|
271
271
|
const statusWidth = metaData.status.length > 4 ? 210 : 120;
|
|
272
|
-
this.addForeignObject(svg, radius - statusWidth / 2, midTextPosition, statusWidth, this.chartConfiguration.currentValueHeightScaleFactor
|
|
272
|
+
this.addForeignObject(svg, radius - statusWidth / 2, midTextPosition, statusWidth, this.chartConfiguration.currentValueHeightScaleFactor, 'status-display', metaData.status);
|
|
273
273
|
}
|
|
274
274
|
// Date Range
|
|
275
275
|
const dateRangeHtml = metaData.dateRange
|
|
@@ -339,4 +339,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
339
339
|
}], headerMenuclickEvent: [{
|
|
340
340
|
type: Output
|
|
341
341
|
}] } });
|
|
342
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhZ2UtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXhpZGlvLXN0eWxlZ3VpZGUtbGlicmFyeS9zcmMvbGliL2d1YWdlLWNoYXJ0L2d1YWdlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F4aWRpby1zdHlsZWd1aWRlLWxpYnJhcnkvc3JjL2xpYi9ndWFnZS1jaGFydC9ndWFnZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sV0FBVyxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sa0JBQWtCLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXVEbEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQW9EeEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdDRCw2QkFBd0IsR0FBZ0MsRUFBRSxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFNUQsdUJBQWtCLEdBQXVCLEVBQXdCLENBQUM7UUFDbEUsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFTix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUUzQix5QkFBb0IsR0FBdUI7WUFDMUQsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxRQUFRLEVBQUUsQ0FBQyxFQUFFO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTLEVBQUUsRUFBRTtZQUNiLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLENBQUM7WUFDYixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQy9DLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQ2hELGVBQWUsRUFBRSxTQUFTO1lBQzFCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsd0JBQXdCLEVBQUUsR0FBRztZQUM3QixVQUFVLEVBQUUsRUFBRTtZQUNkLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLGVBQWUsRUFBRSxTQUFTO1lBQzFCLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsZUFBZSxFQUFFLENBQUM7WUFDbEIsd0JBQXdCLEVBQUUsQ0FBQztZQUMzQiw0QkFBNEIsRUFBRSxFQUFFO1lBQ2hDLDZCQUE2QixFQUFFLEVBQUU7WUFDakMsWUFBWSxFQUFFLFNBQVM7WUFDdkIsZUFBZSxFQUFFLFNBQVM7WUFDMUIsa0JBQWtCLEVBQUUsU0FBUztZQUM3QixrQkFBa0IsRUFBRSxTQUFTO1lBQzdCLGFBQWEsRUFBRSxTQUFTO1lBQ3hCLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxpQkFBaUI7U0FDckUsQ0FBQztJQUlGLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUNyRCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQ3RDLElBQUksS0FBSyxDQUFDO0lBQ2IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU1QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzlDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLDJCQUEyQixDQUNwRSxHQUFHLEVBQ0gsSUFBSSxDQUFDLG9CQUFvQixFQUN6QixJQUFJLENBQUMsd0JBQXdCLENBQzlCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsU0FBeUI7UUFDNUMsT0FBTyxTQUFTLEtBQUssS0FBSztZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVk7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQWM7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLGVBQWUsQ0FBQyxZQUFzQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRSxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBRTlDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUVoSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDO1FBQ2pFLENBQUM7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxVQUFlO1FBQy9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFFN0QsT0FBTyxjQUFjO2FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQzthQUM5QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQWM7UUFDdkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsSUFBSSxFQUFFLENBQUM7UUFDOUQsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLElBQUksRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFjLEVBQUUsWUFBc0I7UUFDN0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsVUFBVSxJQUFJLE9BQU8sQ0FBQztZQUN0QixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVSxDQUNoQixHQUFRLEVBQ1IsWUFBc0IsRUFDdEIsV0FBcUIsRUFDckIsU0FBbUIsRUFDbkIsUUFBdUIsRUFDdkIsTUFBYztRQUVkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXZFLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTlFLElBQUk7YUFDRCxTQUFTLENBQUMsTUFBTSxDQUFDO2FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDbEIsS0FBSyxFQUFFO2FBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFNLEVBQUUsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQU0sRUFBRSxDQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQzthQUNkLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3BCLE9BQU8sUUFBUSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUs7Z0JBQ2pFLENBQUMsQ0FBQyxTQUFTO2dCQUNYLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEIsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBRSxDQUFNLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFlBQXNCLEVBQUUsV0FBcUIsRUFBRSxNQUFjO1FBQ3RGLE9BQU8sRUFBRTthQUNOLEdBQUcsRUFBRTthQUNMLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO2FBQzNGLFdBQVcsQ0FBQyxNQUFNLENBQUM7YUFDbkIsVUFBVSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQVMsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7Z0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQzthQUNELFFBQVEsQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFTLEVBQUUsRUFBRTtZQUM5QixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7Z0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVEsRUFBRSxJQUFjLEVBQUUsUUFBdUIsRUFBRSxNQUFjO1FBQ3JGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRWhHLE1BQU0sUUFBUSxHQUFHO1lBQ2YsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUN2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7WUFDOUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUMsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLEVBQUUsR0FBRyxHQUFHO2FBQ1gsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBRXJGLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUM7YUFDdEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO2FBQ2xELElBQUksQ0FDSCxXQUFXLEVBQ1gsVUFBVSxZQUFZLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLGlCQUFpQixHQUFHLENBQzNHLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQVEsRUFBRSxVQUFpQixFQUFFLElBQWMsRUFBRSxRQUF1QixFQUFFLE1BQWM7UUFDdkcsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU5RSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQzthQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2hCLEtBQUssRUFBRTthQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDWCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQzVFLE9BQU8sVUFBVSxRQUFRLGtCQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNqRyxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ1gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQU0sRUFBRSxDQUFTLEVBQUUsRUFBRTtZQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFFbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxRCxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEIsQ0FBQztpQkFBTSxJQUFJLENBQUMsS0FBSyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDckYsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLGVBQWUsT0FBTyxNQUFNLENBQUM7UUFDekQsQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvRSxPQUFPLGNBQWMsUUFBUSxxQkFBcUIsQ0FBQztRQUNyRCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDO2FBQ3ZDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVEsRUFBRSxRQUF1QixFQUFFLE1BQWMsRUFBRSxVQUFlO1FBQzFGLE1BQU0sZUFBZSxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sZUFBZSxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7UUFDaEcsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDO1FBRW5HLGdCQUFnQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQ25CLEdBQUcsRUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixHQUFHLENBQUMsRUFDakUsZUFBZSxFQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLEVBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsRUFDckQsZUFBZSxFQUNmLEdBQUcsUUFBUSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUNyRCxDQUFDO1FBRUYsU0FBUztRQUNULElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDM0QsSUFBSSxDQUFDLGdCQUFnQixDQUNuQixHQUFHLEVBQ0gsTUFBTSxHQUFHLFdBQVcsR0FBRyxDQUFDLEVBQ3hCLGVBQWUsRUFDZixXQUFXLEVBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixHQUFHLEVBQUUsRUFDMUQsZ0JBQWdCLEVBQ2hCLFFBQVEsQ0FBQyxNQUFNLENBQ2hCLENBQUM7UUFDSixDQUFDO1FBRUQsYUFBYTtRQUNiLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxTQUFTO1lBQ3RDLENBQUMsQ0FBQywwRUFBMEUsUUFBUSxDQUFDLFNBQVMsU0FBUztZQUN2RyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsSUFBSSxDQUFDLGdCQUFnQixDQUNuQixHQUFHLEVBQ0gsTUFBTSxHQUFHLEdBQUcsRUFDWixrQkFBa0IsRUFDbEIsR0FBRyxFQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsRUFDckQsbUJBQW1CLEVBQ25CLGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUN0QixHQUFRLEVBQ1IsQ0FBUyxFQUNULENBQVMsRUFDVCxLQUFhLEVBQ2IsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLE9BQWU7UUFFZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFcEMsR0FBRzthQUNBLE1BQU0sQ0FBQyxlQUFlLENBQUM7YUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQzthQUNwQixJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUN0QixNQUFNLENBQUMsV0FBVyxDQUFDO2FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2FBQ3hCLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDbkMsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7YUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0MsT0FBTyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBUSxFQUFFLFVBQWU7UUFDekMsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDOUMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RSxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sb0JBQW9CLEdBQUcsaUJBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRS9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBYztRQUN6QyxPQUFPLGFBQWEsTUFBTSxLQUFLLE1BQU0sR0FBRyxDQUFDO0lBQzNDLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBVztRQUN6QixPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFjO1FBQzdCLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXRhVSxtQkFBbUI7bUdBQW5CLG1CQUFtQix5Z0JDdkVoQyxvcENBNkJNOzs0RkQwQ08sbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJO3dEQUlyQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlsRCxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdwQyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFVuaXF1ZUlkIH0gZnJvbSAnLi4vdW5pcXVlLWlkJztcclxuaW1wb3J0IENoYXJ0SGVscGVyIGZyb20gJy4uL2NoYXJ0LWhlbHBlcic7XHJcbmltcG9ydCB7IFJlc2l6ZWRFdmVudCB9IGZyb20gJ2FuZ3VsYXItcmVzaXplLWV2ZW50JztcclxuaW1wb3J0IEhlYWRlckNvbmZpZ0hlbHBlciBmcm9tICcuLi9oZWFkZXItY29uZmlnJztcclxuXHJcbmludGVyZmFjZSBDaGFydERhdGEge1xyXG4gIGRhdGE6IG51bWJlcltdO1xyXG4gIG1ldGFEYXRhOiBDaGFydE1ldGFkYXRhO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQ2hhcnRNZXRhZGF0YSB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgY29sb3JUeXBlOiAnbG93JyB8ICdoaWdoJztcclxuICBkYXRhVHlwZT86IHN0cmluZztcclxuICBjdXJyZW50VmFsdWU6IG51bWJlcjtcclxuICBzdGF0dXM/OiBzdHJpbmc7XHJcbiAgZGF0ZVJhbmdlPzogc3RyaW5nO1xyXG4gIGhhc0RyaWxsRG93bj86IGJvb2xlYW47XHJcbiAgaXNFZGl0RW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydENvbmZpZ3VyYXRpb24ge1xyXG4gIG1hcmdpbjogeyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9O1xyXG4gIG1pbkFuZ2xlOiBudW1iZXI7XHJcbiAgbWF4QW5nbGU6IG51bWJlcjtcclxuICByaW5nSW5zZXQ6IG51bWJlcjtcclxuICByaW5nV2lkdGg6IG51bWJlcjtcclxuICBtYWpvclRpY2tzOiBudW1iZXI7XHJcbiAgc3ZnSGVpZ2h0OiBudW1iZXI7XHJcbiAgbG93X2NvbG9yTWFwOiBzdHJpbmdbXTtcclxuICBoaWdoX2NvbG9yTWFwOiBzdHJpbmdbXTtcclxuICBpc0hlYWRlclZpc2libGU/OiBib29sZWFuO1xyXG4gIHBvaW50ZXJXaWR0aDogbnVtYmVyO1xyXG4gIHBvaW50ZXJUYWlsTGVuZ3RoOiBudW1iZXI7XHJcbiAgcG9pbnRlckhlYWRMZW5ndGhQZXJjZW50OiBudW1iZXI7XHJcbiAgbGFiZWxJbnNldDogbnVtYmVyO1xyXG4gIGxlZ2VuZEp1c3RpZmllZDogYm9vbGVhbjtcclxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuICBpc0RyaWxsZG93bkNoYXJ0PzogYm9vbGVhbjtcclxuICByaW5nU2NhbGVGYWN0b3I6IG51bWJlcjtcclxuICB0ZXh0c0F0Q2VudGVyU2NhbGVGYWN0b3I6IG51bWJlcjtcclxuICBjdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yOiBudW1iZXI7XHJcbiAgY3VycmVudFZhbHVlSGVpZ2h0U2NhbGVGYWN0b3I6IG51bWJlcjtcclxuICBwb2ludGVyQ29sb3I6IHN0cmluZztcclxuICBpc1RvZ2dsZVZpc2libGU/OiBib29sZWFuO1xyXG4gIHNlbGVjdGVkS3BpVG9vbHRvcD86IGFueTtcclxuICBpc1ZhbHVlTGFibGVBZGp1c3Q/OiBib29sZWFuO1xyXG4gIGlzVGl0bGVIaWRkZW4/OiBib29sZWFuO1xyXG4gIGhlYWRlck1lbnVPcHRpb25zOiBhbnlbXTtcclxuICBpc1JpYT86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWd1YWdlLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3VhZ2UtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2d1YWdlLWNoYXJ0LmNvbXBvbmVudC5sZXNzJywgJy4uL2NvbW1vbi1zdHlsZXMubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHdWFnZUNoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50VW5pcXVlSWQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnZ3VhZ2VjaGFydGNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgY29udGFpbmVyRWx0ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZ3VhZ2Vjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGd1YWdlY29udGFpbmVyRWx0ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkgY2hhcnREYXRhITogQ2hhcnREYXRhO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNoYXJ0Q29uZmlndXJhdGlvbjogUGFydGlhbDxDaGFydENvbmZpZ3VyYXRpb24+ID0ge307XHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgaGVhZGVyTWVudWNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY2hhcnRDb25maWd1cmF0aW9uOiBDaGFydENvbmZpZ3VyYXRpb24gPSB7fSBhcyBDaGFydENvbmZpZ3VyYXRpb247XHJcbiAgZGF0YVR5cGUgPSAnJztcclxuICBkYXRhdHlwZV9zdGF0dXMgPSBmYWxzZTtcclxuICB1bmlxdWVJZCA9IHRoaXMuZ2V0VW5pcXVlSWQoKTtcclxuICBpc0hlYWRlclZpc2libGUgPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IENIQVJUX0hFQURFUl9IRUlHSFQgPSA1NjtcclxuICBwcml2YXRlIHJlYWRvbmx5IExBUkdFX1NDUkVFTl9XSURUSCA9IDE0MDA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBYTEFSR0VfU0NSRUVOX1dJRFRIID0gMTUwMDtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0Q29uZmlndXJhdGlvbjogQ2hhcnRDb25maWd1cmF0aW9uID0ge1xyXG4gICAgbWFyZ2luOiB7IHRvcDogNDAsIHJpZ2h0OiAyMCwgYm90dG9tOiAyMCwgbGVmdDogMjAgfSxcclxuICAgIG1pbkFuZ2xlOiAtOTAsXHJcbiAgICBtYXhBbmdsZTogOTAsXHJcbiAgICByaW5nSW5zZXQ6IDIwLFxyXG4gICAgcmluZ1dpZHRoOiAyMCxcclxuICAgIG1ham9yVGlja3M6IDMsXHJcbiAgICBzdmdIZWlnaHQ6IDgwLFxyXG4gICAgbG93X2NvbG9yTWFwOiBbJyM0M0NDMDAnLCAnI0ZGRUYwQycsICcjRkY0RTBDJ10sXHJcbiAgICBoaWdoX2NvbG9yTWFwOiBbJyNGRjRFMEMnLCAnI0ZGRUYwQycsICcjNDNDQzAwJ10sXHJcbiAgICBpc0hlYWRlclZpc2libGU6IHVuZGVmaW5lZCxcclxuICAgIHBvaW50ZXJXaWR0aDogMTAsXHJcbiAgICBwb2ludGVyVGFpbExlbmd0aDogNSxcclxuICAgIHBvaW50ZXJIZWFkTGVuZ3RoUGVyY2VudDogMC43LFxyXG4gICAgbGFiZWxJbnNldDogMTAsXHJcbiAgICBsZWdlbmRKdXN0aWZpZWQ6IGZhbHNlLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI0ZGRkZGRicsXHJcbiAgICBpc0RyaWxsZG93bkNoYXJ0OiB1bmRlZmluZWQsXHJcbiAgICByaW5nU2NhbGVGYWN0b3I6IDAsXHJcbiAgICB0ZXh0c0F0Q2VudGVyU2NhbGVGYWN0b3I6IDAsXHJcbiAgICBjdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yOiA2MCxcclxuICAgIGN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yOiAzMCxcclxuICAgIHBvaW50ZXJDb2xvcjogJyM2ODY4NjgnLFxyXG4gICAgaXNUb2dnbGVWaXNpYmxlOiB1bmRlZmluZWQsXHJcbiAgICBzZWxlY3RlZEtwaVRvb2x0b3A6IHVuZGVmaW5lZCxcclxuICAgIGlzVmFsdWVMYWJsZUFkanVzdDogdW5kZWZpbmVkLFxyXG4gICAgaXNUaXRsZUhpZGRlbjogdW5kZWZpbmVkLFxyXG4gICAgaGVhZGVyTWVudU9wdGlvbnM6IEhlYWRlckNvbmZpZ0hlbHBlci5oZWFkZXJDb25maWcuaGVhZGVyTWVudU9wdGlvbnMsXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzQWxlcnRFbmFibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uPy5oZWFkZXJNZW51T3B0aW9ucz8uc29tZShcclxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSAnZWRpdEFsZXJ0J1xyXG4gICAgKSA/PyBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0aWFsaXplQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydjaGFydERhdGEnXSB8fCBjaGFuZ2VzWydjdXN0b21DaGFydENvbmZpZ3VyYXRpb24nXSkge1xyXG4gICAgICB0aGlzLnJlbW92ZUV4aXN0aW5nQ2hhcnQoKTtcclxuICAgICAgdGhpcy5pbml0aWFsaXplQ2hhcnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUmVzaXplZChldmVudDogUmVzaXplZEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZUV4aXN0aW5nQ2hhcnQoKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUNoYXJ0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZUV4aXN0aW5nQ2hhcnQoKTogdm9pZCB7XHJcbiAgICBkMy5zZWxlY3QoYCMke3RoaXMudW5pcXVlSWR9YCkucmVtb3ZlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemVDaGFydCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jaGFydERhdGEpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLm1lcmdlQ29uZmlndXJhdGlvbigpO1xyXG4gICAgdGhpcy5zZXR1cERhdGFUeXBlKCk7XHJcbiAgICBcclxuICAgIGNvbnN0IHsgZGF0YSwgbWV0YURhdGEgfSA9IHRoaXMuY2hhcnREYXRhO1xyXG4gICAgY29uc3QgY29sb3JNYXBzID0gdGhpcy5nZXRDb2xvck1hcHMobWV0YURhdGEuY29sb3JUeXBlKTtcclxuICAgIGNvbnN0IGRhdGFTZWdtZW50cyA9IHRoaXMuY2FsY3VsYXRlRGF0YVNlZ21lbnRzKGRhdGEpO1xyXG4gICAgY29uc3QgYW5nbGVWYWx1ZXMgPSB0aGlzLmNhbGN1bGF0ZUFuZ2xlcyhkYXRhU2VnbWVudHMpO1xyXG4gICAgXHJcbiAgICBjb25zdCBkaW1lbnNpb25zID0gdGhpcy5jYWxjdWxhdGVEaW1lbnNpb25zKCk7XHJcbiAgICBjb25zdCBzdmcgPSB0aGlzLmNyZWF0ZVNWRyhkaW1lbnNpb25zKTtcclxuICAgIGNvbnN0IHJhZGl1cyA9IE1hdGgubWluKGRpbWVuc2lvbnMud2lkdGgsIGRpbWVuc2lvbnMuaGVpZ2h0KSAvIDI7XHJcblxyXG4gICAgdGhpcy5hZGp1c3RTY2FsZUZhY3RvcnMocmFkaXVzKTtcclxuICAgIFxyXG4gICAgY29uc3QgbGFiZWxBcnJheSA9IHRoaXMuY3JlYXRlTGFiZWxBcnJheShkYXRhLCBkYXRhU2VnbWVudHMpO1xyXG4gICAgXHJcbiAgICB0aGlzLnJlbmRlckFyY3Moc3ZnLCBkYXRhU2VnbWVudHMsIGFuZ2xlVmFsdWVzLCBjb2xvck1hcHMsIG1ldGFEYXRhLCByYWRpdXMpO1xyXG4gICAgdGhpcy5yZW5kZXJQb2ludGVyKHN2ZywgZGF0YSwgbWV0YURhdGEsIHJhZGl1cyk7XHJcbiAgICB0aGlzLnJlbmRlckxhYmVscyhzdmcsIGxhYmVsQXJyYXksIGRhdGEsIG1ldGFEYXRhLCByYWRpdXMpO1xyXG4gICAgdGhpcy5yZW5kZXJDZW50ZXJUZXh0cyhzdmcsIG1ldGFEYXRhLCByYWRpdXMsIGRpbWVuc2lvbnMpO1xyXG4gICAgXHJcbiAgICB0aGlzLmNlbnRlclNWRyhzdmcsIGRpbWVuc2lvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtZXJnZUNvbmZpZ3VyYXRpb24oKTogdm9pZCB7XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgdGhpcy5jaGFydENvbmZpZ3VyYXRpb25ba2V5XSA9IENoYXJ0SGVscGVyLmdldFZhbHVlQnlDb25maWd1cmF0aW9uVHlwZShcclxuICAgICAgICBrZXksXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbixcclxuICAgICAgICB0aGlzLmN1c3RvbUNoYXJ0Q29uZmlndXJhdGlvblxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwRGF0YVR5cGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhVHlwZSA9IHRoaXMuY2hhcnREYXRhLm1ldGFEYXRhLmRhdGFUeXBlO1xyXG4gICAgaWYgKGRhdGFUeXBlKSB7XHJcbiAgICAgIHRoaXMuZGF0YVR5cGUgPSBkYXRhVHlwZSA9PT0gJ1VTRCcgPyAnJCAnIDogZGF0YVR5cGU7XHJcbiAgICAgIHRoaXMuZGF0YXR5cGVfc3RhdHVzID0gZGF0YVR5cGUgPT09ICdVU0QnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb2xvck1hcHMoY29sb3JUeXBlOiAnbG93JyB8ICdoaWdoJyk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBjb2xvclR5cGUgPT09ICdsb3cnXHJcbiAgICAgID8gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubG93X2NvbG9yTWFwXHJcbiAgICAgIDogdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uaGlnaF9jb2xvck1hcDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlRGF0YVNlZ21lbnRzKGRhdGE6IG51bWJlcltdKTogbnVtYmVyW10ge1xyXG4gICAgcmV0dXJuIGRhdGEuc2xpY2UoMCwgLTEpLm1hcCgodmFsdWUsIGkpID0+IGRhdGFbaSArIDFdIC0gdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVBbmdsZXMoZGF0YVNlZ21lbnRzOiBudW1iZXJbXSk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IHRvdGFsID0gZGF0YVNlZ21lbnRzLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gc3VtICsgdmFsdWUsIDApO1xyXG4gICAgY29uc3QgYW5nbGVzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgXHJcbiAgICBkYXRhU2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBhbmdsZSA9IChzZWdtZW50IC8gdG90YWwpICogMTgwO1xyXG4gICAgICBhbmdsZXMucHVzaChpID09PSAwID8gYW5nbGUgOiBhbmdsZXNbaSAtIDFdICsgYW5nbGUpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBhbmdsZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZURpbWVuc2lvbnMoKSB7XHJcbiAgICBjb25zdCBjaGFydENvbnRhaW5lciA9IGQzLnNlbGVjdCh0aGlzLmNvbnRhaW5lckVsdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIGNvbnN0IGd1YWdlQ29udGFpbmVyID0gZDMuc2VsZWN0KHRoaXMuZ3VhZ2Vjb250YWluZXJFbHQubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb25zdCBtYXJnaW4gPSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5tYXJnaW47XHJcblxyXG4gICAgY29uc3Qgd2lkdGggPSBwYXJzZUludChjaGFydENvbnRhaW5lci5zdHlsZSgnd2lkdGgnKSkgLSBtYXJnaW4ubGVmdCAtIG1hcmdpbi5yaWdodDtcclxuICAgIGNvbnN0IGhlaWdodCA9IHBhcnNlSW50KGd1YWdlQ29udGFpbmVyLnN0eWxlKCdoZWlnaHQnKSkgLSBtYXJnaW4udG9wIC0gbWFyZ2luLmJvdHRvbSAtIHRoaXMuQ0hBUlRfSEVBREVSX0hFSUdIVDtcclxuXHJcbiAgICBpZiAodGhpcy5jaGFydENvbmZpZ3VyYXRpb24uaXNIZWFkZXJWaXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pc0hlYWRlclZpc2libGUgPSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5pc0hlYWRlclZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgd2lkdGgsIGhlaWdodCwgbWFyZ2luLCBjaGFydENvbnRhaW5lciB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVTVkcoZGltZW5zaW9uczogYW55KTogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBudWxsLCB1bmRlZmluZWQ+IHtcclxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgbWFyZ2luLCBjaGFydENvbnRhaW5lciB9ID0gZGltZW5zaW9ucztcclxuXHJcbiAgICByZXR1cm4gY2hhcnRDb250YWluZXJcclxuICAgICAgLmFwcGVuZCgnc3ZnJylcclxuICAgICAgLmF0dHIoJ2lkJywgdGhpcy51bmlxdWVJZClcclxuICAgICAgLmF0dHIoJ3dpZHRoJywgd2lkdGggKyBtYXJnaW4ubGVmdCArIG1hcmdpbi5yaWdodClcclxuICAgICAgLmF0dHIoJ2hlaWdodCcsIGhlaWdodCArIG1hcmdpbi50b3AgKyBtYXJnaW4uYm90dG9tKVxyXG4gICAgICAuY2FsbChDaGFydEhlbHBlci5yZXNwb25zaXZlZnkpXHJcbiAgICAgIC5hcHBlbmQoJ2cnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRqdXN0U2NhbGVGYWN0b3JzKHJhZGl1czogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jaGFydENvbmZpZ3VyYXRpb24uaXNEcmlsbGRvd25DaGFydCkge1xyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yICs9IDQwO1xyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvciArPSAyMDtcclxuICAgIH0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPiB0aGlzLkxBUkdFX1NDUkVFTl9XSURUSCkge1xyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvciArPSAxNTtcclxuICAgICAgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlV2lkdGhTY2FsZUZhY3RvciAqPSAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVMYWJlbEFycmF5KGRhdGE6IG51bWJlcltdLCBkYXRhU2VnbWVudHM6IG51bWJlcltdKSB7XHJcbiAgICBjb25zdCBsYWJlbEFycmF5ID0gW3sgbmFtZTogZGF0YVswXSwgdmFsdWU6IDAgfV07XHJcbiAgICBsZXQgY3VtdWxhdGl2ZSA9IDA7XHJcblxyXG4gICAgZGF0YVNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQsIGkpID0+IHtcclxuICAgICAgY3VtdWxhdGl2ZSArPSBzZWdtZW50O1xyXG4gICAgICBsYWJlbEFycmF5LnB1c2goeyBuYW1lOiBkYXRhW2kgKyAxXSwgdmFsdWU6IGN1bXVsYXRpdmUgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbGFiZWxBcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyQXJjcyhcclxuICAgIHN2ZzogYW55LFxyXG4gICAgZGF0YVNlZ21lbnRzOiBudW1iZXJbXSxcclxuICAgIGFuZ2xlVmFsdWVzOiBudW1iZXJbXSxcclxuICAgIGNvbG9yTWFwczogc3RyaW5nW10sXHJcbiAgICBtZXRhRGF0YTogQ2hhcnRNZXRhZGF0YSxcclxuICAgIHJhZGl1czogbnVtYmVyXHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc1JpYSA9IHRoaXMuY3VzdG9tQ2hhcnRDb25maWd1cmF0aW9uLmlzUmlhO1xyXG4gICAgY29uc3QgY2VudGVyVHggPSB0aGlzLmdldENlbnRlclRyYW5zbGF0aW9uKHJhZGl1cyk7XHJcbiAgICBjb25zdCBhcmMgPSB0aGlzLmNyZWF0ZUFyY0dlbmVyYXRvcihkYXRhU2VnbWVudHMsIGFuZ2xlVmFsdWVzLCByYWRpdXMpO1xyXG5cclxuICAgIGNvbnN0IGFyY3MgPSBzdmcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnYXJjJykuYXR0cigndHJhbnNmb3JtJywgY2VudGVyVHgpO1xyXG5cclxuICAgIGFyY3NcclxuICAgICAgLnNlbGVjdEFsbCgncGF0aCcpXHJcbiAgICAgIC5kYXRhKGRhdGFTZWdtZW50cylcclxuICAgICAgLmVudGVyKClcclxuICAgICAgLmFwcGVuZCgncGF0aCcpXHJcbiAgICAgIC5hdHRyKCdmaWxsJywgKGQ6IGFueSwgaTogbnVtYmVyKSA9PiBjb2xvck1hcHNbaV0pXHJcbiAgICAgIC5hdHRyKCdpZCcsIChkOiBhbnksIGk6IG51bWJlcikgPT4gY29sb3JNYXBzW2ldKVxyXG4gICAgICAuYXR0cignZCcsIGFyYylcclxuICAgICAgLnN0eWxlKCdjdXJzb3InLCAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGFEYXRhLmN1cnJlbnRWYWx1ZSA+IDAgJiYgbWV0YURhdGEuaGFzRHJpbGxEb3duICYmICFpc1JpYVxyXG4gICAgICAgICAgPyAncG9pbnRlcidcclxuICAgICAgICAgIDogJ2RlZmF1bHQnO1xyXG4gICAgICB9KVxyXG4gICAgICAub24oJ2NsaWNrJywgKGV2ZW50OiBhbnksIGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICghbWV0YURhdGEuaGFzRHJpbGxEb3duIHx8IG1ldGFEYXRhLmN1cnJlbnRWYWx1ZSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQ2xpY2sodGhpcy5nZXRSYW5nZSh0aGlzLmNoYXJ0RGF0YS5kYXRhKSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVBcmNHZW5lcmF0b3IoZGF0YVNlZ21lbnRzOiBudW1iZXJbXSwgYW5nbGVWYWx1ZXM6IG51bWJlcltdLCByYWRpdXM6IG51bWJlcik6IGFueSB7XHJcbiAgICByZXR1cm4gZDNcclxuICAgICAgLmFyYygpXHJcbiAgICAgIC5pbm5lclJhZGl1cyhyYWRpdXMgLSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5yaW5nV2lkdGggLSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5yaW5nSW5zZXQpXHJcbiAgICAgIC5vdXRlclJhZGl1cyhyYWRpdXMpXHJcbiAgICAgIC5zdGFydEFuZ2xlKChkOiBhbnksIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJhdGlvID0gaSA9PT0gMFxyXG4gICAgICAgICAgPyB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5taW5BbmdsZVxyXG4gICAgICAgICAgOiB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5taW5BbmdsZSArIGFuZ2xlVmFsdWVzW2kgLSAxXTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWcycmFkKHJhdGlvKTtcclxuICAgICAgfSlcclxuICAgICAgLmVuZEFuZ2xlKChkOiBhbnksIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJhdGlvID0gaSA9PT0gZGF0YVNlZ21lbnRzLmxlbmd0aCAtIDFcclxuICAgICAgICAgID8gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubWF4QW5nbGVcclxuICAgICAgICAgIDogdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubWluQW5nbGUgKyBhbmdsZVZhbHVlc1tpXTtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWcycmFkKHJhdGlvKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclBvaW50ZXIoc3ZnOiBhbnksIGRhdGE6IG51bWJlcltdLCBtZXRhRGF0YTogQ2hhcnRNZXRhZGF0YSwgcmFkaXVzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNlbnRlclR4ID0gdGhpcy5nZXRDZW50ZXJUcmFuc2xhdGlvbihyYWRpdXMpO1xyXG4gICAgY29uc3QgcG9pbnRlckhlYWRMZW5ndGggPSBNYXRoLnJvdW5kKHJhZGl1cyAqIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJIZWFkTGVuZ3RoUGVyY2VudCk7XHJcblxyXG4gICAgY29uc3QgbGluZURhdGEgPSBbXHJcbiAgICAgIFt0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5wb2ludGVyV2lkdGggLyAyLCAwXSxcclxuICAgICAgWzAsIC1wb2ludGVySGVhZExlbmd0aF0sXHJcbiAgICAgIFstKHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJXaWR0aCAvIDIpLCAwXSxcclxuICAgICAgWzAsIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJUYWlsTGVuZ3RoXSxcclxuICAgICAgW3RoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJXaWR0aCAvIDIsIDBdLFxyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCBwb2ludGVyTGluZSA9IGQzLmxpbmUoKTtcclxuICAgIGNvbnN0IHBnID0gc3ZnXHJcbiAgICAgIC5hcHBlbmQoJ2cnKVxyXG4gICAgICAuZGF0YShbbGluZURhdGFdKVxyXG4gICAgICAuYXR0cignY2xhc3MnLCAncG9pbnRlcicpXHJcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBjZW50ZXJUeCk7XHJcblxyXG4gICAgY29uc3QgcmFuZ2UgPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV0gLSBkYXRhWzBdO1xyXG4gICAgY29uc3QgcG9pbnRlclZhbHVlID0gbWV0YURhdGEuY3VycmVudFZhbHVlIC0gZGF0YVswXTtcclxuICAgIGNvbnN0IHBvaW50ZXJBbmdsZSA9IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLm1pbkFuZ2xlICsgKHBvaW50ZXJWYWx1ZSAvIHJhbmdlKSAqIDE4MDtcclxuXHJcbiAgICBwZy5hcHBlbmQoJ3BhdGgnKVxyXG4gICAgICAuYXR0cignZCcsIHBvaW50ZXJMaW5lKVxyXG4gICAgICAuYXR0cignZmlsbCcsIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJDb2xvcilcclxuICAgICAgLmF0dHIoXHJcbiAgICAgICAgJ3RyYW5zZm9ybScsXHJcbiAgICAgICAgYHJvdGF0ZSgke3BvaW50ZXJBbmdsZX0pIHRyYW5zbGF0ZSgwLCAkey1yYWRpdXMgKyB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5yaW5nV2lkdGggKyBwb2ludGVySGVhZExlbmd0aH0pYFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJMYWJlbHMoc3ZnOiBhbnksIGxhYmVsQXJyYXk6IGFueVtdLCBkYXRhOiBudW1iZXJbXSwgbWV0YURhdGE6IENoYXJ0TWV0YWRhdGEsIHJhZGl1czogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBjZW50ZXJUeCA9IHRoaXMuZ2V0Q2VudGVyVHJhbnNsYXRpb24ocmFkaXVzKTtcclxuICAgIGNvbnN0IHJhbmdlID0gZGF0YVtkYXRhLmxlbmd0aCAtIDFdIC0gZGF0YVswXTtcclxuICAgIGNvbnN0IGxnID0gc3ZnLmFwcGVuZCgnZycpLmF0dHIoJ2NsYXNzJywgJ2xhYmVsJykuYXR0cigndHJhbnNmb3JtJywgY2VudGVyVHgpO1xyXG5cclxuICAgIGxnLnNlbGVjdEFsbCgnLmJ1YmJsZScpXHJcbiAgICAgIC5kYXRhKGxhYmVsQXJyYXkpXHJcbiAgICAgIC5lbnRlcigpXHJcbiAgICAgIC5hcHBlbmQoJ2cnKVxyXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgKGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0FuZ2xlID0gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubWluQW5nbGUgKyAoZC52YWx1ZSAvIHJhbmdlKSAqIDE4MDtcclxuICAgICAgICByZXR1cm4gYHJvdGF0ZSgke25ld0FuZ2xlfSkgdHJhbnNsYXRlKDAsICR7dGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubGFiZWxJbnNldCAtIHJhZGl1cyAtIDIwfSlgO1xyXG4gICAgICB9KVxyXG4gICAgICAuYXBwZW5kKCdnJylcclxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIChkOiBhbnksIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0FuZ2xlID0gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubWluQW5nbGUgKyAoZC52YWx1ZSAvIHJhbmdlKSAqIDE4MDtcclxuICAgICAgICBsZXQgeE9mZnNldCA9IC0xNztcclxuICAgICAgICBcclxuICAgICAgICBpZiAoaSA9PT0gMCAmJiB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5pc1ZhbHVlTGFibGVBZGp1c3QpIHtcclxuICAgICAgICAgIHhPZmZzZXQgPSAtMjc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpID09PSBsYWJlbEFycmF5Lmxlbmd0aCAtIDEgJiYgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uaXNWYWx1ZUxhYmxlQWRqdXN0KSB7XHJcbiAgICAgICAgICB4T2Zmc2V0ID0gLTE1O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICByZXR1cm4gYHJvdGF0ZSgkey1uZXdBbmdsZX0pIHRyYW5zbGF0ZSgke3hPZmZzZXR9LCAwKWA7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5hcHBlbmQoJ3RleHQnKVxyXG4gICAgICAuYXR0cignc3R5bGUnLCAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZm9udFNpemUgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IHRoaXMuTEFSR0VfU0NSRUVOX1dJRFRIID8gJzEycHgnIDogJzE0cHgnO1xyXG4gICAgICAgIHJldHVybiBgZm9udC1zaXplOiAke2ZvbnRTaXplfTsgZm9udC13ZWlnaHQ6IDYwMDtgO1xyXG4gICAgICB9KVxyXG4gICAgICAuYXR0cignZmlsbCcsICd2YXIoLS1jaGFydC10ZXh0LWNvbG9yKScpXHJcbiAgICAgIC50ZXh0KChkOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gbWV0YURhdGEuZGF0YVR5cGUgPyBgJHtkLm5hbWV9JHttZXRhRGF0YS5kYXRhVHlwZX1gIDogZC5uYW1lO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyQ2VudGVyVGV4dHMoc3ZnOiBhbnksIG1ldGFEYXRhOiBDaGFydE1ldGFkYXRhLCByYWRpdXM6IG51bWJlciwgZGltZW5zaW9uczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB0b3BUZXh0UG9zaXRpb24gPSByYWRpdXMgLyAyIC0gMTA7XHJcbiAgICBjb25zdCBtaWRUZXh0UG9zaXRpb24gPSB0b3BUZXh0UG9zaXRpb24gKyB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvcjtcclxuICAgIGNvbnN0IGJvdHRvbVRleHRQb3NpdGlvbiA9IG1pZFRleHRQb3NpdGlvbiArIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yO1xyXG5cclxuICAgIC8vIEN1cnJlbnQgVmFsdWVcclxuICAgIHRoaXMuYWRkRm9yZWlnbk9iamVjdChcclxuICAgICAgc3ZnLFxyXG4gICAgICByYWRpdXMgLSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yIC8gMixcclxuICAgICAgdG9wVGV4dFBvc2l0aW9uLFxyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yICsgOCxcclxuICAgICAgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlSGVpZ2h0U2NhbGVGYWN0b3IsXHJcbiAgICAgICd2YWx1ZS1kaXNwbGF5JyxcclxuICAgICAgYCR7bWV0YURhdGEuY3VycmVudFZhbHVlfSR7bWV0YURhdGEuZGF0YVR5cGUgfHwgJyd9YFxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBTdGF0dXNcclxuICAgIGlmIChtZXRhRGF0YS5zdGF0dXMpIHtcclxuICAgICAgY29uc3Qgc3RhdHVzV2lkdGggPSBtZXRhRGF0YS5zdGF0dXMubGVuZ3RoID4gNCA/IDIxMCA6IDEyMDtcclxuICAgICAgdGhpcy5hZGRGb3JlaWduT2JqZWN0KFxyXG4gICAgICAgIHN2ZyxcclxuICAgICAgICByYWRpdXMgLSBzdGF0dXNXaWR0aCAvIDIsXHJcbiAgICAgICAgbWlkVGV4dFBvc2l0aW9uLFxyXG4gICAgICAgIHN0YXR1c1dpZHRoLFxyXG4gICAgICAgIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yICsgMTAsXHJcbiAgICAgICAgJ3N0YXR1cy1kaXNwbGF5JyxcclxuICAgICAgICBtZXRhRGF0YS5zdGF0dXNcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEYXRlIFJhbmdlXHJcbiAgICBjb25zdCBkYXRlUmFuZ2VIdG1sID0gbWV0YURhdGEuZGF0ZVJhbmdlXHJcbiAgICAgID8gYDxzcGFuIGNsYXNzPVwibWFyZ2lucmlnaHQtM1wiPjxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXJcIj48L2k+PC9zcGFuPjxzcGFuPiR7bWV0YURhdGEuZGF0ZVJhbmdlfTwvc3Bhbj5gXHJcbiAgICAgIDogJyc7XHJcbiAgICBcclxuICAgIHRoaXMuYWRkRm9yZWlnbk9iamVjdChcclxuICAgICAgc3ZnLFxyXG4gICAgICByYWRpdXMgLSAxMDUsXHJcbiAgICAgIGJvdHRvbVRleHRQb3NpdGlvbixcclxuICAgICAgMjEwLFxyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvcixcclxuICAgICAgJ2RhdGVyYW5nZS1kaXNwbGF5JyxcclxuICAgICAgZGF0ZVJhbmdlSHRtbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkRm9yZWlnbk9iamVjdChcclxuICAgIHN2ZzogYW55LFxyXG4gICAgeDogbnVtYmVyLFxyXG4gICAgeTogbnVtYmVyLFxyXG4gICAgd2lkdGg6IG51bWJlcixcclxuICAgIGhlaWdodDogbnVtYmVyLFxyXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXHJcbiAgICBjb250ZW50OiBzdHJpbmdcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvbnRTaXplID0gdGhpcy5nZXRGb250U2l6ZSgpO1xyXG4gICAgXHJcbiAgICBzdmdcclxuICAgICAgLmFwcGVuZCgnZm9yZWlnbk9iamVjdCcpXHJcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7eH0sICR7eX0pYClcclxuICAgICAgLmF0dHIoJ3dpZHRoJywgd2lkdGgpXHJcbiAgICAgIC5hdHRyKCdoZWlnaHQnLCBoZWlnaHQpXHJcbiAgICAgIC5hcHBlbmQoJ3hodG1sOmRpdicpXHJcbiAgICAgIC5hdHRyKCdjbGFzcycsIGNsYXNzTmFtZSlcclxuICAgICAgLnN0eWxlKCdoZWlnaHQnLCBgJHtoZWlnaHQgKyAxMH1weGApXHJcbiAgICAgIC5zdHlsZSgnZm9udC1zaXplJywgZm9udFNpemUpXHJcbiAgICAgIC5odG1sKGNvbnRlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb250U2l6ZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmlzRHJpbGxkb3duQ2hhcnQpIHtcclxuICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgdGhpcy5MQVJHRV9TQ1JFRU5fV0lEVEggPyAnMTRweCcgOiAnMThweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCB0aGlzLkxBUkdFX1NDUkVFTl9XSURUSCA/ICcxNHB4JyA6ICcxOHB4JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2VudGVyU1ZHKHN2ZzogYW55LCBkaW1lbnNpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgbWFyZ2luLCBjaGFydENvbnRhaW5lciB9ID0gZGltZW5zaW9ucztcclxuICAgIGNvbnN0IGNvbnRhaW5lck1pZFdpZHRoID0gcGFyc2VJbnQoY2hhcnRDb250YWluZXIuc3R5bGUoJ3dpZHRoJykpIC8gMjtcclxuICAgIGNvbnN0IG5vZGVIYWxmV2lkdGggPSBzdmcubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gMjtcclxuICAgIGNvbnN0IHVwZGF0ZWRTdGFydGluZ1BvaW50ID0gY29udGFpbmVyTWlkV2lkdGggLSBub2RlSGFsZldpZHRoO1xyXG5cclxuICAgIHN2Zy5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7dXBkYXRlZFN0YXJ0aW5nUG9pbnQgKyBtYXJnaW4ubGVmdH0sICR7bWFyZ2luLnRvcH0pYCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENlbnRlclRyYW5zbGF0aW9uKHJhZGl1czogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgdHJhbnNsYXRlKCR7cmFkaXVzfSwgJHtyYWRpdXN9KWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlZzJyYWQoZGVnOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChkZWcgKiBNYXRoLlBJKSAvIDE4MDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmFuZ2UoZGF0YTogbnVtYmVyW10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke2RhdGFbMF19IGFuZCAke2RhdGFbZGF0YS5sZW5ndGggLSAxXX1gO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2xpY2socmFuZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQocmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSGVhZGVyTWVudUNsaWNrKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyTWVudWNsaWNrRXZlbnQuZW1pdChpZCk7XHJcbiAgfVxyXG59IiwiPGRpdiAjZ3VhZ2Vjb250YWluZXIgY2xhc3M9XCJsaWItY2hhcnQtd3JhcHBlclwiIFxyXG4gICAgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1iZyk7XCJcclxuICAgICAocmVzaXplZCk9XCJvblJlc2l6ZWQoJGV2ZW50KVwiPlxyXG4gIFxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItYWx0XCIgKm5nSWY9XCIhaXNIZWFkZXJWaXNpYmxlXCI+XHJcbiAgICA8bGliLWNoYXJ0LWhlYWRlci12MiBcclxuICAgICAgW2NoYXJ0RGF0YV09XCJjaGFydERhdGFcIiBcclxuICAgICAgW2NoYXJ0Q29uZmlndXJhdGlvbl09XCJjaGFydENvbmZpZ3VyYXRpb25cIlxyXG4gICAgICAoY2xpY2tFdmVudCk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8L2xpYi1jaGFydC1oZWFkZXItdjI+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGxpYi1jaGFydC1oZWFkZXItdjEgXHJcbiAgICAqbmdJZj1cImlzSGVhZGVyVmlzaWJsZVwiXHJcbiAgICBbdGl0bGVdPVwiY2hhcnREYXRhLm1ldGFEYXRhLnRpdGxlXCIgXHJcbiAgICBbaGFzRHJpbGxEb3duXT1cImNoYXJ0RGF0YS5tZXRhRGF0YS5oYXNEcmlsbERvd25cIlxyXG4gICAgW2lzRWRpdEVuYWJsZWRdPVwiY2hhcnREYXRhLm1ldGFEYXRhLmlzRWRpdEVuYWJsZWRcIiBcclxuICAgIFtpc3JpYV09XCJjdXN0b21DaGFydENvbmZpZ3VyYXRpb24uaXNSaWFcIiBcclxuICAgIFttZW51T3B0aW9uc109XCJjaGFydENvbmZpZ3VyYXRpb24uaGVhZGVyTWVudU9wdGlvbnNcIlxyXG4gICAgW3NlbGVjdGVkS3BpVG9vbHRvcF09XCJjaGFydENvbmZpZ3VyYXRpb24uc2VsZWN0ZWRLcGlUb29sdG9wXCIgXHJcbiAgICBbaXNBbGVydEVuYWJsZWRdPVwiaXNBbGVydEVuYWJsZWRcIlxyXG4gICAgKG1lbnVPcHRpb25DbGlja0V2ZW50KT1cImhhbmRsZUhlYWRlck1lbnVDbGljaygkZXZlbnQpXCI+XHJcbiAgPC9saWItY2hhcnQtaGVhZGVyLXYxPlxyXG4gIFxyXG4gIDxkaXYgI2d1YWdlY2hhcnRjb250YWluZXJcclxuICAgICAgIGlkPVwiZ3VhZ2VjaGFydGNvbnRhaW5lclwiXHJcbiAgICAgICBjbGFzcz1cImxpYi1jaGFydC1zdmcgZ3VhZ2Vjb250YWluZXJcIlxyXG4gICAgICAgW3N0eWxlLmhlaWdodC4lXT1cImNoYXJ0Q29uZmlndXJhdGlvbi5zdmdIZWlnaHRcIj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhZ2UtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXhpZGlvLXN0eWxlZ3VpZGUtbGlicmFyeS9zcmMvbGliL2d1YWdlLWNoYXJ0L2d1YWdlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F4aWRpby1zdHlsZWd1aWRlLWxpYnJhcnkvc3JjL2xpYi9ndWFnZS1jaGFydC9ndWFnZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sV0FBVyxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sa0JBQWtCLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXVEbEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQW9EeEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdDRCw2QkFBd0IsR0FBZ0MsRUFBRSxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFNUQsdUJBQWtCLEdBQXVCLEVBQXdCLENBQUM7UUFDbEUsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFTix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsdUJBQWtCLEdBQUcs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QkFBb0IsQ0FBQyxNQUFjO1FBQ3pDLE9BQU8sYUFBYSxNQUFNLEtBQUssTUFBTSxHQUFHLENBQUM7SUFDM0MsQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFXO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUMvQixDQUFDO0lBRU8sUUFBUSxDQUFDLElBQWM7UUFDN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBVTtRQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBdGFVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHlnQkN2RWhDLG9wQ0E2Qk07OzRGRDBDTyxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUk7d0RBSXJDLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWxELGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3BDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VW5pcXVlSWQgfSBmcm9tICcuLi91bmlxdWUtaWQnO1xyXG5pbXBvcnQgQ2hhcnRIZWxwZXIgZnJvbSAnLi4vY2hhcnQtaGVscGVyJztcclxuaW1wb3J0IHsgUmVzaXplZEV2ZW50IH0gZnJvbSAnYW5ndWxhci1yZXNpemUtZXZlbnQnO1xyXG5pbXBvcnQgSGVhZGVyQ29uZmlnSGVscGVyIGZyb20gJy4uL2hlYWRlci1jb25maWcnO1xyXG5cclxuaW50ZXJmYWNlIENoYXJ0RGF0YSB7XHJcbiAgZGF0YTogbnVtYmVyW107XHJcbiAgbWV0YURhdGE6IENoYXJ0TWV0YWRhdGE7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDaGFydE1ldGFkYXRhIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjb2xvclR5cGU6ICdsb3cnIHwgJ2hpZ2gnO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIGN1cnJlbnRWYWx1ZTogbnVtYmVyO1xyXG4gIHN0YXR1cz86IHN0cmluZztcclxuICBkYXRlUmFuZ2U/OiBzdHJpbmc7XHJcbiAgaGFzRHJpbGxEb3duPzogYm9vbGVhbjtcclxuICBpc0VkaXRFbmFibGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuaW50ZXJmYWNlIENoYXJ0Q29uZmlndXJhdGlvbiB7XHJcbiAgbWFyZ2luOiB7IHRvcDogbnVtYmVyOyByaWdodDogbnVtYmVyOyBib3R0b206IG51bWJlcjsgbGVmdDogbnVtYmVyIH07XHJcbiAgbWluQW5nbGU6IG51bWJlcjtcclxuICBtYXhBbmdsZTogbnVtYmVyO1xyXG4gIHJpbmdJbnNldDogbnVtYmVyO1xyXG4gIHJpbmdXaWR0aDogbnVtYmVyO1xyXG4gIG1ham9yVGlja3M6IG51bWJlcjtcclxuICBzdmdIZWlnaHQ6IG51bWJlcjtcclxuICBsb3dfY29sb3JNYXA6IHN0cmluZ1tdO1xyXG4gIGhpZ2hfY29sb3JNYXA6IHN0cmluZ1tdO1xyXG4gIGlzSGVhZGVyVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgcG9pbnRlcldpZHRoOiBudW1iZXI7XHJcbiAgcG9pbnRlclRhaWxMZW5ndGg6IG51bWJlcjtcclxuICBwb2ludGVySGVhZExlbmd0aFBlcmNlbnQ6IG51bWJlcjtcclxuICBsYWJlbEluc2V0OiBudW1iZXI7XHJcbiAgbGVnZW5kSnVzdGlmaWVkOiBib29sZWFuO1xyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG4gIGlzRHJpbGxkb3duQ2hhcnQ/OiBib29sZWFuO1xyXG4gIHJpbmdTY2FsZUZhY3RvcjogbnVtYmVyO1xyXG4gIHRleHRzQXRDZW50ZXJTY2FsZUZhY3RvcjogbnVtYmVyO1xyXG4gIGN1cnJlbnRWYWx1ZVdpZHRoU2NhbGVGYWN0b3I6IG51bWJlcjtcclxuICBjdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvcjogbnVtYmVyO1xyXG4gIHBvaW50ZXJDb2xvcjogc3RyaW5nO1xyXG4gIGlzVG9nZ2xlVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgc2VsZWN0ZWRLcGlUb29sdG9wPzogYW55O1xyXG4gIGlzVmFsdWVMYWJsZUFkanVzdD86IGJvb2xlYW47XHJcbiAgaXNUaXRsZUhpZGRlbj86IGJvb2xlYW47XHJcbiAgaGVhZGVyTWVudU9wdGlvbnM6IGFueVtdO1xyXG4gIGlzUmlhPzogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZ3VhZ2UtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ndWFnZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3VhZ2UtY2hhcnQuY29tcG9uZW50Lmxlc3MnLCAnLi4vY29tbW9uLXN0eWxlcy5sZXNzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEd1YWdlQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRVbmlxdWVJZCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdndWFnZWNoYXJ0Y29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBjb250YWluZXJFbHQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdndWFnZWNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgZ3VhZ2Vjb250YWluZXJFbHQhOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKSBjaGFydERhdGEhOiBDaGFydERhdGE7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2hhcnRDb25maWd1cmF0aW9uOiBQYXJ0aWFsPENoYXJ0Q29uZmlndXJhdGlvbj4gPSB7fTtcclxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBoZWFkZXJNZW51Y2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjaGFydENvbmZpZ3VyYXRpb246IENoYXJ0Q29uZmlndXJhdGlvbiA9IHt9IGFzIENoYXJ0Q29uZmlndXJhdGlvbjtcclxuICBkYXRhVHlwZSA9ICcnO1xyXG4gIGRhdGF0eXBlX3N0YXR1cyA9IGZhbHNlO1xyXG4gIHVuaXF1ZUlkID0gdGhpcy5nZXRVbmlxdWVJZCgpO1xyXG4gIGlzSGVhZGVyVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQ0hBUlRfSEVBREVSX0hFSUdIVCA9IDU2O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTEFSR0VfU0NSRUVOX1dJRFRIID0gMTQwMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IFhMQVJHRV9TQ1JFRU5fV0lEVEggPSAxNTAwO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRDb25maWd1cmF0aW9uOiBDaGFydENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICBtYXJnaW46IHsgdG9wOiA0MCwgcmlnaHQ6IDIwLCBib3R0b206IDIwLCBsZWZ0OiAyMCB9LFxyXG4gICAgbWluQW5nbGU6IC05MCxcclxuICAgIG1heEFuZ2xlOiA5MCxcclxuICAgIHJpbmdJbnNldDogMjAsXHJcbiAgICByaW5nV2lkdGg6IDIwLFxyXG4gICAgbWFqb3JUaWNrczogMyxcclxuICAgIHN2Z0hlaWdodDogODAsXHJcbiAgICBsb3dfY29sb3JNYXA6IFsnIzQzQ0MwMCcsICcjRkZFRjBDJywgJyNGRjRFMEMnXSxcclxuICAgIGhpZ2hfY29sb3JNYXA6IFsnI0ZGNEUwQycsICcjRkZFRjBDJywgJyM0M0NDMDAnXSxcclxuICAgIGlzSGVhZGVyVmlzaWJsZTogdW5kZWZpbmVkLFxyXG4gICAgcG9pbnRlcldpZHRoOiAxMCxcclxuICAgIHBvaW50ZXJUYWlsTGVuZ3RoOiA1LFxyXG4gICAgcG9pbnRlckhlYWRMZW5ndGhQZXJjZW50OiAwLjcsXHJcbiAgICBsYWJlbEluc2V0OiAxMCxcclxuICAgIGxlZ2VuZEp1c3RpZmllZDogZmFsc2UsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcclxuICAgIGlzRHJpbGxkb3duQ2hhcnQ6IHVuZGVmaW5lZCxcclxuICAgIHJpbmdTY2FsZUZhY3RvcjogMCxcclxuICAgIHRleHRzQXRDZW50ZXJTY2FsZUZhY3RvcjogMCxcclxuICAgIGN1cnJlbnRWYWx1ZVdpZHRoU2NhbGVGYWN0b3I6IDYwLFxyXG4gICAgY3VycmVudFZhbHVlSGVpZ2h0U2NhbGVGYWN0b3I6IDMwLFxyXG4gICAgcG9pbnRlckNvbG9yOiAnIzY4Njg2OCcsXHJcbiAgICBpc1RvZ2dsZVZpc2libGU6IHVuZGVmaW5lZCxcclxuICAgIHNlbGVjdGVkS3BpVG9vbHRvcDogdW5kZWZpbmVkLFxyXG4gICAgaXNWYWx1ZUxhYmxlQWRqdXN0OiB1bmRlZmluZWQsXHJcbiAgICBpc1RpdGxlSGlkZGVuOiB1bmRlZmluZWQsXHJcbiAgICBoZWFkZXJNZW51T3B0aW9uczogSGVhZGVyQ29uZmlnSGVscGVyLmhlYWRlckNvbmZpZy5oZWFkZXJNZW51T3B0aW9ucyxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNBbGVydEVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24/LmhlYWRlck1lbnVPcHRpb25zPy5zb21lKFxyXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09ICdlZGl0QWxlcnQnXHJcbiAgICApID8/IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2NoYXJ0RGF0YSddIHx8IGNoYW5nZXNbJ2N1c3RvbUNoYXJ0Q29uZmlndXJhdGlvbiddKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlRXhpc3RpbmdDaGFydCgpO1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVDaGFydCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZXNpemVkKGV2ZW50OiBSZXNpemVkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtb3ZlRXhpc3RpbmdDaGFydCgpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlRXhpc3RpbmdDaGFydCgpOiB2b2lkIHtcclxuICAgIGQzLnNlbGVjdChgIyR7dGhpcy51bmlxdWVJZH1gKS5yZW1vdmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNoYXJ0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNoYXJ0RGF0YSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMubWVyZ2VDb25maWd1cmF0aW9uKCk7XHJcbiAgICB0aGlzLnNldHVwRGF0YVR5cGUoKTtcclxuICAgIFxyXG4gICAgY29uc3QgeyBkYXRhLCBtZXRhRGF0YSB9ID0gdGhpcy5jaGFydERhdGE7XHJcbiAgICBjb25zdCBjb2xvck1hcHMgPSB0aGlzLmdldENvbG9yTWFwcyhtZXRhRGF0YS5jb2xvclR5cGUpO1xyXG4gICAgY29uc3QgZGF0YVNlZ21lbnRzID0gdGhpcy5jYWxjdWxhdGVEYXRhU2VnbWVudHMoZGF0YSk7XHJcbiAgICBjb25zdCBhbmdsZVZhbHVlcyA9IHRoaXMuY2FsY3VsYXRlQW5nbGVzKGRhdGFTZWdtZW50cyk7XHJcbiAgICBcclxuICAgIGNvbnN0IGRpbWVuc2lvbnMgPSB0aGlzLmNhbGN1bGF0ZURpbWVuc2lvbnMoKTtcclxuICAgIGNvbnN0IHN2ZyA9IHRoaXMuY3JlYXRlU1ZHKGRpbWVuc2lvbnMpO1xyXG4gICAgY29uc3QgcmFkaXVzID0gTWF0aC5taW4oZGltZW5zaW9ucy53aWR0aCwgZGltZW5zaW9ucy5oZWlnaHQpIC8gMjtcclxuXHJcbiAgICB0aGlzLmFkanVzdFNjYWxlRmFjdG9ycyhyYWRpdXMpO1xyXG4gICAgXHJcbiAgICBjb25zdCBsYWJlbEFycmF5ID0gdGhpcy5jcmVhdGVMYWJlbEFycmF5KGRhdGEsIGRhdGFTZWdtZW50cyk7XHJcbiAgICBcclxuICAgIHRoaXMucmVuZGVyQXJjcyhzdmcsIGRhdGFTZWdtZW50cywgYW5nbGVWYWx1ZXMsIGNvbG9yTWFwcywgbWV0YURhdGEsIHJhZGl1cyk7XHJcbiAgICB0aGlzLnJlbmRlclBvaW50ZXIoc3ZnLCBkYXRhLCBtZXRhRGF0YSwgcmFkaXVzKTtcclxuICAgIHRoaXMucmVuZGVyTGFiZWxzKHN2ZywgbGFiZWxBcnJheSwgZGF0YSwgbWV0YURhdGEsIHJhZGl1cyk7XHJcbiAgICB0aGlzLnJlbmRlckNlbnRlclRleHRzKHN2ZywgbWV0YURhdGEsIHJhZGl1cywgZGltZW5zaW9ucyk7XHJcbiAgICBcclxuICAgIHRoaXMuY2VudGVyU1ZHKHN2ZywgZGltZW5zaW9ucyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lcmdlQ29uZmlndXJhdGlvbigpOiB2b2lkIHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24pLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbltrZXldID0gQ2hhcnRIZWxwZXIuZ2V0VmFsdWVCeUNvbmZpZ3VyYXRpb25UeXBlKFxyXG4gICAgICAgIGtleSxcclxuICAgICAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uLFxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ2hhcnRDb25maWd1cmF0aW9uXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhVHlwZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGFUeXBlID0gdGhpcy5jaGFydERhdGEubWV0YURhdGEuZGF0YVR5cGU7XHJcbiAgICBpZiAoZGF0YVR5cGUpIHtcclxuICAgICAgdGhpcy5kYXRhVHlwZSA9IGRhdGFUeXBlID09PSAnVVNEJyA/ICckICcgOiBkYXRhVHlwZTtcclxuICAgICAgdGhpcy5kYXRhdHlwZV9zdGF0dXMgPSBkYXRhVHlwZSA9PT0gJ1VTRCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbG9yTWFwcyhjb2xvclR5cGU6ICdsb3cnIHwgJ2hpZ2gnKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIGNvbG9yVHlwZSA9PT0gJ2xvdydcclxuICAgICAgPyB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5sb3dfY29sb3JNYXBcclxuICAgICAgOiB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5oaWdoX2NvbG9yTWFwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVEYXRhU2VnbWVudHMoZGF0YTogbnVtYmVyW10pOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gZGF0YS5zbGljZSgwLCAtMSkubWFwKCh2YWx1ZSwgaSkgPT4gZGF0YVtpICsgMV0gLSB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGN1bGF0ZUFuZ2xlcyhkYXRhU2VnbWVudHM6IG51bWJlcltdKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgdG90YWwgPSBkYXRhU2VnbWVudHMucmVkdWNlKChzdW0sIHZhbHVlKSA9PiBzdW0gKyB2YWx1ZSwgMCk7XHJcbiAgICBjb25zdCBhbmdsZXM6IG51bWJlcltdID0gW107XHJcbiAgICBcclxuICAgIGRhdGFTZWdtZW50cy5mb3JFYWNoKChzZWdtZW50LCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFuZ2xlID0gKHNlZ21lbnQgLyB0b3RhbCkgKiAxODA7XHJcbiAgICAgIGFuZ2xlcy5wdXNoKGkgPT09IDAgPyBhbmdsZSA6IGFuZ2xlc1tpIC0gMV0gKyBhbmdsZSk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmV0dXJuIGFuZ2xlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlRGltZW5zaW9ucygpIHtcclxuICAgIGNvbnN0IGNoYXJ0Q29udGFpbmVyID0gZDMuc2VsZWN0KHRoaXMuY29udGFpbmVyRWx0Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgY29uc3QgZ3VhZ2VDb250YWluZXIgPSBkMy5zZWxlY3QodGhpcy5ndWFnZWNvbnRhaW5lckVsdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIGNvbnN0IG1hcmdpbiA9IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLm1hcmdpbjtcclxuXHJcbiAgICBjb25zdCB3aWR0aCA9IHBhcnNlSW50KGNoYXJ0Q29udGFpbmVyLnN0eWxlKCd3aWR0aCcpKSAtIG1hcmdpbi5sZWZ0IC0gbWFyZ2luLnJpZ2h0O1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VJbnQoZ3VhZ2VDb250YWluZXIuc3R5bGUoJ2hlaWdodCcpKSAtIG1hcmdpbi50b3AgLSBtYXJnaW4uYm90dG9tIC0gdGhpcy5DSEFSVF9IRUFERVJfSEVJR0hUO1xyXG5cclxuICAgIGlmICh0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5pc0hlYWRlclZpc2libGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmlzSGVhZGVyVmlzaWJsZSA9IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmlzSGVhZGVyVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0LCBtYXJnaW4sIGNoYXJ0Q29udGFpbmVyIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVNWRyhkaW1lbnNpb25zOiBhbnkpOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIG51bGwsIHVuZGVmaW5lZD4ge1xyXG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCBtYXJnaW4sIGNoYXJ0Q29udGFpbmVyIH0gPSBkaW1lbnNpb25zO1xyXG5cclxuICAgIHJldHVybiBjaGFydENvbnRhaW5lclxyXG4gICAgICAuYXBwZW5kKCdzdmcnKVxyXG4gICAgICAuYXR0cignaWQnLCB0aGlzLnVuaXF1ZUlkKVxyXG4gICAgICAuYXR0cignd2lkdGgnLCB3aWR0aCArIG1hcmdpbi5sZWZ0ICsgbWFyZ2luLnJpZ2h0KVxyXG4gICAgICAuYXR0cignaGVpZ2h0JywgaGVpZ2h0ICsgbWFyZ2luLnRvcCArIG1hcmdpbi5ib3R0b20pXHJcbiAgICAgIC5jYWxsKENoYXJ0SGVscGVyLnJlc3BvbnNpdmVmeSlcclxuICAgICAgLmFwcGVuZCgnZycpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGp1c3RTY2FsZUZhY3RvcnMocmFkaXVzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5pc0RyaWxsZG93bkNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZVdpZHRoU2NhbGVGYWN0b3IgKz0gNDA7XHJcbiAgICAgIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yICs9IDIwO1xyXG4gICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHRoaXMuTEFSR0VfU0NSRUVOX1dJRFRIKSB7XHJcbiAgICAgIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yICs9IDE1O1xyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVXaWR0aFNjYWxlRmFjdG9yICo9IDI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxhYmVsQXJyYXkoZGF0YTogbnVtYmVyW10sIGRhdGFTZWdtZW50czogbnVtYmVyW10pIHtcclxuICAgIGNvbnN0IGxhYmVsQXJyYXkgPSBbeyBuYW1lOiBkYXRhWzBdLCB2YWx1ZTogMCB9XTtcclxuICAgIGxldCBjdW11bGF0aXZlID0gMDtcclxuXHJcbiAgICBkYXRhU2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCwgaSkgPT4ge1xyXG4gICAgICBjdW11bGF0aXZlICs9IHNlZ21lbnQ7XHJcbiAgICAgIGxhYmVsQXJyYXkucHVzaCh7IG5hbWU6IGRhdGFbaSArIDFdLCB2YWx1ZTogY3VtdWxhdGl2ZSB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBsYWJlbEFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJBcmNzKFxyXG4gICAgc3ZnOiBhbnksXHJcbiAgICBkYXRhU2VnbWVudHM6IG51bWJlcltdLFxyXG4gICAgYW5nbGVWYWx1ZXM6IG51bWJlcltdLFxyXG4gICAgY29sb3JNYXBzOiBzdHJpbmdbXSxcclxuICAgIG1ldGFEYXRhOiBDaGFydE1ldGFkYXRhLFxyXG4gICAgcmFkaXVzOiBudW1iZXJcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGlzUmlhID0gdGhpcy5jdXN0b21DaGFydENvbmZpZ3VyYXRpb24uaXNSaWE7XHJcbiAgICBjb25zdCBjZW50ZXJUeCA9IHRoaXMuZ2V0Q2VudGVyVHJhbnNsYXRpb24ocmFkaXVzKTtcclxuICAgIGNvbnN0IGFyYyA9IHRoaXMuY3JlYXRlQXJjR2VuZXJhdG9yKGRhdGFTZWdtZW50cywgYW5nbGVWYWx1ZXMsIHJhZGl1cyk7XHJcblxyXG4gICAgY29uc3QgYXJjcyA9IHN2Zy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdhcmMnKS5hdHRyKCd0cmFuc2Zvcm0nLCBjZW50ZXJUeCk7XHJcblxyXG4gICAgYXJjc1xyXG4gICAgICAuc2VsZWN0QWxsKCdwYXRoJylcclxuICAgICAgLmRhdGEoZGF0YVNlZ21lbnRzKVxyXG4gICAgICAuZW50ZXIoKVxyXG4gICAgICAuYXBwZW5kKCdwYXRoJylcclxuICAgICAgLmF0dHIoJ2ZpbGwnLCAoZDogYW55LCBpOiBudW1iZXIpID0+IGNvbG9yTWFwc1tpXSlcclxuICAgICAgLmF0dHIoJ2lkJywgKGQ6IGFueSwgaTogbnVtYmVyKSA9PiBjb2xvck1hcHNbaV0pXHJcbiAgICAgIC5hdHRyKCdkJywgYXJjKVxyXG4gICAgICAuc3R5bGUoJ2N1cnNvcicsICgpID0+IHtcclxuICAgICAgICByZXR1cm4gbWV0YURhdGEuY3VycmVudFZhbHVlID4gMCAmJiBtZXRhRGF0YS5oYXNEcmlsbERvd24gJiYgIWlzUmlhXHJcbiAgICAgICAgICA/ICdwb2ludGVyJ1xyXG4gICAgICAgICAgOiAnZGVmYXVsdCc7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5vbignY2xpY2snLCAoZXZlbnQ6IGFueSwgZDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCFtZXRhRGF0YS5oYXNEcmlsbERvd24gfHwgbWV0YURhdGEuY3VycmVudFZhbHVlID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5oYW5kbGVDbGljayh0aGlzLmdldFJhbmdlKHRoaXMuY2hhcnREYXRhLmRhdGEpKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUFyY0dlbmVyYXRvcihkYXRhU2VnbWVudHM6IG51bWJlcltdLCBhbmdsZVZhbHVlczogbnVtYmVyW10sIHJhZGl1czogbnVtYmVyKTogYW55IHtcclxuICAgIHJldHVybiBkM1xyXG4gICAgICAuYXJjKClcclxuICAgICAgLmlubmVyUmFkaXVzKHJhZGl1cyAtIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnJpbmdXaWR0aCAtIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnJpbmdJbnNldClcclxuICAgICAgLm91dGVyUmFkaXVzKHJhZGl1cylcclxuICAgICAgLnN0YXJ0QW5nbGUoKGQ6IGFueSwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmF0aW8gPSBpID09PSAwXHJcbiAgICAgICAgICA/IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLm1pbkFuZ2xlXHJcbiAgICAgICAgICA6IHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLm1pbkFuZ2xlICsgYW5nbGVWYWx1ZXNbaSAtIDFdO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRlZzJyYWQocmF0aW8pO1xyXG4gICAgICB9KVxyXG4gICAgICAuZW5kQW5nbGUoKGQ6IGFueSwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmF0aW8gPSBpID09PSBkYXRhU2VnbWVudHMubGVuZ3RoIC0gMVxyXG4gICAgICAgICAgPyB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5tYXhBbmdsZVxyXG4gICAgICAgICAgOiB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5taW5BbmdsZSArIGFuZ2xlVmFsdWVzW2ldO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRlZzJyYWQocmF0aW8pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyUG9pbnRlcihzdmc6IGFueSwgZGF0YTogbnVtYmVyW10sIG1ldGFEYXRhOiBDaGFydE1ldGFkYXRhLCByYWRpdXM6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgY2VudGVyVHggPSB0aGlzLmdldENlbnRlclRyYW5zbGF0aW9uKHJhZGl1cyk7XHJcbiAgICBjb25zdCBwb2ludGVySGVhZExlbmd0aCA9IE1hdGgucm91bmQocmFkaXVzICogdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ucG9pbnRlckhlYWRMZW5ndGhQZXJjZW50KTtcclxuXHJcbiAgICBjb25zdCBsaW5lRGF0YSA9IFtcclxuICAgICAgW3RoaXMuY2hhcnRDb25maWd1cmF0aW9uLnBvaW50ZXJXaWR0aCAvIDIsIDBdLFxyXG4gICAgICBbMCwgLXBvaW50ZXJIZWFkTGVuZ3RoXSxcclxuICAgICAgWy0odGhpcy5jaGFydENvbmZpZ3VyYXRpb24ucG9pbnRlcldpZHRoIC8gMiksIDBdLFxyXG4gICAgICBbMCwgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ucG9pbnRlclRhaWxMZW5ndGhdLFxyXG4gICAgICBbdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ucG9pbnRlcldpZHRoIC8gMiwgMF0sXHJcbiAgICBdO1xyXG5cclxuICAgIGNvbnN0IHBvaW50ZXJMaW5lID0gZDMubGluZSgpO1xyXG4gICAgY29uc3QgcGcgPSBzdmdcclxuICAgICAgLmFwcGVuZCgnZycpXHJcbiAgICAgIC5kYXRhKFtsaW5lRGF0YV0pXHJcbiAgICAgIC5hdHRyKCdjbGFzcycsICdwb2ludGVyJylcclxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsIGNlbnRlclR4KTtcclxuXHJcbiAgICBjb25zdCByYW5nZSA9IGRhdGFbZGF0YS5sZW5ndGggLSAxXSAtIGRhdGFbMF07XHJcbiAgICBjb25zdCBwb2ludGVyVmFsdWUgPSBtZXRhRGF0YS5jdXJyZW50VmFsdWUgLSBkYXRhWzBdO1xyXG4gICAgY29uc3QgcG9pbnRlckFuZ2xlID0gdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ubWluQW5nbGUgKyAocG9pbnRlclZhbHVlIC8gcmFuZ2UpICogMTgwO1xyXG5cclxuICAgIHBnLmFwcGVuZCgncGF0aCcpXHJcbiAgICAgIC5hdHRyKCdkJywgcG9pbnRlckxpbmUpXHJcbiAgICAgIC5hdHRyKCdmaWxsJywgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24ucG9pbnRlckNvbG9yKVxyXG4gICAgICAuYXR0cihcclxuICAgICAgICAndHJhbnNmb3JtJyxcclxuICAgICAgICBgcm90YXRlKCR7cG9pbnRlckFuZ2xlfSkgdHJhbnNsYXRlKDAsICR7LXJhZGl1cyArIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLnJpbmdXaWR0aCArIHBvaW50ZXJIZWFkTGVuZ3RofSlgXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlckxhYmVscyhzdmc6IGFueSwgbGFiZWxBcnJheTogYW55W10sIGRhdGE6IG51bWJlcltdLCBtZXRhRGF0YTogQ2hhcnRNZXRhZGF0YSwgcmFkaXVzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNlbnRlclR4ID0gdGhpcy5nZXRDZW50ZXJUcmFuc2xhdGlvbihyYWRpdXMpO1xyXG4gICAgY29uc3QgcmFuZ2UgPSBkYXRhW2RhdGEubGVuZ3RoIC0gMV0gLSBkYXRhWzBdO1xyXG4gICAgY29uc3QgbGcgPSBzdmcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnbGFiZWwnKS5hdHRyKCd0cmFuc2Zvcm0nLCBjZW50ZXJUeCk7XHJcblxyXG4gICAgbGcuc2VsZWN0QWxsKCcuYnViYmxlJylcclxuICAgICAgLmRhdGEobGFiZWxBcnJheSlcclxuICAgICAgLmVudGVyKClcclxuICAgICAgLmFwcGVuZCgnZycpXHJcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAoZDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3QW5nbGUgPSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5taW5BbmdsZSArIChkLnZhbHVlIC8gcmFuZ2UpICogMTgwO1xyXG4gICAgICAgIHJldHVybiBgcm90YXRlKCR7bmV3QW5nbGV9KSB0cmFuc2xhdGUoMCwgJHt0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5sYWJlbEluc2V0IC0gcmFkaXVzIC0gMjB9KWA7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5hcHBlbmQoJ2cnKVxyXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgKGQ6IGFueSwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3QW5nbGUgPSB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5taW5BbmdsZSArIChkLnZhbHVlIC8gcmFuZ2UpICogMTgwO1xyXG4gICAgICAgIGxldCB4T2Zmc2V0ID0gLTE3O1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmIChpID09PSAwICYmIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmlzVmFsdWVMYWJsZUFkanVzdCkge1xyXG4gICAgICAgICAgeE9mZnNldCA9IC0yNztcclxuICAgICAgICB9IGVsc2UgaWYgKGkgPT09IGxhYmVsQXJyYXkubGVuZ3RoIC0gMSAmJiB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5pc1ZhbHVlTGFibGVBZGp1c3QpIHtcclxuICAgICAgICAgIHhPZmZzZXQgPSAtMTU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiBgcm90YXRlKCR7LW5ld0FuZ2xlfSkgdHJhbnNsYXRlKCR7eE9mZnNldH0sIDApYDtcclxuICAgICAgfSlcclxuICAgICAgLmFwcGVuZCgndGV4dCcpXHJcbiAgICAgIC5hdHRyKCdzdHlsZScsICgpID0+IHtcclxuICAgICAgICBjb25zdCBmb250U2l6ZSA9IHdpbmRvdy5pbm5lcldpZHRoIDwgdGhpcy5MQVJHRV9TQ1JFRU5fV0lEVEggPyAnMTJweCcgOiAnMTRweCc7XHJcbiAgICAgICAgcmV0dXJuIGBmb250LXNpemU6ICR7Zm9udFNpemV9OyBmb250LXdlaWdodDogNjAwO2A7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3ZhcigtLWNoYXJ0LXRleHQtY29sb3IpJylcclxuICAgICAgLnRleHQoKGQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBtZXRhRGF0YS5kYXRhVHlwZSA/IGAke2QubmFtZX0ke21ldGFEYXRhLmRhdGFUeXBlfWAgOiBkLm5hbWU7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJDZW50ZXJUZXh0cyhzdmc6IGFueSwgbWV0YURhdGE6IENoYXJ0TWV0YWRhdGEsIHJhZGl1czogbnVtYmVyLCBkaW1lbnNpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRvcFRleHRQb3NpdGlvbiA9IHJhZGl1cyAvIDIgLSAxMDtcclxuICAgIGNvbnN0IG1pZFRleHRQb3NpdGlvbiA9IHRvcFRleHRQb3NpdGlvbiArIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZUhlaWdodFNjYWxlRmFjdG9yO1xyXG4gICAgY29uc3QgYm90dG9tVGV4dFBvc2l0aW9uID0gbWlkVGV4dFBvc2l0aW9uICsgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlSGVpZ2h0U2NhbGVGYWN0b3I7XHJcblxyXG4gICAgLy8gQ3VycmVudCBWYWx1ZVxyXG4gICAgdGhpcy5hZGRGb3JlaWduT2JqZWN0KFxyXG4gICAgICBzdmcsXHJcbiAgICAgIHJhZGl1cyAtIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZVdpZHRoU2NhbGVGYWN0b3IgLyAyLFxyXG4gICAgICB0b3BUZXh0UG9zaXRpb24sXHJcbiAgICAgIHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmN1cnJlbnRWYWx1ZVdpZHRoU2NhbGVGYWN0b3IgKyA4LFxyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvcixcclxuICAgICAgJ3ZhbHVlLWRpc3BsYXknLFxyXG4gICAgICBgJHttZXRhRGF0YS5jdXJyZW50VmFsdWV9JHttZXRhRGF0YS5kYXRhVHlwZSB8fCAnJ31gXHJcbiAgICApO1xyXG5cclxuICAgIC8vIFN0YXR1c1xyXG4gICAgaWYgKG1ldGFEYXRhLnN0YXR1cykge1xyXG4gICAgICBjb25zdCBzdGF0dXNXaWR0aCA9IG1ldGFEYXRhLnN0YXR1cy5sZW5ndGggPiA0ID8gMjEwIDogMTIwO1xyXG4gICAgICB0aGlzLmFkZEZvcmVpZ25PYmplY3QoXHJcbiAgICAgICAgc3ZnLFxyXG4gICAgICAgIHJhZGl1cyAtIHN0YXR1c1dpZHRoIC8gMixcclxuICAgICAgICBtaWRUZXh0UG9zaXRpb24sXHJcbiAgICAgICAgc3RhdHVzV2lkdGgsXHJcbiAgICAgICAgdGhpcy5jaGFydENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlSGVpZ2h0U2NhbGVGYWN0b3IsXHJcbiAgICAgICAgJ3N0YXR1cy1kaXNwbGF5JyxcclxuICAgICAgICBtZXRhRGF0YS5zdGF0dXNcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEYXRlIFJhbmdlXHJcbiAgICBjb25zdCBkYXRlUmFuZ2VIdG1sID0gbWV0YURhdGEuZGF0ZVJhbmdlXHJcbiAgICAgID8gYDxzcGFuIGNsYXNzPVwibWFyZ2lucmlnaHQtM1wiPjxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXJcIj48L2k+PC9zcGFuPjxzcGFuPiR7bWV0YURhdGEuZGF0ZVJhbmdlfTwvc3Bhbj5gXHJcbiAgICAgIDogJyc7XHJcbiAgICBcclxuICAgIHRoaXMuYWRkRm9yZWlnbk9iamVjdChcclxuICAgICAgc3ZnLFxyXG4gICAgICByYWRpdXMgLSAxMDUsXHJcbiAgICAgIGJvdHRvbVRleHRQb3NpdGlvbixcclxuICAgICAgMjEwLFxyXG4gICAgICB0aGlzLmNoYXJ0Q29uZmlndXJhdGlvbi5jdXJyZW50VmFsdWVIZWlnaHRTY2FsZUZhY3RvcixcclxuICAgICAgJ2RhdGVyYW5nZS1kaXNwbGF5JyxcclxuICAgICAgZGF0ZVJhbmdlSHRtbFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkRm9yZWlnbk9iamVjdChcclxuICAgIHN2ZzogYW55LFxyXG4gICAgeDogbnVtYmVyLFxyXG4gICAgeTogbnVtYmVyLFxyXG4gICAgd2lkdGg6IG51bWJlcixcclxuICAgIGhlaWdodDogbnVtYmVyLFxyXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXHJcbiAgICBjb250ZW50OiBzdHJpbmdcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvbnRTaXplID0gdGhpcy5nZXRGb250U2l6ZSgpO1xyXG4gICAgXHJcbiAgICBzdmdcclxuICAgICAgLmFwcGVuZCgnZm9yZWlnbk9iamVjdCcpXHJcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7eH0sICR7eX0pYClcclxuICAgICAgLmF0dHIoJ3dpZHRoJywgd2lkdGgpXHJcbiAgICAgIC5hdHRyKCdoZWlnaHQnLCBoZWlnaHQpXHJcbiAgICAgIC5hcHBlbmQoJ3hodG1sOmRpdicpXHJcbiAgICAgIC5hdHRyKCdjbGFzcycsIGNsYXNzTmFtZSlcclxuICAgICAgLnN0eWxlKCdoZWlnaHQnLCBgJHtoZWlnaHQgKyAxMH1weGApXHJcbiAgICAgIC5zdHlsZSgnZm9udC1zaXplJywgZm9udFNpemUpXHJcbiAgICAgIC5odG1sKGNvbnRlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGb250U2l6ZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY2hhcnRDb25maWd1cmF0aW9uLmlzRHJpbGxkb3duQ2hhcnQpIHtcclxuICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgdGhpcy5MQVJHRV9TQ1JFRU5fV0lEVEggPyAnMTRweCcgOiAnMThweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCB0aGlzLkxBUkdFX1NDUkVFTl9XSURUSCA/ICcxNHB4JyA6ICcxOHB4JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2VudGVyU1ZHKHN2ZzogYW55LCBkaW1lbnNpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgbWFyZ2luLCBjaGFydENvbnRhaW5lciB9ID0gZGltZW5zaW9ucztcclxuICAgIGNvbnN0IGNvbnRhaW5lck1pZFdpZHRoID0gcGFyc2VJbnQoY2hhcnRDb250YWluZXIuc3R5bGUoJ3dpZHRoJykpIC8gMjtcclxuICAgIGNvbnN0IG5vZGVIYWxmV2lkdGggPSBzdmcubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gMjtcclxuICAgIGNvbnN0IHVwZGF0ZWRTdGFydGluZ1BvaW50ID0gY29udGFpbmVyTWlkV2lkdGggLSBub2RlSGFsZldpZHRoO1xyXG5cclxuICAgIHN2Zy5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7dXBkYXRlZFN0YXJ0aW5nUG9pbnQgKyBtYXJnaW4ubGVmdH0sICR7bWFyZ2luLnRvcH0pYCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENlbnRlclRyYW5zbGF0aW9uKHJhZGl1czogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgdHJhbnNsYXRlKCR7cmFkaXVzfSwgJHtyYWRpdXN9KWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlZzJyYWQoZGVnOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChkZWcgKiBNYXRoLlBJKSAvIDE4MDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmFuZ2UoZGF0YTogbnVtYmVyW10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke2RhdGFbMF19IGFuZCAke2RhdGFbZGF0YS5sZW5ndGggLSAxXX1gO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2xpY2socmFuZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQocmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSGVhZGVyTWVudUNsaWNrKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaGVhZGVyTWVudWNsaWNrRXZlbnQuZW1pdChpZCk7XHJcbiAgfVxyXG59IiwiPGRpdiAjZ3VhZ2Vjb250YWluZXIgY2xhc3M9XCJsaWItY2hhcnQtd3JhcHBlclwiIFxyXG4gICAgIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1iZyk7XCJcclxuICAgICAocmVzaXplZCk9XCJvblJlc2l6ZWQoJGV2ZW50KVwiPlxyXG4gIFxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItYWx0XCIgKm5nSWY9XCIhaXNIZWFkZXJWaXNpYmxlXCI+XHJcbiAgICA8bGliLWNoYXJ0LWhlYWRlci12MiBcclxuICAgICAgW2NoYXJ0RGF0YV09XCJjaGFydERhdGFcIiBcclxuICAgICAgW2NoYXJ0Q29uZmlndXJhdGlvbl09XCJjaGFydENvbmZpZ3VyYXRpb25cIlxyXG4gICAgICAoY2xpY2tFdmVudCk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8L2xpYi1jaGFydC1oZWFkZXItdjI+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGxpYi1jaGFydC1oZWFkZXItdjEgXHJcbiAgICAqbmdJZj1cImlzSGVhZGVyVmlzaWJsZVwiXHJcbiAgICBbdGl0bGVdPVwiY2hhcnREYXRhLm1ldGFEYXRhLnRpdGxlXCIgXHJcbiAgICBbaGFzRHJpbGxEb3duXT1cImNoYXJ0RGF0YS5tZXRhRGF0YS5oYXNEcmlsbERvd25cIlxyXG4gICAgW2lzRWRpdEVuYWJsZWRdPVwiY2hhcnREYXRhLm1ldGFEYXRhLmlzRWRpdEVuYWJsZWRcIiBcclxuICAgIFtpc3JpYV09XCJjdXN0b21DaGFydENvbmZpZ3VyYXRpb24uaXNSaWFcIiBcclxuICAgIFttZW51T3B0aW9uc109XCJjaGFydENvbmZpZ3VyYXRpb24uaGVhZGVyTWVudU9wdGlvbnNcIlxyXG4gICAgW3NlbGVjdGVkS3BpVG9vbHRvcF09XCJjaGFydENvbmZpZ3VyYXRpb24uc2VsZWN0ZWRLcGlUb29sdG9wXCIgXHJcbiAgICBbaXNBbGVydEVuYWJsZWRdPVwiaXNBbGVydEVuYWJsZWRcIlxyXG4gICAgKG1lbnVPcHRpb25DbGlja0V2ZW50KT1cImhhbmRsZUhlYWRlck1lbnVDbGljaygkZXZlbnQpXCI+XHJcbiAgPC9saWItY2hhcnQtaGVhZGVyLXYxPlxyXG4gIFxyXG4gIDxkaXYgI2d1YWdlY2hhcnRjb250YWluZXJcclxuICAgICAgIGlkPVwiZ3VhZ2VjaGFydGNvbnRhaW5lclwiXHJcbiAgICAgICBjbGFzcz1cImxpYi1jaGFydC1zdmcgZ3VhZ2Vjb250YWluZXJcIlxyXG4gICAgICAgW3N0eWxlLmhlaWdodC4lXT1cImNoYXJ0Q29uZmlndXJhdGlvbi5zdmdIZWlnaHRcIj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -3258,7 +3258,7 @@ class GuageChartComponent extends ComponentUniqueId {
|
|
|
3258
3258
|
// Status
|
|
3259
3259
|
if (metaData.status) {
|
|
3260
3260
|
const statusWidth = metaData.status.length > 4 ? 210 : 120;
|
|
3261
|
-
this.addForeignObject(svg, radius - statusWidth / 2, midTextPosition, statusWidth, this.chartConfiguration.currentValueHeightScaleFactor
|
|
3261
|
+
this.addForeignObject(svg, radius - statusWidth / 2, midTextPosition, statusWidth, this.chartConfiguration.currentValueHeightScaleFactor, 'status-display', metaData.status);
|
|
3262
3262
|
}
|
|
3263
3263
|
// Date Range
|
|
3264
3264
|
const dateRangeHtml = metaData.dateRange
|