imm-element-ui 0.5.7 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/am/am.component.mjs +2 -2
- package/esm2022/lib/form/form-type/radio.type.mjs +2 -3
- package/esm2022/lib/grid/grid/grid.component.mjs +2 -1
- package/esm2022/lib/share/utils.mjs +211 -1
- package/fesm2022/imm-element-ui.mjs +213 -5
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/crumb-action/crumb-action.component.d.ts +1 -1
- package/lib/share/utils.d.ts +10 -0
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@ export class AmComponent {
|
|
|
56
56
|
}));
|
|
57
57
|
}
|
|
58
58
|
webget(param) {
|
|
59
|
-
return this.http.post(apiPath + "webget", param)
|
|
59
|
+
return this.http.post(apiPath + "/goam/api/webget", param)
|
|
60
60
|
.pipe(map((response) => {
|
|
61
61
|
return response;
|
|
62
62
|
}), finalize(() => {
|
|
@@ -500,4 +500,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
500
500
|
providers: [MessageService]
|
|
501
501
|
}]
|
|
502
502
|
}], ctorParameters: () => [] });
|
|
503
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9hbS9hbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFvSXpELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtBQVFsQixNQUFNLE9BQU8sV0FBVztJQXNDdEI7UUFyQ0EsUUFBUTtRQUNSLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsT0FBTztRQUNQLE9BQUUsR0FBUyxDQUFDLENBQUE7UUFDWixNQUFNO1FBQ04sY0FBUyxHQUFTLEVBQUUsQ0FBQTtRQUNwQixNQUFNO1FBQ04sVUFBSyxHQUFRLEVBQUUsQ0FBQTtRQUNmLFFBQUcsR0FBUyxFQUFFLENBQUE7UUFDZCxJQUFJO1FBQ0osY0FBUyxHQUFjLEVBQUUsQ0FBQztRQUMxQixJQUFJO1FBQ0osa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLE1BQU07UUFDTixnQkFBVyxHQUFjLEVBQUUsQ0FBQztRQUM1QixRQUFRO1FBQ1IsY0FBUyxHQUFTLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDO1FBQzVELElBQUk7UUFDSixZQUFPLEdBQU8sRUFBRSxDQUFDO1FBQ2pCLE9BQU87UUFDUCxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLElBQUk7UUFDSixjQUFTLEdBQVMsRUFBRSxDQUFDO1FBQ3JCLFFBQVE7UUFDUixXQUFNLEdBQU0sRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFDLENBQUM7UUFDdEIsTUFBTTtRQUNOLFdBQU0sR0FBZSxFQUFFLENBQUM7UUFDeEIsUUFBUTtRQUNSLGNBQVMsR0FBUyxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFTLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQU8sRUFBRSxDQUFBO1FBQ2pCLGlDQUFpQztRQUNqQyxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDckMsbUJBQWMsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3ZELFVBQUssR0FBa0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzdDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDUixDQUFDO0lBRWhCLEdBQUcsQ0FBQyxHQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBRTthQUN4QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLFFBQVEsRUFBQyxLQUFLLENBQUU7YUFDN0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWiw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFFO2FBQzlDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxFQUFDLEtBQUssQ0FBRTthQUM3QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFRLEVBQUMsRUFBWTtRQUMxQixJQUFHLEdBQUcsRUFBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25DLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBSSxDQUFDO1lBQ0osb0NBQW9DO1lBQ3BDLDBCQUEwQjtZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN2QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCO0lBQ2hCLFVBQVUsQ0FBQyxLQUFZO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFDLENBQUM7WUFDbkIsS0FBSyxHQUFHLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUMsR0FBRyxLQUFLLEVBQUMsQ0FBQTtRQUM5QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQVEsS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUNoQyxJQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsRUFBQyxDQUFDO1lBQ2pDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUN0QixDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsSUFBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUE7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7WUFDOUIsS0FBSyxDQUFDLEdBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsSUFBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDcEMsS0FBSyxHQUFHLEVBQUMsT0FBTyxFQUFDLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxFQUFFLEVBQUMsRUFBQyxHQUFHLEtBQUssRUFBQyxDQUFBO1FBQ3pDLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN4QyxJQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDO1lBQ2QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFBO1FBQ2xCLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxFQUFFLEdBQVEsRUFBRSxDQUFBO1lBQ2hCLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQSxFQUFFO2dCQUN4QixDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRTtvQkFDdkIsSUFBRyxDQUFDLENBQUMsRUFBRSxLQUFHLENBQUMsRUFBQyxDQUFDO3dCQUNYLEVBQUUsSUFBRyxTQUFTLEdBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBQyxHQUFHLENBQUE7b0JBQy9CLENBQUM7eUJBQUksQ0FBQzt3QkFDSixFQUFFLElBQUksR0FBRyxHQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRSxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxHQUFDLEdBQUcsQ0FBQTtvQkFDckYsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFBO1lBQ0YsS0FBSyxHQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsRUFBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxRQUFRLEVBQUMsS0FBSyxDQUFFO2FBQzdDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUMsQ0FBQztnQkFDYixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDbkIsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWiw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPO0lBQ1AsSUFBSSxDQUFDLEdBQVM7UUFDWixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsTUFBTSxFQUFDLEtBQUssQ0FBQzthQUMxQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUE7WUFDN0MsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNILG9CQUFvQjtJQUNsQixLQUFLLENBQUMsR0FBVTtRQUNkLElBQUcsR0FBRyxFQUFDLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFDRCxTQUFTLENBQUMsS0FBVztRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBQyxDQUFDO1lBQ25CLEtBQUssR0FBRyxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFDLEdBQUcsS0FBSyxFQUFDLENBQUE7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLE9BQU8sRUFBQyxLQUFLLENBQUM7YUFDM0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBQyxDQUFDO2dCQUNiLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNILFFBQVE7SUFDTixNQUFNLENBQUMsR0FBVztRQUNoQixJQUFHLEdBQUcsRUFBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxFQUFDLEtBQUssQ0FBRTthQUM3QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFDLENBQUM7Z0JBQ2IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0gsWUFBWTtJQUNWLEdBQUcsQ0FBQyxHQUFRO1FBQ1YsSUFBRyxHQUFHLEVBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsQ0FBQzthQUFJLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FBQyxLQUFTO1FBQ2YsSUFBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQztZQUNyQyxLQUFLLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLEtBQUssRUFBQyxLQUFLLENBQUM7YUFDekMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQTtZQUMzQixJQUFHLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFRLENBQUMsS0FBSyxDQUFDLFVBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDLENBQUE7WUFDdkUsQ0FBQztZQUNELElBQUksQ0FBQyxFQUFFLEdBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQTtZQUNwQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0gsdUJBQXVCO0lBQ3JCLE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLElBQUcsR0FBRyxFQUFDLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVLENBQUMsS0FBWTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxRQUFRLEVBQUMsS0FBSyxDQUFDO2FBQzVDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFFLEVBQUMsR0FBRyxRQUFRLEVBQUMsQ0FBQTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDeEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUcsR0FBRyxFQUFDLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFDRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxXQUFXLEVBQUMsS0FBSyxDQUFDO2FBQy9DLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFFLEVBQUMsR0FBRyxRQUFRLEVBQUMsQ0FBQTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDeEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELHVCQUF1QjtJQUN2QixXQUFXLENBQUMsR0FBVztRQUNyQixJQUFHLEdBQUcsRUFBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBQ0QsZUFBZSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsYUFBYSxFQUFDLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRSxFQUFDLEdBQUcsUUFBUSxFQUFDLENBQUE7WUFDN0IsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNGLFNBQVM7SUFDUiwrQ0FBK0M7SUFDL0MsOEJBQThCO0lBQzlCLHlEQUF5RDtJQUN6RCxXQUFXO0lBQ1gsOEJBQThCO0lBQzlCLG9DQUFvQztJQUNwQyxrQ0FBa0M7SUFDbEMseUJBQXlCO0lBQ3pCLFVBQVU7SUFDViw4QkFBOEI7SUFDOUIsMENBQTBDO0lBQzFDLG1DQUFtQztJQUNuQyxpQ0FBaUM7SUFDakMsd0NBQXdDO0lBQ3hDLFVBQVU7SUFDVix1QkFBdUI7SUFDdkIscUNBQXFDO0lBQ3JDLG1DQUFtQztJQUNuQyxTQUFTO0lBQ1QsT0FBTztJQUNQLElBQUk7SUFDSixZQUFZO0lBQ1osTUFBTSxDQUFDLEdBQVc7UUFDaEIsSUFBRyxHQUFHLEVBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFJLENBQUM7WUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFDLENBQUM7WUFDbkIsS0FBSyxHQUFHLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUMsR0FBRyxLQUFLLEVBQUMsQ0FBQTtRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsUUFBUSxFQUFDLEtBQUssRUFBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUNyRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxrRkFBa0YsRUFBRSxDQUFDLENBQUM7WUFDdEksTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsR0FBQyxPQUFPLENBQUM7WUFDekMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVE7SUFDUixVQUFVLENBQUMsR0FBVztRQUNwQixJQUFHLEdBQUcsRUFBQyxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBQ0QsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUMsQ0FBQztZQUNuQixLQUFLLEdBQUcsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxHQUFHLEtBQUssRUFBQyxDQUFBO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxZQUFZLEVBQUMsS0FBSyxFQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ3pFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGtGQUFrRixFQUFFLENBQUMsQ0FBQztZQUN0SSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFDLE9BQU8sQ0FBQztZQUN6QyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsU0FBUztJQUNULGdCQUFnQixDQUFDLEdBQVM7UUFDeEIsSUFBRyxHQUFHLEVBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QyxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxLQUFXO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFDLFVBQVUsRUFBQyxLQUFLLEVBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDdkUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUFTLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0ZBQWtGLEVBQUUsQ0FBQyxDQUFDO1lBQ3RJLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUMsU0FBUyxDQUFDO1lBQzNDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWiw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNO0lBQ04sV0FBVyxDQUFDLEdBQVc7UUFDckIsSUFBRyxHQUFHLEVBQUMsQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDeEMsQ0FBQzthQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFDRCxlQUFlLENBQUMsR0FBVTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxhQUFhLEVBQUMsR0FBRyxDQUFDO2FBQy9DLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtZQUNsRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0MsTUFBTTtJQUNSLFdBQVcsQ0FBQyxHQUFXO1FBQ25CLElBQUcsR0FBRyxFQUFDLENBQUM7WUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLENBQUM7YUFBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDO0lBQ0QsZUFBZSxDQUFDLEdBQVU7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUMsYUFBYSxFQUFDLEdBQUcsQ0FBQzthQUMvQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7WUFDbEYsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNILFNBQVM7SUFDVCxZQUFZLENBQUMsS0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxjQUFjLEVBQUMsS0FBSyxDQUFDO2FBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxHQUFDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQTtZQUM3QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsS0FBSztJQUNMLFdBQVcsQ0FBQyxHQUFVO1FBQ3BCLElBQUcsR0FBRyxFQUFDLENBQUM7WUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLENBQUM7YUFBSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFDRCxlQUFlLENBQUMsS0FBVztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBQyxhQUFhLEVBQUMsS0FBSyxDQUFDO2FBQ2pELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixxRkFBcUY7WUFDckYsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELGlCQUFpQjtJQUNqQixRQUFRLENBQUMsTUFBYztRQUNyQixRQUFPLE1BQU0sRUFBQyxDQUFDO1lBQ2IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUE7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbEMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNyQixDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO2dCQUNoQixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1I7Z0JBQ0UsRUFBRSxDQUFBO1FBQ04sQ0FBQztJQUNILENBQUM7K0dBM2dCVSxXQUFXO21HQUFYLFdBQVcscURBRlosQ0FBQyxjQUFjLENBQUMsMEJBRGhCLEVBQUU7OzRGQUdELFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUMsQ0FBQyxjQUFjLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LGluamVjdCxzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgZmluYWxpemUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IEZvcm1PcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9mb3JtL2Zvcm0uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7VG9hc3R9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbXtcclxuICBpZD86bnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNlTWVzc2FnZSB7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgcGlkPzpudW1iZXI7ICAvLyDooajkuK1pZFxyXG4gIGZ1bmM/OnN0cmluZztcclxuICBvcGVyYXRvcj86c3RyaW5nO1xyXG4gIGNvbnRlbnQ/OnN0cmluZzsgIC8vIOS4u+ihqOWPmOabtOaJgOacieWtl+auteaLvOaOpeS4gOWdl1xyXG4gIHN1YkNvbnRlbnQ/OnN0cmluZzsgLy8g5a2Q6KGo5Y+Y5pu05ou85o6l5LiA6LW3XHJcbiAgY3JlYXRlZEF0PzpzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRFeGNlbHtcclxuICBtb2RlbE5hbWU/OiBzdHJpbmc7XHJcbiAgb3JnSWQ/OiBudW1iZXI7XHJcbiAgb3JnTmFtZT86c3RyaW5nO1xyXG4gIG9yZ0lkRmVpbGQ/OiBzdHJpbmc7XHJcbiAgb3JnTmFtZUZlaWxkPzpzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0IHtcclxuICBtb2RlbE5hbWU/OiBzdHJpbmc7XHJcbiAgYWRkRGF0YT86IFJlY29yZDxzdHJpbmcsYW55PjtcclxuICB1cGREYXRhPzogUmVjb3JkPHN0cmluZyxhbnk+O1xyXG4gIHN1YnNlcnQ/OiBTdWJVcHNlcnRbXTtcclxuICBsb2dNb2RlbD86IHN0cmluZztcclxuICBsb2c/OiBUcmFjZU1lc3NhZ2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3ViVXBzZXJ0IHtcclxuICBzdWJNb2RlbE5hbWU/OiBzdHJpbmc7XHJcbiAgZms/OnN0cmluZztcclxuICBzdWJEYXRhPzogUmVjb3JkPHN0cmluZyxhbnk+W11cclxuICBtYXB0bXA/OiBNYXA8bnVtYmVyLGFueT47XHJcbiAgbG9ndG1wPzogTWFwPHN0cmluZyxhbnk+XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZWFse1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZztcclxuICBkYXRhPzphbnk7XHJcbn1cclxuLy8g5pu05paw54m55a6a5a2X5q61XHJcbmV4cG9ydCBpbnRlcmZhY2UgV3JpdGV7XHJcbiAgbW9kZWxOYW1lPzpzdHJpbmc7XHJcbiAgZGF0YT86UmVjb3JkPHN0cmluZyxhbnk+O1xyXG4gIGxvZ01vZGVsPzpzdHJpbmc7XHJcbiAgbG9nPzpUcmFjZU1lc3NhZ2U7XHJcbiAgdHJhbnNhY3Rpb24/OiBib29sZWFuO1xyXG59XHJcbi8vIOWIoOmZpOaOpeWPo+WjsOaYjlxyXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZXtcclxuICBtb2RlbE5hbWU/OnN0cmluZztcclxuICBpZHM/Om51bWJlcltdO1xyXG4gIGRhdGE/OmFueTtcclxuICBsb2dNb2RlbD86c3RyaW5nO1xyXG4gIGxvZz86VHJhY2VNZXNzYWdlO1xyXG4gIHRyYW5zYWN0aW9uPzogYm9vbGVhbjtcclxufVxyXG4vLyDojrflj5bljZXmnaHmlbDmja7or6bmg4VcclxuZXhwb3J0IGludGVyZmFjZSBHZXR7XHJcbiAgbW9kZWxOYW1lPzpzdHJpbmc7XHJcbiAgdXNlckNvZGU/OiBzdHJpbmc7XHJcbiAgb3JnRmllbGQ/OiBzdHJpbmc7XHJcbiAgaWQ/Om51bWJlcjtcclxuICBwcmVsb2Fkcz86c3RyaW5nW107IC8vIOiBlOihqOafpeivouihqOWQjeensO+8jOmcgOWvueW6lOWQjuerr3N0cnVjdFxyXG4gIGZpdGVyUHJlbG9hZHM/OlByZWxvYWRbXTsgLy8g5Y+q6IO95Yqg5LiA5bGCIOexu+S8vCAnbW9kdWxlID0nIG1vZHVsZVxyXG4gIGdldExvZz86Ym9vbGVhbjsgLy/ojrflj5bml6Xlv5dcclxuICBkYXRhPzphbnk7IC8v5ZCO56uv6L+U5Zue55qEcmVzcG9uc2VcclxuICBjb2x1bW5GaWx0ZXJzPzogQ29sdW1uRmlsdGVyW107IC8v6L+H5ruk55qE5YiXXHJcbiAgZm9yZWlnbktleT86c3RyaW5nICAvL+ebtOaOpeaPkuWFpeWtkOihqOmcgOimgeS8oOmAkuWklumUruWtl+auteS7peWPiuWklumUruWAvFxyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTphbnlcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByZWxvYWR7XHJcbiAgZmVpbGROYW1lPzogc3RyaW5nO1xyXG4gIGZpdGVycz86Q29sdW1uRmlsdGVyW107XHJcbiAgc29ydHM/OlNvcnRbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkZpbHRlciB7XHJcbiAgY29sdW1uRmllbGQ/OnN0cmluZztcclxuICB0eXBlPzpzdHJpbmc7XHJcbiAgZml0ZXI/OiBhbnk7XHJcbiAgZnJvbT86c3RyaW5nIHwgbnVtYmVyO1xyXG4gIHRvPzpzdHJpbmcgfCBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydHtcclxuICBmaWVsZD86c3RyaW5nO1xyXG4gIGlzQXNjPzpib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaHtcclxuICBtb2RlbE5hbWU/OiBzdHJpbmc7XHJcbiAgdXNlckNvZGU/OiBzdHJpbmc7XHJcbiAgb3JnRmllbGQ/OiBzdHJpbmc7XHJcbiAgY291bnQ/OmJvb2xlYW47IC8v5piv5ZCm6L+U5ZuedG90YWxOdW0gXHJcbiAgcHJlbG9hZHM/OnN0cmluZ1tdO1xyXG4gIGZpdGVyUHJlbG9hZHM/OlByZWxvYWRbXTtcclxuICBtb2RlbD86YW55OyBcclxuICBkYXRhPzphbnk7XHJcbiAgY29sdW1uRmlsdGVycz86IENvbHVtbkZpbHRlcltdOyAvL+i/h+a7pOeahOWIl1xyXG4gIHNvcnRzPzogU29ydFtdO1xyXG4gIGdyb3Vwcz86IHN0cmluZ1tdO1xyXG4gIHJlYWQ/OnN0cmluZ1tdOyAgLy9yZWFkIOaMh+WumuafpeivoueJueWumuWtl+autVxyXG4gIGZ1bmNzPzpSZWNvcmQ8c3RyaW5nLHN0cmluZz47IC8v6YCP6KeG6KGo5ZCO5pyf6KaB55SoXHJcbiAgb2Zmc2V0PzpudW1iZXI7IFxyXG4gIGxpbWl0PzpudW1iZXI7XHJcbiAgdG90YWxOdW0/Om51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuSW5mbyB7XHJcbiAgdG9rZW4/OnN0cmluZ1xyXG4gIGV4cGlyZWQ/OiBudW1iZXJcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIGFtV2Vie1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIGNvZGU/OiBzdHJpbmc7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGFwcElkPzogbnVtYmVyO1xyXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgY3JlYXRlZEF0Pzogc3RyaW5nO1xyXG4gIHVwZGF0ZWRBdD86c3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmZkIHtcclxuICBtb2RlbE5hbWU/OiBzdHJpbmc7XHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIHdoZXJlRmllbGQ/OiBzdHJpbmc7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICBmaXRlcj86IGFueTtcclxuICBkYXRhPzogYW55O1xyXG59XHJcbmNvbnN0IGFwaVBhdGggPSBcIlwiXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBwcm92aWRlcnM6W01lc3NhZ2VTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW1Db21wb25lbnQge1xyXG4gIC8v5piv5ZCm5o+Q5Lqk5pel5b+XXHJcbiAgaXNMb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvL+S4u+aVsOaNrmlkXHJcbiAgaWQ6IG51bWJlcj0wXHJcbiAgLy/kuLvooajmqKHlnotcclxuICBtb2RlbE5hbWU6IHN0cmluZz0nJ1xyXG4gIC8vSUTlj4LmlbBcclxuICBwYXJhbTogUGFyYW09e31cclxuICBmaWQ6IHN0cmluZz0nJ1xyXG4gIC8v5a+85YWlXHJcbiAgaW1wb3J0UHJtOiBJbXBvcnRFeGNlbD17fTtcclxuICAvL+aQnOe0oFxyXG4gIHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnM9e307XHJcbiAgLy9mb3JtXHJcbiAgZm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zPXt9O1xyXG4gIC8v5Yib5bu65oiW6ICF5pu05pawXHJcbiAgdXBzZXJ0UHJtOiBVcHNlcnQ9e3VwZERhdGE6e30sYWRkRGF0YTp7fSxzdWJzZXJ0OltdLGxvZzp7fX07XHJcbiAgLy/lpITnkIZcclxuICBkZWFsUHJtOiBEZWFsPXt9O1xyXG4gIC8vbWFw5pu05pawXHJcbiAgd3JpdGVQcm06IFdyaXRlPXt9O1xyXG4gIC8v5Yig6ZmkXHJcbiAgcmVtb3ZlUHJtOiBSZW1vdmU9e307XHJcbiAgLy/ojrflj5bkuIDmnaHmlbDmja5cclxuICBnZXRQcm06IEdldD17ZGF0YTp7fX07XHJcbiAgLy/mn6Xor6LmnaHku7ZcclxuICBmaWx0ZXI6IENvbHVtbkZpbHRlcj17fTtcclxuICAvL+afpeivouWIl+ihqOaVsOaNrlxyXG4gIHNlYXJjaFBybTogU2VhcmNoPXt9O1xyXG4gIGV4cG9ydFBybTogU2VhcmNoPXt9O1xyXG4gIHRhbXBsYXRlOiBEZWFsPXt9XHJcbiAgLy8g6KGo56S65piv5ZCm5q2j5Zyo5Yqg6L2955So5oi35pWw5o2u55qEU2lnbmFs77yM5Yid5aeL5YC85Li6IGZhbHNlXHJcbiAgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcclxuICBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpXHJcbiAgbWVzc2FnZVNlcnZpY2UgOk1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKVxyXG4gIHJvdXRlIDpBY3RpdmF0ZWRSb3V0ZSA9aW5qZWN0KEFjdGl2YXRlZFJvdXRlKVxyXG4gIHJvdXRlciA9IGluamVjdChSb3V0ZXIpXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICByZmQocHJtOiBSZmQpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiUkZEXCIscHJtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgd2ViZ2V0KHBhcmFtOmFtV2ViKTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcIndlYmdldFwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHdlYnNhdmUocGFyYW06YW1XZWIpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wid2Vic2F2ZVwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHdlYmRlbChwYXJhbTphbVdlYik6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJ3ZWJkZWxcIixwYXJhbSwpXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cHNlcnQocHJtPzphbnksY2I/OkZ1bmN0aW9uKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3Vwc2VydChwcm0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGNiICYmIGNiKHJlcylcclxuXHRcdCAgICB0aGlzLnJlc2V0UHJtKCd1cHNlcnQnKVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICAvLyBjb25zdCBwbTogVXBzZXJ0ID0gdGhpcy51cHNlcnRzKClcclxuICAgICAgLy8gY29uc29sZS5sb2coJzE9PT09JyxwbSlcclxuICAgICAgdGhpcy53ZWJfdXBzZXJ0KHRoaXMudXBzZXJ0UHJtKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBjYiAmJiBjYihyZXMpXHJcblx0XHQgICAgdGhpcy5yZXNldFBybSgndXBzZXJ0JylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8v5YWo6YOo5Yib5bu65oiW5pu05paw77yM5qC55o2uSUTliKTmlq1cclxuICB3ZWJfdXBzZXJ0KHBhcmFtOlVwc2VydCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgbGV0IGFkZERhdGE6IGFueSA9IHBhcmFtLmFkZERhdGFcclxuICAgIGlmKE9iamVjdC5rZXlzKGFkZERhdGEpLmxlbmd0aD09MCl7XHJcbiAgICAgIGRlbGV0ZSBwYXJhbS5hZGREYXRhXHJcbiAgICB9XHJcbiAgICBsZXQgdXBkRGF0YTogYW55ID1wYXJhbS51cGREYXRhXHJcbiAgICBjb25zb2xlLmxvZygncGFyYW0tLS0tJyxwYXJhbS51cGREYXRhKVxyXG4gICAgaWYoT2JqZWN0LmtleXModXBkRGF0YSkubGVuZ3RoPT0wKXtcclxuICAgICAgZGVsZXRlIHBhcmFtLnVwZERhdGFcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtLnVwZERhdGEhWydpZCddID0gdGhpcy5pZFxyXG4gICAgICBwYXJhbS5sb2chLnBpZCA9IHRoaXMuaWRcclxuICAgIH1cclxuICAgIGlmKCFwYXJhbT8uYWRkRGF0YSAmJiAhcGFyYW0udXBkRGF0YSl7XHJcbiAgICAgIHBhcmFtID0ge3VwZERhdGE6e2lkOnRoaXMuaWR9LC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuaXNMb2ctLS0tJyx0aGlzLmlzTG9nKVxyXG4gICAgaWYoIXRoaXMuaXNMb2cpe1xyXG4gICAgICBkZWxldGUgcGFyYW0ubG9nXHJcbiAgICB9ZWxzZXtcclxuICAgICAgbGV0IGxnOnN0cmluZz0nJ1xyXG4gICAgICBwYXJhbS5zdWJzZXJ0Py5mb3JFYWNoKHY9PntcclxuICAgICAgICB2LmxvZ3RtcD8uZm9yRWFjaCgodixrKT0+e1xyXG4gICAgICAgICAgaWYodi5pZD09PTApe1xyXG4gICAgICAgICAgICBsZyArPSfmlrDlu7rvvJogLT4gJyt2Lm5ld1ZhbHVlKyc7J1xyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGxnICs9ICdbJyt2LmlkKyctJyt2LmxhYmVsKyddICcgKyAodi5vbGRWYWx1ZSB8fCAnJykgKycgLT4gJysodi5uZXdWYWx1ZSB8fCAnJykrJzsnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICAgcGFyYW09ey4uLnBhcmFtLGxvZzp7Li4ucGFyYW0ubG9nLHN1YkNvbnRlbnQ6bGd9fVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3BhcmFtPT09PScscGFyYW0pXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcInVwc2VydFwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIGlmIChwYXJhbS5sb2cpe1xyXG4gICAgICAgICAgZGVsZXRlIHBhcmFtLmxvZztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+iHquWkhOeQhumAu+i+kVxyXG4gIGRlYWwocHJtPzpEZWFsKXtcclxuICAgIGlmIChwcm0pIHtcclxuICAgICAgdGhpcy53ZWJfZGVhbChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2RlYWwodGhpcy5kZWFsUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2RlYWwocGFyYW06RGVhbCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiZGVhbFwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5kZWFsUHJtPXtkYXRhOiByZXNwb25zZSwuLi50aGlzLmRlYWxQcm19XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuLy/kvKDlhaVtYXDvvIzmoLnmja5JRO+8jOabtOaWsG1hcOaVsOaNrlxyXG4gIHdyaXRlKHBybT86V3JpdGUpIHtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3dyaXRlKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfd3JpdGUodGhpcy53cml0ZVBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl93cml0ZShwYXJhbTpXcml0ZSk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJ3cml0ZVwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgaWYgKHBhcmFtLmxvZyl7XHJcbiAgICAgICAgICBkZWxldGUgcGFyYW0ubG9nO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4vL+agueaNrklE5Yig6ZmkXHJcbiAgcmVtb3ZlKHBybT86UmVtb3ZlKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZSh0aGlzLnJlbW92ZVBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9yZW1vdmUocGFyYW06UmVtb3ZlKTpPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJyZW1vdmVcIixwYXJhbSwpXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICBpZiAocGFyYW0ubG9nKXtcclxuICAgICAgICAgIGRlbGV0ZSBwYXJhbS5sb2c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbi8v5qC55o2uSUTojrflj5bkuIDmnaHmlbDmja5cclxuICBnZXQocHJtPzpHZXQpe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfZ2V0KHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfZ2V0KHRoaXMuZ2V0UHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2dldChwYXJhbTpHZXQpOk9ic2VydmFibGU8YW55PntcclxuICAgIGlmKCFwYXJhbS5oYXNPd25Qcm9wZXJ0eSgnbW9kZWxOYW1lJykpe1xyXG4gICAgICBwYXJhbS5tb2RlbE5hbWU9dGhpcy5tb2RlbE5hbWU7XHJcbiAgICB9IFxyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJnZXRcIixwYXJhbSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHRoaXMuZ2V0UHJtLmRhdGEgPSByZXNwb25zZVxyXG4gICAgICAgIGlmKHJlc3BvbnNlLmlkID09PSAwICYmIHBhcmFtLmhhc093blByb3BlcnR5KCdmb3JlaWduS2V5Jykpe1xyXG4gICAgICAgICAgdGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbcGFyYW0uZm9yZWlnbktleSFdID0gcGFyYW1bcGFyYW0uZm9yZWlnbktleSFdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaWQ9cmVzcG9uc2U/LmlkXHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuLy/ojrflj5blpJrmnaHmlbDmja7vvIzmoLnmja7kvKDlhaXnmoTmnaHku7boh6rliqjnu4Tnu4dzcWxcclxuICBzZWFyY2gocHJtPzpTZWFyY2gpe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfc2VhcmNoKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfc2VhcmNoKHRoaXMuc2VhcmNoUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX3NlYXJjaChwYXJhbTpTZWFyY2gpOk9ic2VydmFibGU8YW55PntcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wic2VhcmNoXCIscGFyYW0pXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICB0aGlzLnNlYXJjaFBybSA9ey4uLnJlc3BvbnNlfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKCd1cHNleS0tLS0tJyx0aGlzLnVwc2VydFBybSlcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHNlYXJjaG1hcChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2gocHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2godGhpcy5zZWFyY2hQcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB3ZWJfc2VhcmNobWFwKHBhcmFtOlNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJzZWFyY2hNYXBcIixwYXJhbSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUHJtID17Li4ucmVzcG9uc2V9XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Vwc2V5LS0tLS0nLHRoaXMudXBzZXJ0UHJtKVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy/ojrflj5blpJrmnaHmlbDmja7vvIzmoLnmja7kvKDlhaXnmoTmnaHku7boh6rliqjnu4Tnu4dzcWxcclxuICBzZWFyY2hDb3VudChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2hDb3VudChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX3NlYXJjaENvdW50KHRoaXMuc2VhcmNoUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX3NlYXJjaENvdW50KHBhcmFtOlNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJzZWFyY2hDb3VudFwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQcm0gPXsuLi5yZXNwb25zZX1cclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gLy9leGNlbOWvvOWFpVxyXG4gIC8vIGltcG9ydChwYXJhbTogSW1wb3J0RXhjZWwpOk9ic2VydmFibGU8YW55PiB7XHJcbiAgLy8gICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXCJhbS9yZW1vdmVcIixwYXJhbSxodHRwT3B0aW9ucylcclxuICAvLyAgIC5waXBlKFxyXG4gIC8vICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gIC8vICAgICAgIHRoaXMubWVzc2FnZS5zZXQocmVzcG9uc2UpO1xyXG4gIC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldCh0cnVlKTtcclxuICAvLyAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgLy8gICAgIH0pLFxyXG4gIC8vICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gIC8vICAgICAgIC8vIOiLpeivt+axguWHuumUme+8jOiuvue9ruivt+axguaIkOWKn+eKtuaAgeS4uiBmYWxzZe+8jOW5tuWwhumUmeivr+mHjeaWsOaKm+WHulxyXG4gIC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XHJcbiAgLy8gICAgICAgdGhpcy5tZXNzYWdlLnNldChlcnJvcik7XHJcbiAgLy8gICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gIC8vICAgICB9KSxcclxuICAvLyAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gIC8vICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gIC8vICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApO1xyXG4gIC8vIH1cclxuICAvLy8vZXhjZWwg5a+85Ye6XHJcbiAgZXhwb3J0KHBybT86U2VhcmNoKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX2V4cG9ydChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2V4cG9ydCh0aGlzLmV4cG9ydFBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9leHBvcnQocGFyYW06IFNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgaWYoIXBhcmFtLm1vZGVsTmFtZSl7XHJcbiAgICAgIHBhcmFtID0ge21vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsLi4ucGFyYW19XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcImV4cG9ydFwiLHBhcmFtLHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbcmVzcG9uc2VdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDsgY2hhcnNldD1VVEYtOCcgfSk7XHJcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBwYXJhbS5tb2RlbE5hbWUrJy54bHN4JztcclxuICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIC8v5Lq65bel5aSE55CG5a+85YWlXHJcbiAgZGVhbEV4cG9ydChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9kZWFsX2V4cG9ydChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2RlYWxfZXhwb3J0KHRoaXMuZXhwb3J0UHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2RlYWxfZXhwb3J0KHBhcmFtOiBTZWFyY2gpOk9ic2VydmFibGU8YW55PntcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJkZWFsRXhwb3J0XCIscGFyYW0seyByZXNwb25zZVR5cGU6ICdibG9iJyB9KVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0OyBjaGFyc2V0PVVURi04JyB9KTtcclxuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHBhcmFtLm1vZGVsTmFtZSsnLnhsc3gnO1xyXG4gICAgICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy/kuIvovb3lr7zlhaXnmoTmqKHmnb9cclxuICBkb3dubG9hZFRlbXBsYXRlKHBybT86RGVhbCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9kb3dubG9hZFRlbXBsYXRlKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfZG93bmxvYWRUZW1wbGF0ZSh0aGlzLnRhbXBsYXRlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2Rvd25sb2FkVGVtcGxhdGUocGFyYW06IERlYWwpOk9ic2VydmFibGU8YW55PntcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiZG93bmxvYWRcIixwYXJhbSx7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7IGNoYXJzZXQ9VVRGLTgnIH0pO1xyXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGFyYW0ubW9kZWxOYW1lKyfmqKHmnb8ueGxzeCc7XHJcbiAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+WIoOmZpOWbvueJh1xyXG4gIGltYWdlRGVsZXRlKGZpZD86c3RyaW5nKXtcclxuICAgIGlmKGZpZCl7XHJcbiAgICAgIHRoaXMud2ViX2ltYWdlRGVsZXRlKGZpZCkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoPjApe1xyXG4gICAgICB0aGlzLndlYl9pbWFnZURlbGV0ZSh0aGlzLmZpZCkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9pbWFnZURlbGV0ZShmaWQ6c3RyaW5nKTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcImltYWdlRGVsZXRlXCIsZmlkKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnc3VjY2Vzcycsc3VtbWFyeTogJ1N1Y2Nlc3MnLGRldGFpbDogcmVzcG9uc2V9KVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgICAvL+WIoOmZpOWbvueJh1xyXG4gIGZpbGVyRGVsZXRlKGZpZD86c3RyaW5nKXtcclxuICAgICAgaWYoZmlkKXtcclxuICAgICAgICB0aGlzLndlYl9maWxlckRlbGV0ZShmaWQpLnN1YnNjcmliZSgpO1xyXG4gICAgICB9ZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoPjApe1xyXG4gICAgICAgIHRoaXMud2ViX2ZpbGVyRGVsZXRlKHRoaXMuZmlkKS5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gIH1cclxuICB3ZWJfZmlsZXJEZWxldGUoZmlkOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiaW1hZ2VEZWxldGVcIixmaWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6ICdzdWNjZXNzJyxzdW1tYXJ5OiAnU3VjY2VzcycsZGV0YWlsOiByZXNwb25zZX0pXHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgLy/liLfmlrB0b2tlblxyXG4gIHJlZnJlc2hUb2tlbihwYXJhbTpUb2tlbkluZm8pOk9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcInJlZnJlc2hUb2tlblwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5kZWFsUHJtPXtkYXRhOiByZXNwb25zZSwuLi50aGlzLmRlYWxQcm19XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+WIm+W7uuihqFxyXG4gIGNyZWF0ZVRhYmxlKHBybT86UGFyYW0pe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfY3JlYXRlVGFibGUocHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLndlYl9jcmVhdGVUYWJsZSh0aGlzLnBhcmFtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2NyZWF0ZVRhYmxlKHBhcmFtOlBhcmFtKTpPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJjcmVhdGVUYWJsZVwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgLy8gdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnc3VjY2Vzcycsc3VtbWFyeTogJ1N1Y2Nlc3MnLGRldGFpbDogcmVzcG9uc2V9KVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy8g5pqC5peg56Gu5a6a5piv5ZCm6YeN572u5YW25LuW5YWs5YWx5Y+Y6YePXHJcbiAgcmVzZXRQcm0oc2VhcmNoPzpzdHJpbmcpe1xyXG4gICAgc3dpdGNoKHNlYXJjaCl7XHJcbiAgICAgIGNhc2UgJ3Vwc2VydCc6XHJcbiAgICAgICAgdGhpcy51cHNlcnRQcm0uYWRkRGF0YSA9IHt9O1xyXG4gICAgICAgIHRoaXMudXBzZXJ0UHJtLnVwZERhdGEgPSB7fTtcclxuICAgICAgICB0aGlzLnVwc2VydFBybS5sb2cgPSB7fVxyXG4gICAgICAgIHRoaXMudXBzZXJ0UHJtLnN1YnNlcnQ/LmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICB2LmxvZ3RtcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICAgIHYubWFwdG1wID0gbmV3IE1hcCgpO1xyXG4gICAgICAgICAgdi5zdWJEYXRhID0gW11cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgJycgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9hbS9hbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFvSXpELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtBQVFsQixNQUFNLE9BQU8sV0FBVztJQXNDdEI7UUFyQ0EsUUFBUTtRQUNSLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsT0FBTztRQUNQLE9BQUUsR0FBUyxDQUFDLENBQUE7UUFDWixNQUFNO1FBQ04sY0FBUyxHQUFTLEVBQUUsQ0FBQTtRQUNwQixNQUFNO1FBQ04sVUFBSyxHQUFRLEVBQUUsQ0FBQTtRQUNmLFFBQUcsR0FBUyxFQUFFLENBQUE7UUFDZCxJQUFJO1FBQ0osY0FBUyxHQUFjLEVBQUUsQ0FBQztRQUMxQixJQUFJO1FBQ0osa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLE1BQU07UUFDTixnQkFBVyxHQUFjLEVBQUUsQ0FBQztRQUM1QixRQUFRO1FBQ1IsY0FBUyxHQUFTLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDO1FB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bmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgRm9ybU9wdGlvbnMgfSBmcm9tICcuLi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQnXHJcbmltcG9ydCB7IFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHtUb2FzdH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFte1xyXG4gIGlkPzpudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2VNZXNzYWdlIHtcclxuICBpZD86IG51bWJlcjtcclxuICBwaWQ/Om51bWJlcjsgIC8vIOihqOS4rWlkXHJcbiAgZnVuYz86c3RyaW5nO1xyXG4gIG9wZXJhdG9yPzpzdHJpbmc7XHJcbiAgY29udGVudD86c3RyaW5nOyAgLy8g5Li76KGo5Y+Y5pu05omA5pyJ5a2X5q615ou85o6l5LiA5Z2XXHJcbiAgc3ViQ29udGVudD86c3RyaW5nOyAvLyDlrZDooajlj5jmm7Tmi7zmjqXkuIDotbdcclxuICBjcmVhdGVkQXQ/OnN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydEV4Y2Vse1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZztcclxuICBvcmdJZD86IG51bWJlcjtcclxuICBvcmdOYW1lPzpzdHJpbmc7XHJcbiAgb3JnSWRGZWlsZD86IHN0cmluZztcclxuICBvcmdOYW1lRmVpbGQ/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnQge1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZztcclxuICBhZGREYXRhPzogUmVjb3JkPHN0cmluZyxhbnk+O1xyXG4gIHVwZERhdGE/OiBSZWNvcmQ8c3RyaW5nLGFueT47XHJcbiAgc3Vic2VydD86IFN1YlVwc2VydFtdO1xyXG4gIGxvZ01vZGVsPzogc3RyaW5nO1xyXG4gIGxvZz86IFRyYWNlTWVzc2FnZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdWJVcHNlcnQge1xyXG4gIHN1Yk1vZGVsTmFtZT86IHN0cmluZztcclxuICBmaz86c3RyaW5nO1xyXG4gIHN1YkRhdGE/OiBSZWNvcmQ8c3RyaW5nLGFueT5bXVxyXG4gIG1hcHRtcD86IE1hcDxudW1iZXIsYW55PjtcclxuICBsb2d0bXA/OiBNYXA8c3RyaW5nLGFueT5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERlYWx7XHJcbiAgbW9kZWxOYW1lPzogc3RyaW5nO1xyXG4gIGRhdGE/OmFueTtcclxufVxyXG4vLyDmm7TmlrDnibnlrprlrZfmrrVcclxuZXhwb3J0IGludGVyZmFjZSBXcml0ZXtcclxuICBtb2RlbE5hbWU/OnN0cmluZztcclxuICBkYXRhPzpSZWNvcmQ8c3RyaW5nLGFueT47XHJcbiAgbG9nTW9kZWw/OnN0cmluZztcclxuICBsb2c/OlRyYWNlTWVzc2FnZTtcclxuICB0cmFuc2FjdGlvbj86IGJvb2xlYW47XHJcbn1cclxuLy8g5Yig6Zmk5o6l5Y+j5aOw5piOXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3Zle1xyXG4gIG1vZGVsTmFtZT86c3RyaW5nO1xyXG4gIGlkcz86bnVtYmVyW107XHJcbiAgZGF0YT86YW55O1xyXG4gIGxvZ01vZGVsPzpzdHJpbmc7XHJcbiAgbG9nPzpUcmFjZU1lc3NhZ2U7XHJcbiAgdHJhbnNhY3Rpb24/OiBib29sZWFuO1xyXG59XHJcbi8vIOiOt+WPluWNleadoeaVsOaNruivpuaDhVxyXG5leHBvcnQgaW50ZXJmYWNlIEdldHtcclxuICBtb2RlbE5hbWU/OnN0cmluZztcclxuICB1c2VyQ29kZT86IHN0cmluZztcclxuICBvcmdGaWVsZD86IHN0cmluZztcclxuICBpZD86bnVtYmVyO1xyXG4gIHByZWxvYWRzPzpzdHJpbmdbXTsgLy8g6IGU6KGo5p+l6K+i6KGo5ZCN56ew77yM6ZyA5a+55bqU5ZCO56uvc3RydWN0XHJcbiAgZml0ZXJQcmVsb2Fkcz86UHJlbG9hZFtdOyAvLyDlj6rog73liqDkuIDlsYIg57G75Ly8ICdtb2R1bGUgPScgbW9kdWxlXHJcbiAgZ2V0TG9nPzpib29sZWFuOyAvL+iOt+WPluaXpeW/l1xyXG4gIGRhdGE/OmFueTsgLy/lkI7nq6/ov5Tlm57nmoRyZXNwb25zZVxyXG4gIGNvbHVtbkZpbHRlcnM/OiBDb2x1bW5GaWx0ZXJbXTsgLy/ov4fmu6TnmoTliJdcclxuICBmb3JlaWduS2V5PzpzdHJpbmcgIC8v55u05o6l5o+S5YWl5a2Q6KGo6ZyA6KaB5Lyg6YCS5aSW6ZSu5a2X5q615Lul5Y+K5aSW6ZSu5YC8XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOmFueVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJlbG9hZHtcclxuICBmZWlsZE5hbWU/OiBzdHJpbmc7XHJcbiAgZml0ZXJzPzpDb2x1bW5GaWx0ZXJbXTtcclxuICBzb3J0cz86U29ydFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcclxuICBjb2x1bW5GaWVsZD86c3RyaW5nO1xyXG4gIHR5cGU/OnN0cmluZztcclxuICBmaXRlcj86IGFueTtcclxuICBmcm9tPzpzdHJpbmcgfCBudW1iZXI7XHJcbiAgdG8/OnN0cmluZyB8IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTb3J0e1xyXG4gIGZpZWxkPzpzdHJpbmc7XHJcbiAgaXNBc2M/OmJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoe1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZztcclxuICB1c2VyQ29kZT86IHN0cmluZztcclxuICBvcmdGaWVsZD86IHN0cmluZztcclxuICBjb3VudD86Ym9vbGVhbjsgLy/mmK/lkKbov5Tlm550b3RhbE51bSBcclxuICBwcmVsb2Fkcz86c3RyaW5nW107XHJcbiAgZml0ZXJQcmVsb2Fkcz86UHJlbG9hZFtdO1xyXG4gIG1vZGVsPzphbnk7IFxyXG4gIGRhdGE/OmFueTtcclxuICBjb2x1bW5GaWx0ZXJzPzogQ29sdW1uRmlsdGVyW107IC8v6L+H5ruk55qE5YiXXHJcbiAgc29ydHM/OiBTb3J0W107XHJcbiAgZ3JvdXBzPzogc3RyaW5nW107XHJcbiAgcmVhZD86c3RyaW5nW107ICAvL3JlYWQg5oyH5a6a5p+l6K+i54m55a6a5a2X5q61XHJcbiAgZnVuY3M/OlJlY29yZDxzdHJpbmcsc3RyaW5nPjsgLy/pgI/op4booajlkI7mnJ/opoHnlKhcclxuICBvZmZzZXQ/Om51bWJlcjsgXHJcbiAgbGltaXQ/Om51bWJlcjtcclxuICB0b3RhbE51bT86bnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9rZW5JbmZvIHtcclxuICB0b2tlbj86c3RyaW5nXHJcbiAgZXhwaXJlZD86IG51bWJlclxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgYW1XZWJ7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgY29kZT86IHN0cmluZztcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgYXBwSWQ/OiBudW1iZXI7XHJcbiAgY29udGVudD86IHN0cmluZztcclxuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0PzpzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSZmQge1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZztcclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgd2hlcmVGaWVsZD86IHN0cmluZztcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIGZpdGVyPzogYW55O1xyXG4gIGRhdGE/OiBhbnk7XHJcbn1cclxuY29uc3QgYXBpUGF0aCA9IFwiXCJcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYW0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIHByb3ZpZGVyczpbTWVzc2FnZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbUNvbXBvbmVudCB7XHJcbiAgLy/mmK/lkKbmj5DkuqTml6Xlv5dcclxuICBpc0xvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8v5Li75pWw5o2uaWRcclxuICBpZDogbnVtYmVyPTBcclxuICAvL+S4u+ihqOaooeWei1xyXG4gIG1vZGVsTmFtZTogc3RyaW5nPScnXHJcbiAgLy9JROWPguaVsFxyXG4gIHBhcmFtOiBQYXJhbT17fVxyXG4gIGZpZDogc3RyaW5nPScnXHJcbiAgLy/lr7zlhaVcclxuICBpbXBvcnRQcm06IEltcG9ydEV4Y2VsPXt9O1xyXG4gIC8v5pCc57SgXHJcbiAgc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucz17fTtcclxuICAvL2Zvcm1cclxuICBmb3JtT3B0aW9uczogRm9ybU9wdGlvbnM9e307XHJcbiAgLy/liJvlu7rmiJbogIXmm7TmlrBcclxuICB1cHNlcnRQcm06IFVwc2VydD17dXBkRGF0YTp7fSxhZGREYXRhOnt9LHN1YnNlcnQ6W10sbG9nOnt9fTtcclxuICAvL+WkhOeQhlxyXG4gIGRlYWxQcm06IERlYWw9e307XHJcbiAgLy9tYXDmm7TmlrBcclxuICB3cml0ZVBybTogV3JpdGU9e307XHJcbiAgLy/liKDpmaRcclxuICByZW1vdmVQcm06IFJlbW92ZT17fTtcclxuICAvL+iOt+WPluS4gOadoeaVsOaNrlxyXG4gIGdldFBybTogR2V0PXtkYXRhOnt9fTtcclxuICAvL+afpeivouadoeS7tlxyXG4gIGZpbHRlcjogQ29sdW1uRmlsdGVyPXt9O1xyXG4gIC8v5p+l6K+i5YiX6KGo5pWw5o2uXHJcbiAgc2VhcmNoUHJtOiBTZWFyY2g9e307XHJcbiAgZXhwb3J0UHJtOiBTZWFyY2g9e307XHJcbiAgdGFtcGxhdGU6IERlYWw9e31cclxuICAvLyDooajnpLrmmK/lkKbmraPlnKjliqDovb3nlKjmiLfmlbDmja7nmoRTaWduYWzvvIzliJ3lp4vlgLzkuLogZmFsc2VcclxuICBpc0xvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudClcclxuICBtZXNzYWdlU2VydmljZSA6TWVzc2FnZVNlcnZpY2UgPSBpbmplY3QoTWVzc2FnZVNlcnZpY2UpXHJcbiAgcm91dGUgOkFjdGl2YXRlZFJvdXRlID1pbmplY3QoQWN0aXZhdGVkUm91dGUpXHJcbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcilcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHJmZChwcm06IFJmZCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJSRkRcIixwcm0sKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICB3ZWJnZXQocGFyYW06YW1XZWIpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiL2dvYW0vYXBpL3dlYmdldFwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHdlYnNhdmUocGFyYW06YW1XZWIpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wid2Vic2F2ZVwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHdlYmRlbChwYXJhbTphbVdlYik6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJ3ZWJkZWxcIixwYXJhbSwpXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cHNlcnQocHJtPzphbnksY2I/OkZ1bmN0aW9uKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3Vwc2VydChwcm0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIGNiICYmIGNiKHJlcylcclxuXHRcdCAgICB0aGlzLnJlc2V0UHJtKCd1cHNlcnQnKVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICAvLyBjb25zdCBwbTogVXBzZXJ0ID0gdGhpcy51cHNlcnRzKClcclxuICAgICAgLy8gY29uc29sZS5sb2coJzE9PT09JyxwbSlcclxuICAgICAgdGhpcy53ZWJfdXBzZXJ0KHRoaXMudXBzZXJ0UHJtKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBjYiAmJiBjYihyZXMpXHJcblx0XHQgICAgdGhpcy5yZXNldFBybSgndXBzZXJ0JylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8v5YWo6YOo5Yib5bu65oiW5pu05paw77yM5qC55o2uSUTliKTmlq1cclxuICB3ZWJfdXBzZXJ0KHBhcmFtOlVwc2VydCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgbGV0IGFkZERhdGE6IGFueSA9IHBhcmFtLmFkZERhdGFcclxuICAgIGlmKE9iamVjdC5rZXlzKGFkZERhdGEpLmxlbmd0aD09MCl7XHJcbiAgICAgIGRlbGV0ZSBwYXJhbS5hZGREYXRhXHJcbiAgICB9XHJcbiAgICBsZXQgdXBkRGF0YTogYW55ID1wYXJhbS51cGREYXRhXHJcbiAgICBjb25zb2xlLmxvZygncGFyYW0tLS0tJyxwYXJhbS51cGREYXRhKVxyXG4gICAgaWYoT2JqZWN0LmtleXModXBkRGF0YSkubGVuZ3RoPT0wKXtcclxuICAgICAgZGVsZXRlIHBhcmFtLnVwZERhdGFcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtLnVwZERhdGEhWydpZCddID0gdGhpcy5pZFxyXG4gICAgICBwYXJhbS5sb2chLnBpZCA9IHRoaXMuaWRcclxuICAgIH1cclxuICAgIGlmKCFwYXJhbT8uYWRkRGF0YSAmJiAhcGFyYW0udXBkRGF0YSl7XHJcbiAgICAgIHBhcmFtID0ge3VwZERhdGE6e2lkOnRoaXMuaWR9LC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuaXNMb2ctLS0tJyx0aGlzLmlzTG9nKVxyXG4gICAgaWYoIXRoaXMuaXNMb2cpe1xyXG4gICAgICBkZWxldGUgcGFyYW0ubG9nXHJcbiAgICB9ZWxzZXtcclxuICAgICAgbGV0IGxnOnN0cmluZz0nJ1xyXG4gICAgICBwYXJhbS5zdWJzZXJ0Py5mb3JFYWNoKHY9PntcclxuICAgICAgICB2LmxvZ3RtcD8uZm9yRWFjaCgodixrKT0+e1xyXG4gICAgICAgICAgaWYodi5pZD09PTApe1xyXG4gICAgICAgICAgICBsZyArPSfmlrDlu7rvvJogLT4gJyt2Lm5ld1ZhbHVlKyc7J1xyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGxnICs9ICdbJyt2LmlkKyctJyt2LmxhYmVsKyddICcgKyAodi5vbGRWYWx1ZSB8fCAnJykgKycgLT4gJysodi5uZXdWYWx1ZSB8fCAnJykrJzsnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICAgcGFyYW09ey4uLnBhcmFtLGxvZzp7Li4ucGFyYW0ubG9nLHN1YkNvbnRlbnQ6bGd9fVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ3BhcmFtPT09PScscGFyYW0pXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcInVwc2VydFwiLHBhcmFtLClcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIGlmIChwYXJhbS5sb2cpe1xyXG4gICAgICAgICAgZGVsZXRlIHBhcmFtLmxvZztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+iHquWkhOeQhumAu+i+kVxyXG4gIGRlYWwocHJtPzpEZWFsKXtcclxuICAgIGlmIChwcm0pIHtcclxuICAgICAgdGhpcy53ZWJfZGVhbChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2RlYWwodGhpcy5kZWFsUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2RlYWwocGFyYW06RGVhbCk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiZGVhbFwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5kZWFsUHJtPXtkYXRhOiByZXNwb25zZSwuLi50aGlzLmRlYWxQcm19XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuLy/kvKDlhaVtYXDvvIzmoLnmja5JRO+8jOabtOaWsG1hcOaVsOaNrlxyXG4gIHdyaXRlKHBybT86V3JpdGUpIHtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3dyaXRlKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfd3JpdGUodGhpcy53cml0ZVBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl93cml0ZShwYXJhbTpXcml0ZSk6T2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJ3cml0ZVwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgaWYgKHBhcmFtLmxvZyl7XHJcbiAgICAgICAgICBkZWxldGUgcGFyYW0ubG9nO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4vL+agueaNrklE5Yig6ZmkXHJcbiAgcmVtb3ZlKHBybT86UmVtb3ZlKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX3JlbW92ZSh0aGlzLnJlbW92ZVBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9yZW1vdmUocGFyYW06UmVtb3ZlKTpPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJyZW1vdmVcIixwYXJhbSwpXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICBpZiAocGFyYW0ubG9nKXtcclxuICAgICAgICAgIGRlbGV0ZSBwYXJhbS5sb2c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbi8v5qC55o2uSUTojrflj5bkuIDmnaHmlbDmja5cclxuICBnZXQocHJtPzpHZXQpe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfZ2V0KHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfZ2V0KHRoaXMuZ2V0UHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2dldChwYXJhbTpHZXQpOk9ic2VydmFibGU8YW55PntcclxuICAgIGlmKCFwYXJhbS5oYXNPd25Qcm9wZXJ0eSgnbW9kZWxOYW1lJykpe1xyXG4gICAgICBwYXJhbS5tb2RlbE5hbWU9dGhpcy5tb2RlbE5hbWU7XHJcbiAgICB9IFxyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJnZXRcIixwYXJhbSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHRoaXMuZ2V0UHJtLmRhdGEgPSByZXNwb25zZVxyXG4gICAgICAgIGlmKHJlc3BvbnNlLmlkID09PSAwICYmIHBhcmFtLmhhc093blByb3BlcnR5KCdmb3JlaWduS2V5Jykpe1xyXG4gICAgICAgICAgdGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbcGFyYW0uZm9yZWlnbktleSFdID0gcGFyYW1bcGFyYW0uZm9yZWlnbktleSFdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaWQ9cmVzcG9uc2U/LmlkXHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuLy/ojrflj5blpJrmnaHmlbDmja7vvIzmoLnmja7kvKDlhaXnmoTmnaHku7boh6rliqjnu4Tnu4dzcWxcclxuICBzZWFyY2gocHJtPzpTZWFyY2gpe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfc2VhcmNoKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfc2VhcmNoKHRoaXMuc2VhcmNoUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX3NlYXJjaChwYXJhbTpTZWFyY2gpOk9ic2VydmFibGU8YW55PntcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wic2VhcmNoXCIscGFyYW0pXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICB0aGlzLnNlYXJjaFBybSA9ey4uLnJlc3BvbnNlfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKCd1cHNleS0tLS0tJyx0aGlzLnVwc2VydFBybSlcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHNlYXJjaG1hcChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2gocHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2godGhpcy5zZWFyY2hQcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB3ZWJfc2VhcmNobWFwKHBhcmFtOlNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJzZWFyY2hNYXBcIixwYXJhbSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIHRoaXMuc2VhcmNoUHJtID17Li4ucmVzcG9uc2V9XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Vwc2V5LS0tLS0nLHRoaXMudXBzZXJ0UHJtKVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy/ojrflj5blpJrmnaHmlbDmja7vvIzmoLnmja7kvKDlhaXnmoTmnaHku7boh6rliqjnu4Tnu4dzcWxcclxuICBzZWFyY2hDb3VudChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9zZWFyY2hDb3VudChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX3NlYXJjaENvdW50KHRoaXMuc2VhcmNoUHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX3NlYXJjaENvdW50KHBhcmFtOlNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJzZWFyY2hDb3VudFwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5zZWFyY2hQcm0gPXsuLi5yZXNwb25zZX1cclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gLy9leGNlbOWvvOWFpVxyXG4gIC8vIGltcG9ydChwYXJhbTogSW1wb3J0RXhjZWwpOk9ic2VydmFibGU8YW55PiB7XHJcbiAgLy8gICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXCJhbS9yZW1vdmVcIixwYXJhbSxodHRwT3B0aW9ucylcclxuICAvLyAgIC5waXBlKFxyXG4gIC8vICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gIC8vICAgICAgIHRoaXMubWVzc2FnZS5zZXQocmVzcG9uc2UpO1xyXG4gIC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldCh0cnVlKTtcclxuICAvLyAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgLy8gICAgIH0pLFxyXG4gIC8vICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gIC8vICAgICAgIC8vIOiLpeivt+axguWHuumUme+8jOiuvue9ruivt+axguaIkOWKn+eKtuaAgeS4uiBmYWxzZe+8jOW5tuWwhumUmeivr+mHjeaWsOaKm+WHulxyXG4gIC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XHJcbiAgLy8gICAgICAgdGhpcy5tZXNzYWdlLnNldChlcnJvcik7XHJcbiAgLy8gICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gIC8vICAgICB9KSxcclxuICAvLyAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gIC8vICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gIC8vICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApO1xyXG4gIC8vIH1cclxuICAvLy8vZXhjZWwg5a+85Ye6XHJcbiAgZXhwb3J0KHBybT86U2VhcmNoKXtcclxuICAgIGlmKHBybSl7XHJcbiAgICAgIHRoaXMud2ViX2V4cG9ydChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2V4cG9ydCh0aGlzLmV4cG9ydFBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9leHBvcnQocGFyYW06IFNlYXJjaCk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgaWYoIXBhcmFtLm1vZGVsTmFtZSl7XHJcbiAgICAgIHBhcmFtID0ge21vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsLi4ucGFyYW19XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcImV4cG9ydFwiLHBhcmFtLHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcclxuICAgIC5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbcmVzcG9uc2VdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDsgY2hhcnNldD1VVEYtOCcgfSk7XHJcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBwYXJhbS5tb2RlbE5hbWUrJy54bHN4JztcclxuICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIC8v5Lq65bel5aSE55CG5a+85YWlXHJcbiAgZGVhbEV4cG9ydChwcm0/OlNlYXJjaCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9kZWFsX2V4cG9ydChwcm0pLnN1YnNjcmliZSgpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMud2ViX2RlYWxfZXhwb3J0KHRoaXMuZXhwb3J0UHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2RlYWxfZXhwb3J0KHBhcmFtOiBTZWFyY2gpOk9ic2VydmFibGU8YW55PntcclxuICAgIGlmKCFwYXJhbS5tb2RlbE5hbWUpe1xyXG4gICAgICBwYXJhbSA9IHttb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLC4uLnBhcmFtfVxyXG4gICAgfVxyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJkZWFsRXhwb3J0XCIscGFyYW0seyByZXNwb25zZVR5cGU6ICdibG9iJyB9KVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0OyBjaGFyc2V0PVVURi04JyB9KTtcclxuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHBhcmFtLm1vZGVsTmFtZSsnLnhsc3gnO1xyXG4gICAgICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy/kuIvovb3lr7zlhaXnmoTmqKHmnb9cclxuICBkb3dubG9hZFRlbXBsYXRlKHBybT86RGVhbCl7XHJcbiAgICBpZihwcm0pe1xyXG4gICAgICB0aGlzLndlYl9kb3dubG9hZFRlbXBsYXRlKHBybSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy53ZWJfZG93bmxvYWRUZW1wbGF0ZSh0aGlzLnRhbXBsYXRlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2Rvd25sb2FkVGVtcGxhdGUocGFyYW06IERlYWwpOk9ic2VydmFibGU8YW55PntcclxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiZG93bmxvYWRcIixwYXJhbSx7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXHJcbiAgICAucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuICAgICAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7IGNoYXJzZXQ9VVRGLTgnIH0pO1xyXG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGFyYW0ubW9kZWxOYW1lKyfmqKHmnb8ueGxzeCc7XHJcbiAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+WIoOmZpOWbvueJh1xyXG4gIGltYWdlRGVsZXRlKGZpZD86c3RyaW5nKXtcclxuICAgIGlmKGZpZCl7XHJcbiAgICAgIHRoaXMud2ViX2ltYWdlRGVsZXRlKGZpZCkuc3Vic2NyaWJlKCk7XHJcbiAgICB9ZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoPjApe1xyXG4gICAgICB0aGlzLndlYl9pbWFnZURlbGV0ZSh0aGlzLmZpZCkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHdlYl9pbWFnZURlbGV0ZShmaWQ6c3RyaW5nKTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcImltYWdlRGVsZXRlXCIsZmlkKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnc3VjY2Vzcycsc3VtbWFyeTogJ1N1Y2Nlc3MnLGRldGFpbDogcmVzcG9uc2V9KVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgICAvL+WIoOmZpOWbvueJh1xyXG4gIGZpbGVyRGVsZXRlKGZpZD86c3RyaW5nKXtcclxuICAgICAgaWYoZmlkKXtcclxuICAgICAgICB0aGlzLndlYl9maWxlckRlbGV0ZShmaWQpLnN1YnNjcmliZSgpO1xyXG4gICAgICB9ZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoPjApe1xyXG4gICAgICAgIHRoaXMud2ViX2ZpbGVyRGVsZXRlKHRoaXMuZmlkKS5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gIH1cclxuICB3ZWJfZmlsZXJEZWxldGUoZmlkOnN0cmluZyk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoK1wiaW1hZ2VEZWxldGVcIixmaWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6ICdzdWNjZXNzJyxzdW1tYXJ5OiAnU3VjY2VzcycsZGV0YWlsOiByZXNwb25zZX0pXHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgLy8g5peg6K666K+35rGC5oiQ5Yqf5LiO5ZCm77yM6YO95bCG5Yqg6L295Lit54q25oCB6K6+572u5Li6IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgLy/liLfmlrB0b2tlblxyXG4gIHJlZnJlc2hUb2tlbihwYXJhbTpUb2tlbkluZm8pOk9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCtcInJlZnJlc2hUb2tlblwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgdGhpcy5kZWFsUHJtPXtkYXRhOiByZXNwb25zZSwuLi50aGlzLmRlYWxQcm19XHJcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICB9KSxcclxuICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvL+WIm+W7uuihqFxyXG4gIGNyZWF0ZVRhYmxlKHBybT86UGFyYW0pe1xyXG4gICAgaWYocHJtKXtcclxuICAgICAgdGhpcy53ZWJfY3JlYXRlVGFibGUocHJtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLndlYl9jcmVhdGVUYWJsZSh0aGlzLnBhcmFtKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgd2ViX2NyZWF0ZVRhYmxlKHBhcmFtOlBhcmFtKTpPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGgrXCJjcmVhdGVUYWJsZVwiLHBhcmFtKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT57XHJcbiAgICAgICAgLy8gdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnc3VjY2Vzcycsc3VtbWFyeTogJ1N1Y2Nlc3MnLGRldGFpbDogcmVzcG9uc2V9KVxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuICAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgLy8g5pqC5peg56Gu5a6a5piv5ZCm6YeN572u5YW25LuW5YWs5YWx5Y+Y6YePXHJcbiAgcmVzZXRQcm0oc2VhcmNoPzpzdHJpbmcpe1xyXG4gICAgc3dpdGNoKHNlYXJjaCl7XHJcbiAgICAgIGNhc2UgJ3Vwc2VydCc6XHJcbiAgICAgICAgdGhpcy51cHNlcnRQcm0uYWRkRGF0YSA9IHt9O1xyXG4gICAgICAgIHRoaXMudXBzZXJ0UHJtLnVwZERhdGEgPSB7fTtcclxuICAgICAgICB0aGlzLnVwc2VydFBybS5sb2cgPSB7fVxyXG4gICAgICAgIHRoaXMudXBzZXJ0UHJtLnN1YnNlcnQ/LmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICB2LmxvZ3RtcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICAgIHYubWFwdG1wID0gbmV3IE1hcCgpO1xyXG4gICAgICAgICAgdi5zdWJEYXRhID0gW11cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgJycgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -40,9 +40,8 @@ export class RadioComponent {
|
|
|
40
40
|
fromEvent(this.radioContainer.nativeElement, 'mouseenter')
|
|
41
41
|
.pipe(debounceTime(100))
|
|
42
42
|
.subscribe(() => {
|
|
43
|
-
if (this.
|
|
43
|
+
if (this.field()?.fieldControl?.disabled)
|
|
44
44
|
return;
|
|
45
|
-
}
|
|
46
45
|
this.isEnter = true;
|
|
47
46
|
});
|
|
48
47
|
fromEvent(this.radioContainer.nativeElement, 'mouseleave')
|
|
@@ -164,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
164
163
|
type: ViewChild,
|
|
165
164
|
args: ['radioContainer']
|
|
166
165
|
}] } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvcmFkaW8udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQXdFOUMsTUFBTSxPQUFPLGNBQWM7SUFPMUIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUx6QyxVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFHakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxVQUFXLENBQUM7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzVFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztnQkFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0YsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzNCLENBQUM7UUFDRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzVELE9BQU87WUFDUixDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNyQixDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDZCxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO2FBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsT0FBTztZQUNSLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNKLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7YUFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzNELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNuQixPQUFPO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBZ0IsRUFBRSxLQUFXO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFZO1FBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRyxJQUFJLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVixRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDakQsSUFBSSxTQUFTLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hFLElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0EvRVcsY0FBYzttR0FBZCxjQUFjLDRUQXpDaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBc0NILDh6TEF2Q0csV0FBVyxvVEFBRSxtQkFBbUI7OzRGQTBDOUIsY0FBYztrQkF4RDFCLFNBQVM7K0JBQ0MsWUFBWSxjQUNWLElBQUksV0FZUCxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxZQUNqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFzQ0g7a0ZBSXNCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIGlucHV0LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJhZGlvQnV0dG9uIH0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcywgQXR0cmlidXRlRXZlbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcclxuXHR2YWx1ZT86IGFueTtcclxuXHR0YWJpbmRleD86IG51bWJlcjtcclxuXHRiaW5hcnk/OiBib29sZWFuO1xyXG5cdGxhYmVsPzogc3RyaW5nO1xyXG5cdG9wdGlvbnM/OiBSYWRpb1Byb3BzW107XHJcblx0b25DbGljaz86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uRm9jdXM/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkJsdXI/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNoYW5nZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tcmFkaW8nLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c3R5bGVzOiBgXHJcblx0XHQucmFkaW8tbGFiZWwge1xyXG5cdFx0XHRjb2xvcjogIzMzNDE1NTtcclxuXHRcdH1cclxuXHRcdC5yYWRpby1jb250YWluZXIge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG5cdFx0fVxyXG5cdFx0LnJhZGlvLWNvbnRhaW5lci5yYWRpby1kaXNhYmxlOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0fVxyXG5cdGAsXHJcblx0aW1wb3J0czogW1JhZGlvQnV0dG9uLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZTogYCA8ZGl2XHJcblx0XHQjcmFkaW9Db250YWluZXJcclxuXHRcdHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJVwiXHJcblx0XHRbY2xhc3NdPVwiJ3JhZGlvLWNvbnRhaW5lcicgKyAocHJvcHMuZGlzYWJsZWQgPyAnIHJhZGlvLWRpc2FibGUnIDogJycpXCI+XHJcblx0XHRAaWYgKGlzRW50ZXIpIHtcclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdFtpZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFx0XHRjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC00XCI+XHJcblx0XHRcdFx0QGZvciAob3Agb2YgcHJvcHMub3B0aW9uczsgdHJhY2sgb3ApIHtcclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHQ8cC1yYWRpb2J1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFt2YWx1ZV09XCJvcC52YWx1ZVwiXHJcblx0XHRcdFx0XHRcdFx0W25hbWVdPVwib3AubmFtZVwiXHJcblx0XHRcdFx0XHRcdFx0W3RhYmluZGV4XT1cIm9wLnRhYmluZGV4XCJcclxuXHRcdFx0XHRcdFx0XHRbaW5wdXRJZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFx0XHRcdFx0XHRbYXJpYUxhYmVsbGVkQnldPVwib3AuYXJpYUxhYmVsbGVkQnlcIlxyXG5cdFx0XHRcdFx0XHRcdFthcmlhTGFiZWxdPVwib3AuYXJpYUxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRbc3R5bGVdPVwib3Auc3R5bGVcIlxyXG5cdFx0XHRcdFx0XHRcdFtzdHlsZUNsYXNzXT1cIm9wLnN0eWxlQ2xhc3NcIlxyXG5cdFx0XHRcdFx0XHRcdFthdXRvZm9jdXNdPVwib3AuYXV0b2ZvY3VzXCJcclxuXHRcdFx0XHRcdFx0XHRbdmFyaWFudF09XCJvcC52YXJpYW50XCJcclxuXHRcdFx0XHRcdFx0XHRbY2xhc3NdPVwib3AuY2xhc3MgPz8gcHJvcHMuY2xhc3NcIlxyXG5cdFx0XHRcdFx0XHRcdFtiaW5hcnldPVwiISFwcm9wcy5iaW5hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChvbkNsaWNrKT1cIm9uQ2xpY2soZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0XHRcdFx0XHRcdChvbkZvY3VzKT1cInByb3BzLm9uRm9jdXM/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0KG9uQmx1cik9XCJwcm9wcy5vbkJsdXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0W2Zvcm1Db250cm9sXT1cImZpZWxkKCkhLmZpZWxkQ29udHJvbCFcIiAvPlxyXG5cdFx0XHRcdFx0XHQ8bGFiZWxcclxuXHRcdFx0XHRcdFx0XHRbZm9yXT1cImZpZWxkKCk/LmtleVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJyYWRpby1sYWJlbCBtbC0yXCJcclxuXHRcdFx0XHRcdFx0XHQ+e3sgb3AubGFiZWwgfX08L2xhYmVsXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cInJhZGlvLWxhYmVsXCI+e3sgY3VycmVudExhYmVsKCkgfX08L2Rpdj5cclxuXHRcdH1cclxuXHQ8L2Rpdj5gLFxyXG5cdHN0eWxlVXJsOiAnLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IHtcclxuXHRAVmlld0NoaWxkKCdyYWRpb0NvbnRhaW5lcicpIHJhZGlvQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRwcm9wczogUmFkaW9Qcm9wcyA9IHt9O1xyXG5cdGlzRW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRjdXJyZW50OiBhbnkgPSB7fTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHtcclxuXHRcdHRoaXMuZml4UG9wUGFuZWwoKTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcclxuXHRcdFx0XHRcdHRoaXMucHJvcHMgPSB0aGlzLmZpZWxkKCkhLnJhZGlvUHJvcHMhO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMucHJvcHMub3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmICFBcnJheS5pc0FycmF5KHRoaXMucHJvcHMub3B0aW9ucykpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wcm9wcy5vcHRpb25zID0gW107XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmhhbmRsZU1vZGVsQ2hhbmdlKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgbGFiZWxBY3Rpb24gPSB0aGlzLmFjdGlvbi5nZXRGaWVsZExhYmVsQWN0aW9uKCk7XHJcblx0XHRcdGlmICghbGFiZWxBY3Rpb24gfHwgbGFiZWxBY3Rpb24/LmtleSAhPSB0aGlzLmZpZWxkKCk/LnV1aWQpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlZW50ZXInKSB7XHJcblx0XHRcdFx0dGhpcy5pc0VudGVyID0gdHJ1ZTtcclxuXHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xyXG5cdFx0XHRcdHRoaXMuaXNFbnRlciA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdGZyb21FdmVudCh0aGlzLnJhZGlvQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcclxuXHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLnByb3BzPy5kaXNhYmxlZCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmlzRW50ZXIgPSB0cnVlO1xyXG5cdFx0XHR9KTtcclxuXHRcdGZyb21FdmVudCh0aGlzLnJhZGlvQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJylcclxuXHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuaXNFbnRlciA9IGZhbHNlO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZU1vZGVsQ2hhbmdlKCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lm1vZGVsQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5wcm9wcy5vbkNoYW5nZT8uKHRoaXMuZmllbGQoKSEsIHsgdmFsdWUgfSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9uQ2xpY2soZmllbGQ6IEZvcm1GaWVsZCwgZXZlbnQ/OiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMucHJvcHMub25DbGljaz8uKGZpZWxkLCBldmVudCk7XHJcblx0XHR0aGlzLnByb3BzLm9uQ2hhbmdlPy4oZmllbGQsIGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdGN1cnJlbnRMYWJlbCgpIHtcclxuXHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucHJvcHMub3B0aW9ucz8uZmlsdGVyPy4oKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09IHRoaXMuZmllbGQoKSEuZmllbGRDb250cm9sIS52YWx1ZSk7XHJcblx0XHRpZiAocmVzdWx0Py5sZW5ndGgpIHtcclxuXHRcdFx0cmV0dXJuIHJlc3VsdFswXS5sYWJlbDtcclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdGZpeFBvcFBhbmVsKCkge1xyXG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG5cdFx0XHRsZXQgY29udGFpbmVyOiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucmFkaW8tY29udGFpbmVyJyk7XHJcblx0XHRcdGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcblx0XHRcdFx0dGhpcy5pc0VudGVyID0gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvcmFkaW8udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQXVFOUMsTUFBTSxPQUFPLGNBQWM7SUFPMUIsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUx6QyxVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFHakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxVQUFXLENBQUM7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQzVFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFH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QyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNoRSxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBN0VXLGNBQWM7bUdBQWQsY0FBYyw0VEF6Q2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXNDSCw4ekxBdkNHLFdBQVcsb1RBQUUsbUJBQW1COzs0RkEwQzlCLGNBQWM7a0JBeEQxQixTQUFTOytCQUNDLFlBQVksY0FDVixJQUFJLFdBWVAsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsWUFDakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBc0NIO2tGQUlzQixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBpbnB1dCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbiB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkUHJvcHMsIEF0dHJpYnV0ZUV2ZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcclxuXHR2YWx1ZT86IGFueTtcclxuXHR0YWJpbmRleD86IG51bWJlcjtcclxuXHRiaW5hcnk/OiBib29sZWFuO1xyXG5cdGxhYmVsPzogc3RyaW5nO1xyXG5cdG9wdGlvbnM/OiBSYWRpb1Byb3BzW107XHJcblx0b25DbGljaz86IEF0dHJpYnV0ZUV2ZW50O1xyXG5cdG9uRm9jdXM/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkJsdXI/OiBBdHRyaWJ1dGVFdmVudDtcclxuXHRvbkNoYW5nZT86IEF0dHJpYnV0ZUV2ZW50O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tcmFkaW8nLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c3R5bGVzOiBgXHJcblx0XHQucmFkaW8tbGFiZWwge1xyXG5cdFx0XHRjb2xvcjogIzMzNDE1NTtcclxuXHRcdH1cclxuXHRcdC5yYWRpby1jb250YWluZXIge1xyXG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG5cdFx0fVxyXG5cdFx0LnJhZGlvLWNvbnRhaW5lci5yYWRpby1kaXNhYmxlOmhvdmVyIHtcclxuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdFx0fVxyXG5cdGAsXHJcblx0aW1wb3J0czogW1JhZGlvQnV0dG9uLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZTogYCA8ZGl2XHJcblx0XHQjcmFkaW9Db250YWluZXJcclxuXHRcdHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJVwiXHJcblx0XHRbY2xhc3NdPVwiJ3JhZGlvLWNvbnRhaW5lcicgKyAocHJvcHMuZGlzYWJsZWQgPyAnIHJhZGlvLWRpc2FibGUnIDogJycpXCI+XHJcblx0XHRAaWYgKGlzRW50ZXIpIHtcclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdFtpZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFx0XHRjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC00XCI+XHJcblx0XHRcdFx0QGZvciAob3Agb2YgcHJvcHMub3B0aW9uczsgdHJhY2sgb3ApIHtcclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHQ8cC1yYWRpb2J1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFt2YWx1ZV09XCJvcC52YWx1ZVwiXHJcblx0XHRcdFx0XHRcdFx0W25hbWVdPVwib3AubmFtZVwiXHJcblx0XHRcdFx0XHRcdFx0W3RhYmluZGV4XT1cIm9wLnRhYmluZGV4XCJcclxuXHRcdFx0XHRcdFx0XHRbaW5wdXRJZF09XCJmaWVsZCgpPy51dWlkXCJcclxuXHRcdFx0XHRcdFx0XHRbYXJpYUxhYmVsbGVkQnldPVwib3AuYXJpYUxhYmVsbGVkQnlcIlxyXG5cdFx0XHRcdFx0XHRcdFthcmlhTGFiZWxdPVwib3AuYXJpYUxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRbc3R5bGVdPVwib3Auc3R5bGVcIlxyXG5cdFx0XHRcdFx0XHRcdFtzdHlsZUNsYXNzXT1cIm9wLnN0eWxlQ2xhc3NcIlxyXG5cdFx0XHRcdFx0XHRcdFthdXRvZm9jdXNdPVwib3AuYXV0b2ZvY3VzXCJcclxuXHRcdFx0XHRcdFx0XHRbdmFyaWFudF09XCJvcC52YXJpYW50XCJcclxuXHRcdFx0XHRcdFx0XHRbY2xhc3NdPVwib3AuY2xhc3MgPz8gcHJvcHMuY2xhc3NcIlxyXG5cdFx0XHRcdFx0XHRcdFtiaW5hcnldPVwiISFwcm9wcy5iaW5hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChvbkNsaWNrKT1cIm9uQ2xpY2soZmllbGQoKSEsICRldmVudClcIlxyXG5cdFx0XHRcdFx0XHRcdChvbkZvY3VzKT1cInByb3BzLm9uRm9jdXM/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0KG9uQmx1cik9XCJwcm9wcy5vbkJsdXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0W2Zvcm1Db250cm9sXT1cImZpZWxkKCkhLmZpZWxkQ29udHJvbCFcIiAvPlxyXG5cdFx0XHRcdFx0XHQ8bGFiZWxcclxuXHRcdFx0XHRcdFx0XHRbZm9yXT1cImZpZWxkKCk/LmtleVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJyYWRpby1sYWJlbCBtbC0yXCJcclxuXHRcdFx0XHRcdFx0XHQ+e3sgb3AubGFiZWwgfX08L2xhYmVsXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cInJhZGlvLWxhYmVsXCI+e3sgY3VycmVudExhYmVsKCkgfX08L2Rpdj5cclxuXHRcdH1cclxuXHQ8L2Rpdj5gLFxyXG5cdHN0eWxlVXJsOiAnLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IHtcclxuXHRAVmlld0NoaWxkKCdyYWRpb0NvbnRhaW5lcicpIHJhZGlvQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRwcm9wczogUmFkaW9Qcm9wcyA9IHt9O1xyXG5cdGlzRW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRjdXJyZW50OiBhbnkgPSB7fTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UpIHtcclxuXHRcdHRoaXMuZml4UG9wUGFuZWwoKTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcclxuXHRcdFx0XHRcdHRoaXMucHJvcHMgPSB0aGlzLmZpZWxkKCkhLnJhZGlvUHJvcHMhO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMucHJvcHMub3B0aW9ucyAhPT0gdW5kZWZpbmVkICYmICFBcnJheS5pc0FycmF5KHRoaXMucHJvcHMub3B0aW9ucykpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wcm9wcy5vcHRpb25zID0gW107XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmhhbmRsZU1vZGVsQ2hhbmdlKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgbGFiZWxBY3Rpb24gPSB0aGlzLmFjdGlvbi5nZXRGaWVsZExhYmVsQWN0aW9uKCk7XHJcblx0XHRcdGlmICghbGFiZWxBY3Rpb24gfHwgbGFiZWxBY3Rpb24/LmtleSAhPSB0aGlzLmZpZWxkKCk/LnV1aWQpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlZW50ZXInKSB7XHJcblx0XHRcdFx0dGhpcy5pc0VudGVyID0gdHJ1ZTtcclxuXHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xyXG5cdFx0XHRcdHRoaXMuaXNFbnRlciA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdGZyb21FdmVudCh0aGlzLnJhZGlvQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcclxuXHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHJldHVybjtcclxuXHRcdFx0XHR0aGlzLmlzRW50ZXIgPSB0cnVlO1xyXG5cdFx0XHR9KTtcclxuXHRcdGZyb21FdmVudCh0aGlzLnJhZGlvQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJylcclxuXHRcdFx0LnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuaXNFbnRlciA9IGZhbHNlO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZU1vZGVsQ2hhbmdlKCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lm1vZGVsQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5wcm9wcy5vbkNoYW5nZT8uKHRoaXMuZmllbGQoKSEsIHsgdmFsdWUgfSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9uQ2xpY2soZmllbGQ6IEZvcm1GaWVsZCwgZXZlbnQ/OiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMucHJvcHMub25DbGljaz8uKGZpZWxkLCBldmVudCk7XHJcblx0XHR0aGlzLnByb3BzLm9uQ2hhbmdlPy4oZmllbGQsIGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdGN1cnJlbnRMYWJlbCgpIHtcclxuXHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucHJvcHMub3B0aW9ucz8uZmlsdGVyPy4oKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09IHRoaXMuZmllbGQoKSEuZmllbGRDb250cm9sIS52YWx1ZSk7XHJcblx0XHRpZiAocmVzdWx0Py5sZW5ndGgpIHtcclxuXHRcdFx0cmV0dXJuIHJlc3VsdFswXS5sYWJlbDtcclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdGZpeFBvcFBhbmVsKCkge1xyXG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG5cdFx0XHRsZXQgY29udGFpbmVyOiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucmFkaW8tY29udGFpbmVyJyk7XHJcblx0XHRcdGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcblx0XHRcdFx0dGhpcy5pc0VudGVyID0gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxufVxyXG4iXX0=
|