monkey-front-components 0.0.409 → 0.0.411
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/components/base/base-component.mjs +6 -4
- package/fesm2015/monkey-front-components.mjs +18 -16
- package/fesm2015/monkey-front-components.mjs.map +1 -1
- package/fesm2020/monkey-front-components.mjs +18 -16
- package/fesm2020/monkey-front-components.mjs.map +1 -1
- package/lib/components/base/base-component.d.ts +3 -1
- package/monkey-front-components-0.0.411.tgz +0 -0
- package/package.json +5 -5
- package/monkey-front-components-0.0.409.tgz +0 -0
|
@@ -2,7 +2,7 @@ import { Subject } from 'rxjs';
|
|
|
2
2
|
import { Directive } from '@angular/core';
|
|
3
3
|
import { takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { MonkeyUtils } from 'monkey-style-guide';
|
|
5
|
-
import { MonkeyEcxCommonsService, ValidateUtils } from 'monkey-front-core';
|
|
5
|
+
import { MonkeyEcxCommonsService, ValidateUtils, Validators } from 'monkey-front-core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class BaseComponent {
|
|
8
8
|
constructor() {
|
|
@@ -286,10 +286,12 @@ export class BaseComponent {
|
|
|
286
286
|
getCountryValidators(country) {
|
|
287
287
|
return {
|
|
288
288
|
br: {
|
|
289
|
-
governmentId: ValidateUtils.DocumentValidator
|
|
289
|
+
governmentId: ValidateUtils.DocumentValidator,
|
|
290
|
+
zipCode: Validators.zipCodeByCountry(country)
|
|
290
291
|
},
|
|
291
292
|
cl: {
|
|
292
|
-
governmentId: ValidateUtils.DocumentRutValidator
|
|
293
|
+
governmentId: ValidateUtils.DocumentRutValidator,
|
|
294
|
+
zipCode: Validators.zipCodeByCountry(country)
|
|
293
295
|
}
|
|
294
296
|
}[country];
|
|
295
297
|
}
|
|
@@ -319,4 +321,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
319
321
|
selector: '[baseComponent]'
|
|
320
322
|
}]
|
|
321
323
|
}], ctorParameters: function () { return []; } });
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9iYXNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBTXZCLGFBQWEsRUFDZCxNQUFNLG1CQUFtQixDQUFDOztBQUszQixNQUFNLE9BQWdCLGFBQWE7SUFlakM7UUFWQSx3QkFBbUIsR0FBc0MsSUFBSSxDQUFDO1FBSTlELGVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFN0IsY0FBUyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUt0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDO1lBQ2hELENBQUMsTUFBTSxDQUFDLFVBQVU7Z0JBQ2hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQ2hFLENBQUM7UUFDSixPQUFPLENBQUMsbURBQW1ELENBQUMsSUFBSSxDQUM5RCxTQUFTLENBQUMsU0FBUyxDQUNwQixDQUFDLElBQUksYUFBYSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsSUFBSTtRQUNwQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFckMsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLG1CQUFtQixDQUFDO1lBRXJELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFckQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUV4QixPQUFPLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFHLE9BQWUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRyxPQUFlLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksTUFBTSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO3dCQUN0QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7d0JBQzFELE1BQU0sYUFBYSxHQUFHLFlBQVksR0FBRyxZQUFZLENBQUM7d0JBRWxELElBQUksYUFBYSxJQUFJLFNBQVMsRUFBRTs0QkFDOUIsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO3lCQUN4QjtvQkFDSCxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLGVBQXdDO1FBQzVELE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsZUFBZSxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxnQkFBMkM7UUFDakUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGdCQUFnQixDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxvQkFBb0I7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN0QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQStCO1FBQ3RELE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXZDLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFekIsT0FBTyxDQUFDLFlBQVksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVPLDhCQUE4QixDQUFDLGNBQXNDLElBQUk7UUFDL0UsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU8sZ0JBQWdCLENBQUM7UUFDL0QsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUFFLE9BQU8sZUFBZSxDQUFDO1FBQzdELElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxPQUFPLGVBQWUsQ0FBQztRQUMzRCxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQUUsT0FBTyxZQUFZLENBQUM7UUFDNUQsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQzVELElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQyxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLHNCQUFzQixDQUFDO1lBQUUsT0FBTyxnQkFBZ0IsQ0FBQztRQUMzRSxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQUUsT0FBTyxjQUFjLENBQUM7UUFDaEUsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUFFLE9BQU8sY0FBYyxDQUFDO1FBQ2hFLElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUFFLE9BQU8sa0JBQWtCLENBQUM7UUFDdkUsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQUUsT0FBTyxpQkFBaUIsQ0FBQztRQUN0RSxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQUUsT0FBTyxlQUFlLENBQUM7UUFDbEUsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUFFLE9BQU8sYUFBYSxDQUFDO1FBQzlELElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQUUsT0FBTyx5QkFBeUIsQ0FBQztTQUFFO1FBQ3pGLElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFO1lBQ3ZELE9BQU8sa0NBQWtDLENBQUM7U0FDM0M7UUFDRCxJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsK0JBQStCLENBQUMsRUFBRTtZQUMxRCxPQUFPLG9DQUFvQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sZUFBZSxDQUFDO1FBQzNELElBQUksV0FBVyxFQUFFLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQztZQUFFLE9BQU8sMkJBQTJCLENBQUM7UUFFN0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVPLGdDQUFnQyxDQUFDLGNBQXNDLElBQUk7UUFDakYsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsY0FBYyxDQUFDO1NBQzNFO1FBQ0QsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsY0FBYyxDQUFDO1NBQzNFO1FBQ0QsSUFBSSxXQUFXLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxHQUFHLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7U0FBRTtRQUNuRixJQUFJLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLEdBQUcsV0FBVyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUFFO1FBRW5GLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLHlCQUF5QixDQUFDLENBQVksRUFBRSxLQUFjO1FBQzNELE1BQU0sVUFBVSxHQUFRLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFaEMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUM3QixNQUFNLEdBQUcsR0FBRztvQkFDVixLQUFLLEVBQUUsVUFBVSxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUNsRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3hELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztTQUFFO2FBQU07WUFDOUcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztTQUN6QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGVBQWUsQ0FBQyxHQUFXO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUN4QixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDdkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxZQUFZLENBQUMsQ0FBWSxFQUFFLEtBQWMsRUFBRSxLQUFjO1FBQzlELE1BQU0sVUFBVSxHQUFRLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUV0QyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUM3QixNQUFNLEdBQUcsR0FBRztvQkFDVixZQUFZLEVBQUUsVUFBVSxJQUFJLENBQUMsOEJBQThCLENBQ3pELENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQ1gsRUFBRTtvQkFDSCxXQUFXLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQy9ELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksR0FBUSxDQUFDO1lBRWIsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsR0FBRyxHQUFHO29CQUNKLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ1AsR0FBRyxVQUFVO3FCQUNkO2lCQUNGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxHQUFHLEdBQUcsVUFBVSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHO2dCQUMzQixHQUFHLElBQUksQ0FBQyxxQkFBcUI7Z0JBQzdCLEdBQUcsR0FBRzthQUNQLENBQUM7U0FDSDtRQUNELENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFNBQWtCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzFDLElBQUksR0FBRyxZQUFZLHVCQUF1QixFQUFFO2dCQUMxQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBS2Y7UUFDQyxJQUFJLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixDQUFDO1lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUM5QztRQUNELElBQUksSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxZQUFxQixJQUFJO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBNkIsRUFBRSxDQUFZO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQy9DLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BDLElBQUksS0FBSyxLQUFLLEdBQUcsRUFBRTt3QkFDakIsTUFBTSxHQUFHLEdBQUc7NEJBQ1YsWUFBWSxFQUFFLEVBQUU7NEJBQ2hCLFdBQVcsRUFBRSxXQUFXO3lCQUN6QixDQUFDO3dCQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRzs0QkFDM0IsR0FBRyxJQUFJLENBQUMscUJBQXFCOzRCQUM3QixDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUc7eUJBQ1gsQ0FBQzt3QkFDRixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQzs0QkFDeEIsU0FBUyxFQUFFLElBQUk7eUJBQ2hCLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxFQUFVO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxPQUFPO1lBQUUsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBUyxFQUFFLEtBQWE7UUFDN0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMzQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQWU7UUFDckMsT0FBTztZQUNMLEVBQUUsRUFBRSxFQUFFO1lBQ04sRUFBRSxFQUFFLEVBQUU7U0FDUCxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVNLDZCQUE2QixDQUFDLE9BQWU7UUFDbEQsT0FBTztZQUNMLEVBQUUsRUFBRSxpQkFBaUI7WUFDckIsRUFBRSxFQUFFLGVBQWU7U0FDcEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3pDLE9BQU87WUFDTCxFQUFFLEVBQUU7Z0JBQ0YsWUFBWSxFQUFFLGFBQWEsQ0FBQyxpQkFBaUI7YUFDOUM7WUFDRCxFQUFFLEVBQUU7Z0JBQ0YsWUFBWSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0I7YUFDakQ7U0FDRixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFckMsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsbUJBQW1CLENBQUM7WUFFeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUM5QixJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUUsSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQztTQUN2QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixNQUFNLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFckMsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsbUJBQW1CLENBQUM7WUFDeEMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7MEdBbFZtQixhQUFhOzhGQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25EZXN0cm95LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlLFxuICBNb25rZXlFY3hFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucyxcbiAgTW9ua2V5RWN4U2Nyb2xsT3B0aW9ucyxcbiAgTW9ua2V5RWN4U3VwcG9ydE9wdGlvbnMsXG4gIE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnMsXG4gIFZhbGlkYXRlVXRpbHNcbn0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYmFzZUNvbXBvbmVudF0nXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBfX21vbmtleWVjeEZvcm1FcnJvcnM6IGFueSB8IGFueVtdO1xuXG4gIF9fdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PjtcblxuICBfX3BhZ2luYXRpb25PcHRpb25zOiBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuXG4gIF9faTE4bjogYW55O1xuXG4gIF9faXNNb2JpbGUgPSB0aGlzLmlzTW9iaWxlKCk7XG5cbiAgX19sb2NhbGVzID0gWydwdC1CUicsICdlcy1DTCcsICdlbi1VUyddO1xuXG4gIHByaXZhdGUgcGFnaW5hdGlvbkZ1bmM6IGFueTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fX3Vuc3Vic2NyaWJlQWxsID0gbmV3IFN1YmplY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNb2JpbGUoKSB7XG4gICAgY29uc3QgaXNNb2JpbGVXaWR0aCA9ICh3aW5kb3cuc2NyZWVuLndpZHRoIDw9IDY0MCkgfHxcbiAgICAgICh3aW5kb3cubWF0Y2hNZWRpYSAmJlxuICAgICAgICB3aW5kb3cubWF0Y2hNZWRpYSgnb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KScpLm1hdGNoZXNcbiAgICAgICk7XG4gICAgcmV0dXJuICgvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8TW9iaWxlL2kudGVzdChcbiAgICAgIG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICApKSB8fCBpc01vYmlsZVdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYWdpbmF0aW9uKGNyZWF0ZSA9IHRydWUpIHtcbiAgICBjb25zdCB7IF9fcGFnaW5hdGlvbk9wdGlvbnMgfSA9IHRoaXM7XG5cbiAgICBpZiAoX19wYWdpbmF0aW9uT3B0aW9ucykge1xuICAgICAgY29uc3QgeyBtYWluRWxlbWVudCwgc2VydmljZSB9ID0gX19wYWdpbmF0aW9uT3B0aW9ucztcblxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1haW5FbGVtZW50KTtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGwgPSBudWxsO1xuICAgICAgICBlbGVtZW50Lm9uc2Nyb2xsID0gbnVsbDtcblxuICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlbGVtZW50IGFzIGFueSkuZXZlbnRMaXN0ZW5lcnMoJ3Njcm9sbCcpKTtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZWxlbWVudCBhcyBhbnkpLmV2ZW50TGlzdGVuZXJzKCdzY3JvbGwnKVswXSk7XG4gICAgICAgIGlmIChjcmVhdGUpIHtcbiAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIG9mZnNldEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBzY3JvbGxIZWlnaHQgLSBvZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChjb250ZW50SGVpZ2h0IDw9IHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgICBzZXJ2aWNlLmRvUGFnaW5hdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdXBwb3J0KHN1cHBvcnRDb250cm9sczogTW9ua2V5RWN4U3VwcG9ydE9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHNlcnZpY2UsIHNob3cgfSA9IHN1cHBvcnRDb250cm9scztcbiAgICBjb25zdCBtZXRob2QgPSBzaG93ID8gJ3Nob3cnIDogJ2hpZGUnO1xuICAgIHNlcnZpY2VbbWV0aG9kLnRvTG93ZXJDYXNlKCldKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRyYW5zbGF0ZSh0cmFuc2xhdGVPcHRpb25zOiBNb25rZXlFY3hUcmFuc2xhdGVPcHRpb25zKSB7XG4gICAgY29uc3QgeyBzZXJ2aWNlIH0gPSB0cmFuc2xhdGVPcHRpb25zO1xuICAgIHNlcnZpY2UuX19vbmkxOG5EYXRhQ2hhbmdlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9fdW5zdWJzY3JpYmVBbGwpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBzZXJ2aWNlLl9faTE4bjtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICB0aGlzLl9faTE4biA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWaWV3U2Nyb2xsKG9wdGlvbnM6IE1vbmtleUVjeFNjcm9sbE9wdGlvbnMpIHtcbiAgICBjb25zdCB7IGVsZW1lbnRJZCwgc2VydmljZSB9ID0gb3B0aW9ucztcblxuICAgIGlmIChlbGVtZW50SWQgPT09IHNlcnZpY2U/Ll9fc2F2ZWRTdGF0ZT8uc2Nyb2xsRWxlbWVudElkKSB7XG4gICAgICB0aGlzLmdvU2Nyb2xsKGVsZW1lbnRJZCk7XG5cbiAgICAgIHNlcnZpY2UuX19zYXZlZFN0YXRlLnNjcm9sbEVsZW1lbnRJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvckZpcnN0TWVzc2FnZVRyYW5zbGF0ZWQoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsKSB7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKSkgcmV0dXJuICdGSUVMRC1SRVFVSVJFRCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZCcpKSByZXR1cm4gJ0ZJRUxELUlOVkFMSUQnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2VtYWlsJykpIHJldHVybiAnSU5WQUxJRC1FTUFJTCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJykpIHJldHVybiAnTUlOLUxFTkdUSCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHJldHVybiAnTUFYLUxFTkdUSCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4JykpIHJldHVybiAnTUFYJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtaW4nKSkgcmV0dXJuICdNSU4nO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3Bhc3N3b3Jkc05vdE1hdGNoaW5nJykpIHJldHVybiAnTUFUQ0gtUEFTU1dPUkQnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2ludmFsaWREYXRlJykpIHJldHVybiAnSU5WQUxJRC1EQVRFJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkVHJ1ZScpKSByZXR1cm4gJ0lOVkFMSUQtVFJVRSc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZENwZkNucGonKSkgcmV0dXJuICdJTlZBTElELURPQ1VNRU5UJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkWmlwQ29kZScpKSByZXR1cm4gJ0lOVkFMSUQtWklQQ09ERSc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZENvbWJvJykpIHJldHVybiAnSU5WQUxJRC1DT01CTyc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZFVybCcpKSByZXR1cm4gJ0lOVkFMSUQtVVJMJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkVW5sb2NrUmVnaXN0ZXInKSkgeyByZXR1cm4gJ0lOVkFMSUQtVU5MT0NLLVJFR0lTVEVSJzsgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2RhdGVTdGFydE11c3RCZUxlc3NUaGFuQW5kJykpIHtcbiAgICAgIHJldHVybiAnREFURS1TVEFSVC1NVVNULUJFLUxFU1MtVEhBTi1BTkQnO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdkYXRlRW5kTXVzdEJlR3JlYXRlclRoYW5TdGFydCcpKSB7XG4gICAgICByZXR1cm4gJ0RBVEUtRU5ELU1VU1QtQkUtR1JFQVRFUi1USEFOLVNBUlQnO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwaG9uZScpKSByZXR1cm4gJ0lOVkFMSUQtUEhPTkUnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2ludmFsaWRWYWx1ZUdyZWF0ZXJUaGFuWmVybycpKSByZXR1cm4gJ0lOVkFMSUQtR1JFQVRFUi1USEFOLVpFUk8nO1xuXG4gICAgcmV0dXJuICdGSUVMRC1JTlZBTElEJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXJyb3JMYXN0TWVzc2FnZU5vdFRyYW5zbGF0ZWQoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsKSB7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgIHJldHVybiBgJHtmb3JtQ29udHJvbD8uZ2V0RXJyb3IoJ21pbmxlbmd0aCcpLnJlcXVpcmVkTGVuZ3RofSBjYXJhY3RlcmVzLmA7XG4gICAgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21heGxlbmd0aCcpKSB7XG4gICAgICByZXR1cm4gYCR7Zm9ybUNvbnRyb2w/LmdldEVycm9yKCdtYXhsZW5ndGgnKS5yZXF1aXJlZExlbmd0aH0gY2FyYWN0ZXJlcy5gO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKSkgeyByZXR1cm4gYCR7Zm9ybUNvbnRyb2w/LmdldEVycm9yKCdtYXgnKS5tYXh9YDsgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbicpKSB7IHJldHVybiBgJHtmb3JtQ29udHJvbD8uZ2V0RXJyb3IoJ21pbicpLm1pbn1gOyB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGVGb3JtV2l0aFRyYW5zbGF0ZShmOiBGb3JtR3JvdXAsIGluZGV4PzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybUVycm9yczogYW55ID0gZi52YWx1ZTtcblxuICAgIGlmIChmLnN0YXR1cyA9PT0gJ1ZBTElEJykgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIWZvcm1FcnJvcnMpIHJldHVybiB0cnVlO1xuICAgIE9iamVjdC5lbnRyaWVzKGZvcm1FcnJvcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGYuZ2V0KGtleSk7XG4gICAgICBmb3JtRXJyb3JzW2tleV0gPSAnJztcbiAgICAgIGlmIChjb250cm9sICYmICFjb250cm9sLnZhbGlkKSB7XG4gICAgICAgIGNvbnN0IG1zZyA9IHtcbiAgICAgICAgICBmaXJzdDogYEVSUk9SUy4ke3RoaXMuZ2V0RXJyb3JGaXJzdE1lc3NhZ2VUcmFuc2xhdGVkKGYuZ2V0KGtleSkpfWAsXG4gICAgICAgICAgbGFzdDogdGhpcy5nZXRFcnJvckxhc3RNZXNzYWdlTm90VHJhbnNsYXRlZChmLmdldChrZXkpKVxuICAgICAgICB9O1xuICAgICAgICBmb3JtRXJyb3JzW2tleV0gPSBtc2c7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoTW9ua2V5VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChpbmRleCkpIHsgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnNbaW5kZXggfHwgMF0gPSBmb3JtRXJyb3JzOyB9IGVsc2Uge1xuICAgICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSBmb3JtRXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjb3B5VG9DbGlwYm9hcmQodmFsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIHNlbEJveC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgc2VsQm94LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcbiAgICBzZWxCb3guc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICBzZWxCb3gudmFsdWUgPSB2YWw7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xuICAgIHNlbEJveC5mb2N1cygpO1xuICAgIHNlbEJveC5zZWxlY3QoKTtcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2VsQm94KTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUZvcm0oZjogRm9ybUdyb3VwLCBpbmRleD86IG51bWJlciwgYWxpYXM/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtRXJyb3JzOiBhbnkgPSBmLnZhbHVlO1xuICAgIGlmIChmLnN0YXR1cyA9PT0gJ1ZBTElEJykgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIWZvcm1FcnJvcnMpIHJldHVybiB0cnVlO1xuICAgIE9iamVjdC5lbnRyaWVzKGZvcm1FcnJvcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGYuZ2V0KGtleSk7XG4gICAgICBmb3JtRXJyb3JzW2tleV0gPSAnJztcbiAgICAgIGlmIChjb250cm9sICYmICFjb250cm9sLnZhbGlkKSB7XG4gICAgICAgIGNvbnN0IG1zZyA9IHtcbiAgICAgICAgICBmaXJzdE1lc3NhZ2U6IGBFUlJPUlMuJHt0aGlzLmdldEVycm9yRmlyc3RNZXNzYWdlVHJhbnNsYXRlZChcbiAgICAgICAgICAgIGYuZ2V0KGtleSlcbiAgICAgICAgICApfWAsXG4gICAgICAgICAgbGFzdE1lc3NhZ2U6IHRoaXMuZ2V0RXJyb3JMYXN0TWVzc2FnZU5vdFRyYW5zbGF0ZWQoZi5nZXQoa2V5KSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9ybUVycm9yc1trZXldID0gbXNnO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKE1vbmtleVV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoaW5kZXgpKSB7XG4gICAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9yc1tpbmRleCB8fCAwXSA9IGZvcm1FcnJvcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBvYmo6IGFueTtcblxuICAgICAgaWYgKGFsaWFzKSB7XG4gICAgICAgIG9iaiA9IHtcbiAgICAgICAgICBbYWxpYXNdOiB7XG4gICAgICAgICAgICAuLi5mb3JtRXJyb3JzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JqID0gZm9ybUVycm9ycztcbiAgICAgIH1cblxuICAgICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSB7XG4gICAgICAgIC4uLnRoaXMuX19tb25rZXllY3hGb3JtRXJyb3JzLFxuICAgICAgICAuLi5vYmpcbiAgICAgIH07XG4gICAgfVxuICAgIGYubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbFNlcnZpY2VEYXRhKGNsZWFyRGF0YTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzO1xuICAgIE9iamVjdC52YWx1ZXMoY29udGV4dCkuZm9yRWFjaCgoY3R4OiBhbnkpID0+IHtcbiAgICAgIGlmIChjdHggaW5zdGFuY2VvZiBNb25rZXlFY3hDb21tb25zU2VydmljZSkge1xuICAgICAgICBjdHguY2xlYXIoY2xlYXJEYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdChhcmdzOiB7XG4gICAgcGFnaW5hdGlvbk9wdGlvbnM/OiBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucztcbiAgICBzdXBwb3J0Q29udHJvbHM/OiBNb25rZXlFY3hTdXBwb3J0T3B0aW9ucztcbiAgICBzY3JvbGxPcHRpb25zPzogTW9ua2V5RWN4U2Nyb2xsT3B0aW9ucztcbiAgICB0cmFuc2xhdGVPcHRpb25zPzogTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucztcbiAgfSkge1xuICAgIGlmIChhcmdzPy5wYWdpbmF0aW9uT3B0aW9ucykge1xuICAgICAgdGhpcy5fX3BhZ2luYXRpb25PcHRpb25zID0gYXJncz8ucGFnaW5hdGlvbk9wdGlvbnM7XG4gICAgICB0aGlzLmhhbmRsZVBhZ2luYXRpb24oKTtcbiAgICB9XG4gICAgaWYgKGFyZ3M/LnN1cHBvcnRDb250cm9scykge1xuICAgICAgdGhpcy5oYW5kbGVTdXBwb3J0KGFyZ3M/LnN1cHBvcnRDb250cm9scyk7XG4gICAgfVxuICAgIGlmIChhcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICB0aGlzLmhhbmRsZVRyYW5zbGF0ZShhcmdzPy50cmFuc2xhdGVPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKGFyZ3M/LnNjcm9sbE9wdGlvbnMpIHtcbiAgICAgIHRoaXMuaGFuZGxlVmlld1Njcm9sbChhcmdzLnNjcm9sbE9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveShjbGVhckRhdGE6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5fX3Vuc3Vic2NyaWJlQWxsLm5leHQoKTtcbiAgICB0aGlzLl9fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsZWFyQWxsU2VydmljZURhdGEoY2xlYXJEYXRhKTtcbiAgICB0aGlzLmhhbmRsZVBhZ2luYXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yRnJvbVNlcnZpY2VzKGVycm9yOiBNb25rZXlFY3hFcnJvclJlc3BvbnNlLCBmOiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9ycyA9IG51bGw7XG4gICAgaWYgKGVycm9yLnR5cGUgPT09ICdQYXJhbWV0ZXJfRXJyb3InKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhmLnZhbHVlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgZXJyb3Iubm90aWZpY2F0aW9ucy5mb3JFYWNoKChfOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IF8uc3BsaXQoJzonKVswXTtcbiAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IF8uc3BsaXQoJzonKVsxXTtcbiAgICAgICAgICBpZiAoZmllbGQgPT09IGtleSkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0ge1xuICAgICAgICAgICAgICBmaXJzdE1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICBsYXN0TWVzc2FnZTogZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9ycyA9IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMsXG4gICAgICAgICAgICAgIFtrZXldOiBtc2dcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmLmNvbnRyb2xzW2tleV0uc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgaW5jb3JyZWN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZi5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCkge1xuICAgIHdpbmRvdy5oaXN0b3J5LmJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1Njcm9sbChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoZWxlbWVudCkgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICB9XG5cbiAgcHVibGljIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIG9wZW5XaW5kb3codXJsOiBzdHJpbmcpIHtcbiAgICB3aW5kb3cub3BlbihgJHt1cmx9YCwgJ19ibGFuaycpO1xuICB9XG5cbiAgcHVibGljIGZpbGxJMThuKGRhdGE6IGFueSkge1xuICAgIHRoaXMuX19pMThuID0gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5UHJlZml4KGNvdW50cnk6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICBicjogNTUsXG4gICAgICBjbDogNTZcbiAgICB9W2NvdW50cnldO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnlDdXJyZW5jeUNoYXJ0Rm9ybWF0KGNvdW50cnk6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICBicjogJ1IkICMsIyMjLCMjMC4wMCcsXG4gICAgICBjbDogJ0NMUCAjLCMjIywjIzAnXG4gICAgfVtjb3VudHJ5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5VmFsaWRhdG9ycyhjb3VudHJ5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnI6IHtcbiAgICAgICAgZ292ZXJubWVudElkOiBWYWxpZGF0ZVV0aWxzLkRvY3VtZW50VmFsaWRhdG9yXG4gICAgICB9LFxuICAgICAgY2w6IHtcbiAgICAgICAgZ292ZXJubWVudElkOiBWYWxpZGF0ZVV0aWxzLkRvY3VtZW50UnV0VmFsaWRhdG9yXG4gICAgICB9XG4gICAgfVtjb3VudHJ5XTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FibGVUb0hhbmRsZVBhZ2luYXRpb24oKSB7XG4gICAgY29uc3QgeyBfX3BhZ2luYXRpb25PcHRpb25zIH0gPSB0aGlzO1xuXG4gICAgaWYgKF9fcGFnaW5hdGlvbk9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHsgc2VydmljZSB9ID0gX19wYWdpbmF0aW9uT3B0aW9ucztcblxuICAgICAgY29uc3QgbGlua3MgPSBzZXJ2aWNlLl9fbGlua3M7XG4gICAgICBpZiAobGlua3MgJiYgbGlua3M/Lm5leHQpIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25IYW5kbGVQYWdpbmF0aW9uKCkge1xuICAgIGNvbnN0IHsgX19wYWdpbmF0aW9uT3B0aW9ucyB9ID0gdGhpcztcblxuICAgIGlmIChfX3BhZ2luYXRpb25PcHRpb25zKSB7XG4gICAgICBjb25zdCB7IHNlcnZpY2UgfSA9IF9fcGFnaW5hdGlvbk9wdGlvbnM7XG4gICAgICBzZXJ2aWNlLmRvUGFnaW5hdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9iYXNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBTXZCLGFBQWEsRUFDYixVQUFVLEVBQ1gsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLM0IsTUFBTSxPQUFnQixhQUFhO0lBZWpDO1FBVkEsd0JBQW1CLEdBQXNDLElBQUksQ0FBQztRQUk5RCxlQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTdCLGNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFLdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztZQUNoRCxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLG9DQUFvQyxDQUFDLENBQUMsT0FBTyxDQUNoRSxDQUFDO1FBQ0osT0FBTyxDQUFDLG1EQUFtRCxDQUFDLElBQUksQ0FDOUQsU0FBUyxDQUFDLFNBQVMsQ0FDcEIsQ0FBQyxJQUFJLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMs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c3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25EZXN0cm95LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlLFxuICBNb25rZXlFY3hFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucyxcbiAgTW9ua2V5RWN4U2Nyb2xsT3B0aW9ucyxcbiAgTW9ua2V5RWN4U3VwcG9ydE9wdGlvbnMsXG4gIE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnMsXG4gIFZhbGlkYXRlVXRpbHMsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYmFzZUNvbXBvbmVudF0nXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBfX21vbmtleWVjeEZvcm1FcnJvcnM6IGFueSB8IGFueVtdO1xuXG4gIF9fdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PjtcblxuICBfX3BhZ2luYXRpb25PcHRpb25zOiBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuXG4gIF9faTE4bjogYW55O1xuXG4gIF9faXNNb2JpbGUgPSB0aGlzLmlzTW9iaWxlKCk7XG5cbiAgX19sb2NhbGVzID0gWydwdC1CUicsICdlcy1DTCcsICdlbi1VUyddO1xuXG4gIHByaXZhdGUgcGFnaW5hdGlvbkZ1bmM6IGFueTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fX3Vuc3Vic2NyaWJlQWxsID0gbmV3IFN1YmplY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNb2JpbGUoKSB7XG4gICAgY29uc3QgaXNNb2JpbGVXaWR0aCA9ICh3aW5kb3cuc2NyZWVuLndpZHRoIDw9IDY0MCkgfHxcbiAgICAgICh3aW5kb3cubWF0Y2hNZWRpYSAmJlxuICAgICAgICB3aW5kb3cubWF0Y2hNZWRpYSgnb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KScpLm1hdGNoZXNcbiAgICAgICk7XG4gICAgcmV0dXJuICgvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8TW9iaWxlL2kudGVzdChcbiAgICAgIG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICApKSB8fCBpc01vYmlsZVdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYWdpbmF0aW9uKGNyZWF0ZSA9IHRydWUpIHtcbiAgICBjb25zdCB7IF9fcGFnaW5hdGlvbk9wdGlvbnMgfSA9IHRoaXM7XG5cbiAgICBpZiAoX19wYWdpbmF0aW9uT3B0aW9ucykge1xuICAgICAgY29uc3QgeyBtYWluRWxlbWVudCwgc2VydmljZSB9ID0gX19wYWdpbmF0aW9uT3B0aW9ucztcblxuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1haW5FbGVtZW50KTtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zY3JvbGwgPSBudWxsO1xuICAgICAgICBlbGVtZW50Lm9uc2Nyb2xsID0gbnVsbDtcblxuICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlbGVtZW50IGFzIGFueSkuZXZlbnRMaXN0ZW5lcnMoJ3Njcm9sbCcpKTtcbiAgICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZWxlbWVudCBhcyBhbnkpLmV2ZW50TGlzdGVuZXJzKCdzY3JvbGwnKVswXSk7XG4gICAgICAgIGlmIChjcmVhdGUpIHtcbiAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIG9mZnNldEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRIZWlnaHQgPSBzY3JvbGxIZWlnaHQgLSBvZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgICAgIGlmIChjb250ZW50SGVpZ2h0IDw9IHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgICBzZXJ2aWNlLmRvUGFnaW5hdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTdXBwb3J0KHN1cHBvcnRDb250cm9sczogTW9ua2V5RWN4U3VwcG9ydE9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHNlcnZpY2UsIHNob3cgfSA9IHN1cHBvcnRDb250cm9scztcbiAgICBjb25zdCBtZXRob2QgPSBzaG93ID8gJ3Nob3cnIDogJ2hpZGUnO1xuICAgIHNlcnZpY2VbbWV0aG9kLnRvTG93ZXJDYXNlKCldKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRyYW5zbGF0ZSh0cmFuc2xhdGVPcHRpb25zOiBNb25rZXlFY3hUcmFuc2xhdGVPcHRpb25zKSB7XG4gICAgY29uc3QgeyBzZXJ2aWNlIH0gPSB0cmFuc2xhdGVPcHRpb25zO1xuICAgIHNlcnZpY2UuX19vbmkxOG5EYXRhQ2hhbmdlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9fdW5zdWJzY3JpYmVBbGwpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBzZXJ2aWNlLl9faTE4bjtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICB0aGlzLl9faTE4biA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWaWV3U2Nyb2xsKG9wdGlvbnM6IE1vbmtleUVjeFNjcm9sbE9wdGlvbnMpIHtcbiAgICBjb25zdCB7IGVsZW1lbnRJZCwgc2VydmljZSB9ID0gb3B0aW9ucztcblxuICAgIGlmIChlbGVtZW50SWQgPT09IHNlcnZpY2U/Ll9fc2F2ZWRTdGF0ZT8uc2Nyb2xsRWxlbWVudElkKSB7XG4gICAgICB0aGlzLmdvU2Nyb2xsKGVsZW1lbnRJZCk7XG5cbiAgICAgIHNlcnZpY2UuX19zYXZlZFN0YXRlLnNjcm9sbEVsZW1lbnRJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvckZpcnN0TWVzc2FnZVRyYW5zbGF0ZWQoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsKSB7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKSkgcmV0dXJuICdGSUVMRC1SRVFVSVJFRCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZCcpKSByZXR1cm4gJ0ZJRUxELUlOVkFMSUQnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2VtYWlsJykpIHJldHVybiAnSU5WQUxJRC1FTUFJTCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJykpIHJldHVybiAnTUlOLUxFTkdUSCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHJldHVybiAnTUFYLUxFTkdUSCc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWF4JykpIHJldHVybiAnTUFYJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtaW4nKSkgcmV0dXJuICdNSU4nO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ3Bhc3N3b3Jkc05vdE1hdGNoaW5nJykpIHJldHVybiAnTUFUQ0gtUEFTU1dPUkQnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2ludmFsaWREYXRlJykpIHJldHVybiAnSU5WQUxJRC1EQVRFJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkVHJ1ZScpKSByZXR1cm4gJ0lOVkFMSUQtVFJVRSc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZENwZkNucGonKSkgcmV0dXJuICdJTlZBTElELURPQ1VNRU5UJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkWmlwQ29kZScpKSByZXR1cm4gJ0lOVkFMSUQtWklQQ09ERSc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZENvbWJvJykpIHJldHVybiAnSU5WQUxJRC1DT01CTyc7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignaW52YWxpZFVybCcpKSByZXR1cm4gJ0lOVkFMSUQtVVJMJztcbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdpbnZhbGlkVW5sb2NrUmVnaXN0ZXInKSkgeyByZXR1cm4gJ0lOVkFMSUQtVU5MT0NLLVJFR0lTVEVSJzsgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2RhdGVTdGFydE11c3RCZUxlc3NUaGFuQW5kJykpIHtcbiAgICAgIHJldHVybiAnREFURS1TVEFSVC1NVVNULUJFLUxFU1MtVEhBTi1BTkQnO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdkYXRlRW5kTXVzdEJlR3JlYXRlclRoYW5TdGFydCcpKSB7XG4gICAgICByZXR1cm4gJ0RBVEUtRU5ELU1VU1QtQkUtR1JFQVRFUi1USEFOLVNBUlQnO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdwaG9uZScpKSByZXR1cm4gJ0lOVkFMSUQtUEhPTkUnO1xuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ2ludmFsaWRWYWx1ZUdyZWF0ZXJUaGFuWmVybycpKSByZXR1cm4gJ0lOVkFMSUQtR1JFQVRFUi1USEFOLVpFUk8nO1xuXG4gICAgcmV0dXJuICdGSUVMRC1JTlZBTElEJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXJyb3JMYXN0TWVzc2FnZU5vdFRyYW5zbGF0ZWQoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsKSB7XG4gICAgaWYgKGZvcm1Db250cm9sPy5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgIHJldHVybiBgJHtmb3JtQ29udHJvbD8uZ2V0RXJyb3IoJ21pbmxlbmd0aCcpLnJlcXVpcmVkTGVuZ3RofSBjYXJhY3RlcmVzLmA7XG4gICAgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21heGxlbmd0aCcpKSB7XG4gICAgICByZXR1cm4gYCR7Zm9ybUNvbnRyb2w/LmdldEVycm9yKCdtYXhsZW5ndGgnKS5yZXF1aXJlZExlbmd0aH0gY2FyYWN0ZXJlcy5gO1xuICAgIH1cbiAgICBpZiAoZm9ybUNvbnRyb2w/Lmhhc0Vycm9yKCdtYXgnKSkgeyByZXR1cm4gYCR7Zm9ybUNvbnRyb2w/LmdldEVycm9yKCdtYXgnKS5tYXh9YDsgfVxuICAgIGlmIChmb3JtQ29udHJvbD8uaGFzRXJyb3IoJ21pbicpKSB7IHJldHVybiBgJHtmb3JtQ29udHJvbD8uZ2V0RXJyb3IoJ21pbicpLm1pbn1gOyB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGVGb3JtV2l0aFRyYW5zbGF0ZShmOiBGb3JtR3JvdXAsIGluZGV4PzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybUVycm9yczogYW55ID0gZi52YWx1ZTtcblxuICAgIGlmIChmLnN0YXR1cyA9PT0gJ1ZBTElEJykgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIWZvcm1FcnJvcnMpIHJldHVybiB0cnVlO1xuICAgIE9iamVjdC5lbnRyaWVzKGZvcm1FcnJvcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGYuZ2V0KGtleSk7XG4gICAgICBmb3JtRXJyb3JzW2tleV0gPSAnJztcbiAgICAgIGlmIChjb250cm9sICYmICFjb250cm9sLnZhbGlkKSB7XG4gICAgICAgIGNvbnN0IG1zZyA9IHtcbiAgICAgICAgICBmaXJzdDogYEVSUk9SUy4ke3RoaXMuZ2V0RXJyb3JGaXJzdE1lc3NhZ2VUcmFuc2xhdGVkKGYuZ2V0KGtleSkpfWAsXG4gICAgICAgICAgbGFzdDogdGhpcy5nZXRFcnJvckxhc3RNZXNzYWdlTm90VHJhbnNsYXRlZChmLmdldChrZXkpKVxuICAgICAgICB9O1xuICAgICAgICBmb3JtRXJyb3JzW2tleV0gPSBtc2c7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoTW9ua2V5VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChpbmRleCkpIHsgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnNbaW5kZXggfHwgMF0gPSBmb3JtRXJyb3JzOyB9IGVsc2Uge1xuICAgICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSBmb3JtRXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjb3B5VG9DbGlwYm9hcmQodmFsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIHNlbEJveC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgc2VsQm94LnN0eWxlLmxlZnQgPSAnMCc7XG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcbiAgICBzZWxCb3guc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICBzZWxCb3gudmFsdWUgPSB2YWw7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xuICAgIHNlbEJveC5mb2N1cygpO1xuICAgIHNlbEJveC5zZWxlY3QoKTtcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2VsQm94KTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUZvcm0oZjogRm9ybUdyb3VwLCBpbmRleD86IG51bWJlciwgYWxpYXM/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtRXJyb3JzOiBhbnkgPSBmLnZhbHVlO1xuICAgIGlmIChmLnN0YXR1cyA9PT0gJ1ZBTElEJykgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIWZvcm1FcnJvcnMpIHJldHVybiB0cnVlO1xuICAgIE9iamVjdC5lbnRyaWVzKGZvcm1FcnJvcnMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGYuZ2V0KGtleSk7XG4gICAgICBmb3JtRXJyb3JzW2tleV0gPSAnJztcbiAgICAgIGlmIChjb250cm9sICYmICFjb250cm9sLnZhbGlkKSB7XG4gICAgICAgIGNvbnN0IG1zZyA9IHtcbiAgICAgICAgICBmaXJzdE1lc3NhZ2U6IGBFUlJPUlMuJHt0aGlzLmdldEVycm9yRmlyc3RNZXNzYWdlVHJhbnNsYXRlZChcbiAgICAgICAgICAgIGYuZ2V0KGtleSlcbiAgICAgICAgICApfWAsXG4gICAgICAgICAgbGFzdE1lc3NhZ2U6IHRoaXMuZ2V0RXJyb3JMYXN0TWVzc2FnZU5vdFRyYW5zbGF0ZWQoZi5nZXQoa2V5KSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9ybUVycm9yc1trZXldID0gbXNnO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKE1vbmtleVV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoaW5kZXgpKSB7XG4gICAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9yc1tpbmRleCB8fCAwXSA9IGZvcm1FcnJvcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBvYmo6IGFueTtcblxuICAgICAgaWYgKGFsaWFzKSB7XG4gICAgICAgIG9iaiA9IHtcbiAgICAgICAgICBbYWxpYXNdOiB7XG4gICAgICAgICAgICAuLi5mb3JtRXJyb3JzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JqID0gZm9ybUVycm9ycztcbiAgICAgIH1cblxuICAgICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSB7XG4gICAgICAgIC4uLnRoaXMuX19tb25rZXllY3hGb3JtRXJyb3JzLFxuICAgICAgICAuLi5vYmpcbiAgICAgIH07XG4gICAgfVxuICAgIGYubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbFNlcnZpY2VEYXRhKGNsZWFyRGF0YTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzO1xuICAgIE9iamVjdC52YWx1ZXMoY29udGV4dCkuZm9yRWFjaCgoY3R4OiBhbnkpID0+IHtcbiAgICAgIGlmIChjdHggaW5zdGFuY2VvZiBNb25rZXlFY3hDb21tb25zU2VydmljZSkge1xuICAgICAgICBjdHguY2xlYXIoY2xlYXJEYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdChhcmdzOiB7XG4gICAgcGFnaW5hdGlvbk9wdGlvbnM/OiBNb25rZXlFY3hQYWdpbmF0aW9uT3B0aW9ucztcbiAgICBzdXBwb3J0Q29udHJvbHM/OiBNb25rZXlFY3hTdXBwb3J0T3B0aW9ucztcbiAgICBzY3JvbGxPcHRpb25zPzogTW9ua2V5RWN4U2Nyb2xsT3B0aW9ucztcbiAgICB0cmFuc2xhdGVPcHRpb25zPzogTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucztcbiAgfSkge1xuICAgIGlmIChhcmdzPy5wYWdpbmF0aW9uT3B0aW9ucykge1xuICAgICAgdGhpcy5fX3BhZ2luYXRpb25PcHRpb25zID0gYXJncz8ucGFnaW5hdGlvbk9wdGlvbnM7XG4gICAgICB0aGlzLmhhbmRsZVBhZ2luYXRpb24oKTtcbiAgICB9XG4gICAgaWYgKGFyZ3M/LnN1cHBvcnRDb250cm9scykge1xuICAgICAgdGhpcy5oYW5kbGVTdXBwb3J0KGFyZ3M/LnN1cHBvcnRDb250cm9scyk7XG4gICAgfVxuICAgIGlmIChhcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICB0aGlzLmhhbmRsZVRyYW5zbGF0ZShhcmdzPy50cmFuc2xhdGVPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKGFyZ3M/LnNjcm9sbE9wdGlvbnMpIHtcbiAgICAgIHRoaXMuaGFuZGxlVmlld1Njcm9sbChhcmdzLnNjcm9sbE9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveShjbGVhckRhdGE6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5fX3Vuc3Vic2NyaWJlQWxsLm5leHQoKTtcbiAgICB0aGlzLl9fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsZWFyQWxsU2VydmljZURhdGEoY2xlYXJEYXRhKTtcbiAgICB0aGlzLmhhbmRsZVBhZ2luYXRpb24oZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yRnJvbVNlcnZpY2VzKGVycm9yOiBNb25rZXlFY3hFcnJvclJlc3BvbnNlLCBmOiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9ycyA9IG51bGw7XG4gICAgaWYgKGVycm9yLnR5cGUgPT09ICdQYXJhbWV0ZXJfRXJyb3InKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhmLnZhbHVlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgZXJyb3Iubm90aWZpY2F0aW9ucy5mb3JFYWNoKChfOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IF8uc3BsaXQoJzonKVswXTtcbiAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IF8uc3BsaXQoJzonKVsxXTtcbiAgICAgICAgICBpZiAoZmllbGQgPT09IGtleSkge1xuICAgICAgICAgICAgY29uc3QgbXNnID0ge1xuICAgICAgICAgICAgICBmaXJzdE1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICBsYXN0TWVzc2FnZTogZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9ycyA9IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMsXG4gICAgICAgICAgICAgIFtrZXldOiBtc2dcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmLmNvbnRyb2xzW2tleV0uc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgaW5jb3JyZWN0OiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZi5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCkge1xuICAgIHdpbmRvdy5oaXN0b3J5LmJhY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1Njcm9sbChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICBpZiAoZWxlbWVudCkgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICB9XG5cbiAgcHVibGljIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIG9wZW5XaW5kb3codXJsOiBzdHJpbmcpIHtcbiAgICB3aW5kb3cub3BlbihgJHt1cmx9YCwgJ19ibGFuaycpO1xuICB9XG5cbiAgcHVibGljIGZpbGxJMThuKGRhdGE6IGFueSkge1xuICAgIHRoaXMuX19pMThuID0gZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5UHJlZml4KGNvdW50cnk6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICBicjogNTUsXG4gICAgICBjbDogNTZcbiAgICB9W2NvdW50cnldO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnlDdXJyZW5jeUNoYXJ0Rm9ybWF0KGNvdW50cnk6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICBicjogJ1IkICMsIyMjLCMjMC4wMCcsXG4gICAgICBjbDogJ0NMUCAjLCMjIywjIzAnXG4gICAgfVtjb3VudHJ5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5VmFsaWRhdG9ycyhjb3VudHJ5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnI6IHtcbiAgICAgICAgZ292ZXJubWVudElkOiBWYWxpZGF0ZVV0aWxzLkRvY3VtZW50VmFsaWRhdG9yLFxuICAgICAgICB6aXBDb2RlOiBWYWxpZGF0b3JzLnppcENvZGVCeUNvdW50cnkoY291bnRyeSlcbiAgICAgIH0sXG4gICAgICBjbDoge1xuICAgICAgICBnb3Zlcm5tZW50SWQ6IFZhbGlkYXRlVXRpbHMuRG9jdW1lbnRSdXRWYWxpZGF0b3IsXG4gICAgICAgIHppcENvZGU6IFZhbGlkYXRvcnMuemlwQ29kZUJ5Q291bnRyeShjb3VudHJ5KVxuICAgICAgfVxuICAgIH1bY291bnRyeV07XG4gIH1cblxuICBwdWJsaWMgaXNBYmxlVG9IYW5kbGVQYWdpbmF0aW9uKCkge1xuICAgIGNvbnN0IHsgX19wYWdpbmF0aW9uT3B0aW9ucyB9ID0gdGhpcztcblxuICAgIGlmIChfX3BhZ2luYXRpb25PcHRpb25zKSB7XG4gICAgICBjb25zdCB7IHNlcnZpY2UgfSA9IF9fcGFnaW5hdGlvbk9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGxpbmtzID0gc2VydmljZS5fX2xpbmtzO1xuICAgICAgaWYgKGxpbmtzICYmIGxpbmtzPy5uZXh0KSByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG9uSGFuZGxlUGFnaW5hdGlvbigpIHtcbiAgICBjb25zdCB7IF9fcGFnaW5hdGlvbk9wdGlvbnMgfSA9IHRoaXM7XG5cbiAgICBpZiAoX19wYWdpbmF0aW9uT3B0aW9ucykge1xuICAgICAgY29uc3QgeyBzZXJ2aWNlIH0gPSBfX3BhZ2luYXRpb25PcHRpb25zO1xuICAgICAgc2VydmljZS5kb1BhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,9 +5,9 @@ import { takeUntil, debounceTime, filter } from 'rxjs/operators';
|
|
|
5
5
|
import * as i1$2 from 'monkey-style-guide';
|
|
6
6
|
import { MonkeyUtils, MonkeyInputModule, MonkeySelectModule, MonkeyRadioButtonModule, MonkeyOptionModule, MonkeyFileUploadModule, MonkeyButtonModule, MonkeyInputPhoneModule, MonkeyBadgeModule, MonkeyCheckboxModule, MonkeyDateRangePickerModule, MonkeyIconModule } from 'monkey-style-guide';
|
|
7
7
|
import * as i1$4 from 'monkey-front-core';
|
|
8
|
-
import { MonkeyEcxCommonsService, ValidateUtils, Validators
|
|
8
|
+
import { MonkeyEcxCommonsService, ValidateUtils, Validators, MonkeyEcxUtils, MonkeyEcxDirectivesModule, MonkeyEcxPipesModule } from 'monkey-front-core';
|
|
9
9
|
import * as i1 from '@angular/forms';
|
|
10
|
-
import { Validators, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
|
+
import { Validators as Validators$1, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
11
11
|
import * as i3 from '@angular/common';
|
|
12
12
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
13
13
|
import * as i1$1 from '@angular/router';
|
|
@@ -290,10 +290,12 @@ class BaseComponent {
|
|
|
290
290
|
getCountryValidators(country) {
|
|
291
291
|
return {
|
|
292
292
|
br: {
|
|
293
|
-
governmentId: ValidateUtils.DocumentValidator
|
|
293
|
+
governmentId: ValidateUtils.DocumentValidator,
|
|
294
|
+
zipCode: Validators.zipCodeByCountry(country)
|
|
294
295
|
},
|
|
295
296
|
cl: {
|
|
296
|
-
governmentId: ValidateUtils.DocumentRutValidator
|
|
297
|
+
governmentId: ValidateUtils.DocumentRutValidator,
|
|
298
|
+
zipCode: Validators.zipCodeByCountry(country)
|
|
297
299
|
}
|
|
298
300
|
}[country];
|
|
299
301
|
}
|
|
@@ -325,19 +327,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
325
327
|
}], ctorParameters: function () { return []; } });
|
|
326
328
|
|
|
327
329
|
const validators = {
|
|
328
|
-
required: Validators.required,
|
|
329
|
-
email: Validators
|
|
330
|
-
governmentId: Validators
|
|
331
|
-
governmentIdRut: Validators
|
|
332
|
-
documentBR: Validators
|
|
333
|
-
documentCL: Validators
|
|
334
|
-
date: Validators
|
|
335
|
-
zipCode: Validators
|
|
330
|
+
required: Validators$1.required,
|
|
331
|
+
email: Validators.email,
|
|
332
|
+
governmentId: Validators.documentBR,
|
|
333
|
+
governmentIdRut: Validators.documentCL,
|
|
334
|
+
documentBR: Validators.documentBR,
|
|
335
|
+
documentCL: Validators.documentCL,
|
|
336
|
+
date: Validators.date,
|
|
337
|
+
zipCode: Validators.zipCode,
|
|
336
338
|
minLength: (param) => {
|
|
337
|
-
return Validators.minLength(param);
|
|
339
|
+
return Validators$1.minLength(param);
|
|
338
340
|
},
|
|
339
341
|
maxLength: (param) => {
|
|
340
|
-
return Validators.maxLength(param);
|
|
342
|
+
return Validators$1.maxLength(param);
|
|
341
343
|
}
|
|
342
344
|
};
|
|
343
345
|
|
|
@@ -451,7 +453,7 @@ class BaseDynamicArray extends BaseComponent {
|
|
|
451
453
|
: validators[valid.name];
|
|
452
454
|
validList.push(validated);
|
|
453
455
|
});
|
|
454
|
-
return Validators.compose(validList);
|
|
456
|
+
return Validators$1.compose(validList);
|
|
455
457
|
}
|
|
456
458
|
return null;
|
|
457
459
|
}
|
|
@@ -593,7 +595,7 @@ class BaseDynamic extends BaseComponent {
|
|
|
593
595
|
: validators[valid.name];
|
|
594
596
|
validList.push(validated);
|
|
595
597
|
});
|
|
596
|
-
return Validators.compose(validList);
|
|
598
|
+
return Validators$1.compose(validList);
|
|
597
599
|
}
|
|
598
600
|
return null;
|
|
599
601
|
}
|