iptdevs-design-system 3.1.934 → 3.1.935
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/forms/update-user-form/update-user-form.component.mjs +2 -2
- package/fesm2015/iptdevs-design-system.mjs +1 -1
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +1 -1
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/components/forms/update-user-form/update-user-form.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { Validators } from '@angular/forms';
|
|
|
3
3
|
import Swal from 'sweetalert2';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "design-system
|
|
6
|
+
import * as i2 from "design-system";
|
|
7
7
|
import * as i3 from "@angular/common";
|
|
8
8
|
import * as i4 from "../../atoms/button/button.component";
|
|
9
9
|
import * as i5 from "../../atoms/input/input.component";
|
|
@@ -622,4 +622,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
622
622
|
}], userUpdatedEvent: [{
|
|
623
623
|
type: Output
|
|
624
624
|
}] } });
|
|
625
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy91cGRhdGUtdXNlci1mb3JtL3VwZGF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXBkYXRlLXVzZXItZm9ybS91cGRhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQTJDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHVCQUF1QjtJQThCbEMsWUFDVSxFQUFlLEVBQ2YsR0FBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLFdBQXdCLEVBQ3hCLFdBQXdCO1FBSnhCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBakN6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM3QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLDJCQUFzQixHQUFVLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FB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QyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO29CQUNwRSxNQUFNO2dCQUNSLEtBQUssY0FBYztvQkFDakIsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUMzRCxNQUFNO2dCQUNSO29CQUNFLGFBQWEsR0FBRyxFQUFFLENBQUM7YUFDdEI7WUFFRCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RixNQUFNLGtCQUFrQixHQUFHLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRXJGLElBQUksaUJBQWlCLEtBQUssa0JBQWtCLEVBQUU7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7b0hBdm9CVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3T0NWcEMsNHBjQThRb0I7MkZEcFFQLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0I7cU5BS3ZCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlLCBJRm9ybURhdGFScSwgUGFyYW1ldGVyU2VydmljZSwgVXNlclNlcnZpY2UgfSBmcm9tICdkZXNpZ24tc3lzdGVtL3NyYy9wdWJsaWMtYXBpJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LXVwZGF0ZS11c2VyLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLXVzZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VwZGF0ZS11c2VyLWZvcm0uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIHVwZGF0ZVVzZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBEYXRhU3R1ZGVudDogYW55O1xuICBASW5wdXQoKSB2aXNpYmxlTW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWxJUyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHVzZXJVcGRhdGVkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHVwZGF0ZVVzZXJGb3JtITogRm9ybUdyb3VwO1xuICBwaG90bzogc3RyaW5nID0gJyc7XG4gIHBob25lTnVtYmVySW5kaWNhdGl2ZXM6IGFueVtdID0gW107XG4gIGlkVHlwZXM6IGFueVtdID0gW107XG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBzdGF0ZXM6IGFueSA9IFtdO1xuICBjaXRpZXM6IGFueSA9IFtdO1xuICBjb3VudHJpZXM6IGFueSA9IFtdO1xuICBzaG93UGFyZW50U2VjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93RW1haWxJcHQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcGFyYW1ldGVyc0FsbD86IGFueTtcbiAgaW5kaWNhdGl2ZXM6IGFueVtdID0gW107XG4gIGNpdmlsU3RhdHVzOiBhbnlbXSA9IFtdO1xuICBnZW5kZXJzOiBhbnlbXSA9IFtdO1xuICBzdHJhdHVtczogYW55W10gPSBbXTtcbiAgcGFyYW1ldGVyc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyB1c2VyVXBkYXRlZCA9IGZhbHNlO1xuICBwcml2YXRlIGluaXRpYWxGb3JtVmFsdWU6IGFueSA9IFtdO1xuICAgIGp1c3RpZnlPcHRpb25zOiBhbnlbXSA9IFtcbiAgICAvLyB7IG5hbWU6ICdJbmFjdGl2b3MnLCBjb2RlOiAxIH0sXG4gICAgeyBuYW1lOiAnQWN0aXZvJywgY29kZTogMSB9LFxuICAgIHsgbmFtZTogJ1JlbW92aWRvJywgY29kZTogNCB9XG4gIF07XG4gIFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNlU2VydmljZTogQmFzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UgIFxuICApIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImVudHJvIGEgZ2V0UGFyYW1ldGVycyBwb3IgbmdvbmluaXRcIik7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3Zpc2libGVNb2RhbCddICYmIGNoYW5nZXNbJ3Zpc2libGVNb2RhbCddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgY29uc29sZS5sb2coXCJlbnRybyBhIGdldFBhcmFtZXRlcnMgcG9yIHZpc2libGUgbW9kYWwsIGRvbmRlIGVsIGNoYW5nZSBlczpcIiwgY2hhbmdlc1sndmlzaWJsZU1vZGFsJ10pO1xuICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0xvYWRlZCkge1xuICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKCk7XG4gICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRBbGxQYXJhbWV0ZXJzQ29kRm9ybSgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzQWxsID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHBhcmFtZXRlcnM6JywgZXJyKTtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzTG9hZGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuaWRUeXBlcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uVHlwZUlkQ2FyZEJ5Q291bnRyeUNvbDtcbiAgICB0aGlzLmluZGljYXRpdmVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5pbmRpY2F0aXZlcztcbiAgICB0aGlzLmNvdW50cmllcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uY291bnRyeTtcbiAgICB0aGlzLmNpdmlsU3RhdHVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5jaXZpbFN0YXR1cztcbiAgICB0aGlzLnN0YXRlcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uU3RhdGU7XG4gICAgdGhpcy5jaXRpZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGw/LmNpdHk7XG4gICAgLy8gdGhpcy5nZW5kZXJzID0gW1xuICAgIC8vICAgeyBjb2RlOiAxLCBuYW1lOiAnTWFzY3VsaW5vJyB9LFxuICAgIC8vICAgeyBjb2RlOiAyLCBuYW1lOiAnRmVtZW5pbm8nIH1cbiAgICAvLyBdO1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGwgJiYgdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlcikge1xuICAgICAgLy8gVHJhbnNmb3JtYXIgZ2VuZGVyIGVuIHVuIGFycmVnbG8gZGUgeyBjb2RlLCBuYW1lIH1cbiAgICAgIHRoaXMuZ2VuZGVycyA9IHRoaXMucGFyYW1ldGVyc0FsbC5nZW5kZXIubWFwKChnZW5kZXI6IGFueSkgPT4gKHtcbiAgICAgICAgY29kZTogZ2VuZGVyLmNvZGUsXG4gICAgICAgIG5hbWU6IGdlbmRlci5uYW1lX3NwYW5pc2hcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZW5kZXJzID0gW107XG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbGl6ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UGFyZW50U2VjdGlvbiA9ICEhdGhpcy5EYXRhU3R1ZGVudD8uY29kcz8ucGFyZW50Py5jb2RlO1xuICAgIHRoaXMuc2hvd0VtYWlsSXB0ID0gISF0aGlzLkRhdGFTdHVkZW50Py5lbWFpbF9pcHQgJiYgdGhpcy5EYXRhU3R1ZGVudC5lbWFpbF9pcHQgIT09IGZhbHNlO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnBvcHVsYXRlRm9ybSgpO1xuICB9XG5cbiAgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgY29uc3QgYmFzZUZvcm0gPSB7XG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBsYXN0X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIGVtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMDApXV0sXG4gICAgICBnZW5kZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGlkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxuICAgICAgY291bnRyeTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgc3RhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHJvbGU6IFt7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICBzZXJ2aWNlX2hvdXI6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBwYXNzd29yZDogWycnLCBbXV0sXG4gICAgICByZV9wYXNzd29yZDogWycnLCBbXV0sXG4gICAgICBjaGFuZ2VQYXNzd29yZDogW2ZhbHNlXSxcbiAgICAgIHN0YXR1czogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5zaG93RW1haWxJcHQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oYmFzZUZvcm0sIHtcbiAgICAgICAgZW1haWxfaXB0OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpXV1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3dQYXJlbnRTZWN0aW9uKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGJhc2VGb3JtLCB7XG4gICAgICAgIHBhcmVudF9uYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUwKV1dLFxuICAgICAgICBwYXJlbnRfbGFzdF9uYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUwKV1dLFxuICAgICAgICBwYXJlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgIHBhcmVudF9pZF9jYXJkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzApXV0sXG4gICAgICAgIHBhcmVudF9waG9uZV9pbmRpY2F0aXZlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgIHBhcmVudF9waG9uZV9udW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXV0sXG4gICAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCldXSxcbiAgICAgICAgcGFyZW50X29mZmljZV9hZHJyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNTApXV0sXG4gICAgICAgIHBhcmVudF9lbWFpbDogWycnLCBbVmFsaWRhdG9ycy5lbWFpbCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU1KV1dXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtID0gdGhpcy5mYi5ncm91cChiYXNlRm9ybSwgeyB2YWxpZGF0b3JzOiB0aGlzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldCgnY2hhbmdlUGFzc3dvcmQnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hlY2tlZDogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3QgcGFzc3dvcmRDb250cm9sID0gdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3Bhc3N3b3JkJyk7XG4gICAgICBjb25zdCByZVBhc3N3b3JkQ29udHJvbCA9IHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdyZV9wYXNzd29yZCcpO1xuXG4gICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICBwYXNzd29yZENvbnRyb2w/LnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKTtcbiAgICAgICAgcmVQYXNzd29yZENvbnRyb2w/LnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhc3N3b3JkQ29udHJvbD8uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHJlUGFzc3dvcmRDb250cm9sPy5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgcGFzc3dvcmRDb250cm9sPy5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHJlUGFzc3dvcmRDb250cm9sPy5zZXRWYWx1ZSgnJyk7XG4gICAgICB9XG5cbiAgICAgIHBhc3N3b3JkQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgcmVQYXNzd29yZENvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdwYXNzd29yZCcpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdyZV9wYXNzd29yZCcpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcGFzc3dvcmRNYXRjaFZhbGlkYXRvcihmb3JtOiBGb3JtR3JvdXApOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB8IG51bGwge1xuICAgIGNvbnN0IGNoYW5nZVBhc3N3b3JkID0gZm9ybS5nZXQoJ2NoYW5nZVBhc3N3b3JkJyk/LnZhbHVlO1xuICAgIGNvbnN0IHBhc3N3b3JkID0gZm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xuICAgIGNvbnN0IHJlUGFzc3dvcmQgPSBmb3JtLmdldCgncmVfcGFzc3dvcmQnKT8udmFsdWU7XG4gICAgaWYgKCFjaGFuZ2VQYXNzd29yZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IG1pc21hdGNoID0gcGFzc3dvcmQgJiYgcmVQYXNzd29yZCAmJiBwYXNzd29yZCAhPT0gcmVQYXNzd29yZDtcbiAgICByZXR1cm4gbWlzbWF0Y2ggPyB7IG1pc21hdGNoOiB0cnVlIH0gOiBudWxsO1xuICB9XG5cbiAgbm9XaGl0ZXNwYWNlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgdHlwZW9mIGNvbnRyb2wudmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSBjb250cm9sLnZhbHVlLnRyaW0oKTtcbiAgICAgIGlmICh0cmltbWVkVmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7IG9ubHlXaGl0ZXNwYWNlOiB0cnVlIH07XG4gICAgICB9XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gdHJpbW1lZFZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7IGhhc1doaXRlc3BhY2U6IHRydWUgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cmFuc2Zvcm1Sb2xlKHJvbGU6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm9sZU1hcDogeyBba2V5OiBudW1iZXJdOiBzdHJpbmcgfSA9IHtcbiAgICAgIDE6ICdTdXBlciBBZG1pbicsXG4gICAgICAxMDogJ0plZmUgQWNhZGVtaWNvJyxcbiAgICAgIDExOiAnQ29vcmRpbmFkb3IgQWNhZGVtaWNvJyxcbiAgICAgIDEyOiAnVGVhY2hlciBBY2FkZW1pY28nLFxuICAgICAgMTM6ICdFc3R1ZGlhbnRlJyxcbiAgICAgIDE1OiAnUG9zaWJsZSBFc3R1ZGlhbnRlJyxcbiAgICAgIDIwOiAnSmVmZSBNYXJrZXRpbmcnLFxuICAgICAgMjE6ICdDb29yZGluYWRvciBNYXJrZXRpbmcnLFxuICAgICAgMjI6ICdBdXhpbGlhciBNYXJrZXRpbmcnLFxuICAgICAgMzA6ICdKZWZlIEFkbWluaXN0cmF0aXZvJyxcbiAgICAgIDMxOiAnQ29vcmRpbmFkb3IgQWRtaW5pc3RyYXRpdm8nLFxuICAgICAgMzI6ICdDYWplcm8gQWRtaW5pc3RyYXRpdm8nLFxuICAgICAgNDA6ICdKZWZlIENvbWVyY2lhbCcsXG4gICAgICA0MTogJ0Nvb3JkaW5hZG9yIENvbWVyY2lhbCcsXG4gICAgICA0MjogJ0FzZXNvciBDb21lcmNpYWwnLFxuICAgICAgNTA6ICdKZWZlIENhcnRlcmEnLFxuICAgICAgNTE6ICdDb29yZGluYWRvciBDYXJ0ZXJhJyxcbiAgICAgIDUyOiAnQXNlc29yIENhcnRlcmEnLFxuICAgICAgNjA6ICdQcm92ZWVkb3InXG4gICAgfTtcbiAgICByZXR1cm4gcm9sZU1hcFtOdW1iZXIocm9sZSldIHx8ICcnO1xuICB9XG5cbiAgcG9wdWxhdGVGb3JtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLkRhdGFTdHVkZW50KSB7XG4gICAgICBjb25zdCBmb3JtVmFsdWU6IGFueSA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5EYXRhU3R1ZGVudC5uYW1lIHx8ICcnLFxuICAgICAgICBsYXN0X25hbWU6IHRoaXMuRGF0YVN0dWRlbnQubGFzdF9uYW1lIHx8ICcnLFxuICAgICAgICBlbWFpbDogdGhpcy5EYXRhU3R1ZGVudC5lbWFpbCB8fCAnJyxcbiAgICAgICAgZ2VuZGVyOiB0aGlzLkRhdGFTdHVkZW50LmdlbmRlciB8fCBudWxsLFxuICAgICAgICBpZF9jYXJkX3R5cGU6IHRoaXMuRGF0YVN0dWRlbnQuaWRfY2FyZF90eXBlIHx8ICcnLFxuICAgICAgICBpZF9jYXJkOiB0aGlzLkRhdGFTdHVkZW50LmlkX2NhcmQgfHwgJycsXG4gICAgICAgIHBob25lX2luZGljYXRpdmU6IHRoaXMuRGF0YVN0dWRlbnQucGhvbmVfaW5kaWNhdGl2ZSB8fCAnJyxcbiAgICAgICAgcGhvbmVfbnVtYmVyOiB0aGlzLkRhdGFTdHVkZW50LnBob25lX251bWJlciB8fCAnJyxcbiAgICAgICAgY291bnRyeTogdGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5jb3VudHJ5LFxuICAgICAgICBzdGF0ZTogdGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5zdGF0ZSxcbiAgICAgICAgY2l0eTogdGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5jb2RlLFxuICAgICAgICByb2xlOiB0aGlzLnRyYW5zZm9ybVJvbGUodGhpcy5EYXRhU3R1ZGVudC5yb2xlKSB8fCAnJyxcbiAgICAgICAgc2VydmljZV9ob3VyOiB0aGlzLkRhdGFTdHVkZW50LnNlcnZpY2VfaG91ciB8fCAwLFxuICAgICAgICBjaGFuZ2VQYXNzd29yZDogZmFsc2UsXG4gICAgICAgIHBhc3N3b3JkOiAnJyxcbiAgICAgICAgcmVfcGFzc3dvcmQ6ICcnLFxuICAgICAgICBzdGF0dXM6IHRoaXMuRGF0YVN0dWRlbnQudXNlcl9zdGF0dXMgfHwgJydcbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnNob3dFbWFpbElwdCkge1xuICAgICAgICBmb3JtVmFsdWUuZW1haWxfaXB0ID0gdGhpcy5EYXRhU3R1ZGVudC5lbWFpbF9pcHQgfHwgJyc7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnNob3dQYXJlbnRTZWN0aW9uKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oZm9ybVZhbHVlLCB7XG4gICAgICAgICAgcGFyZW50X25hbWU6IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5uYW1lIHx8ICcnLFxuICAgICAgICAgIHBhcmVudF9sYXN0X25hbWU6IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5sYXN0X25hbWUgfHwgJycsXG4gICAgICAgICAgcGFyZW50X2lkX2NhcmRfdHlwZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LmlkX2NhcmRfdHlwZSB8fCAnJyxcbiAgICAgICAgICBwYXJlbnRfaWRfY2FyZDogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LmlkX2NhcmQgfHwgJycsXG4gICAgICAgICAgcGFyZW50X3Bob25lX2luZGljYXRpdmU6IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5waG9uZV9pbmRpY2F0aXZlIHx8ICcnLFxuICAgICAgICAgIHBhcmVudF9waG9uZV9udW1iZXI6IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5waG9uZV9udW1iZXIgfHwgJycsXG4gICAgICAgICAgcGFyZW50X29jY3VwYXRpb246IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5vY2N1cGF0aW9uIHx8ICcnLFxuICAgICAgICAgIHBhcmVudF9vZmZpY2VfYWRycmVzczogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lm9mZmljZV9hZHJyZXNzIHx8ICcnLFxuICAgICAgICAgIHBhcmVudF9lbWFpbDogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LmVtYWlsIHx8ICcnXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLnJlc2V0KCk7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLnBhdGNoVmFsdWUoZm9ybVZhbHVlKTtcbiAgICAgIHRoaXMuaW5pdGlhbEZvcm1WYWx1ZSA9IHsgLi4udGhpcy51cGRhdGVVc2VyRm9ybS52YWx1ZSB9O1xuICAgICAgaWYgKGZvcm1WYWx1ZS5jb3VudHJ5KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiZW4gcG9wdWxhdGVGb3JtIHNlIGVudmlvIGRhdG8gcGFyYSBzZXRlYXJzZSBjb3VudHJ5XCIpO1xuICAgICAgICB0aGlzLmNvdW50cmllcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uY291bnRyeTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb3VudHJ5KHRoaXMuRGF0YVN0dWRlbnQuY2l0eT8uY291bnRyeSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybVZhbHVlLnN0YXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0U3RhdGUodGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5zdGF0ZSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybVZhbHVlLmNpdHkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDaXR5KHRoaXMuRGF0YVN0dWRlbnQuY2l0eT8uY29kZSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybVZhbHVlLmlkX2NhcmRfdHlwZSkge1xuICAgICAgICB0aGlzLmlkVHlwZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGw/LlR5cGVJZENhcmRCeUNvdW50cnlDb2w7XG4gICAgICAgIHRoaXMuc2VsZWN0R2VuZGVyKHRoaXMuRGF0YVN0dWRlbnQuaWRfY2FyZF90eXBlKTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUucGhvbmVfaW5kaWNhdGl2ZSkge1xuICAgICAgICB0aGlzLmluZGljYXRpdmVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5pbmRpY2F0aXZlcztcbiAgICAgICAgdGhpcy5zZWxlY3RJbmRpY2F0aXZlKCdwaG9uZV9pbmRpY2F0aXZlJywgdGhpcy5EYXRhU3R1ZGVudC5waG9uZV9pbmRpY2F0aXZlKTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUucGFyZW50X3Bob25lX2luZGljYXRpdmUpIHtcbiAgICAgICAgdGhpcy5pbmRpY2F0aXZlcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uaW5kaWNhdGl2ZXM7XG4gICAgICAgIHRoaXMuc2VsZWN0SW5kaWNhdGl2ZSgncGFyZW50X3Bob25lX2luZGljYXRpdmUnLCB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ucGhvbmVfaW5kaWNhdGl2ZSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybVZhbHVlLmdlbmRlcikge1xuICAgICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzQWxsICYmIHRoaXMucGFyYW1ldGVyc0FsbC5nZW5kZXIpIHtcbiAgICAgICAgICAvLyBUcmFuc2Zvcm1hciBnZW5kZXIgZW4gdW4gYXJyZWdsbyBkZSB7IGNvZGUsIG5hbWUgfVxuICAgICAgICAgIHRoaXMuZ2VuZGVycyA9IHRoaXMucGFyYW1ldGVyc0FsbC5nZW5kZXIubWFwKChnZW5kZXI6IGFueSkgPT4gKHtcbiAgICAgICAgICAgIGNvZGU6IGdlbmRlci5jb2RlLFxuICAgICAgICAgICAgbmFtZTogZ2VuZGVyLm5hbWVfc3BhbmlzaFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmdlbmRlcnMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdEdlbmRlcih0aGlzLkRhdGFTdHVkZW50LmdlbmRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2xvc2VUYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVNb2RhbCA9IGZhbHNlO1xuICAgIHRoaXMudXBkYXRlVXNlckZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmlkVHlwZXMgPSBbXTtcbiAgICB0aGlzLmNvdW50cmllcyA9IFtdO1xuICAgIHRoaXMuZ2VuZGVycyA9IFtdO1xuXG4gICAgdGhpcy5jbG9zZU1vZGFsSVMuZW1pdChmYWxzZSk7XG4gIH1cblxuICBzZWxlY3RSb2wocm9sZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHJvbGUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdyb2xlJyk/LnNldFZhbHVlKHRoaXMudHJhbnNmb3JtUm9sZShyb2xlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdyb2xlJyk/LnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJbmRpY2F0aXZlKGZpZWxkOiBzdHJpbmcsIGluZGljYXRpdmU6IGFueSk6IHZvaWQge1xuICAgIGlmIChpbmRpY2F0aXZlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldChmaWVsZCk/LnNldFZhbHVlKGluZGljYXRpdmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldChmaWVsZCk/LnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdElkVHlwZShmaWVsZDogc3RyaW5nLCBpZFR5cGU6IGFueSk6IHZvaWQge1xuICAgIGlmIChpZFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KGZpZWxkKT8uc2V0VmFsdWUoaWRUeXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoZmllbGQpPy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RHZW5kZXIoZ2VuZGVyOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZ2VuZGVyICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldCgnZ2VuZGVyJyk/LnNldFZhbHVlKGdlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdnZW5kZXInKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q291bnRyeShjb3VudHJ5OiBhbnkpIHtcbiAgICBjb25zdCBjb3VudHJ5TnVtYmVyID0gdHlwZW9mIGNvdW50cnkgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoY291bnRyeSwgMTApIDogY291bnRyeTtcbiAgICBpZiAoY291bnRyeSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5J10uc2V0VmFsdWUoY291bnRyeU51bWJlcik7XG4gICAgICBjb25zb2xlLmxvZyhcInNlIHNldGVvIGNvdW50cnkgY29uIGVsIHZhbG9yIHF1ZSBlbnRybyBlbiBzZWxlY3RDb3VudHJ5XCIpO1xuICAgICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbCAmJiB0aGlzLnBhcmFtZXRlcnNBbGw/LlN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLlN0YXRlLmZpbHRlcigoY291cnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IHR5cGVvZiBjb3Vyc2UuY291bnRyeSA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gcGFyc2VJbnQoY291cnNlLmNvdW50cnksIDEwKVxuICAgICAgICAgICAgOiBjb3Vyc2UuY291bnRyeTtcbiAgICAgICAgICByZXR1cm4gc3RhdGUgPT09IGNvdW50cnlOdW1iZXI7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnN0YXRlcyA9IFtdO1xuICAgICAgdGhpcy5jaXRpZXMgPSBbXTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RTdGF0ZShzdGF0ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOdW1iZXIgPSB0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoc3RhdGUsIDEwKSA6IHN0YXRlO1xuICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShzdGF0ZU51bWJlcik7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgICAgdGhpcy5nZXRTdGF0ZShzdGF0ZU51bWJlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0YXRlKHN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmdldENpdHkoc3RhdGUpO1xuICB9XG5cbiAgZ2V0Q2l0eShzdGF0ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOdW1iZXIgPSB0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoc3RhdGUsIDEwKSA6IHN0YXRlO1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGw/LmNpdHkpIHtcbiAgICAgIHRoaXMuY2l0aWVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLmNpdHkuZmlsdGVyKChjb3Vyc2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjaXR5U3RhdGUgPSB0eXBlb2YgY291cnNlLnN0YXRlID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KGNvdXJzZS5zdGF0ZSwgMTApIDogY291cnNlLnN0YXRlO1xuICAgICAgICByZXR1cm4gY2l0eVN0YXRlID09PSBzdGF0ZU51bWJlcjtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENpdHkoY2l0eTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgY2l0eU51bWJlciA9IHR5cGVvZiBjaXR5ID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KGNpdHksIDEwKSA6IGNpdHk7XG4gICAgaWYgKGNpdHkgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5TnVtYmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBob3RvKHR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlID09PSAnc3R1ZGVudCcpIHRoaXMucGhvdG8gPSAnL3BsYXRmb3JtL2FjYWRlbWljL2Fzc2V0cy9zdHVkZW50LmpwZyc7XG4gICAgaWYgKHR5cGUgPT09ICdhY2FkZW1pYycpIHRoaXMucGhvdG8gPSAnL3BsYXRmb3JtL2FjYWRlbWljL2Fzc2V0cy9hY2FkZW1pY28ucG5nJztcbiAgICBpZiAodHlwZSA9PT0gJ2FkbWluaXN0cmF0aXZlJykgdGhpcy5waG90byA9ICcvcGxhdGZvcm0vYWRtaW5pc3RyYXRpdmUvYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZyc7XG4gICAgaWYgKHR5cGUgPT09ICdtYXJrZXRpbmcnKSB0aGlzLnBob3RvID0gJy9wbGF0Zm9ybS9tYXJrZXRpbmcvYXNzZXRzL21hcmtldGluZy5qcGcnO1xuICAgIGlmICh0eXBlID09PSAnY29tbWVyY2lhbCcpIHRoaXMucGhvdG8gPSAnL3BsYXRmb3JtL2NvbW1lcmNpYWwvYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvY29tZXJjaWFsLmpwZyc7XG4gICAgaWYgKHR5cGUgPT09ICd0cmVhc3VyZScpIHRoaXMucGhvdG8gPSAnL3BsYXRmb3JtL3RyZWFzdXJlL2Fzc2V0cy9hZG1pbmlzdHJhdGl2by5qcGcnO1xuICB9XG5cbiAgdXBkYXRlVXNlcigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmludmFsaWQgfHxcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uaGFzRXJyb3IoJ21pc21hdGNoJykgfHxcbiAgICAgICF0aGlzLmhhc0Zvcm1DaGFuZ2VkKClcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgY29uc29sZS5sb2coJ2NyZWF0ZVVzZXIgLSBWYWxpZGF0aW9uIGZhaWxlZDonLCB7XG4gICAgICAgIGludmFsaWQ6IHRoaXMudXBkYXRlVXNlckZvcm0uaW52YWxpZCxcbiAgICAgICAgbWlzbWF0Y2g6IHRoaXMudXBkYXRlVXNlckZvcm0uaGFzRXJyb3IoJ21pc21hdGNoJyksXG4gICAgICAgIGhhc0NoYW5nZXM6IHRoaXMuaGFzRm9ybUNoYW5nZWQoKVxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0UmF3VmFsdWUoKTtcblxuICAgIGNvbnN0IHJlcXVlc3Q6YW55ID0ge1xuICAgICAgdG9rZW46IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICB1c2VyOiB7XG4gICAgICAgIGNvZGU6IHRoaXMuRGF0YVN0dWRlbnQuY29kZSxcbiAgICAgICAgbmFtZTogZm9ybVZhbHVlLm5hbWUsXG4gICAgICAgIGxhc3RfbmFtZTogZm9ybVZhbHVlLmxhc3RfbmFtZSxcbiAgICAgICAgaWRfY2FyZF90eXBlOiBmb3JtVmFsdWUuaWRfY2FyZF90eXBlLFxuICAgICAgICBpZF9jYXJkOiBmb3JtVmFsdWUuaWRfY2FyZCxcbiAgICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogZm9ybVZhbHVlLnBob25lX2luZGljYXRpdmUsXG4gICAgICAgIHBob25lX251bWJlcjogZm9ybVZhbHVlLnBob25lX251bWJlcixcbiAgICAgICAgZW1haWw6IGZvcm1WYWx1ZS5lbWFpbCxcbiAgICAgICAgZ2VuZGVyOiBmb3JtVmFsdWUuZ2VuZGVyLFxuICAgICAgICBjaXR5OiBmb3JtVmFsdWUuY2l0eSxcbiAgICAgICAgc2VydmljZV9ob3VyOiBmb3JtVmFsdWUuc2VydmljZV9ob3VyLFxuICAgICAgICByb2xlOiB0aGlzLkRhdGFTdHVkZW50LnJvbGUsXG4gICAgICAgIHN0YXR1czogZm9ybVZhbHVlLnN0YXR1cyxcbiAgICAgICAgLi4uKHRoaXMuc2hvd0VtYWlsSXB0ID8geyBlbWFpbF9pcHQ6IGZvcm1WYWx1ZS5lbWFpbF9pcHQgfSA6IHt9KSxcbiAgICAgICAgLi4uKGZvcm1WYWx1ZS5jaGFuZ2VQYXNzd29yZCAmJiBmb3JtVmFsdWUucGFzc3dvcmQgPyB7IHBhc3N3b3JkOiBmb3JtVmFsdWUucGFzc3dvcmQgfSA6IHt9KVxuICAgICAgfSxcbiAgICAgIHBhcmVudDogdGhpcy5zaG93UGFyZW50U2VjdGlvblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGNvZGU6IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5jb2RlIHx8IG51bGwsXG4gICAgICAgICAgICBuYW1lOiBmb3JtVmFsdWUucGFyZW50X25hbWUgfHwgbnVsbCxcbiAgICAgICAgICAgIGxhc3RfbmFtZTogZm9ybVZhbHVlLnBhcmVudF9sYXN0X25hbWUgfHwgbnVsbCxcbiAgICAgICAgICAgIGlkX2NhcmRfdHlwZTogZm9ybVZhbHVlLnBhcmVudF9pZF9jYXJkX3R5cGUgfHwgbnVsbCxcbiAgICAgICAgICAgIGlkX2NhcmQ6IGZvcm1WYWx1ZS5wYXJlbnRfaWRfY2FyZCB8fCBudWxsLFxuICAgICAgICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogZm9ybVZhbHVlLnBhcmVudF9waG9uZV9pbmRpY2F0aXZlIHx8IG51bGwsXG4gICAgICAgICAgICBwaG9uZV9udW1iZXI6IGZvcm1WYWx1ZS5wYXJlbnRfcGhvbmVfbnVtYmVyIHx8IG51bGwsXG4gICAgICAgICAgICBvY2N1cGF0aW9uOiBmb3JtVmFsdWUucGFyZW50X29jY3VwYXRpb24gfHwgbnVsbCxcbiAgICAgICAgICAgIG9mZmljZV9hZHJyZXNzOiBmb3JtVmFsdWUucGFyZW50X29mZmljZV9hZHJyZXNzIHx8IG51bGwsXG4gICAgICAgICAgICBlbWFpbDogZm9ybVZhbHVlLnBhcmVudF9lbWFpbCB8fCBudWxsXG4gICAgICAgICAgfVxuICAgICAgICA6IG51bGxcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKHJlcXVlc3QpO1xuICAgIHRoaXMudXNlclNlcnZpY2UudXBkYXRlVXNlckFuZFBhcmVudEJ5Q29kZShyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAvLyB0aGlzLmNvdXJzZVR5cGUgPSByZXNwb25zZS5kYXRhO1xuICAgICAgaWYgKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSA9PT0xKSB7XG4gICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgIGljb246ICdzdWNjZXNzJyxcbiAgICAgICAgICB0aXRsZTogJ3VzdWFyaW8gYWN0dWFsaXphZG8gc2F0aXNmYWN0b3JpYW1lbnRlJyxcbiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgdGltZXI6IDI1MDAsXG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnVzZXJVcGRhdGVkID0gdHJ1ZVxuICAgICAgICB0aGlzLnVzZXJVcGRhdGVkRXZlbnQuZW1pdCgpO1xuICAgICAgICB0aGlzLmNsb3NlVGFibGUoKTtcbiAgICAgIH1lbHNle1xuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgIHBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICBpY29uOiAnZXJyb3InLFxuICAgICAgICAgIHRpdGxlOiAnSGEgb2N1cnJpZG8gdW4gZXJyb3IgaW5lc3BlcmFkbycsXG4gICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgICAgIHRpbWVyOiAyNTAwLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gdGhpcy51c2VyVXBkYXRlZCA9IGZhbHNlXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICB9XG5cbiAgaGFzRm9ybUNoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmluaXRpYWxGb3JtVmFsdWUgfHwgIXRoaXMuRGF0YVN0dWRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldFJhd1ZhbHVlKCk7XG5cbiAgICBpZiAoY3VycmVudFZhbHVlLmNoYW5nZVBhc3N3b3JkKSB7XG4gICAgICBjb25zdCBwYXNzd29yZCA9IGN1cnJlbnRWYWx1ZS5wYXNzd29yZDtcbiAgICAgIGNvbnN0IHJlUGFzc3dvcmQgPSBjdXJyZW50VmFsdWUucmVfcGFzc3dvcmQ7XG4gICAgICBjb25zdCBwYXNzd29yZENvbnRyb2wgPSB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldCgncGFzc3dvcmQnKTtcbiAgICAgIGNvbnN0IHJlUGFzc3dvcmRDb250cm9sID0gdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3JlX3Bhc3N3b3JkJyk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgcGFzc3dvcmRDb250cm9sPy52YWxpZCAmJlxuICAgICAgICByZVBhc3N3b3JkQ29udHJvbD8udmFsaWQgJiZcbiAgICAgICAgcGFzc3dvcmQgPT09IHJlUGFzc3dvcmQgJiZcbiAgICAgICAgcGFzc3dvcmQ/LnRyaW0oKSAhPT0gJydcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHNUb0NvbXBhcmU6IChrZXlvZiBJRm9ybURhdGFScSlbXSA9IFtcbiAgICAgICduYW1lJyxcbiAgICAgICdsYXN0X25hbWUnLFxuICAgICAgJ2VtYWlsJyxcbiAgICAgICdnZW5kZXInLFxuICAgICAgJ2lkX2NhcmRfdHlwZScsXG4gICAgICAnaWRfY2FyZCcsXG4gICAgICAncGhvbmVfaW5kaWNhdGl2ZScsXG4gICAgICAncGhvbmVfbnVtYmVyJyxcbiAgICAgICdjb3VudHJ5JyxcbiAgICAgICdzdGF0ZScsXG4gICAgICAnY2l0eScsXG4gICAgICAncm9sZScsXG4gICAgICAnc2VydmljZV9ob3VyJyxcbiAgICAgICdzdGF0dXMnXG4gICAgXTtcblxuICAgIGlmICh0aGlzLnNob3dFbWFpbElwdCkge1xuICAgICAgZmllbGRzVG9Db21wYXJlLnB1c2goJ2VtYWlsX2lwdCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3dQYXJlbnRTZWN0aW9uKSB7XG4gICAgICBmaWVsZHNUb0NvbXBhcmUucHVzaChcbiAgICAgICAgJ3BhcmVudF9uYW1lJyxcbiAgICAgICAgJ3BhcmVudF9sYXN0X25hbWUnLFxuICAgICAgICAncGFyZW50X2lkX2NhcmRfdHlwZScsXG4gICAgICAgICdwYXJlbnRfaWRfY2FyZCcsXG4gICAgICAgICdwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZScsXG4gICAgICAgICdwYXJlbnRfcGhvbmVfbnVtYmVyJyxcbiAgICAgICAgJ3BhcmVudF9vY2N1cGF0aW9uJyxcbiAgICAgICAgJ3BhcmVudF9vZmZpY2VfYWRycmVzcycsXG4gICAgICAgICdwYXJlbnRfZW1haWwnXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzVG9Db21wYXJlKSB7XG4gICAgICBsZXQgb3JpZ2luYWxWYWx1ZTogYW55O1xuICAgICAgbGV0IGN1cnJlbnRGaWVsZFZhbHVlOiBhbnkgPSBjdXJyZW50VmFsdWVbZmllbGRdO1xuXG4gICAgICBzd2l0Y2ggKGZpZWxkKSB7XG4gICAgICAgIGNhc2UgJ25hbWUnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50Lm5hbWUgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xhc3RfbmFtZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQubGFzdF9uYW1lIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuZW1haWwgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2VtYWlsX2lwdCc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuZW1haWxfaXB0IHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdnZW5kZXInOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmdlbmRlciB8fCBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdpZF9jYXJkX3R5cGUnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmlkX2NhcmRfdHlwZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaWRfY2FyZCc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuaWRfY2FyZCB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGhvbmVfaW5kaWNhdGl2ZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQucGhvbmVfaW5kaWNhdGl2ZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGhvbmVfbnVtYmVyJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5waG9uZV9udW1iZXIgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NvdW50cnknOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNpdHk/LmNvdW50cnkgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N0YXRlJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5zdGF0ZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY2l0eSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY2l0eT8uY29kZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncm9sZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMudHJhbnNmb3JtUm9sZSh0aGlzLkRhdGFTdHVkZW50LnJvbGUpIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzZXJ2aWNlX2hvdXInOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LnNlcnZpY2VfaG91cjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3RhdHVzJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC51c2VyX3N0YXR1cyB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFyZW50X25hbWUnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ubmFtZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFyZW50X2xhc3RfbmFtZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5sYXN0X25hbWUgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhcmVudF9pZF9jYXJkX3R5cGUnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8uaWRfY2FyZF90eXBlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfaWRfY2FyZCc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5pZF9jYXJkIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5waG9uZV9pbmRpY2F0aXZlIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfcGhvbmVfbnVtYmVyJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LnBob25lX251bWJlciB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFyZW50X29jY3VwYXRpb24nOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ub2NjdXBhdGlvbiB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFyZW50X29mZmljZV9hZHJyZXNzJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lm9mZmljZV9hZHJyZXNzIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfZW1haWwnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8uZW1haWwgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9ICcnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBub3JtYWxpemVkQ3VycmVudCA9IGN1cnJlbnRGaWVsZFZhbHVlICE9IG51bGwgPyBTdHJpbmcoY3VycmVudEZpZWxkVmFsdWUpLnRyaW0oKSA6ICcnO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZE9yaWdpbmFsID0gb3JpZ2luYWxWYWx1ZSAhPSBudWxsID8gU3RyaW5nKG9yaWdpbmFsVmFsdWUpLnRyaW0oKSA6ICcnO1xuXG4gICAgICBpZiAobm9ybWFsaXplZEN1cnJlbnQgIT09IG5vcm1hbGl6ZWRPcmlnaW5hbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn0iLCI8IS0tIDxwLWRpYWxvZ1xuICBbKHZpc2libGUpXT1cInZpc2libGVNb2RhbFwiXG4gIFtzdHlsZV09XCJ7d2lkdGg6ICc4MCUnfVwiXG4gIGhlYWRlcj1cIkFjdHVhbGl6YXIgdXN1YXJpb1wiXG4gIFttb2RhbF09XCJ0cnVlXCJcbiAgc3R5bGVDbGFzcz1cInAtZmx1aWRcIlxuICAob25IaWRlKT1cImNsb3NlVGFibGUoKVwiXG4gIFtkaXNtaXNzYWJsZU1hc2tdPVwidHJ1ZVwiXG4gIFticmVha3BvaW50c109XCJ7JzE5MjBweCc6ICc3NXZ3JywgJzE0NDBweCc6ICc3NXZ3JywgJzEwMjRweCc6ICc3NXZ3JywgJzU3NnB4JzogJzEwMHZ3J31cIlxuPiAtLT5cbjwhLS0gPGRpdj5cbiAgPHByZT57eyB1cGRhdGVVc2VyRm9ybS52YWx1ZSB8IGpzb24gfX08L3ByZT5cbiAgPGRpdj5cbiAgICA8cHJlPnt7IHVwZGF0ZVVzZXJGb3JtLnZhbGlkIHwganNvbiB9fTwvcHJlPlxuICA8L2Rpdj5cbjwvZGl2PiAtLT5cbiAgPGRpdiBjbGFzcz1cImdyaWRfY29udGFpbmVyXCI+XG4gICAgPGRpdj5cbiAgICAgIDxmb3JtICpuZ0lmPVwidXBkYXRlVXNlckZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cInVwZGF0ZVVzZXJGb3JtXCI+XG4gICAgICAgIDwhLS0gVXNlciBJbmZvcm1hdGlvbiBTZWN0aW9uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICA8aDI+SW5mb3JtYWNpw7NuIGRlbCB1c3VhcmlvPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyaWRcIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0RlYmUgaW5ncmVzYXIgZWwgbm9tYnJlJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpID8gJ03DrW5pbW8gMyBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpID8gJ03DoXhpbW8gMzIgY2FyYWN0ZXJlcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLmhhc0Vycm9yKCdwYXR0ZXJuJykgPyAnU29sbyBsZXRyYXMsIGVzcGFjaW9zIHkgZ3Vpb25lcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLmhhc0Vycm9yKCdoYXNXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gZXNwYWNpb3MgYWwgaW5pY2lvIG8gZmluYWwnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXS5oYXNFcnJvcignb25seVdoaXRlc3BhY2UnKSA/ICdObyBzZSBwZXJtaXRlbiBzb2xvIGVzcGFjaW9zJyA6XG4gICAgICAgICAgICAgICdEZWJlIGluZ3Jlc2FyIGVsIG5vbWJyZSdcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0RlYmUgaW5ncmVzYXIgbG9zIGFwZWxsaWRvcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpID8gJ03DrW5pbW8gMyBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXS5oYXNFcnJvcignbWF4bGVuZ3RoJykgPyAnTcOheGltbyAzMiBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXS5oYXNFcnJvcigncGF0dGVybicpID8gJ1NvbG8gbGV0cmFzLCBlc3BhY2lvcyB5IGd1aW9uZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddLmhhc0Vycm9yKCdoYXNXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gZXNwYWNpb3MgYWwgaW5pY2lvIG8gZmluYWwnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddLmhhc0Vycm9yKCdvbmx5V2hpdGVzcGFjZScpID8gJ05vIHNlIHBlcm1pdGVuIHNvbG8gZXNwYWNpb3MnIDpcbiAgICAgICAgICAgICAgJ0RlYmUgaW5ncmVzYXIgbG9zIGFwZWxsaWRvcydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidlbWFpbCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWwnXS5oYXNFcnJvcigncmVxdWlyZWQnKSA/ICdEZWJlIGluZ3Jlc2FyIHVuIGNvcnJlbyB2w6FsaWRvJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSA/ICdNw6F4aW1vIDMwMCBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLmhhc0Vycm9yKCdwYXR0ZXJuJykgPyAnVGllbmUgcXVlIHNlciB1biBlbWFpbCBjb3JyZWN0bycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWwnXS5oYXNFcnJvcignaGFzV2hpdGVzcGFjZScpID8gJ05vIHNlIHBlcm1pdGVuIGVzcGFjaW9zIGFsIGluaWNpbyBvIGZpbmFsJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLmhhc0Vycm9yKCdvbmx5V2hpdGVzcGFjZScpID8gJ05vIHNlIHBlcm1pdGVuIHNvbG8gZXNwYWNpb3MnIDpcbiAgICAgICAgICAgICAgJ0RlYmUgaW5ncmVzYXIgdW4gY29ycmVvIHbDoWxpZG8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1haWxJcHRcIlxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCBJUFQnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbF9pcHQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbF9pcHQnXS5oYXNFcnJvcigncmVxdWlyZWQnKSA/ICdEZWJlIGluZ3Jlc2FyIHVuIGNvcnJlbyBJUFQgdsOhbGlkbycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWxfaXB0J10uaGFzRXJyb3IoJ21heGxlbmd0aCcpID8gJ03DoXhpbW8gMjU1IGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsX2lwdCddLmhhc0Vycm9yKCdwYXR0ZXJuJykgPyAnVGllbmUgcXVlIHNlciB1biBlbWFpbCBjb3JyZWN0bycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWxfaXB0J10uaGFzRXJyb3IoJ2hhc1doaXRlc3BhY2UnKSA/ICdObyBzZSBwZXJtaXRlbiBlc3BhY2lvcyBhbCBpbmljaW8gbyBmaW5hbCcgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWxfaXB0J10uaGFzRXJyb3IoJ29ubHlXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gc29sbyBlc3BhY2lvcycgOlxuICAgICAgICAgICAgICAnRGViZSBpbmdyZXNhciB1biBjb3JyZW8gSVBUIHbDoWxpZG8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RW1haWxJcHRcIlxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0hvcmFzIGRlIHNlcnZpY2lvJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc2VydmljZV9ob3VyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBsYXMgaG9yYXMgZGUgc2VydmljaW8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidSb2wnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyb2xlJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInUm9sIHJlcXVlcmlkbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8IS0tIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydnZW5kZXInXS52YWx1ZVwiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZ2VuZGVyJ11cIlxuICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2dlbmRlciddLnZhbHVlID09PSBudWxsID8gJ1NlbGVjY2lvbmUgZ8OpbmVybycgOiAodXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2dlbmRlciddLnZhbHVlIHwgZ2VuZGVyRGlzcGxheSlcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZ2VuZGVyc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0R2VuZGVyKCRldmVudClcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidTZWxlY2Npb25lIGfDqW5lcm8nXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PiAtLT5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ11cIlxuICAgICAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdEluZGljYXRpdmUoJ3Bob25lX2luZGljYXRpdmUnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5kaWNhdGl2bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1RlbMOpZm9ubydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX251bWJlciddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgdW4gbsO6bWVybyBkZSB0ZWzDqWZvbm8gdsOhbGlkbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddXCJcbiAgICAgICAgICAgIFtzZWxlY3RDb2RlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkX3R5cGUnXS52YWx1ZSA9PT0gbnVsbCA/ICdUaXBvIGRlIGRvY3VtZW50bycgOiB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGUoJ2lkX2NhcmRfdHlwZScsICRldmVudClcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG7Dum1lcm8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NvdW50cnknXVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RDb2RlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWUgPT09IG51bGwgPyAnUGHDrXMgZGUgcmVzaWRlbmNpYScgOiB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENvdW50cnkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtkYXRhXT1cImNvdW50cmllc1wiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInUGHDrXMgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS52YWx1ZVwiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXVwiXG4gICAgICAgICAgICBbc2VsZWN0Q29kZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS52YWx1ZSA9PT0gbnVsbCA/ICdEZXBhcnRhbWVudG8gbyBlc3RhZG8nIDogdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10udmFsdWVcIlxuICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0U3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJzdGF0ZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidEZXBhcnRhbWVudG8gbyBlc3RhZG8nXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10udmFsdWVcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXVwiXG4gICAgICAgICAgICBbc2VsZWN0Q29kZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnZhbHVlID09PSBudWxsID8gJ0NpdWRhZCBkZSByZXNpZGVuY2lhJyA6IHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10udmFsdWVcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaXRpZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwidGhpcy5EYXRhU3R1ZGVudC5yb2xlICE9PSAxM1wiIGNsYXNzPVwiY2FyZCBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtZW5kIHRleHQtY2VuIHRlciBcIj5cbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJqdXN0aWZ5T3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cInN0YXR1c1wiIG9wdGlvbkxhYmVsPVwibmFtZVwiIG9wdGlvblZhbHVlPVwiY29kZVwiPjwvcC1zZWxlY3RCdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICA8cC1jaGVja2JveFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGFuZ2VQYXNzd29yZFwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ2FtYmlvIGRlIGNvbnRyYXNlw7FhXCJcbiAgICAgICAgICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3AtY2hlY2tib3g+XG4gICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JpZFwiICpuZ0lmPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NoYW5nZVBhc3N3b3JkJ10udmFsdWVcIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidDb250cmFzZcOxYSdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS5oYXNFcnJvcigncmVxdWlyZWQnKSA/ICdMYSBjb250cmFzZcOxYSBlcyByZXF1ZXJpZGEnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpID8gJ03DrW5pbW8gNSBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSA/ICdNw6F4aW1vIDMyIGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgJ0luZ3Jlc2UgdW5hIGNvbnRyYXNlw7FhIHbDoWxpZGEnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidSZXBldGlyIGNvbnRyYXNlw7FhJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncmVfcGFzc3dvcmQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyZV9wYXNzd29yZCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0RlYmUgcmVwZXRpciBsYSBjb250cmFzZcOxYScgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncmVfcGFzc3dvcmQnXS5oYXNFcnJvcignbWlubGVuZ3RoJykgPyAnTcOtbmltbyA1IGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpID8gJ03DoXhpbW8gMzIgY2FyYWN0ZXJlcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5oYXNFcnJvcignbWlzbWF0Y2gnKSA/ICdMYXMgY29udHJhc2XDsWFzIG5vIGNvaW5jaWRlbicgOlxuICAgICAgICAgICAgICAnUmVwaXRhIGxhIGNvbnRyYXNlw7FhJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE1lbnNhamUgYWRpY2lvbmFsIHBhcmEgZWwgZXJyb3IgZGUgbWlzbWF0Y2ggKG9wY2lvbmFsLCBzaSBxdWllcmVzIG1vc3RyYXJsbyBwb3Igc2VwYXJhZG8pIC0tPlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1cGRhdGVVc2VyRm9ybS5oYXNFcnJvcignbWlzbWF0Y2gnKSAmJiB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2hhbmdlUGFzc3dvcmQnXS52YWx1ZVwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICAgIDxzbWFsbCA+TGFzIGNvbnRyYXNlw7FhcyBubyBjb2luY2lkZW48L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBQYXJlbnQgSW5mb3JtYXRpb24gU2VjdGlvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCIgKm5nSWY9XCJEYXRhU3R1ZGVudD8uY29kc1wiPlxuICAgICAgICAgIDxoMj5JbmZvcm1hY2nDs24gZGVsIGFjdWRpZW50ZTwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiRGF0YVN0dWRlbnQ/LmNvZHNcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1BhcmVudFNlY3Rpb247IGVsc2Ugbm9QYXJlbnRNZXNzYWdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncmlkXCI+XG4gICAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOb21icmVzJ1wiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9uYW1lJ11cIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgZWwgbm9tYnJlJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ11cIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbG9zIGFwZWxsaWRvcydcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidPY3VwYWNpw7NuJ1wiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ11cIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbGEgb2N1cGFjacOzbidcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidlbWFpbCdcIlxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInRW1haWwnXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2VtYWlsJ11cIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgdW4gY29ycmVvIHbDoWxpZG8nXCJcbiAgICAgICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS52YWx1ZSA9PT0gbnVsbCA/ICdUaXBvIGRlIGRvY3VtZW50bycgOiB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SWRUeXBlKCdwYXJlbnRfaWRfY2FyZF90eXBlJywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEb2N1bWVudG8nXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBuw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ11cIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImluZGljYXRpdmVzXCJcbiAgICAgICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZSgncGFyZW50X3Bob25lX2luZGljYXRpdmUnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInVGVsw6lmb25vJ1wiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciB1biBuw7ptZXJvIGRlIHRlbMOpZm9ubyB2w6FsaWRvJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1pbnB1dD5cblxuICAgICAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlyZWNjacOzbiBkZSBvZmljaW5hJ1wiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9vZmZpY2VfYWRycmVzcyddXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGxhIGRpcmVjY2nDs24nXCJcbiAgICAgICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub1BhcmVudE1lc3NhZ2U+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcGFyZW50LW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgPHA+U2luIGFjdWRpZW50ZTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLWNvbnRhaW5lclwiPlxuICAgICAgICA8aXB0LWJ1dHRvblxuICAgICAgICAgIFtsYWJlbF09XCInQWN0dWFsaXphcidcIlxuICAgICAgICAgIFtpc0VuYWJsZWRdPVwiIWxvYWRlciAmJiB1cGRhdGVVc2VyRm9ybS52YWxpZCAmJiAhdXBkYXRlVXNlckZvcm0uaGFzRXJyb3IoJ21pc21hdGNoJykgJiYgaGFzRm9ybUNoYW5nZWQoKVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwidXBkYXRlVXNlcigpXCJcbiAgICAgICAgICBbcHJpbWFyeV09XCJ0cnVlXCJcbiAgICAgICAgPjwvaXB0LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPCEtLSA8L3AtZGlhbG9nPiAtLT4iXX0=
|
|
625
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy91cGRhdGUtdXNlci1mb3JtL3VwZGF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXBkYXRlLXVzZXItZm9ybS91cGRhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQTJDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JGLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLHVCQUF1QjtJQThCbEMsWUFDVSxFQUFlLEVBQ2YsR0FBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLFdBQXdCLEVBQ3hCLFdBQXdCO1FBSnhCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBakN6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM3QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLDJCQUFzQixHQUFVLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLFdBQU0sR0FB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QyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO29CQUNwRSxNQUFNO2dCQUNSLEtBQUssY0FBYztvQkFDakIsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUMzRCxNQUFNO2dCQUNSO29CQUNFLGFBQWEsR0FBRyxFQUFFLENBQUM7YUFDdEI7WUFFRCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RixNQUFNLGtCQUFrQixHQUFHLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRXJGLElBQUksaUJBQWlCLEtBQUssa0JBQWtCLEVBQUU7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7b0hBdm9CVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix3T0NYcEMsNHBjQThRb0I7MkZEblFQLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0I7cU5BS3ZCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIGltcG9ydCB7IEJhc2VTZXJ2aWNlLCBQYXJhbWV0ZXJTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJ2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UsIElGb3JtRGF0YVJxLCBQYXJhbWV0ZXJTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJ2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpcHQtdXBkYXRlLXVzZXItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBkYXRlLXVzZXItZm9ybS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgdXBkYXRlVXNlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIERhdGFTdHVkZW50OiBhbnk7XG4gIEBJbnB1dCgpIHZpc2libGVNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgY2xvc2VNb2RhbElTID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgdXNlclVwZGF0ZWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgdXBkYXRlVXNlckZvcm0hOiBGb3JtR3JvdXA7XG4gIHBob3RvOiBzdHJpbmcgPSAnJztcbiAgcGhvbmVOdW1iZXJJbmRpY2F0aXZlczogYW55W10gPSBbXTtcbiAgaWRUeXBlczogYW55W10gPSBbXTtcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHN0YXRlczogYW55ID0gW107XG4gIGNpdGllczogYW55ID0gW107XG4gIGNvdW50cmllczogYW55ID0gW107XG4gIHNob3dQYXJlbnRTZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dFbWFpbElwdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwYXJhbWV0ZXJzQWxsPzogYW55O1xuICBpbmRpY2F0aXZlczogYW55W10gPSBbXTtcbiAgY2l2aWxTdGF0dXM6IGFueVtdID0gW107XG4gIGdlbmRlcnM6IGFueVtdID0gW107XG4gIHN0cmF0dW1zOiBhbnlbXSA9IFtdO1xuICBwYXJhbWV0ZXJzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIHVzZXJVcGRhdGVkID0gZmFsc2U7XG4gIHByaXZhdGUgaW5pdGlhbEZvcm1WYWx1ZTogYW55ID0gW107XG4gICAganVzdGlmeU9wdGlvbnM6IGFueVtdID0gW1xuICAgIC8vIHsgbmFtZTogJ0luYWN0aXZvcycsIGNvZGU6IDEgfSxcbiAgICB7IG5hbWU6ICdBY3Rpdm8nLCBjb2RlOiAxIH0sXG4gICAgeyBuYW1lOiAnUmVtb3ZpZG8nLCBjb2RlOiA0IH1cbiAgXTtcbiAgXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSAgXG4gICkge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKFwiZW50cm8gYSBnZXRQYXJhbWV0ZXJzIHBvciBuZ29uaW5pdFwiKTtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndmlzaWJsZU1vZGFsJ10gJiYgY2hhbmdlc1sndmlzaWJsZU1vZGFsJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcImVudHJvIGEgZ2V0UGFyYW1ldGVycyBwb3IgdmlzaWJsZSBtb2RhbCwgZG9uZGUgZWwgY2hhbmdlIGVzOlwiLCBjaGFuZ2VzWyd2aXNpYmxlTW9kYWwnXSk7XG4gICAgICB0aGlzLmluaXRpYWxpemVGb3JtKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzTG9hZGVkKSB7XG4gICAgICB0aGlzLnNldFBhcmFtZXRlcnMoKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEFsbFBhcmFtZXRlcnNDb2RGb3JtKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnNBbGwgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnNMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybSgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgcGFyYW1ldGVyczonLCBlcnIpO1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnNMb2FkZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldFBhcmFtZXRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5pZFR5cGVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5UeXBlSWRDYXJkQnlDb3VudHJ5Q29sO1xuICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGw/LmluZGljYXRpdmVzO1xuICAgIHRoaXMuY291bnRyaWVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5jb3VudHJ5O1xuICAgIHRoaXMuY2l2aWxTdGF0dXMgPSB0aGlzLnBhcmFtZXRlcnNBbGw/LmNpdmlsU3RhdHVzO1xuICAgIHRoaXMuc3RhdGVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5TdGF0ZTtcbiAgICB0aGlzLmNpdGllcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uY2l0eTtcbiAgICAvLyB0aGlzLmdlbmRlcnMgPSBbXG4gICAgLy8gICB7IGNvZGU6IDEsIG5hbWU6ICdNYXNjdWxpbm8nIH0sXG4gICAgLy8gICB7IGNvZGU6IDIsIG5hbWU6ICdGZW1lbmlubycgfVxuICAgIC8vIF07XG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbCAmJiB0aGlzLnBhcmFtZXRlcnNBbGwuZ2VuZGVyKSB7XG4gICAgICAvLyBUcmFuc2Zvcm1hciBnZW5kZXIgZW4gdW4gYXJyZWdsbyBkZSB7IGNvZGUsIG5hbWUgfVxuICAgICAgdGhpcy5nZW5kZXJzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlci5tYXAoKGdlbmRlcjogYW55KSA9PiAoe1xuICAgICAgICBjb2RlOiBnZW5kZXIuY29kZSxcbiAgICAgICAgbmFtZTogZ2VuZGVyLm5hbWVfc3BhbmlzaFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdlbmRlcnMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXplRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dQYXJlbnRTZWN0aW9uID0gISF0aGlzLkRhdGFTdHVkZW50Py5jb2RzPy5wYXJlbnQ/LmNvZGU7XG4gICAgdGhpcy5zaG93RW1haWxJcHQgPSAhIXRoaXMuRGF0YVN0dWRlbnQ/LmVtYWlsX2lwdCAmJiB0aGlzLkRhdGFTdHVkZW50LmVtYWlsX2lwdCAhPT0gZmFsc2U7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMucG9wdWxhdGVGb3JtKCk7XG4gIH1cblxuICBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICBjb25zdCBiYXNlRm9ybSA9IHtcbiAgICAgIG5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIGxhc3RfbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwMCldXSxcbiAgICAgIGdlbmRlcjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpZF9jYXJkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXV0sXG4gICAgICBwaG9uZV9pbmRpY2F0aXZlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwaG9uZV9udW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUpXV0sXG4gICAgICBjb3VudHJ5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBzdGF0ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY2l0eTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcm9sZTogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgIHNlcnZpY2VfaG91cjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHBhc3N3b3JkOiBbJycsIFtdXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbJycsIFtdXSxcbiAgICAgIGNoYW5nZVBhc3N3b3JkOiBbZmFsc2VdLFxuICAgICAgc3RhdHVzOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNob3dFbWFpbElwdCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihiYXNlRm9ybSwge1xuICAgICAgICBlbWFpbF9pcHQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWwsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NSldXVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd1BhcmVudFNlY3Rpb24pIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oYmFzZUZvcm0sIHtcbiAgICAgICAgcGFyZW50X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNTApXV0sXG4gICAgICAgIHBhcmVudF9sYXN0X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNTApXV0sXG4gICAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgcGFyZW50X2lkX2NhcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMCldXSxcbiAgICAgICAgcGFyZW50X3Bob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgICAgcGFyZW50X3Bob25lX251bWJlcjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMCldXSxcbiAgICAgICAgcGFyZW50X29jY3VwYXRpb246IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKV1dLFxuICAgICAgICBwYXJlbnRfb2ZmaWNlX2FkcnJlc3M6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1MCldXSxcbiAgICAgICAgcGFyZW50X2VtYWlsOiBbJycsIFtWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTUpXV1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKGJhc2VGb3JtLCB7IHZhbGlkYXRvcnM6IHRoaXMucGFzc3dvcmRNYXRjaFZhbGlkYXRvciB9KTtcblxuICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdjaGFuZ2VQYXNzd29yZCcpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGVja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBwYXNzd29yZENvbnRyb2wgPSB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldCgncGFzc3dvcmQnKTtcbiAgICAgIGNvbnN0IHJlUGFzc3dvcmRDb250cm9sID0gdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3JlX3Bhc3N3b3JkJyk7XG5cbiAgICAgIGlmIChjaGVja2VkKSB7XG4gICAgICAgIHBhc3N3b3JkQ29udHJvbD8uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pO1xuICAgICAgICByZVBhc3N3b3JkQ29udHJvbD8uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFzc3dvcmRDb250cm9sPy5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgcmVQYXNzd29yZENvbnRyb2w/LmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICBwYXNzd29yZENvbnRyb2w/LnNldFZhbHVlKCcnKTtcbiAgICAgICAgcmVQYXNzd29yZENvbnRyb2w/LnNldFZhbHVlKCcnKTtcbiAgICAgIH1cblxuICAgICAgcGFzc3dvcmRDb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICByZVBhc3N3b3JkQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3JlX3Bhc3N3b3JkJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfSk7XG4gIH1cblxuICBwYXNzd29yZE1hdGNoVmFsaWRhdG9yKGZvcm06IEZvcm1Hcm91cCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHwgbnVsbCB7XG4gICAgY29uc3QgY2hhbmdlUGFzc3dvcmQgPSBmb3JtLmdldCgnY2hhbmdlUGFzc3dvcmQnKT8udmFsdWU7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBmb3JtLmdldCgncGFzc3dvcmQnKT8udmFsdWU7XG4gICAgY29uc3QgcmVQYXNzd29yZCA9IGZvcm0uZ2V0KCdyZV9wYXNzd29yZCcpPy52YWx1ZTtcbiAgICBpZiAoIWNoYW5nZVBhc3N3b3JkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWlzbWF0Y2ggPSBwYXNzd29yZCAmJiByZVBhc3N3b3JkICYmIHBhc3N3b3JkICE9PSByZVBhc3N3b3JkO1xuICAgIHJldHVybiBtaXNtYXRjaCA/IHsgbWlzbWF0Y2g6IHRydWUgfSA6IG51bGw7XG4gIH1cblxuICBub1doaXRlc3BhY2VWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsIHtcbiAgICBpZiAoY29udHJvbC52YWx1ZSAmJiB0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHRyaW1tZWRWYWx1ZSA9IGNvbnRyb2wudmFsdWUudHJpbSgpO1xuICAgICAgaWYgKHRyaW1tZWRWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHsgb25seVdoaXRlc3BhY2U6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIGlmIChjb250cm9sLnZhbHVlICE9PSB0cmltbWVkVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsgaGFzV2hpdGVzcGFjZTogdHJ1ZSB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyYW5zZm9ybVJvbGUocm9sZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCByb2xlTWFwOiB7IFtrZXk6IG51bWJlcl06IHN0cmluZyB9ID0ge1xuICAgICAgMTogJ1N1cGVyIEFkbWluJyxcbiAgICAgIDEwOiAnSmVmZSBBY2FkZW1pY28nLFxuICAgICAgMTE6ICdDb29yZGluYWRvciBBY2FkZW1pY28nLFxuICAgICAgMTI6ICdUZWFjaGVyIEFjYWRlbWljbycsXG4gICAgICAxMzogJ0VzdHVkaWFudGUnLFxuICAgICAgMTU6ICdQb3NpYmxlIEVzdHVkaWFudGUnLFxuICAgICAgMjA6ICdKZWZlIE1hcmtldGluZycsXG4gICAgICAyMTogJ0Nvb3JkaW5hZG9yIE1hcmtldGluZycsXG4gICAgICAyMjogJ0F1eGlsaWFyIE1hcmtldGluZycsXG4gICAgICAzMDogJ0plZmUgQWRtaW5pc3RyYXRpdm8nLFxuICAgICAgMzE6ICdDb29yZGluYWRvciBBZG1pbmlzdHJhdGl2bycsXG4gICAgICAzMjogJ0NhamVybyBBZG1pbmlzdHJhdGl2bycsXG4gICAgICA0MDogJ0plZmUgQ29tZXJjaWFsJyxcbiAgICAgIDQxOiAnQ29vcmRpbmFkb3IgQ29tZXJjaWFsJyxcbiAgICAgIDQyOiAnQXNlc29yIENvbWVyY2lhbCcsXG4gICAgICA1MDogJ0plZmUgQ2FydGVyYScsXG4gICAgICA1MTogJ0Nvb3JkaW5hZG9yIENhcnRlcmEnLFxuICAgICAgNTI6ICdBc2Vzb3IgQ2FydGVyYScsXG4gICAgICA2MDogJ1Byb3ZlZWRvcidcbiAgICB9O1xuICAgIHJldHVybiByb2xlTWFwW051bWJlcihyb2xlKV0gfHwgJyc7XG4gIH1cblxuICBwb3B1bGF0ZUZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuRGF0YVN0dWRlbnQpIHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZTogYW55ID0ge1xuICAgICAgICBuYW1lOiB0aGlzLkRhdGFTdHVkZW50Lm5hbWUgfHwgJycsXG4gICAgICAgIGxhc3RfbmFtZTogdGhpcy5EYXRhU3R1ZGVudC5sYXN0X25hbWUgfHwgJycsXG4gICAgICAgIGVtYWlsOiB0aGlzLkRhdGFTdHVkZW50LmVtYWlsIHx8ICcnLFxuICAgICAgICBnZW5kZXI6IHRoaXMuRGF0YVN0dWRlbnQuZ2VuZGVyIHx8IG51bGwsXG4gICAgICAgIGlkX2NhcmRfdHlwZTogdGhpcy5EYXRhU3R1ZGVudC5pZF9jYXJkX3R5cGUgfHwgJycsXG4gICAgICAgIGlkX2NhcmQ6IHRoaXMuRGF0YVN0dWRlbnQuaWRfY2FyZCB8fCAnJyxcbiAgICAgICAgcGhvbmVfaW5kaWNhdGl2ZTogdGhpcy5EYXRhU3R1ZGVudC5waG9uZV9pbmRpY2F0aXZlIHx8ICcnLFxuICAgICAgICBwaG9uZV9udW1iZXI6IHRoaXMuRGF0YVN0dWRlbnQucGhvbmVfbnVtYmVyIHx8ICcnLFxuICAgICAgICBjb3VudHJ5OiB0aGlzLkRhdGFTdHVkZW50LmNpdHk/LmNvdW50cnksXG4gICAgICAgIHN0YXRlOiB0aGlzLkRhdGFTdHVkZW50LmNpdHk/LnN0YXRlLFxuICAgICAgICBjaXR5OiB0aGlzLkRhdGFTdHVkZW50LmNpdHk/LmNvZGUsXG4gICAgICAgIHJvbGU6IHRoaXMudHJhbnNmb3JtUm9sZSh0aGlzLkRhdGFTdHVkZW50LnJvbGUpIHx8ICcnLFxuICAgICAgICBzZXJ2aWNlX2hvdXI6IHRoaXMuRGF0YVN0dWRlbnQuc2VydmljZV9ob3VyIHx8IDAsXG4gICAgICAgIGNoYW5nZVBhc3N3b3JkOiBmYWxzZSxcbiAgICAgICAgcGFzc3dvcmQ6ICcnLFxuICAgICAgICByZV9wYXNzd29yZDogJycsXG4gICAgICAgIHN0YXR1czogdGhpcy5EYXRhU3R1ZGVudC51c2VyX3N0YXR1cyB8fCAnJ1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuc2hvd0VtYWlsSXB0KSB7XG4gICAgICAgIGZvcm1WYWx1ZS5lbWFpbF9pcHQgPSB0aGlzLkRhdGFTdHVkZW50LmVtYWlsX2lwdCB8fCAnJztcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuc2hvd1BhcmVudFNlY3Rpb24pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmb3JtVmFsdWUsIHtcbiAgICAgICAgICBwYXJlbnRfbmFtZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgcGFyZW50X2xhc3RfbmFtZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lmxhc3RfbmFtZSB8fCAnJyxcbiAgICAgICAgICBwYXJlbnRfaWRfY2FyZF90eXBlOiB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8uaWRfY2FyZF90eXBlIHx8ICcnLFxuICAgICAgICAgIHBhcmVudF9pZF9jYXJkOiB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8uaWRfY2FyZCB8fCAnJyxcbiAgICAgICAgICBwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LnBob25lX2luZGljYXRpdmUgfHwgJycsXG4gICAgICAgICAgcGFyZW50X3Bob25lX251bWJlcjogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LnBob25lX251bWJlciB8fCAnJyxcbiAgICAgICAgICBwYXJlbnRfb2NjdXBhdGlvbjogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lm9jY3VwYXRpb24gfHwgJycsXG4gICAgICAgICAgcGFyZW50X29mZmljZV9hZHJyZXNzOiB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ub2ZmaWNlX2FkcnJlc3MgfHwgJycsXG4gICAgICAgICAgcGFyZW50X2VtYWlsOiB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8uZW1haWwgfHwgJydcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0ucmVzZXQoKTtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0ucGF0Y2hWYWx1ZShmb3JtVmFsdWUpO1xuICAgICAgdGhpcy5pbml0aWFsRm9ybVZhbHVlID0geyAuLi50aGlzLnVwZGF0ZVVzZXJGb3JtLnZhbHVlIH07XG4gICAgICBpZiAoZm9ybVZhbHVlLmNvdW50cnkpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJlbiBwb3B1bGF0ZUZvcm0gc2UgZW52aW8gZGF0byBwYXJhIHNldGVhcnNlIGNvdW50cnlcIik7XG4gICAgICAgIHRoaXMuY291bnRyaWVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5jb3VudHJ5O1xuICAgICAgICB0aGlzLnNlbGVjdENvdW50cnkodGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5jb3VudHJ5KTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUuc3RhdGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RTdGF0ZSh0aGlzLkRhdGFTdHVkZW50LmNpdHk/LnN0YXRlKTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUuY2l0eSkge1xuICAgICAgICB0aGlzLnNlbGVjdENpdHkodGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5jb2RlKTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUuaWRfY2FyZF90eXBlKSB7XG4gICAgICAgIHRoaXMuaWRUeXBlcyA9IHRoaXMucGFyYW1ldGVyc0FsbD8uVHlwZUlkQ2FyZEJ5Q291bnRyeUNvbDtcbiAgICAgICAgdGhpcy5zZWxlY3RHZW5kZXIodGhpcy5EYXRhU3R1ZGVudC5pZF9jYXJkX3R5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKGZvcm1WYWx1ZS5waG9uZV9pbmRpY2F0aXZlKSB7XG4gICAgICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGw/LmluZGljYXRpdmVzO1xuICAgICAgICB0aGlzLnNlbGVjdEluZGljYXRpdmUoJ3Bob25lX2luZGljYXRpdmUnLCB0aGlzLkRhdGFTdHVkZW50LnBob25lX2luZGljYXRpdmUpO1xuICAgICAgfVxuICAgICAgaWYgKGZvcm1WYWx1ZS5wYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSkge1xuICAgICAgICB0aGlzLmluZGljYXRpdmVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5pbmRpY2F0aXZlcztcbiAgICAgICAgdGhpcy5zZWxlY3RJbmRpY2F0aXZlKCdwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZScsIHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5waG9uZV9pbmRpY2F0aXZlKTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtVmFsdWUuZ2VuZGVyKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGwgJiYgdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlcikge1xuICAgICAgICAgIC8vIFRyYW5zZm9ybWFyIGdlbmRlciBlbiB1biBhcnJlZ2xvIGRlIHsgY29kZSwgbmFtZSB9XG4gICAgICAgICAgdGhpcy5nZW5kZXJzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlci5tYXAoKGdlbmRlcjogYW55KSA9PiAoe1xuICAgICAgICAgICAgY29kZTogZ2VuZGVyLmNvZGUsXG4gICAgICAgICAgICBuYW1lOiBnZW5kZXIubmFtZV9zcGFuaXNoXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZ2VuZGVycyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0R2VuZGVyKHRoaXMuRGF0YVN0dWRlbnQuZ2VuZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjbG9zZVRhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZU1vZGFsID0gZmFsc2U7XG4gICAgdGhpcy51cGRhdGVVc2VyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuaWRUeXBlcyA9IFtdO1xuICAgIHRoaXMuY291bnRyaWVzID0gW107XG4gICAgdGhpcy5nZW5kZXJzID0gW107XG5cbiAgICB0aGlzLmNsb3NlTW9kYWxJUy5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFJvbChyb2xlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAocm9sZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3JvbGUnKT8uc2V0VmFsdWUodGhpcy50cmFuc2Zvcm1Sb2xlKHJvbGUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ3JvbGUnKT8uc2V0VmFsdWUoJycpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEluZGljYXRpdmUoZmllbGQ6IHN0cmluZywgaW5kaWNhdGl2ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KGZpZWxkKT8uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KGZpZWxkKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SWRUeXBlKGZpZWxkOiBzdHJpbmcsIGlkVHlwZTogYW55KTogdm9pZCB7XG4gICAgaWYgKGlkVHlwZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoZmllbGQpPy5zZXRWYWx1ZShpZFR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldChmaWVsZCk/LnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEdlbmRlcihnZW5kZXI6IGFueSk6IHZvaWQge1xuICAgIGlmIChnZW5kZXIgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdnZW5kZXInKT8uc2V0VmFsdWUoZ2VuZGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5nZXQoJ2dlbmRlcicpPy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDb3VudHJ5KGNvdW50cnk6IGFueSkge1xuICAgIGNvbnN0IGNvdW50cnlOdW1iZXIgPSB0eXBlb2YgY291bnRyeSA9PT0gJ3N0cmluZycgPyBwYXJzZUludChjb3VudHJ5LCAxMCkgOiBjb3VudHJ5O1xuICAgIGlmIChjb3VudHJ5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShjb3VudHJ5TnVtYmVyKTtcbiAgICAgIGNvbnNvbGUubG9nKFwic2Ugc2V0ZW8gY291bnRyeSBjb24gZWwgdmFsb3IgcXVlIGVudHJvIGVuIHNlbGVjdENvdW50cnlcIik7XG4gICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzQWxsICYmIHRoaXMucGFyYW1ldGVyc0FsbD8uU3RhdGUpIHtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGwuU3RhdGUuZmlsdGVyKChjb3Vyc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0YXRlID0gdHlwZW9mIGNvdXJzZS5jb3VudHJ5ID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUludChjb3Vyc2UuY291bnRyeSwgMTApXG4gICAgICAgICAgICA6IGNvdXJzZS5jb3VudHJ5O1xuICAgICAgICAgIHJldHVybiBzdGF0ZSA9PT0gY291bnRyeU51bWJlcjtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0YXRlcyA9IFtdO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuc3RhdGVzID0gW107XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU51bWJlciA9IHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUludChzdGF0ZSwgMTApIDogc3RhdGU7XG4gICAgaWYgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKHN0YXRlTnVtYmVyKTtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgICB0aGlzLmdldFN0YXRlKHN0YXRlTnVtYmVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RhdGUoc3RhdGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZ2V0Q2l0eShzdGF0ZSk7XG4gIH1cblxuICBnZXRDaXR5KHN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU51bWJlciA9IHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUludChzdGF0ZSwgMTApIDogc3RhdGU7XG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbD8uY2l0eSkge1xuICAgICAgdGhpcy5jaXRpZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGwuY2l0eS5maWx0ZXIoKGNvdXJzZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNpdHlTdGF0ZSA9IHR5cGVvZiBjb3Vyc2Uuc3RhdGUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoY291cnNlLnN0YXRlLCAxMCkgOiBjb3Vyc2Uuc3RhdGU7XG4gICAgICAgIHJldHVybiBjaXR5U3RhdGUgPT09IHN0YXRlTnVtYmVyO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2l0eShjaXR5OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBjaXR5TnVtYmVyID0gdHlwZW9mIGNpdHkgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoY2l0eSwgMTApIDogY2l0eTtcbiAgICBpZiAoY2l0eSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKGNpdHlOdW1iZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGhvdG8odHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGUgPT09ICdzdHVkZW50JykgdGhpcy5waG90byA9ICcvcGxhdGZvcm0vYWNhZGVtaWMvYXNzZXRzL3N0dWRlbnQuanBnJztcbiAgICBpZiAodHlwZSA9PT0gJ2FjYWRlbWljJykgdGhpcy5waG90byA9ICcvcGxhdGZvcm0vYWNhZGVtaWMvYXNzZXRzL2FjYWRlbWljby5wbmcnO1xuICAgIGlmICh0eXBlID09PSAnYWRtaW5pc3RyYXRpdmUnKSB0aGlzLnBob3RvID0gJy9wbGF0Zm9ybS9hZG1pbmlzdHJhdGl2ZS9hc3NldHMvYWRtaW5pc3RyYXRpdm8uanBnJztcbiAgICBpZiAodHlwZSA9PT0gJ21hcmtldGluZycpIHRoaXMucGhvdG8gPSAnL3BsYXRmb3JtL21hcmtldGluZy9hc3NldHMvbWFya2V0aW5nLmpwZyc7XG4gICAgaWYgKHR5cGUgPT09ICdjb21tZXJjaWFsJykgdGhpcy5waG90byA9ICcvcGxhdGZvcm0vY29tbWVyY2lhbC9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9jb21lcmNpYWwuanBnJztcbiAgICBpZiAodHlwZSA9PT0gJ3RyZWFzdXJlJykgdGhpcy5waG90byA9ICcvcGxhdGZvcm0vdHJlYXN1cmUvYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZyc7XG4gIH1cblxuICB1cGRhdGVVc2VyKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMudXBkYXRlVXNlckZvcm0uaW52YWxpZCB8fFxuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5oYXNFcnJvcignbWlzbWF0Y2gnKSB8fFxuICAgICAgIXRoaXMuaGFzRm9ybUNoYW5nZWQoKVxuICAgICkge1xuICAgICAgdGhpcy51cGRhdGVVc2VyRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICBjb25zb2xlLmxvZygnY3JlYXRlVXNlciAtIFZhbGlkYXRpb24gZmFpbGVkOicsIHtcbiAgICAgICAgaW52YWxpZDogdGhpcy51cGRhdGVVc2VyRm9ybS5pbnZhbGlkLFxuICAgICAgICBtaXNtYXRjaDogdGhpcy51cGRhdGVVc2VyRm9ybS5oYXNFcnJvcignbWlzbWF0Y2gnKSxcbiAgICAgICAgaGFzQ2hhbmdlczogdGhpcy5oYXNGb3JtQ2hhbmdlZCgpXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy51cGRhdGVVc2VyRm9ybS5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgY29uc3QgcmVxdWVzdDphbnkgPSB7XG4gICAgICB0b2tlbjogdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKSxcbiAgICAgIHVzZXI6IHtcbiAgICAgICAgY29kZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RlLFxuICAgICAgICBuYW1lOiBmb3JtVmFsdWUubmFtZSxcbiAgICAgICAgbGFzdF9uYW1lOiBmb3JtVmFsdWUubGFzdF9uYW1lLFxuICAgICAgICBpZF9jYXJkX3R5cGU6IGZvcm1WYWx1ZS5pZF9jYXJkX3R5cGUsXG4gICAgICAgIGlkX2NhcmQ6IGZvcm1WYWx1ZS5pZF9jYXJkLFxuICAgICAgICBwaG9uZV9pbmRpY2F0aXZlOiBmb3JtVmFsdWUucGhvbmVfaW5kaWNhdGl2ZSxcbiAgICAgICAgcGhvbmVfbnVtYmVyOiBmb3JtVmFsdWUucGhvbmVfbnVtYmVyLFxuICAgICAgICBlbWFpbDogZm9ybVZhbHVlLmVtYWlsLFxuICAgICAgICBnZW5kZXI6IGZvcm1WYWx1ZS5nZW5kZXIsXG4gICAgICAgIGNpdHk6IGZvcm1WYWx1ZS5jaXR5LFxuICAgICAgICBzZXJ2aWNlX2hvdXI6IGZvcm1WYWx1ZS5zZXJ2aWNlX2hvdXIsXG4gICAgICAgIHJvbGU6IHRoaXMuRGF0YVN0dWRlbnQucm9sZSxcbiAgICAgICAgc3RhdHVzOiBmb3JtVmFsdWUuc3RhdHVzLFxuICAgICAgICAuLi4odGhpcy5zaG93RW1haWxJcHQgPyB7IGVtYWlsX2lwdDogZm9ybVZhbHVlLmVtYWlsX2lwdCB9IDoge30pLFxuICAgICAgICAuLi4oZm9ybVZhbHVlLmNoYW5nZVBhc3N3b3JkICYmIGZvcm1WYWx1ZS5wYXNzd29yZCA/IHsgcGFzc3dvcmQ6IGZvcm1WYWx1ZS5wYXNzd29yZCB9IDoge30pXG4gICAgICB9LFxuICAgICAgcGFyZW50OiB0aGlzLnNob3dQYXJlbnRTZWN0aW9uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgY29kZTogdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LmNvZGUgfHwgbnVsbCxcbiAgICAgICAgICAgIG5hbWU6IGZvcm1WYWx1ZS5wYXJlbnRfbmFtZSB8fCBudWxsLFxuICAgICAgICAgICAgbGFzdF9uYW1lOiBmb3JtVmFsdWUucGFyZW50X2xhc3RfbmFtZSB8fCBudWxsLFxuICAgICAgICAgICAgaWRfY2FyZF90eXBlOiBmb3JtVmFsdWUucGFyZW50X2lkX2NhcmRfdHlwZSB8fCBudWxsLFxuICAgICAgICAgICAgaWRfY2FyZDogZm9ybVZhbHVlLnBhcmVudF9pZF9jYXJkIHx8IG51bGwsXG4gICAgICAgICAgICBwaG9uZV9pbmRpY2F0aXZlOiBmb3JtVmFsdWUucGFyZW50X3Bob25lX2luZGljYXRpdmUgfHwgbnVsbCxcbiAgICAgICAgICAgIHBob25lX251bWJlcjogZm9ybVZhbHVlLnBhcmVudF9waG9uZV9udW1iZXIgfHwgbnVsbCxcbiAgICAgICAgICAgIG9jY3VwYXRpb246IGZvcm1WYWx1ZS5wYXJlbnRfb2NjdXBhdGlvbiB8fCBudWxsLFxuICAgICAgICAgICAgb2ZmaWNlX2FkcnJlc3M6IGZvcm1WYWx1ZS5wYXJlbnRfb2ZmaWNlX2FkcnJlc3MgfHwgbnVsbCxcbiAgICAgICAgICAgIGVtYWlsOiBmb3JtVmFsdWUucGFyZW50X2VtYWlsIHx8IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIDogbnVsbFxuICAgIH07XG4gICAgY29uc29sZS5sb2cocmVxdWVzdCk7XG4gICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VyQW5kUGFyZW50QnlDb2RlKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIC8vIHRoaXMuY291cnNlVHlwZSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBpZiAocmVzcG9uc2UubWVzc2FnZS5jb2RlID09PTEpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIHRpdGxlOiAndXN1YXJpbyBhY3R1YWxpemFkbyBzYXRpc2ZhY3RvcmlhbWVudGUnLFxuICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICB0aW1lcjogMjUwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoaXMudXNlclVwZGF0ZWQgPSB0cnVlXG4gICAgICAgIHRoaXMudXNlclVwZGF0ZWRFdmVudC5lbWl0KCk7XG4gICAgICAgIHRoaXMuY2xvc2VUYWJsZSgpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgcG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgIGljb246ICdlcnJvcicsXG4gICAgICAgICAgdGl0bGU6ICdIYSBvY3VycmlkbyB1biBlcnJvciBpbmVzcGVyYWRvJyxcbiAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgdGltZXI6IDI1MDAsXG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnVzZXJVcGRhdGVkID0gZmFsc2VcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XG4gIH1cblxuICBoYXNGb3JtQ2hhbmdlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaW5pdGlhbEZvcm1WYWx1ZSB8fCAhdGhpcy5EYXRhU3R1ZGVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0UmF3VmFsdWUoKTtcblxuICAgIGlmIChjdXJyZW50VmFsdWUuY2hhbmdlUGFzc3dvcmQpIHtcbiAgICAgIGNvbnN0IHBhc3N3b3JkID0gY3VycmVudFZhbHVlLnBhc3N3b3JkO1xuICAgICAgY29uc3QgcmVQYXNzd29yZCA9IGN1cnJlbnRWYWx1ZS5yZV9wYXNzd29yZDtcbiAgICAgIGNvbnN0IHBhc3N3b3JkQ29udHJvbCA9IHRoaXMudXBkYXRlVXNlckZvcm0uZ2V0KCdwYXNzd29yZCcpO1xuICAgICAgY29uc3QgcmVQYXNzd29yZENvbnRyb2wgPSB0aGlzLnVwZGF0ZVVzZXJGb3JtLmdldCgncmVfcGFzc3dvcmQnKTtcblxuICAgICAgaWYgKFxuICAgICAgICBwYXNzd29yZENvbnRyb2w/LnZhbGlkICYmXG4gICAgICAgIHJlUGFzc3dvcmRDb250cm9sPy52YWxpZCAmJlxuICAgICAgICBwYXNzd29yZCA9PT0gcmVQYXNzd29yZCAmJlxuICAgICAgICBwYXNzd29yZD8udHJpbSgpICE9PSAnJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkc1RvQ29tcGFyZTogKGtleW9mIElGb3JtRGF0YVJxKVtdID0gW1xuICAgICAgJ25hbWUnLFxuICAgICAgJ2xhc3RfbmFtZScsXG4gICAgICAnZW1haWwnLFxuICAgICAgJ2dlbmRlcicsXG4gICAgICAnaWRfY2FyZF90eXBlJyxcbiAgICAgICdpZF9jYXJkJyxcbiAgICAgICdwaG9uZV9pbmRpY2F0aXZlJyxcbiAgICAgICdwaG9uZV9udW1iZXInLFxuICAgICAgJ2NvdW50cnknLFxuICAgICAgJ3N0YXRlJyxcbiAgICAgICdjaXR5JyxcbiAgICAgICdyb2xlJyxcbiAgICAgICdzZXJ2aWNlX2hvdXInLFxuICAgICAgJ3N0YXR1cydcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuc2hvd0VtYWlsSXB0KSB7XG4gICAgICBmaWVsZHNUb0NvbXBhcmUucHVzaCgnZW1haWxfaXB0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd1BhcmVudFNlY3Rpb24pIHtcbiAgICAgIGZpZWxkc1RvQ29tcGFyZS5wdXNoKFxuICAgICAgICAncGFyZW50X25hbWUnLFxuICAgICAgICAncGFyZW50X2xhc3RfbmFtZScsXG4gICAgICAgICdwYXJlbnRfaWRfY2FyZF90eXBlJyxcbiAgICAgICAgJ3BhcmVudF9pZF9jYXJkJyxcbiAgICAgICAgJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJyxcbiAgICAgICAgJ3BhcmVudF9waG9uZV9udW1iZXInLFxuICAgICAgICAncGFyZW50X29jY3VwYXRpb24nLFxuICAgICAgICAncGFyZW50X29mZmljZV9hZHJyZXNzJyxcbiAgICAgICAgJ3BhcmVudF9lbWFpbCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHNUb0NvbXBhcmUpIHtcbiAgICAgIGxldCBvcmlnaW5hbFZhbHVlOiBhbnk7XG4gICAgICBsZXQgY3VycmVudEZpZWxkVmFsdWU6IGFueSA9IGN1cnJlbnRWYWx1ZVtmaWVsZF07XG5cbiAgICAgIHN3aXRjaCAoZmllbGQpIHtcbiAgICAgICAgY2FzZSAnbmFtZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQubmFtZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGFzdF9uYW1lJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5sYXN0X25hbWUgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5lbWFpbCB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZW1haWxfaXB0JzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5lbWFpbF9pcHQgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2dlbmRlcic6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuZ2VuZGVyIHx8IG51bGw7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2lkX2NhcmRfdHlwZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuaWRfY2FyZF90eXBlIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdpZF9jYXJkJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5pZF9jYXJkIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwaG9uZV9pbmRpY2F0aXZlJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5waG9uZV9pbmRpY2F0aXZlIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwaG9uZV9udW1iZXInOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LnBob25lX251bWJlciB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY291bnRyeSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY2l0eT8uY291bnRyeSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3RhdGUnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNpdHk/LnN0YXRlIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjaXR5JzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jaXR5Py5jb2RlIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyb2xlJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy50cmFuc2Zvcm1Sb2xlKHRoaXMuRGF0YVN0dWRlbnQucm9sZSkgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NlcnZpY2VfaG91cic6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuc2VydmljZV9ob3VyO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdGF0dXMnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LnVzZXJfc3RhdHVzIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfbmFtZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5uYW1lIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfbGFzdF9uYW1lJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/Lmxhc3RfbmFtZSB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncGFyZW50X2lkX2NhcmRfdHlwZSc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5pZF9jYXJkX3R5cGU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhcmVudF9pZF9jYXJkJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LmlkX2NhcmQgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJzpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gdGhpcy5EYXRhU3R1ZGVudC5jb2RzPy5wYXJlbnQ/LnBob25lX2luZGljYXRpdmUgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhcmVudF9waG9uZV9udW1iZXInOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ucGhvbmVfbnVtYmVyIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfb2NjdXBhdGlvbic6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5vY2N1cGF0aW9uIHx8ICcnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdwYXJlbnRfb2ZmaWNlX2FkcnJlc3MnOlxuICAgICAgICAgIG9yaWdpbmFsVmFsdWUgPSB0aGlzLkRhdGFTdHVkZW50LmNvZHM/LnBhcmVudD8ub2ZmaWNlX2FkcnJlc3MgfHwgJyc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3BhcmVudF9lbWFpbCc6XG4gICAgICAgICAgb3JpZ2luYWxWYWx1ZSA9IHRoaXMuRGF0YVN0dWRlbnQuY29kcz8ucGFyZW50Py5lbWFpbCB8fCAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBvcmlnaW5hbFZhbHVlID0gJyc7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRDdXJyZW50ID0gY3VycmVudEZpZWxkVmFsdWUgIT0gbnVsbCA/IFN0cmluZyhjdXJyZW50RmllbGRWYWx1ZSkudHJpbSgpIDogJyc7XG4gICAgICBjb25zdCBub3JtYWxpemVkT3JpZ2luYWwgPSBvcmlnaW5hbFZhbHVlICE9IG51bGwgPyBTdHJpbmcob3JpZ2luYWxWYWx1ZSkudHJpbSgpIDogJyc7XG5cbiAgICAgIGlmIChub3JtYWxpemVkQ3VycmVudCAhPT0gbm9ybWFsaXplZE9yaWdpbmFsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSIsIjwhLS0gPHAtZGlhbG9nXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZU1vZGFsXCJcbiAgW3N0eWxlXT1cInt3aWR0aDogJzgwJSd9XCJcbiAgaGVhZGVyPVwiQWN0dWFsaXphciB1c3VhcmlvXCJcbiAgW21vZGFsXT1cInRydWVcIlxuICBzdHlsZUNsYXNzPVwicC1mbHVpZFwiXG4gIChvbkhpZGUpPVwiY2xvc2VUYWJsZSgpXCJcbiAgW2Rpc21pc3NhYmxlTWFza109XCJ0cnVlXCJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTkyMHB4JzogJzc1dncnLCAnMTQ0MHB4JzogJzc1dncnLCAnMTAyNHB4JzogJzc1dncnLCAnNTc2cHgnOiAnMTAwdncnfVwiXG4+IC0tPlxuPCEtLSA8ZGl2PlxuICA8cHJlPnt7IHVwZGF0ZVVzZXJGb3JtLnZhbHVlIHwganNvbiB9fTwvcHJlPlxuICA8ZGl2PlxuICAgIDxwcmU+e3sgdXBkYXRlVXNlckZvcm0udmFsaWQgfCBqc29uIH19PC9wcmU+XG4gIDwvZGl2PlxuPC9kaXY+IC0tPlxuICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICA8ZGl2PlxuICAgICAgPGZvcm0gKm5nSWY9XCJ1cGRhdGVVc2VyRm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwidXBkYXRlVXNlckZvcm1cIj5cbiAgICAgICAgPCEtLSBVc2VyIEluZm9ybWF0aW9uIFNlY3Rpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgIDxoMj5JbmZvcm1hY2nDs24gZGVsIHVzdWFyaW88L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JpZFwiPlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJykgPyAnRGViZSBpbmdyZXNhciBlbCBub21icmUnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykgPyAnTcOtbmltbyAzIGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ25hbWUnXS5oYXNFcnJvcignbWF4bGVuZ3RoJykgPyAnTcOheGltbyAzMiBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ10uaGFzRXJyb3IoJ3BhdHRlcm4nKSA/ICdTb2xvIGxldHJhcywgZXNwYWNpb3MgeSBndWlvbmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ10uaGFzRXJyb3IoJ2hhc1doaXRlc3BhY2UnKSA/ICdObyBzZSBwZXJtaXRlbiBlc3BhY2lvcyBhbCBpbmljaW8gbyBmaW5hbCcgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLmhhc0Vycm9yKCdvbmx5V2hpdGVzcGFjZScpID8gJ05vIHNlIHBlcm1pdGVuIHNvbG8gZXNwYWNpb3MnIDpcbiAgICAgICAgICAgICAgJ0RlYmUgaW5ncmVzYXIgZWwgbm9tYnJlJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInQXBlbGxpZG9zJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJykgPyAnRGViZSBpbmdyZXNhciBsb3MgYXBlbGxpZG9zJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykgPyAnTcOtbmltbyAzIGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSA/ICdNw6F4aW1vIDMyIGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2xhc3RfbmFtZSddLmhhc0Vycm9yKCdwYXR0ZXJuJykgPyAnU29sbyBsZXRyYXMsIGVzcGFjaW9zIHkgZ3Vpb25lcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10uaGFzRXJyb3IoJ2hhc1doaXRlc3BhY2UnKSA/ICdObyBzZSBwZXJtaXRlbiBlc3BhY2lvcyBhbCBpbmljaW8gbyBmaW5hbCcgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snbGFzdF9uYW1lJ10uaGFzRXJyb3IoJ29ubHlXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gc29sbyBlc3BhY2lvcycgOlxuICAgICAgICAgICAgICAnRGViZSBpbmdyZXNhciBsb3MgYXBlbGxpZG9zJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0VtYWlsJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWwnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0RlYmUgaW5ncmVzYXIgdW4gY29ycmVvIHbDoWxpZG8nIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpID8gJ03DoXhpbW8gMzAwIGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ10uaGFzRXJyb3IoJ3BhdHRlcm4nKSA/ICdUaWVuZSBxdWUgc2VyIHVuIGVtYWlsIGNvcnJlY3RvJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbCddLmhhc0Vycm9yKCdoYXNXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gZXNwYWNpb3MgYWwgaW5pY2lvIG8gZmluYWwnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ10uaGFzRXJyb3IoJ29ubHlXaGl0ZXNwYWNlJykgPyAnTm8gc2UgcGVybWl0ZW4gc29sbyBlc3BhY2lvcycgOlxuICAgICAgICAgICAgICAnRGViZSBpbmdyZXNhciB1biBjb3JyZW8gdsOhbGlkbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAqbmdJZj1cInNob3dFbWFpbElwdFwiXG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0VtYWlsIElQVCdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsX2lwdCddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsX2lwdCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0RlYmUgaW5ncmVzYXIgdW4gY29ycmVvIElQVCB2w6FsaWRvJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbF9pcHQnXS5oYXNFcnJvcignbWF4bGVuZ3RoJykgPyAnTcOheGltbyAyNTUgY2FyYWN0ZXJlcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZW1haWxfaXB0J10uaGFzRXJyb3IoJ3BhdHRlcm4nKSA/ICdUaWVuZSBxdWUgc2VyIHVuIGVtYWlsIGNvcnJlY3RvJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbF9pcHQnXS5oYXNFcnJvcignaGFzV2hpdGVzcGFjZScpID8gJ05vIHNlIHBlcm1pdGVuIGVzcGFjaW9zIGFsIGluaWNpbyBvIGZpbmFsJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydlbWFpbF9pcHQnXS5oYXNFcnJvcignb25seVdoaXRlc3BhY2UnKSA/ICdObyBzZSBwZXJtaXRlbiBzb2xvIGVzcGFjaW9zJyA6XG4gICAgICAgICAgICAgICdEZWJlIGluZ3Jlc2FyIHVuIGNvcnJlbyBJUFQgdsOhbGlkbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAqbmdJZj1cInNob3dFbWFpbElwdFwiXG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInSG9yYXMgZGUgc2VydmljaW8nXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlX2hvdXInXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGxhcyBob3JhcyBkZSBzZXJ2aWNpbydcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1JvbCdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3JvbGUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidSb2wgcmVxdWVyaWRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDwhLS0gPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2dlbmRlciddLnZhbHVlXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydnZW5kZXInXVwiXG4gICAgICAgICAgICBbc2VsZWN0Q29kZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZ2VuZGVyJ10udmFsdWUgPT09IG51bGwgPyAnU2VsZWNjaW9uZSBnw6luZXJvJyA6ICh1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snZ2VuZGVyJ10udmFsdWUgfCBnZW5kZXJEaXNwbGF5KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJnZW5kZXJzXCJcbiAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RHZW5kZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1NlbGVjY2lvbmUgZ8OpbmVybydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+IC0tPlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10udmFsdWVcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICAgICAgICBbZGF0YV09XCJpbmRpY2F0aXZlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZSgncGhvbmVfaW5kaWNhdGl2ZScsICRldmVudClcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidJbmRpY2F0aXZvJ1wiXG4gICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInVGVsw6lmb25vJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGhvbmVfbnVtYmVyJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciB1biBuw7ptZXJvIGRlIHRlbMOpZm9ubyB2w6FsaWRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkX3R5cGUnXS52YWx1ZVwiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZF90eXBlJ11cIlxuICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkX3R5cGUnXS52YWx1ZVwiXG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgnaWRfY2FyZF90eXBlJywgJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1RpcG8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInRG9jdW1lbnRvJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZCddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgZWwgbsO6bWVybyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICA8aXB0LXNlbGVjdFxuICAgICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWVcIlxuICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY291bnRyeSddXCJcbiAgICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZSA9PT0gbnVsbCA/ICdQYcOtcyBkZSByZXNpZGVuY2lhJyA6IHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWVcIlxuICAgICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q291bnRyeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiY291bnRyaWVzXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidQYcOtcyBkZSByZXNpZGVuY2lhJ1wiXG4gICAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzdGF0ZSddXCJcbiAgICAgICAgICAgIFtzZWxlY3RDb2RlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlID09PSBudWxsID8gJ0RlcGFydGFtZW50byBvIGVzdGFkbycgOiB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snc3RhdGUnXS52YWx1ZVwiXG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkYXRhXT1cInN0YXRlc1wiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0RlcGFydGFtZW50byBvIGVzdGFkbydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddXCJcbiAgICAgICAgICAgIFtzZWxlY3RDb2RlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10udmFsdWUgPT09IG51bGwgPyAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIDogdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkYXRhXT1cImNpdGllc1wiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0NpdWRhZCBkZSByZXNpZGVuY2lhJ1wiXG4gICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJ0aGlzLkRhdGFTdHVkZW50LnJvbGUgIT09IDEzXCIgY2xhc3M9XCJjYXJkIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1lbmQgdGV4dC1jZW4gdGVyIFwiPlxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImp1c3RpZnlPcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCIgb3B0aW9uVmFsdWU9XCJjb2RlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgIDxwLWNoZWNrYm94XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNoYW5nZVBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJDYW1iaW8gZGUgY29udHJhc2XDsWFcIlxuICAgICAgICAgICAgICBbYmluYXJ5XT1cInRydWVcIlxuICAgICAgICAgICAgPjwvcC1jaGVja2JveD5cbiAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncmlkXCIgKm5nSWY9XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1snY2hhbmdlUGFzc3dvcmQnXS52YWx1ZVwiPlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvbnRyYXNlw7FhJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpID8gJ0xhIGNvbnRyYXNlw7FhIGVzIHJlcXVlcmlkYScgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS5oYXNFcnJvcignbWlubGVuZ3RoJykgPyAnTcOtbmltbyA1IGNhcmFjdGVyZXMnIDpcbiAgICAgICAgICAgICAgdXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpID8gJ03DoXhpbW8gMzIgY2FyYWN0ZXJlcycgOlxuICAgICAgICAgICAgICAnSW5ncmVzZSB1bmEgY29udHJhc2XDsWEgdsOhbGlkYSdcIlxuICAgICAgICAgID48L2lwdC1pbnB1dD5cblxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1JlcGV0aXIgY29udHJhc2XDsWEnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyZV9wYXNzd29yZCddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJykgPyAnRGViZSByZXBldGlyIGxhIGNvbnRyYXNlw7FhJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyZV9wYXNzd29yZCddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSA/ICdNw61uaW1vIDUgY2FyYWN0ZXJlcycgOlxuICAgICAgICAgICAgICB1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncmVfcGFzc3dvcmQnXS5oYXNFcnJvcignbWF4bGVuZ3RoJykgPyAnTcOheGltbyAzMiBjYXJhY3RlcmVzJyA6XG4gICAgICAgICAgICAgIHVwZGF0ZVVzZXJGb3JtLmhhc0Vycm9yKCdtaXNtYXRjaCcpID8gJ0xhcyBjb250cmFzZcOxYXMgbm8gY29pbmNpZGVuJyA6XG4gICAgICAgICAgICAgICdSZXBpdGEgbGEgY29udHJhc2XDsWEnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gTWVuc2FqZSBhZGljaW9uYWwgcGFyYSBlbCBlcnJvciBkZSBtaXNtYXRjaCAob3BjaW9uYWwsIHNpIHF1aWVyZXMgbW9zdHJhcmxvIHBvciBzZXBhcmFkbykgLS0+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInVwZGF0ZVVzZXJGb3JtLmhhc0Vycm9yKCdtaXNtYXRjaCcpICYmIHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaGFuZ2VQYXNzd29yZCddLnZhbHVlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICAgICAgPHNtYWxsID5MYXMgY29udHJhc2XDsWFzIG5vIGNvaW5jaWRlbjwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIFBhcmVudCBJbmZvcm1hdGlvbiBTZWN0aW9uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIiAqbmdJZj1cIkRhdGFTdHVkZW50Py5jb2RzXCI+XG4gICAgICAgICAgPGgyPkluZm9ybWFjacOzbiBkZWwgYWN1ZGllbnRlPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJEYXRhU3R1ZGVudD8uY29kc1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UGFyZW50U2VjdGlvbjsgZWxzZSBub1BhcmVudE1lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyaWRcIj5cbiAgICAgICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X25hbWUnXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBub21icmUnXCJcbiAgICAgICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInQXBlbGxpZG9zJ1wiXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwidXBkYXRlVXNlckZvcm0uY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBsb3MgYXBlbGxpZG9zJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ09jdXBhY2nDs24nXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBsYSBvY3VwYWNpw7NuJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXJlbnRfZW1haWwnXVwiXG4gICAgICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciB1biBjb3JyZW8gdsOhbGlkbydcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0Q29kZV09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IHVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxuICAgICAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGUoJ3BhcmVudF9pZF9jYXJkX3R5cGUnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1RpcG8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICAgICAgICAgIFtjb250cm9sXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG7Dum1lcm8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgICAgICBbaW5pdGlhbFZhbHVlXT1cInVwZGF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxuICAgICAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJbmRpY2F0aXZlKCdwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZScsICRldmVudClcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5kaWNhdGl2bydcIlxuICAgICAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidUZWzDqWZvbm8nXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddXCJcbiAgICAgICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIHbDoWxpZG8nXCJcbiAgICAgICAgICAgICAgPjwvaXB0LWlucHV0PlxuXG4gICAgICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEaXJlY2Npw7NuIGRlIG9maWNpbmEnXCJcbiAgICAgICAgICAgICAgICBbY29udHJvbF09XCJ1cGRhdGVVc2VyRm9ybS5jb250cm9sc1sncGFyZW50X29mZmljZV9hZHJyZXNzJ11cIlxuICAgICAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbGEgZGlyZWNjacOzbidcIlxuICAgICAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vUGFyZW50TWVzc2FnZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1wYXJlbnQtbWVzc2FnZVwiPlxuICAgICAgICAgICAgICA8cD5TaW4gYWN1ZGllbnRlPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCI+XG4gICAgICAgIDxpcHQtYnV0dG9uXG4gICAgICAgICAgW2xhYmVsXT1cIidBY3R1YWxpemFyJ1wiXG4gICAgICAgICAgW2lzRW5hYmxlZF09XCIhbG9hZGVyICYmIHVwZGF0ZVVzZXJGb3JtLnZhbGlkICYmICF1cGRhdGVVc2VyRm9ybS5oYXNFcnJvcignbWlzbWF0Y2gnKSAmJiBoYXNGb3JtQ2hhbmdlZCgpXCJcbiAgICAgICAgICAob25DbGljayk9XCJ1cGRhdGVVc2VyKClcIlxuICAgICAgICAgIFtwcmltYXJ5XT1cInRydWVcIlxuICAgICAgICA+PC9pcHQtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48IS0tIDwvcC1kaWFsb2c+IC0tPiJdfQ==
|
|
@@ -26,7 +26,7 @@ import * as i2 from 'primeng/panel';
|
|
|
26
26
|
import { PanelModule } from 'primeng/panel';
|
|
27
27
|
import * as i4 from 'primeng/skeleton';
|
|
28
28
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
29
|
-
import * as i2$2 from 'design-system
|
|
29
|
+
import * as i2$2 from 'design-system';
|
|
30
30
|
import * as i6$1 from 'primeng/button';
|
|
31
31
|
import { ButtonModule } from 'primeng/button';
|
|
32
32
|
import { BehaviorSubject, finalize, map } from 'rxjs';
|