@cqa-lib/cqa-ui 1.1.555-beta.13 → 1.1.555-beta.17
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/assign-environments-dialog/assign-environments-dialog.component.mjs +1 -1
- package/esm2022/lib/custom-input/custom-input.component.mjs +37 -4
- package/esm2022/lib/dynamic-select/dynamic-select-field.component.mjs +3 -3
- package/esm2022/lib/new-test-data-profile-dialog/new-test-data-profile-dialog.component.mjs +2 -2
- package/fesm2022/cqa-lib-cqa-ui.mjs +37 -5
- package/fesm2022/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/assign-environments-dialog/assign-environments-dialog.component.d.ts +1 -1
- package/lib/custom-input/custom-input.component.d.ts +8 -1
- package/lib/dynamic-select/dynamic-select-field.component.d.ts +1 -0
- package/lib/new-test-data-profile-dialog/new-test-data-profile-dialog.component.d.ts +1 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
154
154
|
}], defaultSourceEnvId: [{
|
|
155
155
|
type: Input
|
|
156
156
|
}] } });
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLWVudmlyb25tZW50cy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3NpZ24tZW52aXJvbm1lbnRzLWRpYWxvZy9hc3NpZ24tZW52aXJvbm1lbnRzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Fzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nL2Fzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0J4RCxNQUFNLE9BQU8saUNBQWlDO0lBZ0JmO0lBZnBCLElBQUksR0FBMkIsUUFBUSxDQUFDO0lBQ3hDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFBWSxHQUE4QixFQUFFLENBQUM7SUFDN0Msb0JBQW9CLEdBQThCLEVBQUUsQ0FBQztJQUNyRCxrQkFBa0IsQ0FBVTtJQUVyQixRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUU3QixVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDekMsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFDSSxZQUFZLEdBQTZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVwRSxXQUFXLEdBQWtCLElBQUksQ0FBQztJQUV6QyxZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFdkQsUUFBUTtRQUNOLDJFQUEyRTtRQUMzRSwwRUFBMEU7UUFDMUUsb0VBQW9FO1FBQ3BFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUk7Z0JBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCO2dCQUN6QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU07b0JBQ3ZGLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztJQUM3RixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUMxQixDQUFDLENBQUMsb0ZBQW9GO1lBQ3RGLENBQUMsQ0FBQyx5R0FBeUcsQ0FBQztJQUNoSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUMxQixDQUFDLENBQUMsYUFBYSxJQUFJLG1HQUFtRztZQUN0SCxDQUFDLENBQUMsUUFBUSxJQUFJLDZHQUE2RyxDQUFDO0lBQ2hJLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDOUQsT0FBTyxHQUFHLElBQUksSUFBSSxLQUFLLGVBQWUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7UUFDaEcsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFVO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUE0QjtRQUN4QyxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBNEI7UUFDM0MsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7WUFBQyxPQUFPLHNDQUFzQyxDQUFDO1FBQUMsQ0FBQztRQUMzRSxPQUFPLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUM5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxtREFBbUQsQ0FBQztnQkFDdkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUUsQ0FBQztRQUNELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLEdBQUcsSUFBSSxJQUFJO1lBQ2hCLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUErQjtRQUN2RCxNQUFNLE9BQU8sR0FBbUIsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDUixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7WUFDWixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUk7WUFDYixXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUs7U0FDckIsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPO1lBQ0wsR0FBRyxFQUFFLGFBQWE7WUFDbEIsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsNEJBQTRCO1lBQ3pDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLElBQUk7WUFDaEIsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO3dHQXpJVSxpQ0FBaUM7NEZBQWpDLGlDQUFpQyx3VUNuQjlDLHE1RUFzREE7OzRGRG5DYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLG1CQUV6Qix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7c0ZBR3pELElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBEeW5hbWljU2VsZWN0RmllbGRDb25maWcsXG4gIFNlbGVjdE9wdGlvbixcbn0gZnJvbSAnLi4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFzc2lnbkVudmlyb25tZW50T3B0aW9uLFxuICBBc3NpZ25FbnZpcm9ubWVudHNEaWFsb2dWYWx1ZSxcbiAgQXNzaWduRW52aXJvbm1lbnRzTW9kZSxcbn0gZnJvbSAnLi9hc3NpZ24tZW52aXJvbm1lbnRzLWRpYWxvZy5tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYXNzaWduLWVudmlyb25tZW50cy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzaWduLWVudmlyb25tZW50cy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290Jywgc3R5bGU6ICdkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBc3NpZ25FbnZpcm9ubWVudHNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb2RlOiBBc3NpZ25FbnZpcm9ubWVudHNNb2RlID0gJ2Fzc2lnbic7XG4gIEBJbnB1dCgpIHByb2ZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZW52aXJvbm1lbnRzOiBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIGFzc2lnbmVkRW52aXJvbm1lbnRzOiBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbltdID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRTb3VyY2VFbnZJZD86IG51bWJlcjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWQgPSBuZXcgU2V0PG51bWJlcj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIHNvdXJjZUVudklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gIH0pO1xuICBwdWJsaWMgc291cmNlQ29uZmlnOiBEeW5hbWljU2VsZWN0RmllbGRDb25maWcgPSB0aGlzLmJ1aWxkU291cmNlQ29uZmlnKFtdKTtcblxuICBwdWJsaWMgc291cmNlRXJyb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTb3VyY2UgcGlja2VyIGFwcGVhcnMgaW4gYm90aCBtb2RlcyB3aGVuIHRoZXJlIGFyZSBhbHJlYWR5LWF0dGFjaGVkIGVudnNcbiAgICAvLyB0byBjb3B5IGZyb20uIEluIGNsb25lIG1vZGUgaXQncyByZXF1aXJlZDsgaW4gYXNzaWduIG1vZGUgaXQncyBvcHRpb25hbFxuICAgIC8vIChmYWxsaW5nIGJhY2sgdG8gdGhlIGJhc2UgcHJvZmlsZSByb3dzIHdoZW4gbm8gc291cmNlIGlzIHBpY2tlZCkuXG4gICAgaWYgKHRoaXMuc2hvd1NvdXJjZVBpY2tlcikge1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHRoaXMuZGVmYXVsdFNvdXJjZUVudklkICE9IG51bGxcbiAgICAgICAgPyB0aGlzLmRlZmF1bHRTb3VyY2VFbnZJZFxuICAgICAgICA6ICh0aGlzLm1vZGUgPT09ICdjbG9uZScgJiYgdGhpcy5hc3NpZ25lZEVudmlyb25tZW50cyAmJiB0aGlzLmFzc2lnbmVkRW52aXJvbm1lbnRzLmxlbmd0aFxuICAgICAgICAgID8gdGhpcy5hc3NpZ25lZEVudmlyb25tZW50c1swXS5pZFxuICAgICAgICAgIDogbnVsbCk7XG4gICAgICB0aGlzLnNvdXJjZUZvcm0uZ2V0KCdzb3VyY2VFbnZJZCcpIS5zZXRWYWx1ZShpbml0aWFsKTtcbiAgICAgIHRoaXMuc291cmNlQ29uZmlnID0gdGhpcy5idWlsZFNvdXJjZUNvbmZpZyh0aGlzLmFzc2lnbmVkRW52aXJvbm1lbnRzID8/IFtdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dTb3VyY2VQaWNrZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmFzc2lnbmVkRW52aXJvbm1lbnRzICYmIHRoaXMuYXNzaWduZWRFbnZpcm9ubWVudHMubGVuZ3RoID4gMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvdXJjZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2Nsb25lJyA/ICdDb3B5IGZyb20gd2hpY2ggZW52aXJvbm1lbnQnIDogJ0NvcHkgcm93cyBmcm9tIChvcHRpb25hbCknO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3VyY2VIZWxwZXIoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zb3VyY2VFcnJvcikgeyByZXR1cm4gdGhpcy5zb3VyY2VFcnJvcjsgfVxuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdjbG9uZSdcbiAgICAgID8gXCJUaGUgc2VsZWN0ZWQgZW52aXJvbm1lbnQncyByb3dzIHdpbGwgYmUgY29waWVkIGludG8gZWFjaCB0YXJnZXQgZW52aXJvbm1lbnQgYmVsb3cuXCJcbiAgICAgIDogJ1BpY2sgYW4gZW52aXJvbm1lbnQgdG8gY29weSBpdHMgcm93cyBpbnRvIHRoZSBuZXcgb25lcy4gTGVhdmUgYmxhbmsgdG8gc2VlZCB3aXRoIHRoZSBiYXNlIHByb2ZpbGUgcm93cy4nO1xuICB9XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdjbG9uZScgPyAnQ2xvbmUgdG8gb3RoZXIgZW52aXJvbm1lbnRzJyA6ICdBc3NpZ24gdG8gZW52aXJvbm1lbnRzJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VidGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9maWxlTmFtZSA/IGBcIiR7dGhpcy5wcm9maWxlTmFtZX1cImAgOiAndGhpcyBwcm9maWxlJztcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY2xvbmUnXG4gICAgICA/IGBEdXBsaWNhdGUgJHtuYW1lfSBpbnRvIG90aGVyIGVudmlyb25tZW50cy4gQ29sdW1uIHN0cnVjdHVyZSBpcyBzaGFyZWQ7IHJvdyB2YWx1ZXMgYXJlIGluZGVwZW5kZW50IHBlciBlbnZpcm9ubWVudC5gXG4gICAgICA6IGBNYWtlICR7bmFtZX0gYXZhaWxhYmxlIGluIHRoZSBzZWxlY3RlZCBlbnZpcm9ubWVudHMuIENvbHVtbnMgYXJlIHNoYXJlZCDigJQgZWFjaCBlbnZpcm9ubWVudCBnZXRzIGFuIGluZGVwZW5kZW50IHJvdyBzZXQuYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpbWFyeUJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnNlbGVjdGVkLnNpemU7XG4gICAgY29uc3QgdmVyYiA9IHRoaXMubW9kZSA9PT0gJ2Nsb25lJyA/ICdDbG9uZSB0bycgOiAnQXNzaWduIHRvJztcbiAgICByZXR1cm4gYCR7dmVyYn0gJHtjb3VudH0gZW52aXJvbm1lbnQke2NvdW50ID09PSAxID8gJycgOiAncyd9YDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpbWFyeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLnNpemUgPT09IDApIHsgcmV0dXJuIHRydWU7IH1cbiAgICBpZiAodGhpcy5tb2RlID09PSAnY2xvbmUnICYmIHRoaXMuc291cmNlRm9ybS5nZXQoJ3NvdXJjZUVudklkJykhLnZhbHVlID09IG51bGwpIHsgcmV0dXJuIHRydWU7IH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGFibGVFbnZpcm9ubWVudHMoKTogQXNzaWduRW52aXJvbm1lbnRPcHRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnRzID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNBbnlTZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5lbnZpcm9ubWVudHMgPz8gW10pLnNvbWUoZSA9PiAhZS5hbHJlYWR5QXNzaWduZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3VyY2VWYWx1ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VGb3JtLmdldCgnc291cmNlRW52SWQnKSEudmFsdWUgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGlkOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZC5oYXMoaWQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZShlbnY6IEFzc2lnbkVudmlyb25tZW50T3B0aW9uKTogdm9pZCB7XG4gICAgaWYgKGVudi5hbHJlYWR5QXNzaWduZWQpIHsgcmV0dXJuOyB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuaGFzKGVudi5pZCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZGVsZXRlKGVudi5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuYWRkKGVudi5pZCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGhlbHBlckZvcihlbnY6IEFzc2lnbkVudmlyb25tZW50T3B0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoZW52LmFscmVhZHlBc3NpZ25lZCkgeyByZXR1cm4gJ0FscmVhZHkgYXNzaWduZWQgdG8gdGhpcyBlbnZpcm9ubWVudCc7IH1cbiAgICByZXR1cm4gZW52LmRlc2NyaXB0aW9uIHx8ICcnO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IEFzc2lnbkVudmlyb25tZW50c0RpYWxvZ1ZhbHVlIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuc2l6ZSA9PT0gMCkgeyByZXR1cm4gbnVsbDsgfVxuICAgIGNvbnN0IHNyYyA9IHRoaXMuc291cmNlVmFsdWU7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2Nsb25lJykge1xuICAgICAgaWYgKHNyYyA9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuc291cmNlRXJyb3IgPSAnUGljayB0aGUgZW52aXJvbm1lbnQgd2hvc2Ugcm93cyBzaG91bGQgYmUgY29waWVkLic7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRoaXMuc291cmNlRXJyb3IgPSBudWxsO1xuICAgICAgcmV0dXJuIHsgc2VsZWN0ZWRJZHM6IEFycmF5LmZyb20odGhpcy5zZWxlY3RlZCksIHNvdXJjZUVudklkOiBOdW1iZXIoc3JjKSB9O1xuICAgIH1cbiAgICAvLyBBc3NpZ24gbW9kZTogc291cmNlIGlzIG9wdGlvbmFsIOKAlCBpbmNsdWRlIGl0IHdoZW4gdGhlIHVzZXIgcGlja2VkIG9uZS5cbiAgICB0aGlzLnNvdXJjZUVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gc3JjICE9IG51bGxcbiAgICAgID8geyBzZWxlY3RlZElkczogQXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkKSwgc291cmNlRW52SWQ6IE51bWJlcihzcmMpIH1cbiAgICAgIDogeyBzZWxlY3RlZElkczogQXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkKSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFNvdXJjZUNvbmZpZyhlbnZzOiBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbltdKTogRHluYW1pY1NlbGVjdEZpZWxkQ29uZmlnIHtcbiAgICBjb25zdCBvcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IChlbnZzIHx8IFtdKS5tYXAoZSA9PiAoe1xuICAgICAgaWQ6IGUuaWQsXG4gICAgICB2YWx1ZTogZS5pZCxcbiAgICAgIG5hbWU6IGUubmFtZSxcbiAgICAgIGxhYmVsOiBlLm5hbWUsXG4gICAgICBzdGF0dXNDb2xvcjogZS5jb2xvcixcbiAgICB9KSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogJ3NvdXJjZUVudklkJyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IHNvdXJjZSBlbnZpcm9ubWVudOKApicsXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXG4gICAgICBzZWFyY2hhYmxlOiB0cnVlLFxuICAgICAgb3B0aW9ucyxcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNCBjcWEtdy1mdWxsXCI+XG5cbiAgPCEtLSBTb3VyY2UgZW52IHBpY2tlcjogcmVxdWlyZWQgaW4gY2xvbmUgbW9kZSwgb3B0aW9uYWwgaW4gYXNzaWduIG1vZGUgLS0+XG4gIDxkaXYgKm5nSWY9XCJzaG93U291cmNlUGlja2VyXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktNzAwXCI+e3sgc291cmNlTGFiZWwgfX08L2xhYmVsPlxuICAgIDxjcWEtZHluYW1pYy1zZWxlY3RcbiAgICAgIFtmb3JtXT1cInNvdXJjZUZvcm1cIlxuICAgICAgW2NvbmZpZ109XCJzb3VyY2VDb25maWdcIj5cbiAgICA8L2NxYS1keW5hbWljLXNlbGVjdD5cbiAgICA8c3BhbiBbY2xhc3MuY3FhLXRleHQtcmVkLTYwMF09XCJzb3VyY2VFcnJvclwiIFtjbGFzcy5jcWEtdGV4dC1ncmF5LTUwMF09XCIhc291cmNlRXJyb3JcIiBjbGFzcz1cImNxYS10ZXh0LXhzXCI+XG4gICAgICB7eyBzb3VyY2VIZWxwZXIgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDwhLS0gU2VsZWN0YWJsZSBlbnZzIC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJoYXNBbnlTZWxlY3RhYmxlIHx8IChlbnZpcm9ubWVudHM/Lmxlbmd0aCB8fCAwKSA+IDBcIlxuICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMiBjcWEtbWF4LWgtWzM0MHB4XSBjcWEtb3ZlcmZsb3cteS1hdXRvXCI+XG4gICAgPGxhYmVsXG4gICAgICAqbmdGb3I9XCJsZXQgZW52IG9mIHNlbGVjdGFibGVFbnZpcm9ubWVudHNcIlxuICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMyBjcWEtcHgtMyBjcWEtcHktMi41IGNxYS1ib3JkZXIgY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1iZy13aGl0ZSBjcWEtdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgW2NsYXNzLmNxYS1ib3JkZXItZ3JheS0yMDBdPVwiIWlzU2VsZWN0ZWQoZW52LmlkKSAmJiAhZW52LmFscmVhZHlBc3NpZ25lZFwiXG4gICAgICBbY2xhc3MuaG92ZXI6Y3FhLWJvcmRlci1pbmRpZ28tMjAwXT1cIiFlbnYuYWxyZWFkeUFzc2lnbmVkICYmICFpc1NlbGVjdGVkKGVudi5pZClcIlxuICAgICAgW2NsYXNzLmNxYS1ib3JkZXItaW5kaWdvLTQwMF09XCJpc1NlbGVjdGVkKGVudi5pZClcIlxuICAgICAgW2NsYXNzLmNxYS1iZy1pbmRpZ28tNTBdPVwiaXNTZWxlY3RlZChlbnYuaWQpXCJcbiAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS01MF09XCJlbnYuYWxyZWFkeUFzc2lnbmVkXCJcbiAgICAgIFtjbGFzcy5jcWEtY3Vyc29yLXBvaW50ZXJdPVwiIWVudi5hbHJlYWR5QXNzaWduZWRcIlxuICAgICAgW2NsYXNzLmNxYS1jdXJzb3Itbm90LWFsbG93ZWRdPVwiZW52LmFscmVhZHlBc3NpZ25lZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlKGVudilcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBjbGFzcz1cImNxYS13LTQgY3FhLWgtNCBjcWEtY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKGVudi5pZClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiISFlbnYuYWxyZWFkeUFzc2lnbmVkXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlKGVudilcIiAvPlxuXG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImNxYS1pbmxpbmUtYmxvY2sgY3FhLXctMiBjcWEtaC0yIGNxYS1yb3VuZGVkLWZ1bGwgY3FhLWZsZXgtbm9uZVwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImVudi5jb2xvciB8fCAnIzNGNDNFRSdcIj48L3NwYW4+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLW1pbi13LTAgY3FhLWZsZXgtMVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWdyYXktOTAwXCI+e3sgZW52Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImhlbHBlckZvcihlbnYpXCIgY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1ncmF5LTUwMCBjcWEtbGVhZGluZy1bMS40XVwiPnt7IGhlbHBlckZvcihlbnYpIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIoZW52aXJvbm1lbnRzPy5sZW5ndGggfHwgMCkgPT09IDBcIlxuICAgIGNsYXNzPVwiY3FhLXB5LTggY3FhLXB4LTQgY3FhLXRleHQtY2VudGVyIGNxYS10ZXh0LXNtIGNxYS10ZXh0LWdyYXktNTAwXCI+XG4gICAgQWxsIGVudmlyb25tZW50cyBhcmUgYWxyZWFkeSBhc3NpZ25lZCB0byB0aGlzIHByb2ZpbGUuXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaWduLWVudmlyb25tZW50cy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hc3NpZ24tZW52aXJvbm1lbnRzLWRpYWxvZy9hc3NpZ24tZW52aXJvbm1lbnRzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Fzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nL2Fzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0J4RCxNQUFNLE9BQU8saUNBQWlDO0lBZ0JmO0lBZnBCLElBQUksR0FBMkIsUUFBUSxDQUFDO0lBQ3hDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsWUFBWSxHQUE4QixFQUFFLENBQUM7SUFDN0Msb0JBQW9CLEdBQThCLEVBQUUsQ0FBQztJQUNyRCxrQkFBa0IsQ0FBVTtJQUVyQixRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUU3QixVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDekMsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLENBQUM7S0FDbEQsQ0FBQyxDQUFDO0lBQ0ksWUFBWSxHQUE2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFcEUsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFFekMsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRXZELFFBQVE7UUFDTiwyRUFBMkU7UUFDM0UsMEVBQTBFO1FBQzFFLG9FQUFvRTtRQUNwRSxJQUFJLElBQUks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QUFFO1lBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJO1lBQ2IsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLO1NBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTztZQUNMLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLEtBQUssRUFBRSxFQUFFO1lBQ1QsV0FBVyxFQUFFLDRCQUE0QjtZQUN6QyxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQzt3R0F6SVUsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsd1VDbkI5QyxxNUVBc0RBOzs0RkRuQ2EsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLGdDQUFnQyxtQkFFekIsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFO3NGQUd6RCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgRHluYW1pY1NlbGVjdEZpZWxkQ29uZmlnLFxuICBTZWxlY3RPcHRpb24sXG59IGZyb20gJy4uL2R5bmFtaWMtc2VsZWN0L2R5bmFtaWMtc2VsZWN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbixcbiAgQXNzaWduRW52aXJvbm1lbnRzRGlhbG9nVmFsdWUsXG4gIEFzc2lnbkVudmlyb25tZW50c01vZGUsXG59IGZyb20gJy4vYXNzaWduLWVudmlyb25tZW50cy1kaWFsb2cubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWFzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2lnbi1lbnZpcm9ubWVudHMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjcWEtdWktcm9vdCcsIHN0eWxlOiAnZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOycgfSxcbn0pXG5leHBvcnQgY2xhc3MgQXNzaWduRW52aXJvbm1lbnRzRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZTogQXNzaWduRW52aXJvbm1lbnRzTW9kZSA9ICdhc3NpZ24nO1xuICBASW5wdXQoKSBwcm9maWxlTmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVudmlyb25tZW50czogQXNzaWduRW52aXJvbm1lbnRPcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhc3NpZ25lZEVudmlyb25tZW50czogQXNzaWduRW52aXJvbm1lbnRPcHRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBkZWZhdWx0U291cmNlRW52SWQ/OiBudW1iZXI7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkID0gbmV3IFNldDxudW1iZXI+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBzb3VyY2VFbnZJZDogbmV3IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+KG51bGwpLFxuICB9KTtcbiAgcHVibGljIHNvdXJjZUNvbmZpZzogRHluYW1pY1NlbGVjdEZpZWxkQ29uZmlnID0gdGhpcy5idWlsZFNvdXJjZUNvbmZpZyhbXSk7XG5cbiAgcHVibGljIHNvdXJjZUVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gU291cmNlIHBpY2tlciBhcHBlYXJzIGluIGJvdGggbW9kZXMgd2hlbiB0aGVyZSBhcmUgYWxyZWFkeS1hdHRhY2hlZCBlbnZzXG4gICAgLy8gdG8gY29weSBmcm9tLiBJbiBjbG9uZSBtb2RlIGl0J3MgcmVxdWlyZWQ7IGluIGFzc2lnbiBtb2RlIGl0J3Mgb3B0aW9uYWxcbiAgICAvLyAoZmFsbGluZyBiYWNrIHRvIHRoZSBiYXNlIHByb2ZpbGUgcm93cyB3aGVuIG5vIHNvdXJjZSBpcyBwaWNrZWQpLlxuICAgIGlmICh0aGlzLnNob3dTb3VyY2VQaWNrZXIpIHtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmRlZmF1bHRTb3VyY2VFbnZJZCAhPSBudWxsXG4gICAgICAgID8gdGhpcy5kZWZhdWx0U291cmNlRW52SWRcbiAgICAgICAgOiAodGhpcy5tb2RlID09PSAnY2xvbmUnICYmIHRoaXMuYXNzaWduZWRFbnZpcm9ubWVudHMgJiYgdGhpcy5hc3NpZ25lZEVudmlyb25tZW50cy5sZW5ndGhcbiAgICAgICAgICA/IHRoaXMuYXNzaWduZWRFbnZpcm9ubWVudHNbMF0uaWRcbiAgICAgICAgICA6IG51bGwpO1xuICAgICAgdGhpcy5zb3VyY2VGb3JtLmdldCgnc291cmNlRW52SWQnKSEuc2V0VmFsdWUoaW5pdGlhbCk7XG4gICAgICB0aGlzLnNvdXJjZUNvbmZpZyA9IHRoaXMuYnVpbGRTb3VyY2VDb25maWcodGhpcy5hc3NpZ25lZEVudmlyb25tZW50cyA/PyBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBzaG93U291cmNlUGlja2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5hc3NpZ25lZEVudmlyb25tZW50cyAmJiB0aGlzLmFzc2lnbmVkRW52aXJvbm1lbnRzLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3VyY2VMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdjbG9uZScgPyAnQ29weSBmcm9tIHdoaWNoIGVudmlyb25tZW50JyA6ICdDb3B5IHJvd3MgZnJvbSAob3B0aW9uYWwpJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc291cmNlSGVscGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc291cmNlRXJyb3IpIHsgcmV0dXJuIHRoaXMuc291cmNlRXJyb3I7IH1cbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY2xvbmUnXG4gICAgICA/IFwiVGhlIHNlbGVjdGVkIGVudmlyb25tZW50J3Mgcm93cyB3aWxsIGJlIGNvcGllZCBpbnRvIGVhY2ggdGFyZ2V0IGVudmlyb25tZW50IGJlbG93LlwiXG4gICAgICA6ICdQaWNrIGFuIGVudmlyb25tZW50IHRvIGNvcHkgaXRzIHJvd3MgaW50byB0aGUgbmV3IG9uZXMuIExlYXZlIGJsYW5rIHRvIHNlZWQgd2l0aCB0aGUgYmFzZSBwcm9maWxlIHJvd3MuJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnY2xvbmUnID8gJ0Nsb25lIHRvIG90aGVyIGVudmlyb25tZW50cycgOiAnQXNzaWduIHRvIGVudmlyb25tZW50cyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN1YnRpdGxlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvZmlsZU5hbWUgPyBgXCIke3RoaXMucHJvZmlsZU5hbWV9XCJgIDogJ3RoaXMgcHJvZmlsZSc7XG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2Nsb25lJ1xuICAgICAgPyBgRHVwbGljYXRlICR7bmFtZX0gaW50byBvdGhlciBlbnZpcm9ubWVudHMuIENvbHVtbiBzdHJ1Y3R1cmUgaXMgc2hhcmVkOyByb3cgdmFsdWVzIGFyZSBpbmRlcGVuZGVudCBwZXIgZW52aXJvbm1lbnQuYFxuICAgICAgOiBgTWFrZSAke25hbWV9IGF2YWlsYWJsZSBpbiB0aGUgc2VsZWN0ZWQgZW52aXJvbm1lbnRzLiBDb2x1bW5zIGFyZSBzaGFyZWQg4oCUIGVhY2ggZW52aXJvbm1lbnQgZ2V0cyBhbiBpbmRlcGVuZGVudCByb3cgc2V0LmA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaW1hcnlCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5zZWxlY3RlZC5zaXplO1xuICAgIGNvbnN0IHZlcmIgPSB0aGlzLm1vZGUgPT09ICdjbG9uZScgPyAnQ2xvbmUgdG8nIDogJ0Fzc2lnbiB0byc7XG4gICAgcmV0dXJuIGAke3ZlcmJ9ICR7Y291bnR9IGVudmlyb25tZW50JHtjb3VudCA9PT0gMSA/ICcnIDogJ3MnfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByaW1hcnlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5zaXplID09PSAwKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2Nsb25lJyAmJiB0aGlzLnNvdXJjZUZvcm0uZ2V0KCdzb3VyY2VFbnZJZCcpIS52YWx1ZSA9PSBudWxsKSB7IHJldHVybiB0cnVlOyB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RhYmxlRW52aXJvbm1lbnRzKCk6IEFzc2lnbkVudmlyb25tZW50T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQW55U2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuZW52aXJvbm1lbnRzID8/IFtdKS5zb21lKGUgPT4gIWUuYWxyZWFkeUFzc2lnbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc291cmNlVmFsdWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlRm9ybS5nZXQoJ3NvdXJjZUVudklkJykhLnZhbHVlID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQuaGFzKGlkKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGUoZW52OiBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbik6IHZvaWQge1xuICAgIGlmIChlbnYuYWxyZWFkeUFzc2lnbmVkKSB7IHJldHVybjsgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmhhcyhlbnYuaWQpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmRlbGV0ZShlbnYuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmFkZChlbnYuaWQpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBoZWxwZXJGb3IoZW52OiBBc3NpZ25FbnZpcm9ubWVudE9wdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKGVudi5hbHJlYWR5QXNzaWduZWQpIHsgcmV0dXJuICdBbHJlYWR5IGFzc2lnbmVkIHRvIHRoaXMgZW52aXJvbm1lbnQnOyB9XG4gICAgcmV0dXJuIGVudi5kZXNjcmlwdGlvbiB8fCAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBBc3NpZ25FbnZpcm9ubWVudHNEaWFsb2dWYWx1ZSB8IG51bGwge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLnNpemUgPT09IDApIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBzcmMgPSB0aGlzLnNvdXJjZVZhbHVlO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdjbG9uZScpIHtcbiAgICAgIGlmIChzcmMgPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnNvdXJjZUVycm9yID0gJ1BpY2sgdGhlIGVudmlyb25tZW50IHdob3NlIHJvd3Mgc2hvdWxkIGJlIGNvcGllZC4nO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICB0aGlzLnNvdXJjZUVycm9yID0gbnVsbDtcbiAgICAgIHJldHVybiB7IHNlbGVjdGVkSWRzOiBBcnJheS5mcm9tKHRoaXMuc2VsZWN0ZWQpLCBzb3VyY2VFbnZJZDogTnVtYmVyKHNyYykgfTtcbiAgICB9XG4gICAgLy8gQXNzaWduIG1vZGU6IHNvdXJjZSBpcyBvcHRpb25hbCDigJQgaW5jbHVkZSBpdCB3aGVuIHRoZSB1c2VyIHBpY2tlZCBvbmUuXG4gICAgdGhpcy5zb3VyY2VFcnJvciA9IG51bGw7XG4gICAgcmV0dXJuIHNyYyAhPSBudWxsXG4gICAgICA/IHsgc2VsZWN0ZWRJZHM6IEFycmF5LmZyb20odGhpcy5zZWxlY3RlZCksIHNvdXJjZUVudklkOiBOdW1iZXIoc3JjKSB9XG4gICAgICA6IHsgc2VsZWN0ZWRJZHM6IEFycmF5LmZyb20odGhpcy5zZWxlY3RlZCkgfTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTb3VyY2VDb25maWcoZW52czogQXNzaWduRW52aXJvbm1lbnRPcHRpb25bXSk6IER5bmFtaWNTZWxlY3RGaWVsZENvbmZpZyB7XG4gICAgY29uc3Qgb3B0aW9uczogU2VsZWN0T3B0aW9uW10gPSAoZW52cyB8fCBbXSkubWFwKGUgPT4gKHtcbiAgICAgIGlkOiBlLmlkLFxuICAgICAgdmFsdWU6IGUuaWQsXG4gICAgICBuYW1lOiBlLm5hbWUsXG4gICAgICBsYWJlbDogZS5uYW1lLFxuICAgICAgc3RhdHVzQ29sb3I6IGUuY29sb3IsXG4gICAgfSkpO1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6ICdzb3VyY2VFbnZJZCcsXG4gICAgICBsYWJlbDogJycsXG4gICAgICBwbGFjZWhvbGRlcjogJ1NlbGVjdCBzb3VyY2UgZW52aXJvbm1lbnTigKYnLFxuICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTQgY3FhLXctZnVsbFwiPlxuXG4gIDwhLS0gU291cmNlIGVudiBwaWNrZXI6IHJlcXVpcmVkIGluIGNsb25lIG1vZGUsIG9wdGlvbmFsIGluIGFzc2lnbiBtb2RlIC0tPlxuICA8ZGl2ICpuZ0lmPVwic2hvd1NvdXJjZVBpY2tlclwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMlwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTcwMFwiPnt7IHNvdXJjZUxhYmVsIH19PC9sYWJlbD5cbiAgICA8Y3FhLWR5bmFtaWMtc2VsZWN0XG4gICAgICBbZm9ybV09XCJzb3VyY2VGb3JtXCJcbiAgICAgIFtjb25maWddPVwic291cmNlQ29uZmlnXCI+XG4gICAgPC9jcWEtZHluYW1pYy1zZWxlY3Q+XG4gICAgPHNwYW4gW2NsYXNzLmNxYS10ZXh0LXJlZC02MDBdPVwic291cmNlRXJyb3JcIiBbY2xhc3MuY3FhLXRleHQtZ3JheS01MDBdPVwiIXNvdXJjZUVycm9yXCIgY2xhc3M9XCJjcWEtdGV4dC14c1wiPlxuICAgICAge3sgc291cmNlSGVscGVyIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8IS0tIFNlbGVjdGFibGUgZW52cyAtLT5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaGFzQW55U2VsZWN0YWJsZSB8fCAoZW52aXJvbm1lbnRzPy5sZW5ndGggfHwgMCkgPiAwXCJcbiAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTIgY3FhLW1heC1oLVszNDBweF0gY3FhLW92ZXJmbG93LXktYXV0b1wiPlxuICAgIDxsYWJlbFxuICAgICAgKm5nRm9yPVwibGV0IGVudiBvZiBzZWxlY3RhYmxlRW52aXJvbm1lbnRzXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTMgY3FhLXB4LTMgY3FhLXB5LTIuNSBjcWEtYm9yZGVyIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYmctd2hpdGUgY3FhLXRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgIFtjbGFzcy5jcWEtYm9yZGVyLWdyYXktMjAwXT1cIiFpc1NlbGVjdGVkKGVudi5pZCkgJiYgIWVudi5hbHJlYWR5QXNzaWduZWRcIlxuICAgICAgW2NsYXNzLmhvdmVyOmNxYS1ib3JkZXItaW5kaWdvLTIwMF09XCIhZW52LmFscmVhZHlBc3NpZ25lZCAmJiAhaXNTZWxlY3RlZChlbnYuaWQpXCJcbiAgICAgIFtjbGFzcy5jcWEtYm9yZGVyLWluZGlnby00MDBdPVwiaXNTZWxlY3RlZChlbnYuaWQpXCJcbiAgICAgIFtjbGFzcy5jcWEtYmctaW5kaWdvLTUwXT1cImlzU2VsZWN0ZWQoZW52LmlkKVwiXG4gICAgICBbY2xhc3MuY3FhLW9wYWNpdHktNTBdPVwiZW52LmFscmVhZHlBc3NpZ25lZFwiXG4gICAgICBbY2xhc3MuY3FhLWN1cnNvci1wb2ludGVyXT1cIiFlbnYuYWxyZWFkeUFzc2lnbmVkXCJcbiAgICAgIFtjbGFzcy5jcWEtY3Vyc29yLW5vdC1hbGxvd2VkXT1cImVudi5hbHJlYWR5QXNzaWduZWRcIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZShlbnYpXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2xhc3M9XCJjcWEtdy00IGNxYS1oLTQgY3FhLWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChlbnYuaWQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhZW52LmFscmVhZHlBc3NpZ25lZFwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZShlbnYpXCIgLz5cblxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjcWEtaW5saW5lLWJsb2NrIGNxYS13LTIgY3FhLWgtMiBjcWEtcm91bmRlZC1mdWxsIGNxYS1mbGV4LW5vbmVcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJlbnYuY29sb3IgfHwgJyMzRjQzRUUnXCI+PC9zcGFuPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1taW4tdy0wIGNxYS1mbGV4LTFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1ncmF5LTkwMFwiPnt7IGVudi5uYW1lIH19PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWxwZXJGb3IoZW52KVwiIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLXRleHQtZ3JheS01MDAgY3FhLWxlYWRpbmctWzEuNF1cIj57eyBoZWxwZXJGb3IoZW52KSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiKGVudmlyb25tZW50cz8ubGVuZ3RoIHx8IDApID09PSAwXCJcbiAgICBjbGFzcz1cImNxYS1weS04IGNxYS1weC00IGNxYS10ZXh0LWNlbnRlciBjcWEtdGV4dC1zbSBjcWEtdGV4dC1ncmF5LTUwMFwiPlxuICAgIEFsbCBlbnZpcm9ubWVudHMgYXJlIGFscmVhZHkgYXNzaWduZWQgdG8gdGhpcyBwcm9maWxlLlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common";
|
|
4
5
|
export class CustomInputComponent {
|
|
@@ -23,6 +24,8 @@ export class CustomInputComponent {
|
|
|
23
24
|
enterPressed = new EventEmitter();
|
|
24
25
|
inputValue = '';
|
|
25
26
|
isFocused = false;
|
|
27
|
+
onChange = () => { };
|
|
28
|
+
onTouched = () => { };
|
|
26
29
|
ngOnChanges(changes) {
|
|
27
30
|
if (changes['value'] && changes['value'].currentValue !== undefined) {
|
|
28
31
|
let newValue = changes['value'].currentValue ?? '';
|
|
@@ -34,6 +37,22 @@ export class CustomInputComponent {
|
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
}
|
|
40
|
+
writeValue(value) {
|
|
41
|
+
let nextValue = value === null || value === undefined ? '' : String(value);
|
|
42
|
+
if (this.maxLength && nextValue.length > this.maxLength) {
|
|
43
|
+
nextValue = nextValue.substring(0, this.maxLength);
|
|
44
|
+
}
|
|
45
|
+
this.inputValue = nextValue;
|
|
46
|
+
}
|
|
47
|
+
registerOnChange(fn) {
|
|
48
|
+
this.onChange = fn;
|
|
49
|
+
}
|
|
50
|
+
registerOnTouched(fn) {
|
|
51
|
+
this.onTouched = fn;
|
|
52
|
+
}
|
|
53
|
+
setDisabledState(isDisabled) {
|
|
54
|
+
this.disabled = isDisabled;
|
|
55
|
+
}
|
|
37
56
|
get hasError() {
|
|
38
57
|
return this.errors && this.errors.length > 0;
|
|
39
58
|
}
|
|
@@ -71,6 +90,7 @@ export class CustomInputComponent {
|
|
|
71
90
|
}
|
|
72
91
|
}
|
|
73
92
|
this.inputValue = nextValue;
|
|
93
|
+
this.onChange(this.inputValue);
|
|
74
94
|
this.valueChange.emit(this.inputValue);
|
|
75
95
|
}
|
|
76
96
|
onFocus(event) {
|
|
@@ -79,6 +99,7 @@ export class CustomInputComponent {
|
|
|
79
99
|
}
|
|
80
100
|
onBlur(event) {
|
|
81
101
|
this.isFocused = false;
|
|
102
|
+
this.onTouched();
|
|
82
103
|
this.blurred.emit(event);
|
|
83
104
|
}
|
|
84
105
|
onKeyDown(event) {
|
|
@@ -94,11 +115,23 @@ export class CustomInputComponent {
|
|
|
94
115
|
return this.labelInlineStyle || '';
|
|
95
116
|
}
|
|
96
117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomInputComponent, selector: "cqa-custom-input", inputs: { inputId: "inputId", label: "label", type: "type", placeholder: "placeholder", value: "value", disabled: "disabled", errors: "errors", required: "required", ariaLabel: "ariaLabel", size: "size", fullWidth: "fullWidth", maxLength: "maxLength", showCharCount: "showCharCount", inputInlineStyle: "inputInlineStyle", labelInlineStyle: "labelInlineStyle" }, outputs: { valueChange: "valueChange", blurred: "blurred", focused: "focused", enterPressed: "enterPressed" }, host: { classAttribute: "cqa-ui-root" },
|
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomInputComponent, selector: "cqa-custom-input", inputs: { inputId: "inputId", label: "label", type: "type", placeholder: "placeholder", value: "value", disabled: "disabled", errors: "errors", required: "required", ariaLabel: "ariaLabel", size: "size", fullWidth: "fullWidth", maxLength: "maxLength", showCharCount: "showCharCount", inputInlineStyle: "inputInlineStyle", labelInlineStyle: "labelInlineStyle" }, outputs: { valueChange: "valueChange", blurred: "blurred", focused: "focused", enterPressed: "enterPressed" }, host: { classAttribute: "cqa-ui-root" }, providers: [
|
|
119
|
+
{
|
|
120
|
+
provide: NG_VALUE_ACCESSOR,
|
|
121
|
+
useExisting: forwardRef(() => CustomInputComponent),
|
|
122
|
+
multi: true
|
|
123
|
+
}
|
|
124
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <input\n [attr.id]=\"inputId\"\n [attr.name]=\"inputId\"\n [type]=\"type\"\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none {{ inputSizeClasses }}\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [style]=\"inputStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n autocomplete=\"off\"\n />\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ inputValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
98
125
|
}
|
|
99
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, decorators: [{
|
|
100
127
|
type: Component,
|
|
101
|
-
args: [{ selector: 'cqa-custom-input', host: { class: 'cqa-ui-root' },
|
|
128
|
+
args: [{ selector: 'cqa-custom-input', host: { class: 'cqa-ui-root' }, providers: [
|
|
129
|
+
{
|
|
130
|
+
provide: NG_VALUE_ACCESSOR,
|
|
131
|
+
useExisting: forwardRef(() => CustomInputComponent),
|
|
132
|
+
multi: true
|
|
133
|
+
}
|
|
134
|
+
], template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <input\n [attr.id]=\"inputId\"\n [attr.name]=\"inputId\"\n [type]=\"type\"\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none {{ inputSizeClasses }}\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [style]=\"inputStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n autocomplete=\"off\"\n />\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ inputValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n" }]
|
|
102
135
|
}], propDecorators: { inputId: [{
|
|
103
136
|
type: Input
|
|
104
137
|
}], label: [{
|
|
@@ -138,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
138
171
|
}], enterPressed: [{
|
|
139
172
|
type: Output
|
|
140
173
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVdqRyxNQUFNLE9BQU8sb0JBQW9CO0lBRXRCLE9BQU8sQ0FBVTtJQUVqQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRVgsSUFBSSxHQUFjLE1BQU0sQ0FBQztJQUV6QixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBRWpCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFdEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsSUFBSSxHQUFjLElBQUksQ0FBQztJQUV2QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFNBQVMsQ0FBVTtJQUVuQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRXRCLGdCQUFnQixDQUFVO0lBRTFCLGdCQUFnQixDQUFVO0lBRXpCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXpDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXpDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXBELFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDaEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVsQixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwRSxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUVuRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3ZELFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUVELElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsS0FBSyxJQUFJO2dCQUNQLE9BQU8sK0JBQStCLENBQUM7WUFDekMsS0FBSyxJQUFJO2dCQUNQLE9BQU8saUNBQWlDLENBQUM7WUFDM0MsS0FBSyxJQUFJO2dCQUNQLE9BQU8saUNBQWlDLENBQUM7WUFDM0M7Z0JBQ0UsT0FBTyxpQ0FBaUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssSUFBSTtnQkFDUCxPQUFPLHNCQUFzQixDQUFDO1lBQ2hDLEtBQUssSUFBSTtnQkFDUCxPQUFPLHdCQUF3QixDQUFDO1lBQ2xDLEtBQUssSUFBSTtnQkFDUCxPQUFPLHdCQUF3QixDQUFDO1lBQ2xDO2dCQUNFLE9BQU8sd0JBQXdCLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBaUMsQ0FBQztRQUN2RCxJQUFJLFNBQVMsR0FBRyxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5RSxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25ELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dHQTdIVSxvQkFBb0I7NEZBQXBCLG9CQUFvQiwra0JDWGpDLDI2RkErREE7OzRGRHBEYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLFFBR3RCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs4QkFJckIsT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbnR5cGUgSW5wdXRUeXBlID0gJ3RleHQnIHwgJ3Bhc3N3b3JkJyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3VybCc7XG50eXBlIElucHV0U2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWN1c3RvbS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICBASW5wdXQoKSB0eXBlOiBJbnB1dFR5cGUgPSAndGV4dCc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgc2l6ZTogSW5wdXRTaXplID0gJ21kJztcblxuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc2hvd0NoYXJDb3VudCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGlucHV0SW5saW5lU3R5bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWxJbmxpbmVTdHlsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgYmx1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZW50ZXJQcmVzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgaW5wdXRWYWx1ZSA9ICcnO1xuICBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG5ld1ZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgPz8gJyc7XG4gICAgICBcbiAgICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiBuZXdWYWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnN1YnN0cmluZygwLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvcnMgJiYgdGhpcy5lcnJvcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBpbnB1dFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtMyBjcWEtcHktMiBjcWEtdGV4dC14cyc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTQgY3FhLXB5LTIuNSBjcWEtdGV4dC1zbSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTUgY3FhLXB5LTMgY3FhLXRleHQtYmFzZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2NxYS1weC00IGNxYS1weS0yLjUgY3FhLXRleHQtc20nO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsYWJlbFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC14cyBjcWEtbWItMSc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc20gY3FhLW1iLTEuNSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtYmFzZSBjcWEtbWItMic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LXNtIGNxYS1tYi0xLjUnO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBuZXh0VmFsdWUgPSB0YXJnZXQ/LnZhbHVlID8/ICcnO1xuICAgIFxuICAgIGlmICh0aGlzLnNob3dDaGFyQ291bnQgJiYgdGhpcy5tYXhMZW5ndGggJiYgbmV4dFZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICBuZXh0VmFsdWUgPSBuZXh0VmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5ibHVycmVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZW50ZXJQcmVzc2VkLmVtaXQodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlucHV0U3R5bGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRJbmxpbmVTdHlsZSB8fCAnJztcbiAgfVxuXG4gIGdldCBsYWJlbFN0eWxlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsSW5saW5lU3R5bGUgfHwgJyc7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICA8bGFiZWwgXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMzc0MTUxXVwiXG4gICAgICBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCJcbiAgICAgIFtzdHlsZV09XCJsYWJlbFN0eWxlc1wiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsjRUY0NDQ0XSBjcWEtbWwtMC41XCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1yZWxhdGl2ZVwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJpbnB1dElkXCJcbiAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIGNsYXNzPVwiY3FhLXctZnVsbCAhY3FhLWJvcmRlciAhY3FhLWJvcmRlci1zb2xpZCAhY3FhLWJvcmRlci1ncmF5LTIwMCBjcWEtcm91bmRlZC1tZCBjcWEtYmctd2hpdGUgY3FhLWZvbnQtWydTRl9Qcm9fVGV4dCddIGNxYS1mb250LW5vcm1hbCBjcWEtbGVhZGluZy1ub3JtYWwgY3FhLXRyYWNraW5nLW5vcm1hbCBjcWEtdGV4dC1bIzBBMEEwQV0gcGxhY2Vob2xkZXI6Y3FhLXRleHQtWyM5Q0EzQUZdIGNxYS10cmFuc2l0aW9uLWFsbCBjcWEtZHVyYXRpb24tMjAwIGNxYS1vdXRsaW5lLW5vbmUge3sgaW5wdXRTaXplQ2xhc3NlcyB9fVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnY3FhLWJvcmRlci1bI0QxRDVEQl0gZm9jdXM6Y3FhLWJvcmRlci1bIzNCODJGNl0gZm9jdXM6Y3FhLXJpbmctMSBmb2N1czpjcWEtcmluZy1bIzNCODJGNl0nOiAhaGFzRXJyb3IsXG4gICAgICAgICAgJ2NxYS1ib3JkZXItWyNFRjQ0NDRdIGZvY3VzOmNxYS1ib3JkZXItWyNFRjQ0NDRdIGZvY3VzOmNxYS1yaW5nLTEgZm9jdXM6Y3FhLXJpbmctWyNFRjQ0NDRdJzogaGFzRXJyb3IsXG4gICAgICAgICAgJ2NxYS1iZy1bI0Y5RkFGQl0gY3FhLWN1cnNvci1ub3QtYWxsb3dlZCBjcWEtdGV4dC1bIzlDQTNBRl0nOiBkaXNhYmxlZCxcbiAgICAgICAgICAnY3FhLW91dGxpbmUtbm9uZSc6IHRydWVcbiAgICAgICAgfVwiXG4gICAgICAgIFtzdHlsZV09XCJpbnB1dFN0eWxlc1wiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaGFzRXJyb3JcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0NoYXJDb3VudCAmJiBtYXhMZW5ndGhcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1qdXN0aWZ5LWVuZCBjcWEtbXQtMVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1bIzZCNzI4MF1cIj5cbiAgICAgICAge3sgaW5wdXRWYWx1ZS5sZW5ndGggfX0ve3sgbWF4TGVuZ3RoIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaGFzRXJyb3JcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEgY3FhLW10LTEuNVwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JzXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC0xLjVcIj5cbiAgICAgICAgPHN2ZyBcbiAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgXG4gICAgICAgICAgd2lkdGg9XCIxNFwiIFxuICAgICAgICAgIGhlaWdodD1cIjE0XCIgXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAxNCAxNFwiIFxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4LXNocmluay0wIGNxYS1tdC0wLjVcIj5cbiAgICAgICAgICA8cGF0aCBkPVwiTTcgMS43NUM0LjEgMS43NSAxLjc1IDQuMSAxLjc1IDdDMS43NSA5LjkgNC4xIDEyLjI1IDcgMTIuMjVDOS45IDEyLjI1IDEyLjI1IDkuOSAxMi4yNSA3QzEyLjI1IDQuMSA5LjkgMS43NSA3IDEuNzVaTTcgOS42MjVDNi42NTYyNSA5LjYyNSA2LjM3NSA5LjM0Mzc1IDYuMzc1IDlWN0M2LjM3NSA2LjY1NjI1IDYuNjU2MjUgNi4zNzUgNyA2LjM3NUM3LjM0Mzc1IDYuMzc1IDcuNjI1IDYuNjU2MjUgNy42MjUgN1Y5QzcuNjI1IDkuMzQzNzUgNy4zNDM3NSA5LjYyNSA3IDkuNjI1Wk03LjYyNSA1LjI1SDYuMzc1VjRINy42MjVWNS4yNVpcIiBmaWxsPVwiI0VGNDQ0NFwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLXRleHQtWyNFRjQ0NDRdIGNxYS1mb250LW1lZGl1bSBjcWEtbGVhZGluZy1bMThweF1cIj5cbiAgICAgICAgICB7eyBlcnJvciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBa0J6RSxNQUFNLE9BQU8sb0JBQW9CO0lBRXRCLE9BQU8sQ0FBVTtJQUVqQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRVgsSUFBSSxHQUFjLE1BQU0sQ0FBQztJQUV6QixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBRWpCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFdEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsSUFBSSxHQUFjLElBQUksQ0FBQztJQUV2QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFNBQVMsQ0FBVTtJQUVuQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRXRCLGdCQUFnQixDQUFVO0lBRTFCLGdCQUFnQixDQUFVO0lBRXpCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXpDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXpDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRXpDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXBELFVBQVUsR0FBRyxFQUFFLENB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dHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbnR5cGUgSW5wdXRUeXBlID0gJ3RleHQnIHwgJ3Bhc3N3b3JkJyB8ICdlbWFpbCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3VybCc7XG50eXBlIElucHV0U2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWN1c3RvbS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBpbnB1dElkPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgdHlwZTogSW5wdXRUeXBlID0gJ3RleHQnO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KCkgdmFsdWUgPSAnJztcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGFyaWFMYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpIHNpemU6IElucHV0U2l6ZSA9ICdtZCc7XG5cbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIHNob3dDaGFyQ291bnQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBpbnB1dElubGluZVN0eWxlPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxhYmVsSW5saW5lU3R5bGU/OiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpIGJsdXJyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGVudGVyUHJlc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGlucHV0VmFsdWUgPSAnJztcbiAgaXNGb2N1c2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG5ld1ZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgPz8gJyc7XG4gICAgICBcbiAgICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiBuZXdWYWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnN1YnN0cmluZygwLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGxldCBuZXh0VmFsdWUgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gJycgOiBTdHJpbmcodmFsdWUpO1xuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiBuZXh0VmFsdWUubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgIG5leHRWYWx1ZSA9IG5leHRWYWx1ZS5zdWJzdHJpbmcoMCwgdGhpcy5tYXhMZW5ndGgpO1xuICAgIH1cbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXh0VmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9ycyAmJiB0aGlzLmVycm9ycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IGlucHV0U2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS1weC0zIGNxYS1weS0yIGNxYS10ZXh0LXhzJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNCBjcWEtcHktMi41IGNxYS10ZXh0LXNtJztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtNSBjcWEtcHktMyBjcWEtdGV4dC1iYXNlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTQgY3FhLXB5LTIuNSBjcWEtdGV4dC1zbSc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxhYmVsU2l6ZUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LXhzIGNxYS1tYi0xJztcbiAgICAgIGNhc2UgJ21kJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1zbSBjcWEtbWItMS41JztcbiAgICAgIGNhc2UgJ2xnJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC1iYXNlIGNxYS1tYi0yJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc20gY3FhLW1iLTEuNSc7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgbGV0IG5leHRWYWx1ZSA9IHRhcmdldD8udmFsdWUgPz8gJyc7XG4gICAgXG4gICAgaWYgKHRoaXMuc2hvd0NoYXJDb3VudCAmJiB0aGlzLm1heExlbmd0aCAmJiBuZXh0VmFsdWUubGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgIG5leHRWYWx1ZSA9IG5leHRWYWx1ZS5zdWJzdHJpbmcoMCwgdGhpcy5tYXhMZW5ndGgpO1xuICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICB0YXJnZXQudmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5leHRWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmJsdXJyZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5lbnRlclByZXNzZWQuZW1pdCh0aGlzLmlucHV0VmFsdWUudHJpbSgpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaW5wdXRTdHlsZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dElubGluZVN0eWxlIHx8ICcnO1xuICB9XG5cbiAgZ2V0IGxhYmVsU3R5bGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxJbmxpbmVTdHlsZSB8fCAnJztcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBbc3R5bGUuZGlzcGxheV09XCInYmxvY2snXCIgW3N0eWxlLndpZHRoXT1cImZ1bGxXaWR0aCA/ICcxMDAlJyA6ICdhdXRvJ1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sXCIgW3N0eWxlLndpZHRoXT1cImZ1bGxXaWR0aCA/ICcxMDAlJyA6ICdhdXRvJ1wiPlxuICAgIDxsYWJlbCBcbiAgICAgICpuZ0lmPVwibGFiZWxcIlxuICAgICAgY2xhc3M9XCJjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyMzNzQxNTFdXCJcbiAgICAgIFtuZ0NsYXNzXT1cImxhYmVsU2l6ZUNsYXNzZXNcIlxuICAgICAgW3N0eWxlXT1cImxhYmVsU3R5bGVzXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgICAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwiY3FhLXRleHQtWyNFRjQ0NDRdIGNxYS1tbC0wLjVcIj4qPC9zcGFuPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLXJlbGF0aXZlXCIgW3N0eWxlLndpZHRoXT1cImZ1bGxXaWR0aCA/ICcxMDAlJyA6ICdhdXRvJ1wiPlxuICAgICAgPGlucHV0XG4gICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cImlucHV0SWRcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtdy1mdWxsICFjcWEtYm9yZGVyICFjcWEtYm9yZGVyLXNvbGlkICFjcWEtYm9yZGVyLWdyYXktMjAwIGNxYS1yb3VuZGVkLW1kIGNxYS1iZy13aGl0ZSBjcWEtZm9udC1bJ1NGX1Byb19UZXh0J10gY3FhLWZvbnQtbm9ybWFsIGNxYS1sZWFkaW5nLW5vcm1hbCBjcWEtdHJhY2tpbmctbm9ybWFsIGNxYS10ZXh0LVsjMEEwQTBBXSBwbGFjZWhvbGRlcjpjcWEtdGV4dC1bIzlDQTNBRl0gY3FhLXRyYW5zaXRpb24tYWxsIGNxYS1kdXJhdGlvbi0yMDAgY3FhLW91dGxpbmUtbm9uZSB7eyBpbnB1dFNpemVDbGFzc2VzIH19XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtYm9yZGVyLVsjRDFENURCXSBmb2N1czpjcWEtYm9yZGVyLVsjM0I4MkY2XSBmb2N1czpjcWEtcmluZy0xIGZvY3VzOmNxYS1yaW5nLVsjM0I4MkY2XSc6ICFoYXNFcnJvcixcbiAgICAgICAgICAnY3FhLWJvcmRlci1bI0VGNDQ0NF0gZm9jdXM6Y3FhLWJvcmRlci1bI0VGNDQ0NF0gZm9jdXM6Y3FhLXJpbmctMSBmb2N1czpjcWEtcmluZy1bI0VGNDQ0NF0nOiBoYXNFcnJvcixcbiAgICAgICAgICAnY3FhLWJnLVsjRjlGQUZCXSBjcWEtY3Vyc29yLW5vdC1hbGxvd2VkIGNxYS10ZXh0LVsjOUNBM0FGXSc6IGRpc2FibGVkLFxuICAgICAgICAgICdjcWEtb3V0bGluZS1ub25lJzogdHJ1ZVxuICAgICAgICB9XCJcbiAgICAgICAgW3N0eWxlXT1cImlucHV0U3R5bGVzXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBsYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvclwiXG4gICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJzaG93Q2hhckNvdW50ICYmIG1heExlbmd0aFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWp1c3RpZnktZW5kIGNxYS1tdC0xXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjNkI3MjgwXVwiPlxuICAgICAgICB7eyBpbnB1dFZhbHVlLmxlbmd0aCB9fS97eyBtYXhMZW5ndGggfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJoYXNFcnJvclwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtbXQtMS41XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnNcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTEuNVwiPlxuICAgICAgICA8c3ZnIFxuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBcbiAgICAgICAgICB3aWR0aD1cIjE0XCIgXG4gICAgICAgICAgaGVpZ2h0PVwiMTRcIiBcbiAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXgtc2hyaW5rLTAgY3FhLW10LTAuNVwiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNNyAxLjc1QzQuMSAxLjc1IDEuNzUgNC4xIDEuNzUgN0MxLjc1IDkuOSA0LjEgMTIuMjUgNyAxMi4yNUM5LjkgMTIuMjUgMTIuMjUgOS45IDEyLjI1IDdDMTIuMjUgNC4xIDkuOSAxLjc1IDcgMS43NVpNNyA5LjYyNUM2LjY1NjI1IDkuNjI1IDYuMzc1IDkuMzQzNzUgNi4zNzUgOVY3QzYuMzc1IDYuNjU2MjUgNi42NTYyNSA2LjM3NSA3IDYuMzc1QzcuMzQzNzUgNi4zNzUgNy42MjUgNi42NTYyNSA3LjYyNSA3VjlDNy42MjUgOS4zNDM3NSA3LjM0Mzc1IDkuNjI1IDcgOS42MjVaTTcuNjI1IDUuMjVINi4zNzVWNEg3LjYyNVY1LjI1WlwiIGZpbGw9XCIjRUY0NDQ0XCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1bI0VGNDQ0NF0gY3FhLWZvbnQtbWVkaXVtIGNxYS1sZWFkaW5nLVsxOHB4XVwiPlxuICAgICAgICAgIHt7IGVycm9yIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|