@acorex/components 4.2.32 → 4.2.33
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/esm2020/lib/date-picker/date-picker.component.mjs +2 -2
- package/esm2020/lib/form-group/form-group.component.mjs +2 -1
- package/fesm2015/acorex-components.mjs +2 -1
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +2 -1
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -126,7 +126,7 @@ export class AXDatePickerComponent extends AXValidatableComponent {
|
|
|
126
126
|
this.selectToday();
|
|
127
127
|
}
|
|
128
128
|
if (this.dropdown.dropdownWidth > 200 || this.dropdown.dropdownWidth < 200) {
|
|
129
|
-
this.dropdown.dropdownWidth =
|
|
129
|
+
this.dropdown.dropdownWidth = 320;
|
|
130
130
|
}
|
|
131
131
|
this.cdr.markForCheck();
|
|
132
132
|
});
|
|
@@ -702,4 +702,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
702
702
|
}], value: [{
|
|
703
703
|
type: Input
|
|
704
704
|
}] } });
|
|
705
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQStELE1BQU0sdUJBQXVCLENBQUM7QUFDNUgsT0FBTyxFQUFrQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7O0FBRWxFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUFrQjtDQUU5RDtBQVVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUE0RS9ELFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUNqRSxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBFbkUsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUdkLG9C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dkIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lDQUN0RztnQ0FDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO29DQUN2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO3dDQUM1QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRDQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lDQUM1Rzs2Q0FBTTs0Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7eUNBQ3RHO3FDQUNGO3lDQUFNO3dDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7cUNBQzNFO2lDQUNGO2dDQUNELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7b0NBQzVCLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7d0NBQzVCLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7NENBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7eUNBQzVHOzZDQUFNOzRDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQzt5Q0FDdEc7cUNBQ0Y7eUNBQU07d0NBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztxQ0FDM0U7aUNBQ0Y7Z0NBQ0QsbUVBQW1FO2dDQUNuRSxxQkFBcUI7Z0NBQ3JCLHFCQUFxQjtnQ0FDckIsOERBQThEO2dDQUM5RCxTQUFTOzZCQUNWO2lDQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7Z0NBQ2hDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7b0NBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQ0FDdEc7cUNBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsRUFBRTtvQ0FDOUQsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTt3Q0FDM0IsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTs0Q0FDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQzt5Q0FDNUc7NkNBQU07NENBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lDQUN0RztxQ0FDRjt5Q0FBTTt3Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3FDQUMzRTtpQ0FDRjtxQ0FBTSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO29DQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dDQUMzQixJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFOzRDQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lDQUM1Rzs2Q0FBTTs0Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7eUNBQ3RHO3FDQUNGO3lDQUFNO3dDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7cUNBQzNFO2lDQUNGO2dDQUNELG1FQUFtRTtnQ0FDbkUscUJBQXFCO2dDQUNyQixxQkFBcUI7Z0NBQ3JCLDhEQUE4RDtnQ0FDOUQsU0FBUzs2QkFDVjs0QkFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO2dDQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7Z0NBQ2hFLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQ0FDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dDQUNwQixPQUFPLEtBQUssQ0FBQzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO3dCQUN0QixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFOzRCQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7NEJBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQzs0QkFDekQsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDOzRCQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7eUJBQ3JCO3FCQUNGO29CQUNELE1BQU07Z0JBRVIsS0FBSyxJQUFJLENBQUMsUUFBUTtvQkFDaEIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTt3QkFDekIsSUFDRSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksS0FBSyxJQUFJLEdBQUcsSUFBSSxTQUFTLElBQUksR0FBRyxDQUFDOzRCQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxTQUFTLElBQUksR0FBRyxDQUFDLEVBQzlFOzRCQUNBLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt5QkFDcEI7NkJBQU0sSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksU0FBUyxJQUFJLEdBQUcsRUFBRTs0QkFDekQsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO3lCQUNwQjt3QkFDRCxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDckIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUNQO29CQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7d0JBQ3JELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7NEJBQ3hCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7Z0NBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7b0NBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztpQ0FDdEc7Z0NBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsRUFBRTtvQ0FDdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTt3Q0FDNUIsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTs0Q0FDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQzt5Q0FDNUc7NkNBQU07NENBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lDQUN0RztxQ0FDRjt5Q0FBTTt3Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3FDQUMzRTtpQ0FDRjtnQ0FDRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO29DQUM1QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFO3dDQUM3QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRDQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lDQUM1Rzs2Q0FBTTs0Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUNBQ3RHO3FDQUNGO3lDQUFNO3dDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7cUNBQzFFO2lDQUNGO2dDQUNELG1FQUFtRTtnQ0FDbkUscUJBQXFCO2dDQUNyQixxQkFBcUI7Z0NBQ3JCLDhEQUE4RDtnQ0FDOUQsU0FBUzs2QkFDVjtpQ0FBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO2dDQUNoQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO29DQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7aUNBQ3RHO3FDQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7b0NBQzlELElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7d0NBQzNCLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7NENBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7eUNBQzVHOzZDQUFNOzRDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQzt5Q0FDdEc7cUNBQ0Y7eUNBQU07d0NBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztxQ0FDM0U7aUNBQ0Y7cUNBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsRUFBRTtvQ0FDbkMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTt3Q0FDNUIsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRTs0Q0FDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5Q0FDNUc7NkNBQU07NENBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lDQUN0RztxQ0FDRjt5Q0FBTTt3Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO3FDQUMxRTtpQ0FDRjtnQ0FDRCxtRUFBbUU7Z0NBQ25FLHFCQUFxQjtnQ0FDckIscUJBQXFCO2dDQUNyQiw4REFBOEQ7Z0NBQzlELFNBQVM7NkJBQ1Y7NEJBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTtnQ0FDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO2dDQUNoRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0NBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQ0FDcEIsT0FBTyxLQUFLLENBQUM7NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7b0JBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTt3QkFDdEIsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRTs0QkFDaEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7NEJBQ3pELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO3lCQUNyQjtxQkFDRjtvQkFDRCxNQUFNO2dCQUNSO29CQUNFLE1BQU07YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsS0FBSyxDQUFDLEVBQUU7WUFDeEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHO1FBQ3hCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7O21IQWxyQlUscUJBQXFCO3VHQUFyQixxQkFBcUIsMm1CQUhyQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLDBFQXdCdEUsWUFBWSx3U0NwRDVCLGt3REE2QmU7NEZERUYscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyx1QkFBdUIsRUFBRSxDQUFDLFFBQzlFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtpSUFJOUIsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLEtBQUs7c0JBREosU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlwQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQVlFLGtCQUFrQjtzQkFEekIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtqQyxVQUFVO3NCQURwQixLQUFLO2dCQVNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFtQk4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFNSSxJQUFJO3NCQURkLEtBQUs7Z0JBdUdOLGNBQWM7c0JBRGIsTUFBTTtnQkFJUCxXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUsIEFYQmFzZVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhclR5cGUsIEFYRGF0ZVRpbWUsIEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBBWERhdGFQaWNrZXJDaGFuZ2VFdmVudCBleHRlbmRzIEFYVmFsdWVFdmVudDxEYXRlPiB7XHJcbiAgaXNVc2VyQ2hhbmdlOiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGVQaWNrZXJDb21wb25lbnQgfV0sXHJcbiAgaG9zdDogeyBzdHlsZTogJ3dpZHRoOiAxMDAlJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERhdGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGRyb3Bkb3duOiBBWERyb3Bkb3duQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgaW5wdXQ6IEFYVGV4dEJveENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdHlsZSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheU1pbk1heFJlc29hbiA9ICcnO1xyXG5cclxuICAvLyBtbWRkeXl5eTogYW55ID0gWy9bMC0xXS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vXTtcclxuICB5eXl5TU1kZDogYW55ID0gWy9bMS0yXS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzAtM10vLCAvWzAtOV0vXTtcclxuICBkZE1NeXl5eTogYW55ID0gWy9bMC0zXS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzEtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vXTtcclxuICB5eXl5ZGRNTTogYW55ID0gWy9bMS05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICctJywgL1swLTNdLywgL1swLTldLywgJy0nLCAvWzAtMV0vLCAvWzAtOV0vXTtcclxuICAvLyB5eXl5TU1kZDE6IGFueSA9IFsvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAnLycsIC9bMC0xXS8sIC9bMC05XS8sICcvJywgL1swLTNdLywgL1swLTldL107XHJcbiAgLy8gZGRNTXl5eXkyOiBhbnkgPSBbL1swLTNdLywgL1swLTldLywgJy8nLCAvWzAtMV0vLCAvWzAtOV0vLCAnLycsIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS9dO1xyXG4gIC8vIHl5eXlkZE1NMzogYW55ID0gWy9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICcvJywgL1swLTNdLywgL1swLTldLywgJy8nLCAvWzAtMV0vLCAvWzAtOV0vXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFZhbGlkYXRpb24sIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbiA/IHRoaXMuX3ZhbGlkYXRpb24gOiB0aGlzLl9jb250ZW50VmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbjogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXg6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZG9ubHk6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUb2RheTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGFibGVIb2xpZGF5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRlVHlwZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUb2RheUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgb3BlbkJ5Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY3Vyc29yUG9zaXRpb246IG51bWJlciA9IDA7XHJcblxyXG4gIG1vZGVsOiBhbnkgPSBudWxsO1xyXG4gIHRleHQ6IHN0cmluZztcclxuXHJcbiAgX3JlbmRlclBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgLy8gc2V0IGRlZmF1bHRzXHJcbiAgICBpZiAoQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJykpIHtcclxuICAgICAgdGhpcy50eXBlID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVHlwZT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfdHlwZTogQVhDYWxlbmRhclR5cGUgPSAnZ3JlZ29yaWFuJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHR5cGUoKTogQVhDYWxlbmRhclR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHR5cGUodjogQVhDYWxlbmRhclR5cGUpIHtcclxuICAgIGlmICh2ICE9IHRoaXMuX3R5cGUpIHtcclxuICAgICAgdGhpcy5fdHlwZSA9IHY7XHJcbiAgICAgIGlmICh0aGlzLl92YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZS5kYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3NldERhdGVUeXBlKCk7XHJcbiAgICAgIHRoaXMudHlwZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VG9kYXkoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5kcm9wZG93bi5mb2N1cygpO1xyXG4gICAgdGhpcy5pbnB1dC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydE1hc2tUb0RhdGUodGV4dDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09ICdqYWxhbGknKSB7XHJcbiAgICAgIHZhciBkID0gbmV3IEFYRGF0ZVRpbWUoKS5jb252ZXJ0U3RyaW5nVG9HcmVnb3JpYW4odGV4dCwgJ1lZWVkvTS9EJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YXIgZCA9IG5ldyBEYXRlKG5ldyBBWERhdGVUaW1lKHRleHQsICdncmVnb3JpYW4nKS50b0lTT1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZDtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRNYXNrKGRhdGU6IHN0cmluZykge1xyXG4gICAgbGV0IHk7XHJcbiAgICBsZXQgbTtcclxuICAgIGxldCBkO1xyXG4gICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlLm1hc2spIHtcclxuICAgICAgY2FzZSB0aGlzLnl5eXlNTWRkOlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDAsIDQpO1xyXG4gICAgICAgIG0gPSBkYXRlLnNsaWNlKDUsIDcpO1xyXG4gICAgICAgIGQgPSBkYXRlLnNsaWNlKDgsIDEwKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmRkTU15eXl5OlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDYsIDEwKTtcclxuICAgICAgICBtID0gZGF0ZS5zbGljZSgzLCA1KTtcclxuICAgICAgICBkID0gZGF0ZS5zbGljZSgwLCAyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLnl5eXlkZE1NOlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDAsIDQpO1xyXG4gICAgICAgIG0gPSBkYXRlLnNsaWNlKDgsIDEwKTtcclxuICAgICAgICBkID0gZGF0ZS5zbGljZSg1LCA3KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyB5ZWFyOiB5LCBtb25udGg6IG0sIGRheTogZCB9O1xyXG4gIH1cclxuXHJcbiAgdGV4dENoYW5nZShlKSB7XHJcbiAgICB0aGlzLnRleHQgPSBlLnZhbHVlO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuY29udmVydE1hc2sodGhpcy50ZXh0KTtcclxuXHJcbiAgICBpZiAodGhpcy50ZXh0ICYmIHRoaXMudGV4dC5pbmRleE9mKCdfJykgPT09IC0xICYmIHRoaXMudGV4dC5sZW5ndGggPT0gMTAgJiYgdGhpcy50eXBlID09ICdqYWxhbGknKSB7XHJcbiAgICAgIHRoaXMudXNlckNoYW5nZSA9IGUuaXNVc2VyQ2hhbmdlO1xyXG5cclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydE1hc2tUb0RhdGUoZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb25udGggKyAnLScgKyBkYXRlLmRheSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dCAmJiB0aGlzLnRleHQuaW5kZXhPZignXycpID09PSAtMSAmJiB0aGlzLnRleHQubGVuZ3RoID09IDEwICYmIHRoaXMudHlwZSA9PSAnZ3JlZ29yaWFuJykge1xyXG4gICAgICB0aGlzLnVzZXJDaGFuZ2UgPSBlLmlzVXNlckNoYW5nZTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydE1hc2tUb0RhdGUoZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb25udGggKyAnLScgKyBkYXRlLmRheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldERhdGVUeXBlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fdmFsdWU/LnRvU3RyaW5nKCk7XHJcbiAgICAgIGlmICh0aGlzLnNob3dUb2RheSAmJiAhdGhpcy52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0VG9kYXkoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kcm9wZG93bi5kcm9wZG93bldpZHRoID4gMjAwIHx8IHRoaXMuZHJvcGRvd24uZHJvcGRvd25XaWR0aCA8IDIwMCkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24uZHJvcGRvd25XaWR0aCA9IDI1MDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdGhpcy52YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgdXNlckNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYRGF0YVBpY2tlckNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhUGlja2VyQ2hhbmdlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBBWERhdGVUaW1lO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZT8uZGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBEYXRlKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgY29uc3Qgb2xkID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgICBpZiAodikge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG5ldyBBWERhdGVUaW1lKHYsIHRoaXMudHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBsZXQgdW5WYWxpZERhdGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1heCB8fCB0aGlzLm1pbikge1xyXG4gICAgICB1blZhbGlkRGF0ZSA9IHRoaXMuaXNJbk1Jbk1heFJhbmdlKEFYRGF0ZVRpbWUuY29udmVydCh2KSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF1blZhbGlkRGF0ZSkge1xyXG4gICAgICBpZiAoKCF2ICYmIG9sZFZhbHVlKSB8fCAodGhpcy5fdmFsdWUgJiYgIXRoaXMuX3ZhbHVlLmVxdWFsKG9sZFZhbHVlLCAnZGF5JykpKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fdmFsdWU/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIG9sZFZhbHVlOiBvbGQsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBpc1VzZXJDaGFuZ2U6IHRoaXMudXNlckNoYW5nZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZXh0ID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldERhdGVUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ3l5eXlNTWRkJzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMueXl5eU1NZGQsXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RkTU15eXl5JzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMuZGRNTXl5eXksXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3l5eXlkZE1NJzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMueXl5eWRkTU0sXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2dyZWdvcmlhbicpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZVR5cGUgPSB7XHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgICAgbWFzazogdGhpcy5kZE1NeXl5eSxcclxuICAgICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gJ2phbGFsaScpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZVR5cGUgPSB7XHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgICAgbWFzazogdGhpcy55eXl5TU1kZCxcclxuICAgICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNJbk1Jbk1heFJhbmdlKGQpIHtcclxuICAgIGxldCByID0gZmFsc2U7XHJcbiAgICBpZiAoZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbiAmJiAhdGhpcy5tYXgpIHtcclxuICAgICAgICByID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1pbiwgdGhpcy50eXBlKSwgJ1lNRCcsIHRoaXMudHlwZSkgPT09IC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1heCAmJiAhdGhpcy5taW4pIHtcclxuICAgICAgICByID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgJ1lNRCcsIHRoaXMudHlwZSkgPT09IDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWluICYmIHRoaXMubWF4KSB7XHJcbiAgICAgICAgciA9XHJcbiAgICAgICAgICBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCAnWU1EJywgdGhpcy50eXBlKSA9PT0gLTEgfHxcclxuICAgICAgICAgIGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy5tYXgsIHRoaXMudHlwZSksICdZTUQnLCB0aGlzLnR5cGUpID09PSAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShlKSB7XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG4gICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xyXG5cclxuICAgIC8vdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZSkge1xyXG4gICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3RhcnRmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLnRleHQgPT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dCA9PSBudWxsIHx8IHRoaXMudGV4dCA9PSAnJykge1xyXG4gICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Q2FyZXRQb3NpdGlvbih0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQsIDApO1xyXG4gICAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ2F1dG8nO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Rm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcGVuQnlDbGljaykge1xyXG4gICAgICB0aGlzLl9yZW5kZXJQaWNrZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLm9wZW4oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25TdGFydGZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG4gIGhhbmRsZUlucHV0Qmx1cigpIHtcclxuICAgIGlmICh0aGlzLnRleHQgJiYgdGhpcy50ZXh0LmluZGV4T2YoJ18nKSAhPSAtMSkge1xyXG4gICAgICB0aGlzLnRleHQgPSAnJztcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVCdXR0b25DbGljaygpIHtcclxuICAgIHRoaXMuX3JlbmRlclBpY2tlciA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlS2V5UHJlc3MoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGUudHlwZSA9PSAna2V5ZG93bicgfHwgZS50eXBlID09ICdrZXlwcmVzcycgfHwgZS50eXBlID09ICdrZXl1cCcpIHtcclxuICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJykge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZS5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fCB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IDApIHtcclxuICAgICAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5wdXRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlKTtcclxuICAgIGlmICh0aGlzLnRleHQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGluZDEgPSB0aGlzLnRleHQuY2hhckF0KDApO1xyXG4gICAgICBjb25zdCBpbmQyID0gdGhpcy50ZXh0LmNoYXJBdCgxKTtcclxuICAgICAgY29uc3QgaW5kMyA9IHRoaXMudGV4dC5jaGFyQXQoMik7XHJcbiAgICAgIGNvbnN0IGluZDQgPSB0aGlzLnRleHQuY2hhckF0KDMpO1xyXG4gICAgICBjb25zdCBpbmQ1ID0gdGhpcy50ZXh0LmNoYXJBdCg0KTtcclxuICAgICAgY29uc3QgaW5kNiA9IHRoaXMudGV4dC5jaGFyQXQoNSk7XHJcbiAgICAgIGNvbnN0IGluZDcgPSB0aGlzLnRleHQuY2hhckF0KDYpO1xyXG4gICAgICBjb25zdCBpbmQ4ID0gdGhpcy50ZXh0LmNoYXJBdCg3KTtcclxuICAgICAgY29uc3QgaW5kOSA9IHRoaXMudGV4dC5jaGFyQXQoOCk7XHJcbiAgICAgIGNvbnN0IGluZDEwID0gdGhpcy50ZXh0LmNoYXJBdCg5KTtcclxuICAgICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlLm1hc2spIHtcclxuICAgICAgICBjYXNlIHRoaXMueXl5eU1NZGQ6XHJcbiAgICAgICAgICBpZiAoZS50eXBlID09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDbGljaygpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgKGluZDYgPT0gJzEnICYmIGluZDcgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kNiA9PSAnMCcgJiYgaW5kNyA9PSAnXycpIHx8IChpbmQ5ID09ICcwJyAmJiBpbmQxMCA9PSAnXycpKSAmJiBpbnB1dENoYXIgPT0gJzAnKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kOSA9PSAnMycgJiYgaW5kMTAgPT0gJ18nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGluZDYgKyBpbmQ3IDw9ICcwNicgJiYgaW5wdXRDaGFyID49ICcyJykge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kNiArIGluZDcgPiAnMDYnICYmIGlucHV0Q2hhciA+PSAnMScpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnRleHQuaW5kZXhPZignXycpID09PSAtMSAmJiB0aGlzLnRleHQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IFN0cmluZyhOdW1iZXIoaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCkgKyAxKSArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA1ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDEyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ2ICsgaW5kNykgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMDEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICAgICAgLy8gfSwgMCk7XHJcbiAgICAgICAgICAgICAgICAvLyBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uIDw9IDQpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gU3RyaW5nKE51bWJlcihpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0KSAtIDEpICsgaW5kNSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+IDQgJiYgdGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA3KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNiArIGluZDcpID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNiArIGluZDcpIDwgMTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ2ICsgaW5kNykgLSAxKSArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgU3RyaW5nKE51bWJlcihpbmQ2ICsgaW5kNykgLSAxKSArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgJzEyJyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDkgKyBpbmQxMCkgPCAxMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgLSAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgLSAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMzEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgICAvLyB9LCAwKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleXVwJykge1xyXG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldENhcmV0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgdGhpcy5kZE1NeXl5eTpcclxuICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDbGljaygpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgKGluZDQgPT0gJzEnICYmIGluZDUgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kMSA9PSAnMCcgJiYgaW5kMiA9PSAnXycpIHx8IChpbmQ0ID09ICcwJyAmJiBpbmQ1ID09ICdfJykpICYmIGlucHV0Q2hhciA9PSAnMCcpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoaW5kMSA9PSAnMycgJiYgaW5kMiA9PSAnXycgJiYgaW5wdXRDaGFyID49ICcyJykge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMudGV4dC5pbmRleE9mKCdfJykgPT09IC0xICYmIHRoaXMudGV4dCAhPT0gJycpIHtcclxuICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uID49IDYpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgU3RyaW5nKE51bWJlcihpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uID4gMiAmJiB0aGlzLmN1cnNvclBvc2l0aW9uIDw9IDUpIHtcclxuICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ0ICsgaW5kNSkgPCAxMikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNCArIGluZDUpIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ0ICsgaW5kNSkgKyAxKSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgU3RyaW5nKE51bWJlcihpbmQ0ICsgaW5kNSkgKyAxKSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgJzAxJyArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gMikge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQxICsgaW5kMikgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSArIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSArIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMDEnICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA2KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIFN0cmluZyhOdW1iZXIoaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiAyICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNSkge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDQgKyBpbmQ1KSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDQgKyBpbmQ1KSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDQgKyBpbmQ1KSAtIDEpICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBTdHJpbmcoTnVtYmVyKGluZDQgKyBpbmQ1KSAtIDEpICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyAnMTInICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gMikge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSAtIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSAtIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMzEnICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZS50eXBlID09PSAna2V5dXAnKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgdGhpcy55eXl5ZGRNTTpcclxuICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgIChpbmQ5ID09PSAnMScgJiYgaW5kMTAgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kNiA9PSAnMCcgJiYgaW5kNyA9PSAnXycpIHx8IChpbmQ5ID09ICcwJyAmJiBpbmQxMCkpICYmIGlucHV0Q2hhciA9PSAnMCcpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmQ2ID09ICczJyAmJiBpbmQ3ID09ICdfJyAmJiBpbnB1dENoYXIgPj0gJzInKSB7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcclxuICAgICAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy50ZXh0LmluZGV4T2YoJ18nKSA9PT0gLTEgJiYgdGhpcy50ZXh0ICE9PSAnJykge1xyXG4gICAgICAgICAgICBpZiAoZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQpICsgMSkgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiA0ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ2ICsgaW5kNykgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA8IDEyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMDEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IFN0cmluZyhOdW1iZXIoaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCkgLSAxKSArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiA0ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpIC0gMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpIC0gMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICczMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPj0gOCkge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDkgKyBpbmQxMCkgPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgMTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgU3RyaW5nKE51bWJlcihpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgJzEyJztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAndHJhbnNwYXJlbnQnO1xyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgICAvLyB9LCAwKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleXVwJykge1xyXG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldENhcmV0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgfHwgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDYXJldFBvc2l0aW9uKGN0cmwsIHBvcykge1xyXG4gICAgaWYgKGN0cmwuc2V0U2VsZWN0aW9uUmFuZ2UpIHtcclxuICAgICAgY3RybC5mb2N1cygpO1xyXG4gICAgICBjdHJsLnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhcmV0KCkge1xyXG4gICAgdGhpcy5zZXRDYXJldFBvc2l0aW9uKHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJzb3JQb3NpdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIjxheC1kcm9wLWRvd24gW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2ZpdFBhcmVudF09XCJ0cnVlXCIgW3NpemVdPVwic2l6ZVwiIFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgaWNvbj1cImZhciBmYS1jYWxlbmRhci1hbHRcIiAjZHJvcGRvd24gbWF4SGVpZ2h0PVwidW5zZXRcIj5cclxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgPGF4LXRleHQtYm94ICNpbnB1dCBbdGV4dEFsaWduXT1cInRleHRBbGlnblwiIFsodmFsdWUpXT1cInRleHRcIiBbcmVhZG9ubHldPVwiZmFsc2VcIiBbdGV4dE1hc2tdPVwiZGF0ZVR5cGVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbc2l6ZV09XCJzaXplXCIgKG9ua2V5KT1cImhhbmRsZUtleVByZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25Gb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKClcIiAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiIChvbkJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKClcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidGV4dENoYW5nZSgkZXZlbnQpXCI+PC9heC10ZXh0LWJveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBwYW5lbD5cclxuICAgICAgICA8YXgtY2FsZW5kYXItYm94ICpuZ0lmPVwiX3JlbmRlclBpY2tlclwiIFtzaG93VG9kYXlCdXR0b25dPVwic2hvd1RvZGF5QnV0dG9uXCJcclxuICAgICAgICAgICAgW3NlbGVjdGFibGVIb2xpZGF5XT1cInNlbGVjdGFibGVIb2xpZGF5XCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtzaXplXT1cInNpemVcIiAob25DbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIiBbdHlwZV09XCJ0eXBlXCIgWyh2YWx1ZSldPVwidmFsdWVcIiBbZGF5U3R5bGVdPVwiZGF5U3R5bGVcIlxyXG4gICAgICAgICAgICBbZGF5TWluTWF4UmVzb2FuXT1cImRheU1pbk1heFJlc29hblwiPlxyXG4gICAgICAgIDwvYXgtY2FsZW5kYXItYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGVuZD5cclxuICAgICAgICA8YXgtYnV0dG9uIGVuZCAqbmdJZj1cImFsbG93Q2xlYXIgJiYgdmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBpY29uPVwiZmFyIGZhLXRpbWVzIGljb25cIiB0eXBlPVwiYmxhbmsgZGFuZ2VyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIiBbc2l6ZV09XCJzaXplXCIgW3RhYkluZGV4XT1cIi0xXCI+XHJcbiAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPGF4LWJ1dHRvbiBlbmQgaWNvbj1cImZhciBmYS1jYWxlbmRhci1hbHQgaWNvblwiIHR5cGU9XCJsaWdodCBibGFua1wiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NpemVdPVwic2l6ZVwiIFt0YWJJbmRleF09XCItMVwiPjwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG48L2F4LWRyb3AtZG93bj4iXX0=
|
|
705
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQStELE1BQU0sdUJBQXVCLENBQUM7QUFDNUgsT0FBTyxFQUFrQixVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7O0FBRWxFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUFrQjtDQUU5RDtBQVVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUE0RS9ELFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUNqRSxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBFbkUsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUdkLG9C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dkIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsRUFBRTtvQ0FDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lDQUN0RztnQ0FDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO29DQUN2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO3dDQUM1QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRDQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lDQUM1Rzs2Q0FBTTs0Q0FDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7eUNBQ3RHO3FDQUNGO3lDQUFNO3dDQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7cUNBQzNFO2lDQUNG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UCxXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUsIEFYQmFzZVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhclR5cGUsIEFYRGF0ZVRpbWUsIEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb24gfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBBWERhdGFQaWNrZXJDaGFuZ2VFdmVudCBleHRlbmRzIEFYVmFsdWVFdmVudDxEYXRlPiB7XHJcbiAgaXNVc2VyQ2hhbmdlOiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYVmFsaWRhdGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGVQaWNrZXJDb21wb25lbnQgfV0sXHJcbiAgaG9zdDogeyBzdHlsZTogJ3dpZHRoOiAxMDAlJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERhdGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGRyb3Bkb3duOiBBWERyb3Bkb3duQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgaW5wdXQ6IEFYVGV4dEJveENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdHlsZSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheU1pbk1heFJlc29hbiA9ICcnO1xyXG5cclxuICAvLyBtbWRkeXl5eTogYW55ID0gWy9bMC0xXS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vXTtcclxuICB5eXl5TU1kZDogYW55ID0gWy9bMS0yXS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzAtM10vLCAvWzAtOV0vXTtcclxuICBkZE1NeXl5eTogYW55ID0gWy9bMC0zXS8sIC9bMC05XS8sICctJywgL1swLTFdLywgL1swLTldLywgJy0nLCAvWzEtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vXTtcclxuICB5eXl5ZGRNTTogYW55ID0gWy9bMS05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICctJywgL1swLTNdLywgL1swLTldLywgJy0nLCAvWzAtMV0vLCAvWzAtOV0vXTtcclxuICAvLyB5eXl5TU1kZDE6IGFueSA9IFsvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAvWzAtOV0vLCAnLycsIC9bMC0xXS8sIC9bMC05XS8sICcvJywgL1swLTNdLywgL1swLTldL107XHJcbiAgLy8gZGRNTXl5eXkyOiBhbnkgPSBbL1swLTNdLywgL1swLTldLywgJy8nLCAvWzAtMV0vLCAvWzAtOV0vLCAnLycsIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS9dO1xyXG4gIC8vIHl5eXlkZE1NMzogYW55ID0gWy9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sIC9bMC05XS8sICcvJywgL1swLTNdLywgL1swLTldLywgJy8nLCAvWzAtMV0vLCAvWzAtOV0vXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFZhbGlkYXRpb24sIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbiA/IHRoaXMuX3ZhbGlkYXRpb24gOiB0aGlzLl9jb250ZW50VmFsaWRhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1pbjogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBtYXg6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZG9ubHk6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dDbGVhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHRBbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUb2RheTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGFibGVIb2xpZGF5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXRlVHlwZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dUb2RheUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgb3BlbkJ5Q2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY3Vyc29yUG9zaXRpb246IG51bWJlciA9IDA7XHJcblxyXG4gIG1vZGVsOiBhbnkgPSBudWxsO1xyXG4gIHRleHQ6IHN0cmluZztcclxuXHJcbiAgX3JlbmRlclBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgLy8gc2V0IGRlZmF1bHRzXHJcbiAgICBpZiAoQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJykpIHtcclxuICAgICAgdGhpcy50eXBlID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVHlwZT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfdHlwZTogQVhDYWxlbmRhclR5cGUgPSAnZ3JlZ29yaWFuJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHR5cGUoKTogQVhDYWxlbmRhclR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHR5cGUodjogQVhDYWxlbmRhclR5cGUpIHtcclxuICAgIGlmICh2ICE9IHRoaXMuX3R5cGUpIHtcclxuICAgICAgdGhpcy5fdHlwZSA9IHY7XHJcbiAgICAgIGlmICh0aGlzLl92YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZS5kYXRlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX3NldERhdGVUeXBlKCk7XHJcbiAgICAgIHRoaXMudHlwZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VG9kYXkoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gbmV3IERhdGUoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5kcm9wZG93bi5mb2N1cygpO1xyXG4gICAgdGhpcy5pbnB1dC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydE1hc2tUb0RhdGUodGV4dDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09ICdqYWxhbGknKSB7XHJcbiAgICAgIHZhciBkID0gbmV3IEFYRGF0ZVRpbWUoKS5jb252ZXJ0U3RyaW5nVG9HcmVnb3JpYW4odGV4dCwgJ1lZWVkvTS9EJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YXIgZCA9IG5ldyBEYXRlKG5ldyBBWERhdGVUaW1lKHRleHQsICdncmVnb3JpYW4nKS50b0lTT1N0cmluZygpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZDtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRNYXNrKGRhdGU6IHN0cmluZykge1xyXG4gICAgbGV0IHk7XHJcbiAgICBsZXQgbTtcclxuICAgIGxldCBkO1xyXG4gICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlLm1hc2spIHtcclxuICAgICAgY2FzZSB0aGlzLnl5eXlNTWRkOlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDAsIDQpO1xyXG4gICAgICAgIG0gPSBkYXRlLnNsaWNlKDUsIDcpO1xyXG4gICAgICAgIGQgPSBkYXRlLnNsaWNlKDgsIDEwKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmRkTU15eXl5OlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDYsIDEwKTtcclxuICAgICAgICBtID0gZGF0ZS5zbGljZSgzLCA1KTtcclxuICAgICAgICBkID0gZGF0ZS5zbGljZSgwLCAyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLnl5eXlkZE1NOlxyXG4gICAgICAgIHkgPSBkYXRlLnNsaWNlKDAsIDQpO1xyXG4gICAgICAgIG0gPSBkYXRlLnNsaWNlKDgsIDEwKTtcclxuICAgICAgICBkID0gZGF0ZS5zbGljZSg1LCA3KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyB5ZWFyOiB5LCBtb25udGg6IG0sIGRheTogZCB9O1xyXG4gIH1cclxuXHJcbiAgdGV4dENoYW5nZShlKSB7XHJcbiAgICB0aGlzLnRleHQgPSBlLnZhbHVlO1xyXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuY29udmVydE1hc2sodGhpcy50ZXh0KTtcclxuXHJcbiAgICBpZiAodGhpcy50ZXh0ICYmIHRoaXMudGV4dC5pbmRleE9mKCdfJykgPT09IC0xICYmIHRoaXMudGV4dC5sZW5ndGggPT0gMTAgJiYgdGhpcy50eXBlID09ICdqYWxhbGknKSB7XHJcbiAgICAgIHRoaXMudXNlckNoYW5nZSA9IGUuaXNVc2VyQ2hhbmdlO1xyXG5cclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydE1hc2tUb0RhdGUoZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb25udGggKyAnLScgKyBkYXRlLmRheSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dCAmJiB0aGlzLnRleHQuaW5kZXhPZignXycpID09PSAtMSAmJiB0aGlzLnRleHQubGVuZ3RoID09IDEwICYmIHRoaXMudHlwZSA9PSAnZ3JlZ29yaWFuJykge1xyXG4gICAgICB0aGlzLnVzZXJDaGFuZ2UgPSBlLmlzVXNlckNoYW5nZTtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydE1hc2tUb0RhdGUoZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb25udGggKyAnLScgKyBkYXRlLmRheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldERhdGVUeXBlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fdmFsdWU/LnRvU3RyaW5nKCk7XHJcbiAgICAgIGlmICh0aGlzLnNob3dUb2RheSAmJiAhdGhpcy52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0VG9kYXkoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kcm9wZG93bi5kcm9wZG93bldpZHRoID4gMjAwIHx8IHRoaXMuZHJvcGRvd24uZHJvcGRvd25XaWR0aCA8IDIwMCkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24uZHJvcGRvd25XaWR0aCA9IDMyMDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3ZhbHVlJywgdGhpcy52YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgdXNlckNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYRGF0YVBpY2tlckNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhUGlja2VyQ2hhbmdlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBBWERhdGVUaW1lO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZT8uZGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBEYXRlKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgY29uc3Qgb2xkID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgICBpZiAodikge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG5ldyBBWERhdGVUaW1lKHYsIHRoaXMudHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBsZXQgdW5WYWxpZERhdGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLm1heCB8fCB0aGlzLm1pbikge1xyXG4gICAgICB1blZhbGlkRGF0ZSA9IHRoaXMuaXNJbk1Jbk1heFJhbmdlKEFYRGF0ZVRpbWUuY29udmVydCh2KSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF1blZhbGlkRGF0ZSkge1xyXG4gICAgICBpZiAoKCF2ICYmIG9sZFZhbHVlKSB8fCAodGhpcy5fdmFsdWUgJiYgIXRoaXMuX3ZhbHVlLmVxdWFsKG9sZFZhbHVlLCAnZGF5JykpKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fdmFsdWU/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIG9sZFZhbHVlOiBvbGQsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBpc1VzZXJDaGFuZ2U6IHRoaXMudXNlckNoYW5nZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZXh0ID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldERhdGVUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ3l5eXlNTWRkJzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMueXl5eU1NZGQsXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2RkTU15eXl5JzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMuZGRNTXl5eXksXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3l5eXlkZE1NJzpcclxuICAgICAgICB0aGlzLmRhdGVUeXBlID0ge1xyXG4gICAgICAgICAgZ3VpZGU6IHRydWUsXHJcbiAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgIG1hc2s6IHRoaXMueXl5eWRkTU0sXHJcbiAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2dyZWdvcmlhbicpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZVR5cGUgPSB7XHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgICAgbWFzazogdGhpcy5kZE1NeXl5eSxcclxuICAgICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gJ2phbGFsaScpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZVR5cGUgPSB7XHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBzaG93TWFzazogdHJ1ZSxcclxuICAgICAgICAgICAgbWFzazogdGhpcy55eXl5TU1kZCxcclxuICAgICAgICAgICAga2VlcENoYXJQb3NpdGlvbnM6IHRydWVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNJbk1Jbk1heFJhbmdlKGQpIHtcclxuICAgIGxldCByID0gZmFsc2U7XHJcbiAgICBpZiAoZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbiAmJiAhdGhpcy5tYXgpIHtcclxuICAgICAgICByID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1pbiwgdGhpcy50eXBlKSwgJ1lNRCcsIHRoaXMudHlwZSkgPT09IC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1heCAmJiAhdGhpcy5taW4pIHtcclxuICAgICAgICByID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgJ1lNRCcsIHRoaXMudHlwZSkgPT09IDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWluICYmIHRoaXMubWF4KSB7XHJcbiAgICAgICAgciA9XHJcbiAgICAgICAgICBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCAnWU1EJywgdGhpcy50eXBlKSA9PT0gLTEgfHxcclxuICAgICAgICAgIGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy5tYXgsIHRoaXMudHlwZSksICdZTUQnLCB0aGlzLnR5cGUpID09PSAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcjtcclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShlKSB7XHJcbiAgICB0aGlzLnVzZXJDaGFuZ2UgPSB0cnVlO1xyXG4gICAgdGhpcy5kcm9wZG93bi5jbG9zZSgpO1xyXG5cclxuICAgIC8vdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2soZSkge1xyXG4gICAgdGhpcy51c2VyQ2hhbmdlID0gdHJ1ZTtcclxuICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3RhcnRmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLnRleHQgPT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dCA9PSBudWxsIHx8IHRoaXMudGV4dCA9PSAnJykge1xyXG4gICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0Q2FyZXRQb3NpdGlvbih0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQsIDApO1xyXG4gICAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ2F1dG8nO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Rm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcGVuQnlDbGljaykge1xyXG4gICAgICB0aGlzLl9yZW5kZXJQaWNrZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duLm9wZW4oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25TdGFydGZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG4gIGhhbmRsZUlucHV0Qmx1cigpIHtcclxuICAgIGlmICh0aGlzLnRleHQgJiYgdGhpcy50ZXh0LmluZGV4T2YoJ18nKSAhPSAtMSkge1xyXG4gICAgICB0aGlzLnRleHQgPSAnJztcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVCdXR0b25DbGljaygpIHtcclxuICAgIHRoaXMuX3JlbmRlclBpY2tlciA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlS2V5UHJlc3MoZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGUudHlwZSA9PSAna2V5ZG93bicgfHwgZS50eXBlID09ICdrZXlwcmVzcycgfHwgZS50eXBlID09ICdrZXl1cCcpIHtcclxuICAgICAgaWYgKGUua2V5ID09PSAnRGVsZXRlJykge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZS5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fCB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPT09IDApIHtcclxuICAgICAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5wdXRDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlKTtcclxuICAgIGlmICh0aGlzLnRleHQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IGluZDEgPSB0aGlzLnRleHQuY2hhckF0KDApO1xyXG4gICAgICBjb25zdCBpbmQyID0gdGhpcy50ZXh0LmNoYXJBdCgxKTtcclxuICAgICAgY29uc3QgaW5kMyA9IHRoaXMudGV4dC5jaGFyQXQoMik7XHJcbiAgICAgIGNvbnN0IGluZDQgPSB0aGlzLnRleHQuY2hhckF0KDMpO1xyXG4gICAgICBjb25zdCBpbmQ1ID0gdGhpcy50ZXh0LmNoYXJBdCg0KTtcclxuICAgICAgY29uc3QgaW5kNiA9IHRoaXMudGV4dC5jaGFyQXQoNSk7XHJcbiAgICAgIGNvbnN0IGluZDcgPSB0aGlzLnRleHQuY2hhckF0KDYpO1xyXG4gICAgICBjb25zdCBpbmQ4ID0gdGhpcy50ZXh0LmNoYXJBdCg3KTtcclxuICAgICAgY29uc3QgaW5kOSA9IHRoaXMudGV4dC5jaGFyQXQoOCk7XHJcbiAgICAgIGNvbnN0IGluZDEwID0gdGhpcy50ZXh0LmNoYXJBdCg5KTtcclxuICAgICAgc3dpdGNoICh0aGlzLmRhdGVUeXBlLm1hc2spIHtcclxuICAgICAgICBjYXNlIHRoaXMueXl5eU1NZGQ6XHJcbiAgICAgICAgICBpZiAoZS50eXBlID09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDbGljaygpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgKGluZDYgPT0gJzEnICYmIGluZDcgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kNiA9PSAnMCcgJiYgaW5kNyA9PSAnXycpIHx8IChpbmQ5ID09ICcwJyAmJiBpbmQxMCA9PSAnXycpKSAmJiBpbnB1dENoYXIgPT0gJzAnKVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kOSA9PSAnMycgJiYgaW5kMTAgPT0gJ18nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGluZDYgKyBpbmQ3IDw9ICcwNicgJiYgaW5wdXRDaGFyID49ICcyJykge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kNiArIGluZDcgPiAnMDYnICYmIGlucHV0Q2hhciA+PSAnMScpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnRleHQuaW5kZXhPZignXycpID09PSAtMSAmJiB0aGlzLnRleHQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlkb3duJykge1xyXG4gICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IFN0cmluZyhOdW1iZXIoaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCkgKyAxKSArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA1ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDEyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ2ICsgaW5kNykgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMDEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICAgICAgLy8gfSwgMCk7XHJcbiAgICAgICAgICAgICAgICAvLyBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uIDw9IDQpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gU3RyaW5nKE51bWJlcihpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0KSAtIDEpICsgaW5kNSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+IDQgJiYgdGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA3KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNiArIGluZDcpID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNiArIGluZDcpIDwgMTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ2ICsgaW5kNykgLSAxKSArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgU3RyaW5nKE51bWJlcihpbmQ2ICsgaW5kNykgLSAxKSArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgJzEyJyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDkgKyBpbmQxMCkgPCAxMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgLSAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgLSAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMzEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgICAvLyB9LCAwKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleXVwJykge1xyXG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldENhcmV0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgdGhpcy5kZE1NeXl5eTpcclxuICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDbGljaygpO1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgKGluZDQgPT0gJzEnICYmIGluZDUgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kMSA9PSAnMCcgJiYgaW5kMiA9PSAnXycpIHx8IChpbmQ0ID09ICcwJyAmJiBpbmQ1ID09ICdfJykpICYmIGlucHV0Q2hhciA9PSAnMCcpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoaW5kMSA9PSAnMycgJiYgaW5kMiA9PSAnXycgJiYgaW5wdXRDaGFyID49ICcyJykge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMudGV4dC5pbmRleE9mKCdfJykgPT09IC0xICYmIHRoaXMudGV4dCAhPT0gJycpIHtcclxuICAgICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleWRvd24nKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uID49IDYpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgU3RyaW5nKE51bWJlcihpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvclBvc2l0aW9uID4gMiAmJiB0aGlzLmN1cnNvclBvc2l0aW9uIDw9IDUpIHtcclxuICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ0ICsgaW5kNSkgPCAxMikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kNCArIGluZDUpIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ0ICsgaW5kNSkgKyAxKSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgU3RyaW5nKE51bWJlcihpbmQ0ICsgaW5kNSkgKyAxKSArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgJzAxJyArIGluZDYgKyBpbmQ3ICsgaW5kOCArIGluZDkgKyBpbmQxMDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gMikge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQxICsgaW5kMikgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSArIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSArIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMDEnICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA2KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIFN0cmluZyhOdW1iZXIoaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiAyICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNSkge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDQgKyBpbmQ1KSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDQgKyBpbmQ1KSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDQgKyBpbmQ1KSAtIDEpICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBTdHJpbmcoTnVtYmVyKGluZDQgKyBpbmQ1KSAtIDEpICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyAnMTInICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gMikge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDEgKyBpbmQyKSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSAtIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyKSAtIDEpICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnMzEnICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudC5zdHlsZS5jYXJldENvbG9yID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZS50eXBlID09PSAna2V5dXAnKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnIHx8IGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgdGhpcy55eXl5ZGRNTTpcclxuICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdrZXlwcmVzcycpIHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgIChpbmQ5ID09PSAnMScgJiYgaW5kMTAgPT0gJ18nICYmIGlucHV0Q2hhciA+PSAnMycpIHx8XHJcbiAgICAgICAgICAgICAgKCgoaW5kNiA9PSAnMCcgJiYgaW5kNyA9PSAnXycpIHx8IChpbmQ5ID09ICcwJyAmJiBpbmQxMCkpICYmIGlucHV0Q2hhciA9PSAnMCcpXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmQ2ID09ICczJyAmJiBpbmQ3ID09ICdfJyAmJiBpbnB1dENoYXIgPj0gJzInKSB7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcclxuICAgICAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy50ZXh0LmluZGV4T2YoJ18nKSA9PT0gLTEgJiYgdGhpcy50ZXh0ICE9PSAnJykge1xyXG4gICAgICAgICAgICBpZiAoZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBTdHJpbmcoTnVtYmVyKGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQpICsgMSkgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiA0ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDMxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ2ICsgaW5kNykgPCA5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpICsgMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA+PSA4KSB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChOdW1iZXIoaW5kOSArIGluZDEwKSA8IDEyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgOSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMCcgKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBTdHJpbmcoTnVtYmVyKGluZDkgKyBpbmQxMCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyAnMDEnO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5zZXRDYXJldCgpO1xyXG4gICAgICAgICAgICAgICAgLy8gICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIC8vIH0sIDApO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJzb3JQb3NpdGlvbiA8PSA0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IFN0cmluZyhOdW1iZXIoaW5kMSArIGluZDIgKyBpbmQzICsgaW5kNCkgLSAxKSArIGluZDUgKyBpbmQ2ICsgaW5kNyArIGluZDggKyBpbmQ5ICsgaW5kMTA7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPiA0ICYmIHRoaXMuY3Vyc29yUG9zaXRpb24gPD0gNykge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDYgKyBpbmQ3KSA8IDExKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICcwJyArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpIC0gMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArIFN0cmluZyhOdW1iZXIoaW5kNiArIGluZDcpIC0gMSkgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBpbmQxICsgaW5kMiArIGluZDMgKyBpbmQ0ICsgaW5kNSArICczMScgKyBpbmQ4ICsgaW5kOSArIGluZDEwO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY3Vyc29yUG9zaXRpb24gPj0gOCkge1xyXG4gICAgICAgICAgICAgICAgICBpZiAoTnVtYmVyKGluZDkgKyBpbmQxMCkgPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE51bWJlcihpbmQ5ICsgaW5kMTApIDwgMTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgJzAnICsgU3RyaW5nKE51bWJlcihpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgU3RyaW5nKE51bWJlcihpbmQ5ICsgaW5kMTApIC0gMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IGluZDEgKyBpbmQyICsgaW5kMyArIGluZDQgKyBpbmQ1ICsgaW5kNiArIGluZDcgKyBpbmQ4ICsgJzEyJztcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAndHJhbnNwYXJlbnQnO1xyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuc2V0Q2FyZXQoKTtcclxuICAgICAgICAgICAgICAgIC8vICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgICAvLyB9LCAwKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcgfHwgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuY2FyZXRDb2xvciA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGUudHlwZSA9PT0gJ2tleXVwJykge1xyXG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldENhcmV0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnN0eWxlLmNhcmV0Q29sb3IgPSAnYXV0byc7XHJcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgfHwgdGhpcy5pbnB1dC5pbnB1dC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSB0aGlzLmlucHV0LmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDYXJldFBvc2l0aW9uKGN0cmwsIHBvcykge1xyXG4gICAgaWYgKGN0cmwuc2V0U2VsZWN0aW9uUmFuZ2UpIHtcclxuICAgICAgY3RybC5mb2N1cygpO1xyXG4gICAgICBjdHJsLnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhcmV0KCkge1xyXG4gICAgdGhpcy5zZXRDYXJldFBvc2l0aW9uKHRoaXMuaW5wdXQuaW5wdXQubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJzb3JQb3NpdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIjxheC1kcm9wLWRvd24gW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2ZpdFBhcmVudF09XCJ0cnVlXCIgW3NpemVdPVwic2l6ZVwiIFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgaWNvbj1cImZhciBmYS1jYWxlbmRhci1hbHRcIiAjZHJvcGRvd24gbWF4SGVpZ2h0PVwidW5zZXRcIj5cclxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+XHJcbiAgICAgICAgPGF4LXRleHQtYm94ICNpbnB1dCBbdGV4dEFsaWduXT1cInRleHRBbGlnblwiIFsodmFsdWUpXT1cInRleHRcIiBbcmVhZG9ubHldPVwiZmFsc2VcIiBbdGV4dE1hc2tdPVwiZGF0ZVR5cGVcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbc2l6ZV09XCJzaXplXCIgKG9ua2V5KT1cImhhbmRsZUtleVByZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25Gb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKClcIiAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiIChvbkJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKClcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidGV4dENoYW5nZSgkZXZlbnQpXCI+PC9heC10ZXh0LWJveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBwYW5lbD5cclxuICAgICAgICA8YXgtY2FsZW5kYXItYm94ICpuZ0lmPVwiX3JlbmRlclBpY2tlclwiIFtzaG93VG9kYXlCdXR0b25dPVwic2hvd1RvZGF5QnV0dG9uXCJcclxuICAgICAgICAgICAgW3NlbGVjdGFibGVIb2xpZGF5XT1cInNlbGVjdGFibGVIb2xpZGF5XCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtzaXplXT1cInNpemVcIiAob25DbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIiBbdHlwZV09XCJ0eXBlXCIgWyh2YWx1ZSldPVwidmFsdWVcIiBbZGF5U3R5bGVdPVwiZGF5U3R5bGVcIlxyXG4gICAgICAgICAgICBbZGF5TWluTWF4UmVzb2FuXT1cImRheU1pbk1heFJlc29hblwiPlxyXG4gICAgICAgIDwvYXgtY2FsZW5kYXItYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGVuZD5cclxuICAgICAgICA8YXgtYnV0dG9uIGVuZCAqbmdJZj1cImFsbG93Q2xlYXIgJiYgdmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBpY29uPVwiZmFyIGZhLXRpbWVzIGljb25cIiB0eXBlPVwiYmxhbmsgZGFuZ2VyXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIiBbc2l6ZV09XCJzaXplXCIgW3RhYkluZGV4XT1cIi0xXCI+XHJcbiAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPGF4LWJ1dHRvbiBlbmQgaWNvbj1cImZhciBmYS1jYWxlbmRhci1hbHQgaWNvblwiIHR5cGU9XCJsaWdodCBibGFua1wiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NpemVdPVwic2l6ZVwiIFt0YWJJbmRleF09XCItMVwiPjwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG48L2F4LWRyb3AtZG93bj4iXX0=
|
|
@@ -11,6 +11,7 @@ export class AXFormGroupComponent extends AXBaseComponent {
|
|
|
11
11
|
}
|
|
12
12
|
ngAfterViewInit() {
|
|
13
13
|
this.required = this.component?.validation?.rules?.some(c => c.type === 'required');
|
|
14
|
+
this.div.nativeElement.classList.add(this.size);
|
|
14
15
|
if (this.required) {
|
|
15
16
|
this.div.nativeElement.classList.add('required-state');
|
|
16
17
|
}
|
|
@@ -30,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
30
31
|
type: ContentChild,
|
|
31
32
|
args: [AXValidatableComponent]
|
|
32
33
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFDNUQsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQ3ZELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQXlDLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVN2SCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQVl2RCxZQUFvQixHQUFzQjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVjFDLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBUTNCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFJMUIsQ0FBQztJQUdELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUE7U0FDdkQ7SUFDSCxDQUFDOztrSEF2QlUsb0JBQW9CO3NHQUFwQixvQkFBb0Isa0xBT2pCLHNCQUFzQixtS0NwQnRDLG1xQkFjTTs0RkRETyxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFFVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDLEVBQUUsS0FBSyxFQUFDLGdDQUFnQyxFQUFFO3dHQUloRCxJQUFJO3NCQURILEtBQUs7Z0JBSU4sR0FBRztzQkFERixTQUFTO3VCQUFDLEtBQUs7Z0JBSVIsU0FBUztzQkFEaEIsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbiwgQ29udGVudENoaWxkLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplLCBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtZm9ybS1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaG9zdDogeyBzdHlsZTond2lkdGg6IDEwMCU7IGRpc3BsYXk6Y29udGVudHM7JyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEZvcm1Hcm91cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2RpdicpXHJcbiAgZGl2OiBFbGVtZW50UmVmXHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQVhWYWxpZGF0YWJsZUNvbXBvbmVudClcclxuICBwcml2YXRlIGNvbXBvbmVudDogQVhWYWxpZGF0YWJsZUNvbXBvbmVudDtcclxuXHJcbiAgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWlyZWQgPSB0aGlzLmNvbXBvbmVudD8udmFsaWRhdGlvbj8ucnVsZXM/LnNvbWUoYyA9PiBjLnR5cGUgPT09ICdyZXF1aXJlZCcpO1xyXG4gICAgdGhpcy5kaXYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuc2l6ZSlcclxuICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuZGl2Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncmVxdWlyZWQtc3RhdGUnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4IGZvcm0tZ3JvdXAge3tzaXplfX1cIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWxhYmVsXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiAjZGl2IGNsYXNzPVwiYXggZm9ybS1pdGVtIHt7c2l6ZX19XCIgW25nQ2xhc3NdPVwieydyZXF1aXJlZC1zdGF0ZSc6IHJlcXVpcmVkfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheCBidXR0b25zIHN0YXJ0LWJ1dHRvbnNcIiAjc3RhcnRCdXR0b25zPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b25bc3RhcnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgI2NvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggYnV0dG9ucyBlbmQtYnV0dG9uc1wiICNlbmRCdXR0b25zPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1idXR0b25bZW5kXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtYnV0dG9uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -3862,7 +3862,7 @@ class AXDatePickerComponent extends AXValidatableComponent {
|
|
|
3862
3862
|
this.selectToday();
|
|
3863
3863
|
}
|
|
3864
3864
|
if (this.dropdown.dropdownWidth > 200 || this.dropdown.dropdownWidth < 200) {
|
|
3865
|
-
this.dropdown.dropdownWidth =
|
|
3865
|
+
this.dropdown.dropdownWidth = 320;
|
|
3866
3866
|
}
|
|
3867
3867
|
this.cdr.markForCheck();
|
|
3868
3868
|
});
|
|
@@ -5482,6 +5482,7 @@ class AXFormGroupComponent extends AXBaseComponent {
|
|
|
5482
5482
|
ngAfterViewInit() {
|
|
5483
5483
|
var _a, _b, _c;
|
|
5484
5484
|
this.required = (_c = (_b = (_a = this.component) === null || _a === void 0 ? void 0 : _a.validation) === null || _b === void 0 ? void 0 : _b.rules) === null || _c === void 0 ? void 0 : _c.some(c => c.type === 'required');
|
|
5485
|
+
this.div.nativeElement.classList.add(this.size);
|
|
5485
5486
|
if (this.required) {
|
|
5486
5487
|
this.div.nativeElement.classList.add('required-state');
|
|
5487
5488
|
}
|