gamma-app-controller 2.0.2 → 2.0.4

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.
@@ -145,7 +145,7 @@ export class CreateDatasetComponent {
145
145
  }
146
146
  };
147
147
  this.jsonDataset = {
148
- "api": "/kpi-config/getJsonDatasetPayload",
148
+ "api": "/ui-config/getJsonDatasetPayload",
149
149
  "apiType": "get",
150
150
  "serviceId": "",
151
151
  "queryConfig": {
@@ -349,4 +349,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
349
349
  type: Input,
350
350
  args: ['selectedDatasetId']
351
351
  }] } });
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWRhdGFzZXQtY29tcG9uZW50L2NyZWF0ZS1kYXRhc2V0L2NyZWF0ZS1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvYXBwbGljYXRpb24tY29udHJvbGxlci9hcHBsaWNhdGlvbi1kYXRhc2V0LWNvbXBvbmVudC9jcmVhdGUtZGF0YXNldC9jcmVhdGUtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLHNCQUFzQjtJQW9NakMsWUFDVSxPQUFrQyxFQUNsQyxNQUFxQixFQUN0QixhQUE0QixFQUMzQixNQUFjLEVBQ2QsY0FBOEI7UUFKOUIsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdk14QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx1QkFBa0IsR0FBRztZQUNuQixhQUFhLEVBQUUsRUFBRTtZQUNqQixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDO1FBRUYseUJBQW9CLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ2xILEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDakksaUJBQVksR0FBRztZQUNiLEtBQUssRUFBRSxxQ0FBcUM7WUFDNUMsV0FBVyxFQUFFLEVBQUU7WUFDZixTQUFTLEVBQUUsTUFBTTtZQUNqQixhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsU0FBUyxFQUFFLFdBQVc7b0JBQ3RCLE9BQU8sRUFBRSxZQUFZO29CQUNyQixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLG1CQUFtQixFQUFFLFNBQVM7b0JBQzlCLG9CQUFvQixFQUFFLFlBQVk7b0JBQ2xDLGdCQUFnQixFQUFFLFVBQVU7b0JBQzVCLGVBQWUsRUFBRSxTQUFTO2lCQUMzQjtnQkFDRDtvQkFDRSxTQUFTLEVBQUUsU0FBUztvQkFDcEIsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLFlBQVksRUFBRSxNQUFNO29CQUNwQixjQUFjLEVBQUUsRUFBRTtvQkFDbEIsbUJBQW1CLEVBQUUsU0FBUztvQkFDOUIsb0JBQW9CLEVBQUUsWUFBWTtvQkFDbEMsZ0JBQWdCLEVBQUUsVUFBVTtvQkFDNUIsZUFBZSxFQUFFLFFBQVE7aUJBQzFCO2FBQ0Y7WUFDRCxvQkFBb0IsRUFBRSxFQUFFO1NBQ3pCLENBQUE7UUFFRCx1QkFBa0IsR0FBRztZQUNuQixLQUFLLEVBQUUsa0RBQWtEO1lBQ3pELFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsYUFBYSxFQUFFO2dCQUNiLGNBQWMsRUFBRTtvQkFDZDt3QkFDRSxhQUFhLEVBQUUsV0FBVzt3QkFDMUIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLGNBQWMsRUFBRSxLQUFLO3dCQUNyQixjQUFjLEVBQUUsRUFBRTt3QkFDbEIsVUFBVSxFQUFFLFFBQVE7cUJBQ3JCO29CQUNEO3dCQUNFLGFBQWEsRUFBRSxTQUFTO3dCQUN4QixjQUFjLEVBQUUsYUFBYTt3QkFDN0IsY0FBYyxFQUFFLEtBQUs7d0JBQ3JCLGNBQWMsRUFBRSxFQUFFO3dCQUNsQixVQUFVLEVBQUUsUUFBUTtxQkFDckI7aUJBQ0Y7Z0JBQ0QsU0FBUyxFQUFFLEVBRVY7Z0JBQ0QsV0FBVyxFQUFFLEVBRVo7Z0JBQ0QsVUFBVSxFQUFFLEVBRVg7Z0JBQ0QsUUFBUSxFQUFFLEVBRVQ7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFNBQVMsRUFBRSxFQUNWO2FBQ0Y7U0FDRixDQUFBO1FBRUQsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRSxFQUFFO1lBQ1QsU0FBUyxFQUFFLE1BQU07WUFDakIsV0FBVyxFQUFFLEVBQUU7WUFDZixhQUFhLEVBQUU7Z0JBQ2IsY0FBYyxFQUFFO29CQUNkO3dCQUNFLGFBQWEsRUFBRSxXQUFXO3dCQUMxQixjQUFjLEVBQUUsWUFBWTt3QkFDNUIsY0FBYyxFQUFFLEtBQUs7d0JBQ3JCLGNBQWMsRUFBRSxFQUFFO3dCQUNsQixVQUFVLEVBQUUsUUFBUTtxQkFDckI7b0JBQ0Q7d0JBQ0UsYUFBYSxFQUFFLFNBQVM7d0JBQ3hCLGNBQWMsRUFBRSxZQUFZO3dCQUM1QixjQUFjLEVBQUUsS0FBSzt3QkFDckIsY0FBYyxFQUFFLEVBQUU7d0JBQ2xCLFVBQVUsRUFBRSxRQUFRO3FCQUNyQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLGtCQUFhLEdBQUc7WUFDZCxLQUFLLEVBQUUsOEJBQThCO1lBQ3JDLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsYUFBYSxFQUFFO2dCQUNiLGVBQWUsRUFBRSxFQUFFO2dCQUNuQixjQUFjLEVBQUUsRUFBRTtnQkFDbEIsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRTtvQkFDZDt3QkFDRSxhQUFhLEVBQUUsV0FBVzt3QkFDMUIsY0FBYyxFQUFFLGFBQWE7d0JBQzdCLGNBQWMsRUFBRSxLQUFLO3dCQUNyQixjQUFjLEVBQUUsRUFBRTt3QkFDbEIsVUFBVSxFQUFFLFFBQVE7cUJBQ3JCO29CQUNEO3dCQUNFLGFBQWEsRUFBRSxTQUFTO3dCQUN4QixjQUFjLEVBQUUsYUFBYTt3QkFDN0IsY0FBYyxFQUFFLEtBQUs7d0JBQ3JCLGNBQWMsRUFBRSxFQUFFO3dCQUNsQixVQUFVLEVBQUUsUUFBUTtxQkFDckI7b0JBQ0Q7d0JBQ0UsYUFBYSxFQUFFLE9BQU87d0JBQ3RCLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixjQUFjLEVBQUUsSUFBSTt3QkFDcEIsY0FBYyxFQUFFLE1BQU07d0JBQ3RCLFVBQVUsRUFBRSxLQUFLO3FCQUNsQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUVGLGdCQUFXLEdBQUc7WUFDWixLQUFLLEVBQUUsbUNBQW1DO1lBQzFDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsYUFBYSxFQUFFO2dCQUNiLGNBQWMsRUFBRTtvQkFDZDt3QkFDRSxhQUFhLEVBQUUsV0FBVzt3QkFDMUIsY0FBYyxFQUFFLFlBQVk7d0JBQzVCLGNBQWMsRUFBRSxLQUFLO3dCQUNyQixjQUFjLEVBQUUsRUFBRTt3QkFDbEIsVUFBVSxFQUFFLFFBQVE7cUJBQ3JCO29CQUNEO3dCQUNFLGFBQWEsRUFBRSxTQUFTO3dCQUN4QixjQUFjLEVBQUUsWUFBWTt3QkFDNUIsY0FBYyxFQUFFLEtBQUs7d0JBQ3JCLGNBQWMsRUFBRSxFQUFFO3dCQUNsQixVQUFVLEVBQUUsUUFBUTtxQkFDckI7aUJBQ0Y7YUFDRjtTQUNGLENBQUE7UUFHUSxhQUFRLEdBQVksSUFBSSxDQUFDO0lBd0M5QixDQUFDO0lBdENMLElBQ0ksaUJBQWlCLENBQUMsS0FBSztRQUN6QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFBO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNoRCxJQUFJLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7b0JBQy9CLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLEVBQUU7d0JBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtxQkFDaEM7eUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLGNBQWMsRUFBRTt3QkFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7cUJBQ3RDO3lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUU7d0JBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztxQkFDbkM7eUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLFVBQVUsRUFBRTt3QkFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO3FCQUNsQzt5QkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7cUJBQ2hDO2dCQUNILENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDJEQUEyRCxFQUFFLGtCQUFrQixDQUFDLENBQUE7Z0JBQ3BHLENBQUM7YUFDRixDQUFDLENBQUE7U0FDSDthQUFNO1NBR047SUFHSCxDQUFDO0lBVUQsUUFBUTtRQUNOLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RSxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsSUFBSSxXQUFXLElBQUksT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUV6QixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDcEQsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO29CQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxFQUFFO3dCQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7cUJBQ2hDO3lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxjQUFjLEVBQUU7d0JBQzdDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO3FCQUN0Qzt5QkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7cUJBQ25DO3lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEVBQUU7d0JBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztxQkFDaEM7eUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLFVBQVUsRUFBRTt3QkFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO3FCQUNsQztnQkFDSCxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywyREFBMkQsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO2dCQUNwRyxDQUFDO2FBQ0YsQ0FBQyxDQUFBO1NBaUJIO0lBRUgsQ0FBQztJQUdELHlCQUF5QixDQUFDLElBQUk7UUFFNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUV4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO2FBRTlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1NBQ0Y7SUFDSCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsSUFBSTtRQUU1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBRXhCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUE7YUFDOUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFFOUI7U0FDRjtJQUNILENBQUM7SUFHRCw0QkFBNEIsQ0FBQyxJQUFJO1FBRS9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFFeEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTthQUM5QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUU5QjtTQUNGO0lBRUgsQ0FBQztJQUlELG9CQUFvQixDQUFDLElBQUk7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1NBQ0Y7SUFFSCxDQUFDO0lBR0QscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUVsQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUE7WUFLckQsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywyREFBMkQsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1lBQ3BHLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JFLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUVsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUlyRCxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDJEQUEyRCxFQUFFLGtCQUFrQixDQUFDLENBQUE7WUFDcEcsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUdELHFCQUFxQixDQUFDLElBQUk7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1NBQ0Y7SUFJSCxDQUFDOzttSEE3WFUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb0lDWG5DLCtqRkFtRE07MkZEeENPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7ME5Bc0tyQixRQUFRO3NCQUFoQixLQUFLO2dCQUdGLGlCQUFpQjtzQkFEcEIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHBsaWNhdGlvbi1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1kYXRhc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1kYXRhc2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWRhdGFzZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVEYXRhc2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbG9hZGluZ01vZGFsOiBib29sZWFuO1xuICBpc0R1cGxpZGF0ZVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3JlYXREYXRhc2V0T2JqZWN0ID0ge1xuICAgIFwiZGF0YXNldE5hbWVcIjogXCJcIixcbiAgICBcImRhdGFzZXRUeXBlXCI6IFwiXCJcbiAgfTtcblxuICBkYXRhU2V0VHlwZUNvbnRhaW5lciA9IFt7IG5hbWU6IFwiUXVlcnkgQnVpbGRlclwiLCB2YWx1ZTogXCJxdWVyeWJ1aWxkZXJcIiB9LCB7IG5hbWU6IFwiU2VydmljZSBKU09OXCIsIHZhbHVlOiBcIm1vbmdvXCIgfSxcbiAgeyBuYW1lOiBcIlJlc3QgQVBJXCIsIHZhbHVlOiBcInNpbXBsZUFwaVwiIH0sIHsgbmFtZTogXCJTUUwgQnVpbGRlclwiLCB2YWx1ZTogXCJzcWxRdWVyeVwiIH0sIHsgbmFtZTogXCJQbGFpbiBKU09OXCIsIHZhbHVlOiBcInBsYWluanNvblwiIH1dXG4gIG1vbmdvRGF0YXNldCA9IHtcbiAgICBcImFwaVwiOiBcIi9rcGkvdHJlbmRzL25ldHdvcmsvZ2V0LW1ldHJpYy1kYXRhXCIsXG4gICAgXCJzZXJ2aWNlSWRcIjogXCJcIixcbiAgICBcImFwaVR5cGVcIjogXCJwb3N0XCIsXG4gICAgXCJmaWx0ZXJJdGVtc1wiOiBbXG4gICAgICB7XG4gICAgICAgIFwiYXBpTmFtZVwiOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICBcImxhYmVsXCI6IFwiU3RhcnQgRGF0ZVwiLFxuICAgICAgICBcImZpbHRlclR5cGVcIjogXCJkYXRlXCIsXG4gICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwiXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclR5cGVcIjogXCJkeW5hbWljXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclZhbHVlXCI6IFwiWVlZWS1NTS1ERFwiLFxuICAgICAgICBcIm1vbWVudEZ1bmN0aW9uXCI6IFwic3VidHJhY3RcIixcbiAgICAgICAgXCJtb21lbnRGb3JtYXRlXCI6IFwiMTUsZGF5c1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcImFwaU5hbWVcIjogXCJlbmREYXRlXCIsXG4gICAgICAgIFwibGFiZWxcIjogXCJFbmQgRGF0ZVwiLFxuICAgICAgICBcImZpbHRlclR5cGVcIjogXCJkYXRlXCIsXG4gICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwiXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclR5cGVcIjogXCJkeW5hbWljXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclZhbHVlXCI6IFwiWVlZWS1NTS1ERFwiLFxuICAgICAgICBcIm1vbWVudEZ1bmN0aW9uXCI6IFwic3VidHJhY3RcIixcbiAgICAgICAgXCJtb21lbnRGb3JtYXRlXCI6IFwiMSxkYXlzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIFwiZml4T3BlcmF0aW9uTGV2bGVzXCI6IFtdXG4gIH1cblxuICBxdWVyeUJ1bGRlckRhdGFzZXQgPSB7XG4gICAgXCJhcGlcIjogXCIva3BpL2dlbmVyaWNBZ2dyZWdhdGVQYWdpbmF0ZWRLcGlTZXJ2aWNlUmVzcG9uc2VcIixcbiAgICBcImFwaVR5cGVcIjogXCJwb3N0XCIsXG4gICAgXCJzZXJ2aWNlSWRcIjogXCJcIixcbiAgICBcInF1ZXJ5Q29uZmlnXCI6IHtcbiAgICAgIFwibWFwZWRGaWx0ZXJzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibG9jYWxDb2x1bW5cIjogXCJzdGFydERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZF9kYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJndGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcImVuZERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZF9kYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJsdGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJzb3J0ZXJzXCI6IFtcblxuICAgICAgXSxcbiAgICAgIFwicmVxRmllbGRzXCI6IFtcblxuICAgICAgXSxcbiAgICAgIFwibWVhc3VyZXNcIjogW1xuXG4gICAgICBdLFxuICAgICAgXCJmaWx0ZXJcIjogW1xuXG4gICAgICBdLFxuICAgICAgXCJoYXZpbmdzXCI6IFtdLFxuICAgICAgXCJjb21tb25Db25maWdcIjoge30sXG4gICAgICBcImNvbHVtbnNcIjogW1xuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIHJlc3RBcGlEYXRhc2V0ID0ge1xuICAgIFwiYXBpXCI6IFwiXCIsXG4gICAgXCJhcGlUeXBlXCI6IFwicG9zdFwiLFxuICAgIFwic2VydmljZUlkXCI6IFwiXCIsXG4gICAgXCJxdWVyeUNvbmZpZ1wiOiB7XG4gICAgICBcIm1hcGVkRmlsdGVyc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwic3RhcnREYXRlXCIsXG4gICAgICAgICAgXCJzZXJ2ZXJDb2x1bW5cIjogXCJyZWNvcmREYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJndGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcImVuZERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZERhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImx0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH07XG4gIHNxbEFwaURhdGFzZXQgPSB7XG4gICAgXCJhcGlcIjogXCIva3BpL2dlbmVyaWNTcWxRdWVyeVJlc3BvbnNlXCIsXG4gICAgXCJhcGlUeXBlXCI6IFwicG9zdFwiLFxuICAgIFwic2VydmljZUlkXCI6IFwiXCIsXG4gICAgXCJxdWVyeUNvbmZpZ1wiOiB7XG4gICAgICBcInRlbXBsYXRlUXVlcnlcIjogXCJcIixcbiAgICAgIFwiZGF0YWJhc2VOYW1lXCI6IFwiXCIsXG4gICAgICBcImRiQ29uZmlnXCI6IFwiXCIsXG4gICAgICBcImVucmljaG1lbnRzXCI6IFtdLFxuICAgICAgXCJtYXBlZEZpbHRlcnNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkX2RhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImd0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwiZW5kRGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkX2RhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImx0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwibGltaXRcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcImxpbWl0XCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJlcVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiNTAwMFwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJpbnRcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9O1xuXG4gIGpzb25EYXRhc2V0ID0ge1xuICAgIFwiYXBpXCI6IFwiL2twaS1jb25maWcvZ2V0SnNvbkRhdGFzZXRQYXlsb2FkXCIsXG4gICAgXCJhcGlUeXBlXCI6IFwiZ2V0XCIsXG4gICAgXCJzZXJ2aWNlSWRcIjogXCJcIixcbiAgICBcInF1ZXJ5Q29uZmlnXCI6IHtcbiAgICAgIFwibWFwZWRGaWx0ZXJzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibG9jYWxDb2x1bW5cIjogXCJzdGFydERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZERhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImd0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwiZW5kRGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkRGF0ZVwiLFxuICAgICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwibHRlXCIsXG4gICAgICAgICAgXCJkZWZhdWx0VmFsdWVcIjogXCJcIixcbiAgICAgICAgICBcImRhdGFUeXBlXCI6IFwic3RyaW5nXCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIGlucHV0RGF0YXNldElEOiBhbnk7XG4gIEBJbnB1dCgpIGlzSGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoJ3NlbGVjdGVkRGF0YXNldElkJylcbiAgc2V0IHNlbGVjdGVkRGF0YXNldElkKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmlucHV0RGF0YXNldElEID0gdmFsdWVcbiAgICAgIHRoaXMuc2VydmljZS5nZXRBcHBEYXRhc2V0Q29uZmlnKHZhbHVlKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdCA9IGRhdGE7XG4gICAgICAgICAgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ21vbmdvJykge1xuICAgICAgICAgICAgdGhpcy5tb25nb0RhdGFzZXQgPSBkYXRhLmNvbmZpZ1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAncXVlcnlidWlsZGVyJykge1xuICAgICAgICAgICAgdGhpcy5xdWVyeUJ1bGRlckRhdGFzZXQgPSBkYXRhLmNvbmZpZ1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAnc2ltcGxlQXBpJykge1xuICAgICAgICAgICAgdGhpcy5yZXN0QXBpRGF0YXNldCA9IGRhdGEuY29uZmlnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAnc3FsUXVlcnknKSB7XG4gICAgICAgICAgICB0aGlzLnNxbEFwaURhdGFzZXQgPSBkYXRhLmNvbmZpZztcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ3BsYWluanNvbicpIHtcbiAgICAgICAgICAgIHRoaXMuanNvbkRhdGFzZXQgPSBkYXRhLmNvbmZpZztcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnRGF0YXNldCBDcmVhdGlvbicpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcblxuXG4gICAgfVxuXG5cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VydmljZTogQXBwbGljYXRpb25Db250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcbiAgICBwdWJsaWMgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IGRhdGFzZXRJZCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2RhdGFzZXRJZCddO1xuICAgIGxldCBjb250ZW50VHlwZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2NvbnRlbnRUeXBlJ107XG4gICAgaWYgKGNvbnRlbnRUeXBlID09IFwiY2xvbmVcIikge1xuICAgICAgdGhpcy5pc0R1cGxpZGF0ZVZpZXcgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoZGF0YXNldElkKSB7XG4gICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IHRydWU7XG5cbiAgICAgIHRoaXMuc2VydmljZS5nZXRBcHBEYXRhc2V0Q29uZmlnKGRhdGFzZXRJZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZ01vZGFsID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3QgPSBkYXRhO1xuICAgICAgICAgIGlmIChkYXRhLmRhdGFzZXRUeXBlID09ICdtb25nbycpIHtcbiAgICAgICAgICAgIHRoaXMubW9uZ29EYXRhc2V0ID0gZGF0YS5jb25maWdcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ3F1ZXJ5YnVpbGRlcicpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlCdWxkZXJEYXRhc2V0ID0gZGF0YS5jb25maWdcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ3NpbXBsZUFwaScpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdEFwaURhdGFzZXQgPSBkYXRhLmNvbmZpZztcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ3BsYWluanNvbicpIHtcbiAgICAgICAgICAgIHRoaXMuanNvbkRhdGFzZXQgPSBkYXRhLmNvbmZpZztcbiAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ3NxbFF1ZXJ5Jykge1xuICAgICAgICAgICAgdGhpcy5zcWxBcGlEYXRhc2V0ID0gZGF0YS5jb25maWc7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignVW5leHBlY3RlZCBTZXJ2ZXIgRXhjZXB0aW9uLiBQbGVhc2UgY29udGFjdCBTeXN0ZW0gQWRtaW4uJywgJ0RhdGFzZXQgQ3JlYXRpb24nKVxuICAgICAgICB9XG4gICAgICB9KVxuXG5cbiAgICAgIC8vIHRoaXMuc2VydmljZS5nZXRBcHBEYXRhc2V0Q29uZmlncygpLnN1YnNjcmliZSh7XG4gICAgICAvLyAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgIC8vICAgICBjb25zdCBmb3VuZE9iamVjdCA9IGRhdGEuZmluZChkYXRhc2V0ID0+IGRhdGFzZXQuZGF0YXNldElkID09PSBkYXRhc2V0SWQpO1xuICAgICAgLy8gICAgIHRoaXMubG9hZGluZ01vZGFsID0gZmFsc2U7XG4gICAgICAvLyAgICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3QgPSBmb3VuZE9iamVjdDtcbiAgICAgIC8vICAgICBpZiAoZm91bmRPYmplY3QuZGF0YXNldFR5cGUgPT0gJ21vbmdvJykge1xuICAgICAgLy8gICAgICAgdGhpcy5tb25nb0RhdGFzZXQgPSBmb3VuZE9iamVjdC5jb25maWdcbiAgICAgIC8vICAgICB9IGVsc2UgaWYgKGZvdW5kT2JqZWN0LmRhdGFzZXRUeXBlID09ICdxdWVyeWJ1aWxkZXInKSB7XG4gICAgICAvLyAgICAgICB0aGlzLnF1ZXJ5QnVsZGVyRGF0YXNldCA9IGZvdW5kT2JqZWN0LmNvbmZpZ1xuICAgICAgLy8gICAgIH0gZWxzZSBpZiAoZm91bmRPYmplY3QuZGF0YXNldFR5cGUgPT0gJ3NpbXBsZUFwaScpIHtcbiAgICAgIC8vICAgICAgIHRoaXMucmVzdEFwaURhdGFzZXQgPSBmb3VuZE9iamVjdC5jb25maWc7XG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9KVxuICAgIH1cblxuICB9XG5cblxuICBjcmVhdGVNb25nb1NlcnZpY2VEYXRhU2V0KGRhdGEpIHtcblxuICAgIHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0Wydjb25maWcnXSA9IGRhdGE7XG4gICAgY29uc29sZS5sb2codGhpcy5jcmVhdERhdGFzZXRPYmplY3QpO1xuICAgIHRoaXMubG9hZGluZ01vZGFsID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5pc0R1cGxpZGF0ZVZpZXcpIHtcblxuICAgICAgdGhpcy5jcmVhdGVOZURhdGFTZXRDb25maWcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0WydkYXRhc2V0SWQnXSkge1xuICAgICAgICB0aGlzLnVwZGF0YU5ld0RhdGFTZXRDb25naWcoKVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjcmVhdGVRdWVyeUJ1aWxkZXJEYXRhU2V0KGRhdGEpIHtcblxuICAgIHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0Wydjb25maWcnXSA9IGRhdGE7XG4gICAgY29uc29sZS5sb2codGhpcy5jcmVhdERhdGFzZXRPYmplY3QpO1xuICAgIHRoaXMubG9hZGluZ01vZGFsID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5pc0R1cGxpZGF0ZVZpZXcpIHtcblxuICAgICAgdGhpcy5jcmVhdGVOZURhdGFTZXRDb25maWcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0WydkYXRhc2V0SWQnXSkge1xuICAgICAgICB0aGlzLnVwZGF0YU5ld0RhdGFTZXRDb25naWcoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVOZURhdGFTZXRDb25maWcoKTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgY3JlYXRlU3FsUXVlcnlCdWlsZGVyRGF0YVNldChkYXRhKSB7XG5cbiAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnY29uZmlnJ10gPSBkYXRhO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0KTtcbiAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IHRydWU7XG4gICAgaWYgKHRoaXMuaXNEdXBsaWRhdGVWaWV3KSB7XG5cbiAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnZGF0YXNldElkJ10pIHtcbiAgICAgICAgdGhpcy51cGRhdGFOZXdEYXRhU2V0Q29uZ2lnKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cblxuICBjcmVhdGVSZXN0QXBpRGF0YVNldChkYXRhKSB7XG4gICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2NvbmZpZyddID0gZGF0YTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCk7XG4gICAgdGhpcy5sb2FkaW5nTW9kYWwgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuaXNEdXBsaWRhdGVWaWV3KSB7XG4gICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2RhdGFzZXRJZCddKSB7XG4gICAgICAgIHRoaXMudXBkYXRhTmV3RGF0YVNldENvbmdpZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICBjcmVhdGVOZURhdGFTZXRDb25maWcoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZUFwcERhdGFzZXQodGhpcy5jcmVhdERhdGFzZXRPYmplY3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIC8vIHRoaXMuaXNOZXdEYXRhU2V0Q3JlYXRlVmlldyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRHVwbGlkYXRlVmlldyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKCdEYXRhc2V0IENyZWF0ZWQgU3VjY2Vzc2Z1bGx5JylcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNIZWFkZXIpIHtcbiAgICAgICAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2FwcHMvY29udHJvbFBhbmVsL2FwcGxpY2F0aW9uRGF0YXNldC8nXSlcbiAgICAgICAgLy8gfVxuXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnRGF0YXNldCBDcmVhdGlvbicpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVwZGF0YU5ld0RhdGFTZXRDb25naWcoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZUFwcERhdGFzZXRDb25maWcodGhpcy5jcmVhdERhdGFzZXRPYmplY3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIC8vIHRoaXMuaXNOZXdEYXRhU2V0Q3JlYXRlVmlldyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKCdEYXRhc2V0IFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5JylcbiAgICAgICAgLy8gaWYgKHRoaXMuaXNIZWFkZXIpIHtcbiAgICAgICAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2FwcHMvY29udHJvbFBhbmVsL2FwcGxpY2F0aW9uRGF0YXNldC8nXSlcbiAgICAgICAgLy8gfVxuICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignVW5leHBlY3RlZCBTZXJ2ZXIgRXhjZXB0aW9uLiBQbGVhc2UgY29udGFjdCBTeXN0ZW0gQWRtaW4uJywgJ0RhdGFzZXQgQ3JlYXRpb24nKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnb3RvQWxsRGF0YXNldHMoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydhcHBzL2NvbnRyb2xQYW5lbC9hcHBsaWNhdGlvbkRhdGFzZXQvJ10pXG4gIH1cblxuXG4gIGNyZWF0ZURhdGFTZXRXaXRoSnNvbihkYXRhKSB7XG4gICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2NvbmZpZyddID0gZGF0YTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCk7XG4gICAgaWYgKHRoaXMuaXNEdXBsaWRhdGVWaWV3KSB7XG4gICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2RhdGFzZXRJZCddKSB7XG4gICAgICAgIHRoaXMudXBkYXRhTmV3RGF0YVNldENvbmdpZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgfVxuXG59XG4iLCI8YXBwLWxvYWRpbmcgKm5nSWY9XCJsb2FkaW5nTW9kYWxcIj48L2FwcC1sb2FkaW5nPlxuXG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gbWluLXctMFwiPlxuXG4gICAgPGxpYi1jb21tb24taGVhZGVyIFtwYWdlVGl0bGVdPVwiJ0RhdGFzZXQgRWRpdG9yJ1wiICpuZ0lmPVwiaXNIZWFkZXJcIj48L2xpYi1jb21tb24taGVhZGVyPlxuXG5cbiAgICA8ZGl2IGNsYXNzPVwicC0yIHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgIDxoNlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWItMiBmb250LWJvbGQgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10YWJsZSBtci0yXCI+PC9pPiBEYXRhc2V0IEVkaXRvclxuXG4gICAgICAgICAgICA8L2g2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXktNFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIG1iLTJcIj5EYXRhc2V0IE5hbWU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXROYW1lXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBtYi0yXCI+U2VsZWN0IERhdGFzZXQgVHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiZGF0YVNldFR5cGVDb250YWluZXJcIiBkaXNwbGF5RXhwcj1cIm5hbWVcIiB2YWx1ZUV4cHI9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNyZWF0RGF0YXNldE9iamVjdC5kYXRhc2V0VHlwZVwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tNSBib3JkZXJcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWRhdGFzZXQtbW9uZ28gKm5nSWY9XCJjcmVhdERhdGFzZXRPYmplY3QuZGF0YXNldFR5cGUgPT0gJ21vbmdvJ1wiIFttb25nb0RhdGFzZXRdPVwibW9uZ29EYXRhc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgKGdldE1vbmdvU2VydmljZURhdGFTZXQpPVwiY3JlYXRlTW9uZ29TZXJ2aWNlRGF0YVNldCgkZXZlbnQpXCI+PC9hcHAtZGF0YXNldC1tb25nbz5cblxuICAgICAgICAgICAgICAgIDxhcHAtZGF0YXNldC1yZXN0LWFwaSAqbmdJZj1cImNyZWF0RGF0YXNldE9iamVjdC5kYXRhc2V0VHlwZSA9PSAnc2ltcGxlQXBpJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtyZXN0QXBpRGF0YXNldF09XCJyZXN0QXBpRGF0YXNldFwiXG4gICAgICAgICAgICAgICAgICAgIChnZXRSZXN0QXBpQnVsYmRlckRhdGFTZXQpPVwiY3JlYXRlUmVzdEFwaURhdGFTZXQoJGV2ZW50KVwiPjwvYXBwLWRhdGFzZXQtcmVzdC1hcGk+XG5cbiAgICAgICAgICAgICAgICA8YXBwLWRhdGFzZXQtcXVlcnktYnVsZGVyICpuZ0lmPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXRUeXBlID09ICdxdWVyeWJ1aWxkZXInXCJcbiAgICAgICAgICAgICAgICAgICAgW2J1bGRlckRhdGFzZXRdPVwicXVlcnlCdWxkZXJEYXRhc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgKGdldFF1ZXJ5QnVsYmRlckRhdGFTZXQpPVwiY3JlYXRlUXVlcnlCdWlsZGVyRGF0YVNldCgkZXZlbnQpXCI+PC9hcHAtZGF0YXNldC1xdWVyeS1idWxkZXI+XG5cbiAgICAgICAgICAgICAgICA8YXBwLWNyZWF0ZS1kYXRhc2V0LXNxbCAqbmdJZj1cImNyZWF0RGF0YXNldE9iamVjdC5kYXRhc2V0VHlwZSA9PSAnc3FsUXVlcnknXCJcbiAgICAgICAgICAgICAgICAgICAgW3NxbEJ1bGRlckRhdGFzZXRdPVwic3FsQXBpRGF0YXNldFwiXG4gICAgICAgICAgICAgICAgICAgIChnZXRTcWxRdWVyeUJ1bGJkZXJEYXRhU2V0KT1cImNyZWF0ZVNxbFF1ZXJ5QnVpbGRlckRhdGFTZXQoJGV2ZW50KVwiPjwvYXBwLWNyZWF0ZS1kYXRhc2V0LXNxbD5cblxuICAgICAgICAgICAgICAgIDxhcHAtY3JlYXRlLWRhdGFzZXQtanNvbiAqbmdJZj1cImNyZWF0RGF0YXNldE9iamVjdC5kYXRhc2V0VHlwZSA9PSAncGxhaW5qc29uJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtqc29uRGF0YXNldF09XCJqc29uRGF0YXNldFwiXG4gICAgICAgICAgICAgICAgICAgIChnZXRKc29uRGF0YXNldCk9XCJjcmVhdGVEYXRhU2V0V2l0aEpzb24oJGV2ZW50KVwiPjwvYXBwLWNyZWF0ZS1kYXRhc2V0LWpzb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG5cbjwvZGl2PiJdfQ==
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhdGFzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWRhdGFzZXQtY29tcG9uZW50L2NyZWF0ZS1kYXRhc2V0L2NyZWF0ZS1kYXRhc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dhbW1hLWFwcC1jb250cm9sbGVyL3NyYy9saWIvYXBwbGljYXRpb24tY29udHJvbGxlci9hcHBsaWNhdGlvbi1kYXRhc2V0LWNvbXBvbmVudC9jcmVhdGUtZGF0YXNldC9jcmVhdGUtZGF0YXNldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLHNCQUFzQjtJQW9NakMsWUFDVSxPQUFrQyxFQUNsQyxNQUFxQixFQUN0QixhQUE0QixFQUMzQixNQUFjLEVBQ2QsY0FBOEI7UUFKOUIsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdk14QyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx1QkFBa0IsR0FBRztZQUNuQixhQUFhLEVBQUUsRUFBRTtZQUNqQixhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDO1FBRUYseUJBQW9CLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxL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SUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2FBQzlCO1NBQ0Y7SUFJSCxDQUFDOzttSEE3WFUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb0lDWG5DLCtqRkFtRE07MkZEeENPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7ME5Bc0tyQixRQUFRO3NCQUFoQixLQUFLO2dCQUdGLGlCQUFpQjtzQkFEcEIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHBsaWNhdGlvbi1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1kYXRhc2V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1kYXRhc2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLWRhdGFzZXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVEYXRhc2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbG9hZGluZ01vZGFsOiBib29sZWFuO1xuICBpc0R1cGxpZGF0ZVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3JlYXREYXRhc2V0T2JqZWN0ID0ge1xuICAgIFwiZGF0YXNldE5hbWVcIjogXCJcIixcbiAgICBcImRhdGFzZXRUeXBlXCI6IFwiXCJcbiAgfTtcblxuICBkYXRhU2V0VHlwZUNvbnRhaW5lciA9IFt7IG5hbWU6IFwiUXVlcnkgQnVpbGRlclwiLCB2YWx1ZTogXCJxdWVyeWJ1aWxkZXJcIiB9LCB7IG5hbWU6IFwiU2VydmljZSBKU09OXCIsIHZhbHVlOiBcIm1vbmdvXCIgfSxcbiAgeyBuYW1lOiBcIlJlc3QgQVBJXCIsIHZhbHVlOiBcInNpbXBsZUFwaVwiIH0sIHsgbmFtZTogXCJTUUwgQnVpbGRlclwiLCB2YWx1ZTogXCJzcWxRdWVyeVwiIH0sIHsgbmFtZTogXCJQbGFpbiBKU09OXCIsIHZhbHVlOiBcInBsYWluanNvblwiIH1dXG4gIG1vbmdvRGF0YXNldCA9IHtcbiAgICBcImFwaVwiOiBcIi9rcGkvdHJlbmRzL25ldHdvcmsvZ2V0LW1ldHJpYy1kYXRhXCIsXG4gICAgXCJzZXJ2aWNlSWRcIjogXCJcIixcbiAgICBcImFwaVR5cGVcIjogXCJwb3N0XCIsXG4gICAgXCJmaWx0ZXJJdGVtc1wiOiBbXG4gICAgICB7XG4gICAgICAgIFwiYXBpTmFtZVwiOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICBcImxhYmVsXCI6IFwiU3RhcnQgRGF0ZVwiLFxuICAgICAgICBcImZpbHRlclR5cGVcIjogXCJkYXRlXCIsXG4gICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwiXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclR5cGVcIjogXCJkeW5hbWljXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclZhbHVlXCI6IFwiWVlZWS1NTS1ERFwiLFxuICAgICAgICBcIm1vbWVudEZ1bmN0aW9uXCI6IFwic3VidHJhY3RcIixcbiAgICAgICAgXCJtb21lbnRGb3JtYXRlXCI6IFwiMTUsZGF5c1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcImFwaU5hbWVcIjogXCJlbmREYXRlXCIsXG4gICAgICAgIFwibGFiZWxcIjogXCJFbmQgRGF0ZVwiLFxuICAgICAgICBcImZpbHRlclR5cGVcIjogXCJkYXRlXCIsXG4gICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwiXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclR5cGVcIjogXCJkeW5hbWljXCIsXG4gICAgICAgIFwiZGVmYXVsdEZpbHRlclZhbHVlXCI6IFwiWVlZWS1NTS1ERFwiLFxuICAgICAgICBcIm1vbWVudEZ1bmN0aW9uXCI6IFwic3VidHJhY3RcIixcbiAgICAgICAgXCJtb21lbnRGb3JtYXRlXCI6IFwiMSxkYXlzXCJcbiAgICAgIH1cbiAgICBdLFxuICAgIFwiZml4T3BlcmF0aW9uTGV2bGVzXCI6IFtdXG4gIH1cblxuICBxdWVyeUJ1bGRlckRhdGFzZXQgPSB7XG4gICAgXCJhcGlcIjogXCIva3BpL2dlbmVyaWNBZ2dyZWdhdGVQYWdpbmF0ZWRLcGlTZXJ2aWNlUmVzcG9uc2VcIixcbiAgICBcImFwaVR5cGVcIjogXCJwb3N0XCIsXG4gICAgXCJzZXJ2aWNlSWRcIjogXCJcIixcbiAgICBcInF1ZXJ5Q29uZmlnXCI6IHtcbiAgICAgIFwibWFwZWRGaWx0ZXJzXCI6IFtcbiAgICAgICAge1xuICAgICAgICAgIFwibG9jYWxDb2x1bW5cIjogXCJzdGFydERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZF9kYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJndGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcImVuZERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZF9kYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJsdGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgXCJzb3J0ZXJzXCI6IFtcblxuICAgICAgXSxcbiAgICAgIFwicmVxRmllbGRzXCI6IFtcblxuICAgICAgXSxcbiAgICAgIFwibWVhc3VyZXNcIjogW1xuXG4gICAgICBdLFxuICAgICAgXCJmaWx0ZXJcIjogW1xuXG4gICAgICBdLFxuICAgICAgXCJoYXZpbmdzXCI6IFtdLFxuICAgICAgXCJjb21tb25Db25maWdcIjoge30sXG4gICAgICBcImNvbHVtbnNcIjogW1xuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIHJlc3RBcGlEYXRhc2V0ID0ge1xuICAgIFwiYXBpXCI6IFwiXCIsXG4gICAgXCJhcGlUeXBlXCI6IFwicG9zdFwiLFxuICAgIFwic2VydmljZUlkXCI6IFwiXCIsXG4gICAgXCJxdWVyeUNvbmZpZ1wiOiB7XG4gICAgICBcIm1hcGVkRmlsdGVyc1wiOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwic3RhcnREYXRlXCIsXG4gICAgICAgICAgXCJzZXJ2ZXJDb2x1bW5cIjogXCJyZWNvcmREYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJndGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcImVuZERhdGVcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcInJlY29yZERhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImx0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH07XG4gIHNxbEFwaURhdGFzZXQgPSB7XG4gICAgXCJhcGlcIjogXCIva3BpL2dlbmVyaWNTcWxRdWVyeVJlc3BvbnNlXCIsXG4gICAgXCJhcGlUeXBlXCI6IFwicG9zdFwiLFxuICAgIFwic2VydmljZUlkXCI6IFwiXCIsXG4gICAgXCJxdWVyeUNvbmZpZ1wiOiB7XG4gICAgICBcInRlbXBsYXRlUXVlcnlcIjogXCJcIixcbiAgICAgIFwiZGF0YWJhc2VOYW1lXCI6IFwiXCIsXG4gICAgICBcImRiQ29uZmlnXCI6IFwiXCIsXG4gICAgICBcImVucmljaG1lbnRzXCI6IFtdLFxuICAgICAgXCJtYXBlZEZpbHRlcnNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkX2RhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImd0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwiZW5kRGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkX2RhdGVcIixcbiAgICAgICAgICBcIm9wZXJhdG9yTmFtZVwiOiBcImx0ZVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiXCIsXG4gICAgICAgICAgXCJkYXRhVHlwZVwiOiBcInN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcImxvY2FsQ29sdW1uXCI6IFwibGltaXRcIixcbiAgICAgICAgICBcInNlcnZlckNvbHVtblwiOiBcImxpbWl0XCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJlcVwiLFxuICAgICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IFwiNTAwMFwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJpbnRcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9O1xuXG4gIGpzb25EYXRhc2V0ID0ge1xuICAgIFwiYXBpXCI6IFwiL3VpLWNvbmZpZy9nZXRKc29uRGF0YXNldFBheWxvYWRcIixcbiAgICBcImFwaVR5cGVcIjogXCJnZXRcIixcbiAgICBcInNlcnZpY2VJZFwiOiBcIlwiLFxuICAgIFwicXVlcnlDb25maWdcIjoge1xuICAgICAgXCJtYXBlZEZpbHRlcnNcIjogW1xuICAgICAgICB7XG4gICAgICAgICAgXCJsb2NhbENvbHVtblwiOiBcInN0YXJ0RGF0ZVwiLFxuICAgICAgICAgIFwic2VydmVyQ29sdW1uXCI6IFwicmVjb3JkRGF0ZVwiLFxuICAgICAgICAgIFwib3BlcmF0b3JOYW1lXCI6IFwiZ3RlXCIsXG4gICAgICAgICAgXCJkZWZhdWx0VmFsdWVcIjogXCJcIixcbiAgICAgICAgICBcImRhdGFUeXBlXCI6IFwic3RyaW5nXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwibG9jYWxDb2x1bW5cIjogXCJlbmREYXRlXCIsXG4gICAgICAgICAgXCJzZXJ2ZXJDb2x1bW5cIjogXCJyZWNvcmREYXRlXCIsXG4gICAgICAgICAgXCJvcGVyYXRvck5hbWVcIjogXCJsdGVcIixcbiAgICAgICAgICBcImRlZmF1bHRWYWx1ZVwiOiBcIlwiLFxuICAgICAgICAgIFwiZGF0YVR5cGVcIjogXCJzdHJpbmdcIlxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICB9XG5cbiAgaW5wdXREYXRhc2V0SUQ6IGFueTtcbiAgQElucHV0KCkgaXNIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnc2VsZWN0ZWREYXRhc2V0SWQnKVxuICBzZXQgc2VsZWN0ZWREYXRhc2V0SWQodmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5wdXREYXRhc2V0SUQgPSB2YWx1ZVxuICAgICAgdGhpcy5zZXJ2aWNlLmdldEFwcERhdGFzZXRDb25maWcodmFsdWUpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0ID0gZGF0YTtcbiAgICAgICAgICBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAnbW9uZ28nKSB7XG4gICAgICAgICAgICB0aGlzLm1vbmdvRGF0YXNldCA9IGRhdGEuY29uZmlnXG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmRhdGFzZXRUeXBlID09ICdxdWVyeWJ1aWxkZXInKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5QnVsZGVyRGF0YXNldCA9IGRhdGEuY29uZmlnXG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmRhdGFzZXRUeXBlID09ICdzaW1wbGVBcGknKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3RBcGlEYXRhc2V0ID0gZGF0YS5jb25maWc7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmRhdGFzZXRUeXBlID09ICdzcWxRdWVyeScpIHtcbiAgICAgICAgICAgIHRoaXMuc3FsQXBpRGF0YXNldCA9IGRhdGEuY29uZmlnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAncGxhaW5qc29uJykge1xuICAgICAgICAgICAgdGhpcy5qc29uRGF0YXNldCA9IGRhdGEuY29uZmlnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZ01vZGFsID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoJ1VuZXhwZWN0ZWQgU2VydmVyIEV4Y2VwdGlvbi4gUGxlYXNlIGNvbnRhY3QgU3lzdGVtIEFkbWluLicsICdEYXRhc2V0IENyZWF0aW9uJylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuXG5cbiAgICB9XG5cblxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgZGF0YXNldElkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snZGF0YXNldElkJ107XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGVudFR5cGUnXTtcbiAgICBpZiAoY29udGVudFR5cGUgPT0gXCJjbG9uZVwiKSB7XG4gICAgICB0aGlzLmlzRHVwbGlkYXRlVmlldyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChkYXRhc2V0SWQpIHtcbiAgICAgIHRoaXMubG9hZGluZ01vZGFsID0gdHJ1ZTtcblxuICAgICAgdGhpcy5zZXJ2aWNlLmdldEFwcERhdGFzZXRDb25maWcoZGF0YXNldElkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdCA9IGRhdGE7XG4gICAgICAgICAgaWYgKGRhdGEuZGF0YXNldFR5cGUgPT0gJ21vbmdvJykge1xuICAgICAgICAgICAgdGhpcy5tb25nb0RhdGFzZXQgPSBkYXRhLmNvbmZpZ1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAncXVlcnlidWlsZGVyJykge1xuICAgICAgICAgICAgdGhpcy5xdWVyeUJ1bGRlckRhdGFzZXQgPSBkYXRhLmNvbmZpZ1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAnc2ltcGxlQXBpJykge1xuICAgICAgICAgICAgdGhpcy5yZXN0QXBpRGF0YXNldCA9IGRhdGEuY29uZmlnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAncGxhaW5qc29uJykge1xuICAgICAgICAgICAgdGhpcy5qc29uRGF0YXNldCA9IGRhdGEuY29uZmlnO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5kYXRhc2V0VHlwZSA9PSAnc3FsUXVlcnknKSB7XG4gICAgICAgICAgICB0aGlzLnNxbEFwaURhdGFzZXQgPSBkYXRhLmNvbmZpZztcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnRGF0YXNldCBDcmVhdGlvbicpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cblxuICAgICAgLy8gdGhpcy5zZXJ2aWNlLmdldEFwcERhdGFzZXRDb25maWdzKCkuc3Vic2NyaWJlKHtcbiAgICAgIC8vICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgLy8gICAgIGNvbnN0IGZvdW5kT2JqZWN0ID0gZGF0YS5maW5kKGRhdGFzZXQgPT4gZGF0YXNldC5kYXRhc2V0SWQgPT09IGRhdGFzZXRJZCk7XG4gICAgICAvLyAgICAgdGhpcy5sb2FkaW5nTW9kYWwgPSBmYWxzZTtcbiAgICAgIC8vICAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdCA9IGZvdW5kT2JqZWN0O1xuICAgICAgLy8gICAgIGlmIChmb3VuZE9iamVjdC5kYXRhc2V0VHlwZSA9PSAnbW9uZ28nKSB7XG4gICAgICAvLyAgICAgICB0aGlzLm1vbmdvRGF0YXNldCA9IGZvdW5kT2JqZWN0LmNvbmZpZ1xuICAgICAgLy8gICAgIH0gZWxzZSBpZiAoZm91bmRPYmplY3QuZGF0YXNldFR5cGUgPT0gJ3F1ZXJ5YnVpbGRlcicpIHtcbiAgICAgIC8vICAgICAgIHRoaXMucXVlcnlCdWxkZXJEYXRhc2V0ID0gZm91bmRPYmplY3QuY29uZmlnXG4gICAgICAvLyAgICAgfSBlbHNlIGlmIChmb3VuZE9iamVjdC5kYXRhc2V0VHlwZSA9PSAnc2ltcGxlQXBpJykge1xuICAgICAgLy8gICAgICAgdGhpcy5yZXN0QXBpRGF0YXNldCA9IGZvdW5kT2JqZWN0LmNvbmZpZztcbiAgICAgIC8vICAgICB9XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH0pXG4gICAgfVxuXG4gIH1cblxuXG4gIGNyZWF0ZU1vbmdvU2VydmljZURhdGFTZXQoZGF0YSkge1xuXG4gICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2NvbmZpZyddID0gZGF0YTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCk7XG4gICAgdGhpcy5sb2FkaW5nTW9kYWwgPSB0cnVlO1xuICAgIGlmICh0aGlzLmlzRHVwbGlkYXRlVmlldykge1xuXG4gICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2RhdGFzZXRJZCddKSB7XG4gICAgICAgIHRoaXMudXBkYXRhTmV3RGF0YVNldENvbmdpZygpXG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNyZWF0ZVF1ZXJ5QnVpbGRlckRhdGFTZXQoZGF0YSkge1xuXG4gICAgdGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2NvbmZpZyddID0gZGF0YTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCk7XG4gICAgdGhpcy5sb2FkaW5nTW9kYWwgPSB0cnVlO1xuICAgIGlmICh0aGlzLmlzRHVwbGlkYXRlVmlldykge1xuXG4gICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5jcmVhdERhdGFzZXRPYmplY3RbJ2RhdGFzZXRJZCddKSB7XG4gICAgICAgIHRoaXMudXBkYXRhTmV3RGF0YVNldENvbmdpZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZU5lRGF0YVNldENvbmZpZygpO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBjcmVhdGVTcWxRdWVyeUJ1aWxkZXJEYXRhU2V0KGRhdGEpIHtcblxuICAgIHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0Wydjb25maWcnXSA9IGRhdGE7XG4gICAgY29uc29sZS5sb2codGhpcy5jcmVhdERhdGFzZXRPYmplY3QpO1xuICAgIHRoaXMubG9hZGluZ01vZGFsID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5pc0R1cGxpZGF0ZVZpZXcpIHtcblxuICAgICAgdGhpcy5jcmVhdGVOZURhdGFTZXRDb25maWcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0WydkYXRhc2V0SWQnXSkge1xuICAgICAgICB0aGlzLnVwZGF0YU5ld0RhdGFTZXRDb25naWcoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVOZURhdGFTZXRDb25maWcoKTtcblxuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuXG4gIGNyZWF0ZVJlc3RBcGlEYXRhU2V0KGRhdGEpIHtcbiAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnY29uZmlnJ10gPSBkYXRhO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0KTtcbiAgICB0aGlzLmxvYWRpbmdNb2RhbCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5pc0R1cGxpZGF0ZVZpZXcpIHtcbiAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnZGF0YXNldElkJ10pIHtcbiAgICAgICAgdGhpcy51cGRhdGFOZXdEYXRhU2V0Q29uZ2lnKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gIGNyZWF0ZU5lRGF0YVNldENvbmZpZygpIHtcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlQXBwRGF0YXNldCh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgLy8gdGhpcy5pc05ld0RhdGFTZXRDcmVhdGVWaWV3ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNEdXBsaWRhdGVWaWV3ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZGluZ01vZGFsID0gZmFsc2U7XG4gICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0RhdGFzZXQgQ3JlYXRlZCBTdWNjZXNzZnVsbHknKVxuICAgICAgICAvLyBpZiAodGhpcy5pc0hlYWRlcikge1xuICAgICAgICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnYXBwcy9jb250cm9sUGFuZWwvYXBwbGljYXRpb25EYXRhc2V0LyddKVxuICAgICAgICAvLyB9XG5cbiAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoJ1VuZXhwZWN0ZWQgU2VydmVyIEV4Y2VwdGlvbi4gUGxlYXNlIGNvbnRhY3QgU3lzdGVtIEFkbWluLicsICdEYXRhc2V0IENyZWF0aW9uJylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRhTmV3RGF0YVNldENvbmdpZygpIHtcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlQXBwRGF0YXNldENvbmZpZyh0aGlzLmNyZWF0RGF0YXNldE9iamVjdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgLy8gdGhpcy5pc05ld0RhdGFTZXRDcmVhdGVWaWV3ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubG9hZGluZ01vZGFsID0gZmFsc2U7XG4gICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0RhdGFzZXQgVXBkYXRlZCBTdWNjZXNzZnVsbHknKVxuICAgICAgICAvLyBpZiAodGhpcy5pc0hlYWRlcikge1xuICAgICAgICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnYXBwcy9jb250cm9sUGFuZWwvYXBwbGljYXRpb25EYXRhc2V0LyddKVxuICAgICAgICAvLyB9XG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdVbmV4cGVjdGVkIFNlcnZlciBFeGNlcHRpb24uIFBsZWFzZSBjb250YWN0IFN5c3RlbSBBZG1pbi4nLCAnRGF0YXNldCBDcmVhdGlvbicpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdvdG9BbGxEYXRhc2V0cygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2FwcHMvY29udHJvbFBhbmVsL2FwcGxpY2F0aW9uRGF0YXNldC8nXSlcbiAgfVxuXG5cbiAgY3JlYXRlRGF0YVNldFdpdGhKc29uKGRhdGEpIHtcbiAgICB0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnY29uZmlnJ10gPSBkYXRhO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuY3JlYXREYXRhc2V0T2JqZWN0KTtcbiAgICBpZiAodGhpcy5pc0R1cGxpZGF0ZVZpZXcpIHtcbiAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNyZWF0RGF0YXNldE9iamVjdFsnZGF0YXNldElkJ10pIHtcbiAgICAgICAgdGhpcy51cGRhdGFOZXdEYXRhU2V0Q29uZ2lnKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlTmVEYXRhU2V0Q29uZmlnKCk7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICB9XG5cbn1cbiIsIjxhcHAtbG9hZGluZyAqbmdJZj1cImxvYWRpbmdNb2RhbFwiPjwvYXBwLWxvYWRpbmc+XG5cbjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtYXV0byBtaW4tdy0wXCI+XG5cbiAgICA8bGliLWNvbW1vbi1oZWFkZXIgW3BhZ2VUaXRsZV09XCInRGF0YXNldCBFZGl0b3InXCIgKm5nSWY9XCJpc0hlYWRlclwiPjwvbGliLWNvbW1vbi1oZWFkZXI+XG5cblxuICAgIDxkaXYgY2xhc3M9XCJwLTIgdy1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLTMgcC00IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYi0yIGZvbnQtYm9sZCB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRhYmxlIG1yLTJcIj48L2k+IERhdGFzZXQgRWRpdG9yXG5cbiAgICAgICAgICAgIDwvaDY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBteS00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgbWItMlwiPkRhdGFzZXQgTmFtZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJjcmVhdERhdGFzZXRPYmplY3QuZGF0YXNldE5hbWVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIG1iLTJcIj5TZWxlY3QgRGF0YXNldCBUeXBlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJkYXRhU2V0VHlwZUNvbnRhaW5lclwiIGRpc3BsYXlFeHByPVwibmFtZVwiIHZhbHVlRXhwcj1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXRUeXBlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS01IGJvcmRlclwiPlxuICAgICAgICAgICAgICAgIDxhcHAtZGF0YXNldC1tb25nbyAqbmdJZj1cImNyZWF0RGF0YXNldE9iamVjdC5kYXRhc2V0VHlwZSA9PSAnbW9uZ28nXCIgW21vbmdvRGF0YXNldF09XCJtb25nb0RhdGFzZXRcIlxuICAgICAgICAgICAgICAgICAgICAoZ2V0TW9uZ29TZXJ2aWNlRGF0YVNldCk9XCJjcmVhdGVNb25nb1NlcnZpY2VEYXRhU2V0KCRldmVudClcIj48L2FwcC1kYXRhc2V0LW1vbmdvPlxuXG4gICAgICAgICAgICAgICAgPGFwcC1kYXRhc2V0LXJlc3QtYXBpICpuZ0lmPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXRUeXBlID09ICdzaW1wbGVBcGknXCJcbiAgICAgICAgICAgICAgICAgICAgW3Jlc3RBcGlEYXRhc2V0XT1cInJlc3RBcGlEYXRhc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgKGdldFJlc3RBcGlCdWxiZGVyRGF0YVNldCk9XCJjcmVhdGVSZXN0QXBpRGF0YVNldCgkZXZlbnQpXCI+PC9hcHAtZGF0YXNldC1yZXN0LWFwaT5cblxuICAgICAgICAgICAgICAgIDxhcHAtZGF0YXNldC1xdWVyeS1idWxkZXIgKm5nSWY9XCJjcmVhdERhdGFzZXRPYmplY3QuZGF0YXNldFR5cGUgPT0gJ3F1ZXJ5YnVpbGRlcidcIlxuICAgICAgICAgICAgICAgICAgICBbYnVsZGVyRGF0YXNldF09XCJxdWVyeUJ1bGRlckRhdGFzZXRcIlxuICAgICAgICAgICAgICAgICAgICAoZ2V0UXVlcnlCdWxiZGVyRGF0YVNldCk9XCJjcmVhdGVRdWVyeUJ1aWxkZXJEYXRhU2V0KCRldmVudClcIj48L2FwcC1kYXRhc2V0LXF1ZXJ5LWJ1bGRlcj5cblxuICAgICAgICAgICAgICAgIDxhcHAtY3JlYXRlLWRhdGFzZXQtc3FsICpuZ0lmPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXRUeXBlID09ICdzcWxRdWVyeSdcIlxuICAgICAgICAgICAgICAgICAgICBbc3FsQnVsZGVyRGF0YXNldF09XCJzcWxBcGlEYXRhc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgKGdldFNxbFF1ZXJ5QnVsYmRlckRhdGFTZXQpPVwiY3JlYXRlU3FsUXVlcnlCdWlsZGVyRGF0YVNldCgkZXZlbnQpXCI+PC9hcHAtY3JlYXRlLWRhdGFzZXQtc3FsPlxuXG4gICAgICAgICAgICAgICAgPGFwcC1jcmVhdGUtZGF0YXNldC1qc29uICpuZ0lmPVwiY3JlYXREYXRhc2V0T2JqZWN0LmRhdGFzZXRUeXBlID09ICdwbGFpbmpzb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW2pzb25EYXRhc2V0XT1cImpzb25EYXRhc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgKGdldEpzb25EYXRhc2V0KT1cImNyZWF0ZURhdGFTZXRXaXRoSnNvbigkZXZlbnQpXCI+PC9hcHAtY3JlYXRlLWRhdGFzZXQtanNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cblxuPC9kaXY+Il19
@@ -49,25 +49,25 @@ export class ApplicationCreateMenuComponent {
49
49
  ngOnInit() {
50
50
  let menuId = this.activatedRoute.snapshot.queryParams['menuId'];
51
51
  let contentType = this.activatedRoute.snapshot.queryParams['contentType'];
52
- if (contentType == "edit") {
52
+ if (menuId && contentType == "edit") {
53
53
  this.service.getAppMenuConfigById(menuId).subscribe({
54
54
  next: (data) => {
55
55
  this.menuObject = data;
56
56
  this.selectedQueryParamStr = (data['queryParams'] && data['queryParams']['pageId']) ? data['queryParams']['pageId'] : "";
57
57
  this.userOptionContainer = (data['permissions'] && data['permissions'].length !== 0) ? data['permissions'] : [];
58
58
  this.isContentType = true;
59
+ this.getParentMenuList();
59
60
  }, error: (err) => {
60
61
  }
61
62
  });
62
63
  }
63
- this.getParentMenuList();
64
64
  }
65
65
  getParentMenuList() {
66
66
  this.paparentMenuDatasource = [];
67
67
  this.service.listAppMenuConfigs().subscribe({
68
68
  next: (data) => {
69
69
  data.forEach(element => {
70
- if (element.type == "collapsable") {
70
+ if (element.type == "collapsable" || element.menuType == "parent") {
71
71
  let obj = {};
72
72
  obj = {
73
73
  parentMenuTid: element.parentMenuTid,
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
153
153
  type: Component,
154
154
  args: [{ selector: 'lib-application-create-menu', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></lib-common-header>\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n Basic Information\n <div class=\"ml-auto\">\n <button class=\"{{commonservice.btn_purple_md}}\" (click)=\"menuList()\">\n All Menu Items\n </button>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [showClearButton]=\"true\" [value]=\"defaultSelectedParent\"\n (onValueChanged)=\"getMenuTidType($event)\" [items]=\"paparentMenuDatasource\"\n valueExpr=\"menuId\" displayExpr=\"title\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.childMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n Item Information\n <div class=\"ml-auto\">\n\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"selectedQueryParamStr\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <textarea id=\"message\" rows=\"7\"\n class=\"block p-2.5 w-full text-lg text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500\"\n placeholder=\"Write Menu Description\" [(ngModel)]=\"menuObject.description\"\n id=\"exampleTextarea\"></textarea>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n\n <app-user-access [(userOptionContainer)]=\"userOptionContainer\">\n </app-user-access>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"!isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"updateMenu()\">Update Menu</div>\n </div>\n\n </div>\n </div>\n </ng-container>\n</div>" }]
155
155
  }], ctorParameters: function () { return [{ type: i1.CommonService }, { type: i2.ApplicationContentService }, { type: i3.ToastrService }, { type: i4.ActivatedRoute }, { type: i4.Router }]; } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLDhCQUE4QjtJQXFDekMsWUFDUyxhQUE0QixFQUMzQixPQUFrQyxFQUNsQyxjQUE2QixFQUM3QixjQUE4QixFQUM5QixNQUFjO1FBSmYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF6Q3hCLGVBQVUsR0FBUTtZQUNoQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZLEVBQUUsS0FBSztZQUNuQixXQUFX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Y0FBYyxDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDcEU7U0FDRjtJQUlILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsQ0FBQzs7MkhBMUtVLDhCQUE4QjsrR0FBOUIsOEJBQThCLG1FQ1gzQyw0Z1VBcU1NOzJGRDFMTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBJc0FjdGl2ZU1hdGNoT3B0aW9ucywgUGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcGxpY2F0aW9uLWNyZWF0ZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQ3JlYXRlTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1lbnVPYmplY3Q6IGFueSA9IHtcbiAgICBtZW51SWQ6IFwiXCIsXG4gICAgdGl0bGU6IFwiXCIsXG4gICAgc3VidGl0bGU6IFwiXCIsXG4gICAgdHlwZTogXCJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGV4dGVybmFsTGluazogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiXCIsXG4gICAgdG9vbHRpcDogXCJcIixcbiAgICBsaW5rOiBcIlwiLFxuICAgIGZyYWdtZW50OiBcIlwiLFxuICAgIHByZXNlcnZlRnJhZ21lbnQ6IFwiXCIsXG4gICAgcXVlcnlQYXJhbXM6IHt9LFxuICAgIHRhcmdldDogXCJcIixcbiAgICBpY29uOiBcIlwiLFxuICAgIC8vIGJhZGdlOiB7XG4gICAgLy8gICAgIHRpdGxlOiBcInN0cmluZ1wiLFxuICAgIC8vICAgICBjbGFzc2VzOiBcIlwiLFxuICAgIC8vIH0sXG4gICAgY2hpbGRyZW46IHRydWUsXG4gICAgdXJsOiBcIlwiLFxuICAgIG1lbnVUeXBlOiBcIlwiLFxuICAgIHBhcmVudE1lbnVUaWQ6IFwiXCIsXG4gICAgY2hpbGRNZW51VGlkOiBcIlwiLFxuICAgIG1lYXN1cmVzOiBbXVxuICB9XG5cbiAgaXNtZW51Q29udGFpbmVyID0gZmFsc2U7XG4gIGlzQ29udGVudFR5cGUgPSBmYWxzZTtcblxuICB1c2VyT3B0aW9uQ29udGFpbmVyOiBhbnkgPSBbXTtcblxuICBwYXBhcmVudE1lbnVEYXRhc291cmNlOiBhbnk7XG4gIGRlZmF1bHRTZWxlY3RlZFBhcmVudDogYW55O1xuICBzZWxlY3RlZFF1ZXJ5UGFyYW1TdHIgPSBcIlwiO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tbW9uc2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlcnZpY2U6IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG5cbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbWVudUlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snbWVudUlkJ107XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGVudFR5cGUnXTtcbiAgICBpZiAoY29udGVudFR5cGUgPT0gXCJlZGl0XCIpIHtcblxuICAgICAgdGhpcy5zZXJ2aWNlLmdldEFwcE1lbnVDb25maWdCeUlkKG1lbnVJZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubWVudU9iamVjdCA9IGRhdGE7XG4gICAgICAgICAgLy8gaWYgKGRhdGFbJ21lYXN1cmVzJ10gJiYgZGF0YVsnbWVhc3VyZXMnXS5sZW5ndGggIT09IDApXG4gICAgICAgICAgLy8gICBkYXRhWydtZWFzdXJlcyddLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgLy8gICAgIGxldCBhdHRfdmFsdWUgPSBlbGVtZW50LmF0dHJpYnV0ZVZhbHVlcy5qb2luKFwiLFwiKTtcbiAgICAgICAgICAvLyAgICAgZWxlbWVudC5hdHRyaWJ1dGVWYWx1ZXMgPSBhdHRfdmFsdWU7XG4gICAgICAgICAgLy8gICB9KTtcblxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyID0gKGRhdGFbJ3F1ZXJ5UGFyYW1zJ10gJiYgZGF0YVsncXVlcnlQYXJhbXMnXVsncGFnZUlkJ10pID8gZGF0YVsncXVlcnlQYXJhbXMnXVsncGFnZUlkJ10gOiBcIlwiO1xuXG4gICAgICAgICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyID0gKGRhdGFbJ3Blcm1pc3Npb25zJ10gJiYgZGF0YVsncGVybWlzc2lvbnMnXS5sZW5ndGggIT09IDApID8gZGF0YVsncGVybWlzc2lvbnMnXSA6IFtdO1xuICAgICAgICAgIHRoaXMuaXNDb250ZW50VHlwZSA9IHRydWU7XG5cbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5nZXRQYXJlbnRNZW51TGlzdCgpO1xuICB9XG5cbiAgZ2V0UGFyZW50TWVudUxpc3QoKSB7XG4gICAgdGhpcy5wYXBhcmVudE1lbnVEYXRhc291cmNlID0gW107XG4gICAgdGhpcy5zZXJ2aWNlLmxpc3RBcHBNZW51Q29uZmlncygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGRhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09IFwiY29sbGFwc2FibGVcIikge1xuICAgICAgICAgICAgbGV0IG9iaiA9IHt9O1xuICAgICAgICAgICAgb2JqID0ge1xuICAgICAgICAgICAgICBwYXJlbnRNZW51VGlkOiBlbGVtZW50LnBhcmVudE1lbnVUaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICBtZW51SWQ6IGVsZW1lbnQubWVudUlkLFxuICAgICAgICAgICAgICBjaGlsZE1lbnVUaWQ6IGVsZW1lbnQuY2hpbGRNZW51VGlkLFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UucHVzaChvYmopXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMubWVudU9iamVjdC5tZW51SWQgIT09IFwiXCIgJiYgdGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09IFwicGFyZW50XCIpIHtcbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51Lm1lbnVJZCA9PSB0aGlzLm1lbnVPYmplY3QubWVudUlkKTtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFBhcmVudCA9IG1lbnVfb2JqZWN0WzBdLm1lbnVJZDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudUlkICE9PSBcIlwiICYmIHRoaXMubWVudU9iamVjdC5tZW51VHlwZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51LnBhcmVudE1lbnVUaWQgPT0gdGhpcy5tZW51T2JqZWN0LnBhcmVudE1lbnVUaWQpO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkUGFyZW50ID0gbWVudV9vYmplY3RbMF0ubWVudUlkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNtZW51Q29udGFpbmVyID0gdHJ1ZTtcblxuICAgICAgfSwgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TWVudVR5cGUoZSkge1xuICAgIGlmIChlLmV2ZW50KSB7XG4gICAgICBpZiAoZS52YWx1ZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZHJlbiddID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoZS52YWx1ZSA9PSBcInBhcmVudFwiKSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IGZhbHNlO1xuXG4gICAgICB9XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ21lbnVUeXBlJ10gPSBlLnZhbHVlO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBcIlwiO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZE1lbnVUaWQnXSA9IFwiXCI7XG4gICAgICB0aGlzLmlzbWVudUNvbnRhaW5lciA9IHRydWU7XG4gICAgfVxuICB9XG5cblxuICBzdWJtaXROZXdNZW51KCkge1xuICAgIHRoaXMubWVudU9iamVjdFsncGVybWlzc2lvbnMnXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3F1ZXJ5UGFyYW1zJ10gPSB7ICdwYWdlSWQnOiB0aGlzLnNlbGVjdGVkUXVlcnlQYXJhbVN0ciB9O1xuXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51T2JqZWN0KVxuICAgIHRoaXMuc2VydmljZS5jb25maWd1cmVBcHBNZW51Q29uZmlnKHRoaXMubWVudU9iamVjdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKFwiTWVudSBBZGRlZCBTdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlTWVudSgpIHtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3Blcm1pc3Npb25zJ10gPSB0aGlzLnVzZXJPcHRpb25Db250YWluZXI7XG4gICAgdGhpcy5tZW51T2JqZWN0WydxdWVyeVBhcmFtcyddID0gKHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyKSA/IHsgJ3BhZ2VJZCc6IHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyIH0gOiB7fTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZUFwcE1lbnVDb25maWcodGhpcy5tZW51T2JqZWN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoXCJNZW51IFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9tZW51Q29udHJvbGxlciddKVxuICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldE1lbnVUaWRUeXBlKGl0ZW0pIHtcbiAgICBpZiAoaXRlbS5ldmVudCkge1xuICAgICAgY29uc3QgbWVudV9vYmplY3QgPSB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UuZmlsdGVyKG1lbnUgPT4gbWVudS5tZW51SWQgPT0gaXRlbS52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09ICdwYXJlbnQnICYmIG1lbnVfb2JqZWN0WzBdWydjaGlsZE1lbnVUaWQnXSAhPT0gXCJcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IG1lbnVfb2JqZWN0WzBdW1wiY2hpbGRNZW51VGlkXCJdO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudVR5cGUgPT0gJ2NoaWxkJyAmJiBtZW51X29iamVjdFswXVsnY2hpbGRNZW51VGlkJ10gIT09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBtZW51X29iamVjdFswXVtcImNoaWxkTWVudVRpZFwiXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsncGFyZW50TWVudVRpZCddID0gbWVudV9vYmplY3RbMF1bXCJwYXJlbnRNZW51VGlkXCJdO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgfVxuXG4gIG1lbnVMaXN0KCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gbWluLXctMFwiPlxuXG4gICAgPGxpYi1jb21tb24taGVhZGVyIFtwYWdlVGl0bGVdPVwiJ0FkZCBNZW51J1wiPjwvbGliLWNvbW1vbi1oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1iLTIgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXG4gICAgICAgICAgICAgICAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBCYXNpYyBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ7e2NvbW1vbnNlcnZpY2UuYnRuX3B1cnBsZV9tZH19XCIgKGNsaWNrKT1cIm1lbnVMaXN0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBNZW51IEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5NZW51IFR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydjaGlsZCcsJ3BhcmVudCddXCIgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lm1lbnVUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImdldE1lbnVUeXBlKCRldmVudClcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCIgW3ZhbHVlXT1cImRlZmF1bHRTZWxlY3RlZFBhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VGlkVHlwZSgkZXZlbnQpXCIgW2l0ZW1zXT1cInBhcGFyZW50TWVudURhdGFzb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJtZW51SWRcIiBkaXNwbGF5RXhwcj1cInRpdGxlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5QYXJlbnQgTWVudSBUSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnBhcmVudE1lbnVUaWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5DaGlsZCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc21lbnVDb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibWItMiB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDBcbiAgICAgICAgICAgICAgICBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICBJdGVtIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPk1lbnUgSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubWVudUlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5UaXRsZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC50aXRsZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+c3VidGl0bGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3Quc3VidGl0bGVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ2FzaWRlJywnYmFzaWMnLCdjb2xsYXBzYWJsZScsJ2RpdmlkZXInLCdncm91cCcsJ3NwYWNlciddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVudU9iamVjdC50eXBlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnRvb2x0aXA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudG9vbHRpcFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+bGluazwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5saW5rXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5mcmFnbWVudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5mcmFnbWVudFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+dGFyZ2V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydfYmxhbmsnLCdfc2VsZicsJ19wYXJlbnQnLCdfdG9wJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRhcmdldFwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5wcmVzZXJ2ZUZyYWdtZW50PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnByZXNlcnZlRnJhZ21lbnRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnF1ZXJ5UGFyYW1zPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJzZWxlY3RlZFF1ZXJ5UGFyYW1TdHJcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+aWNvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5pY29uXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5jaGlsZHJlblwiIHRleHQ9XCJDaGlsZHJlblwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5leHRlcm5hbExpbmtcIiB0ZXh0PVwiRXh0ZXJuYWwgTGlua1wiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuYWN0aXZlXCIgdGV4dD1cIkFjdGl2ZVwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGlzYWJsZWRcIiB0ZXh0PVwiRGlzYWJsZWRcIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJtZXNzYWdlXCIgcm93cz1cIjdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIHAtMi41IHctZnVsbCB0ZXh0LWxnIHRleHQtZ3JheS05MDAgYmctZ3JheS01MCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItZ3JheS0zMDAgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItYmx1ZS01MDAgZGFyazpiZy1ncmF5LTcwMCBkYXJrOmJvcmRlci1ncmF5LTYwMCBkYXJrOnBsYWNlaG9sZGVyLWdyYXktNDAwIGRhcms6dGV4dC13aGl0ZSBkYXJrOmZvY3VzOnJpbmctYmx1ZS01MDAgZGFyazpmb2N1czpib3JkZXItYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldyaXRlIE1lbnUgRGVzY3JpcHRpb25cIiBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImV4YW1wbGVUZXh0YXJlYVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG5cblxuICAgICAgICAgICAgICAgIDxhcHAtdXNlci1hY2Nlc3MgWyh1c2VyT3B0aW9uQ29udGFpbmVyKV09XCJ1c2VyT3B0aW9uQ29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtdXNlci1hY2Nlc3M+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBtdC00IGJvcmRlci10IG10LTggcHktNFwiICpuZ0lmPVwiIWlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInN1Ym1pdE5ld01lbnUoKVwiPkNyZWF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgbXQtNCBib3JkZXItdCBtdC04IHB5LTRcIiAqbmdJZj1cImlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInVwZGF0ZU1lbnUoKVwiPlVwZGF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLDhCQUE4QjtJQXFDekMsWUFDUyxhQUE0QixFQUMzQixPQUFrQyxFQUNsQyxjQUE2QixFQUM3QixjQUE4QixFQUM5QixNQUFjO1FBSmYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF6Q3hCLGVBQVUsR0FBUTtZQUNoQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZLEVBQUUsS0FBSztZQUNuQixXQUFX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LGVBQWUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNuRTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNwRTtTQUNGO0lBSUgsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQTtJQUU3RCxDQUFDOzsySEEzS1UsOEJBQThCOytHQUE5Qiw4QkFBOEIsbUVDWDNDLDRnVUFxTU07MkZEMUxPLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIElzQWN0aXZlTWF0Y2hPcHRpb25zLCBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcHBsaWNhdGlvbi1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwbGljYXRpb24tY3JlYXRlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25DcmVhdGVNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWVudU9iamVjdDogYW55ID0ge1xuICAgIG1lbnVJZDogXCJcIixcbiAgICB0aXRsZTogXCJcIixcbiAgICBzdWJ0aXRsZTogXCJcIixcbiAgICB0eXBlOiBcIlwiLFxuICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgZXh0ZXJuYWxMaW5rOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJcIixcbiAgICB0b29sdGlwOiBcIlwiLFxuICAgIGxpbms6IFwiXCIsXG4gICAgZnJhZ21lbnQ6IFwiXCIsXG4gICAgcHJlc2VydmVGcmFnbWVudDogXCJcIixcbiAgICBxdWVyeVBhcmFtczoge30sXG4gICAgdGFyZ2V0OiBcIlwiLFxuICAgIGljb246IFwiXCIsXG4gICAgLy8gYmFkZ2U6IHtcbiAgICAvLyAgICAgdGl0bGU6IFwic3RyaW5nXCIsXG4gICAgLy8gICAgIGNsYXNzZXM6IFwiXCIsXG4gICAgLy8gfSxcbiAgICBjaGlsZHJlbjogdHJ1ZSxcbiAgICB1cmw6IFwiXCIsXG4gICAgbWVudVR5cGU6IFwiXCIsXG4gICAgcGFyZW50TWVudVRpZDogXCJcIixcbiAgICBjaGlsZE1lbnVUaWQ6IFwiXCIsXG4gICAgbWVhc3VyZXM6IFtdXG4gIH1cblxuICBpc21lbnVDb250YWluZXIgPSBmYWxzZTtcbiAgaXNDb250ZW50VHlwZSA9IGZhbHNlO1xuXG4gIHVzZXJPcHRpb25Db250YWluZXI6IGFueSA9IFtdO1xuXG4gIHBhcGFyZW50TWVudURhdGFzb3VyY2U6IGFueTtcbiAgZGVmYXVsdFNlbGVjdGVkUGFyZW50OiBhbnk7XG4gIHNlbGVjdGVkUXVlcnlQYXJhbVN0ciA9IFwiXCI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21tb25zZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZTogQXBwbGljYXRpb25Db250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcblxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBtZW51SWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydtZW51SWQnXTtcbiAgICBsZXQgY29udGVudFR5cGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydjb250ZW50VHlwZSddO1xuICAgIGlmIChtZW51SWQgJiYgY29udGVudFR5cGUgPT0gXCJlZGl0XCIpIHtcbiAgICAgIHRoaXMuc2VydmljZS5nZXRBcHBNZW51Q29uZmlnQnlJZChtZW51SWQpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm1lbnVPYmplY3QgPSBkYXRhO1xuICAgICAgICAgIC8vIGlmIChkYXRhWydtZWFzdXJlcyddICYmIGRhdGFbJ21lYXN1cmVzJ10ubGVuZ3RoICE9PSAwKVxuICAgICAgICAgIC8vICAgZGF0YVsnbWVhc3VyZXMnXS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIC8vICAgICBsZXQgYXR0X3ZhbHVlID0gZWxlbWVudC5hdHRyaWJ1dGVWYWx1ZXMuam9pbihcIixcIik7XG4gICAgICAgICAgLy8gICAgIGVsZW1lbnQuYXR0cmlidXRlVmFsdWVzID0gYXR0X3ZhbHVlO1xuICAgICAgICAgIC8vICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUXVlcnlQYXJhbVN0ciA9IChkYXRhWydxdWVyeVBhcmFtcyddICYmIGRhdGFbJ3F1ZXJ5UGFyYW1zJ11bJ3BhZ2VJZCddKSA/IGRhdGFbJ3F1ZXJ5UGFyYW1zJ11bJ3BhZ2VJZCddIDogXCJcIjtcblxuICAgICAgICAgIHRoaXMudXNlck9wdGlvbkNvbnRhaW5lciA9IChkYXRhWydwZXJtaXNzaW9ucyddICYmIGRhdGFbJ3Blcm1pc3Npb25zJ10ubGVuZ3RoICE9PSAwKSA/IGRhdGFbJ3Blcm1pc3Npb25zJ10gOiBbXTtcbiAgICAgICAgICB0aGlzLmlzQ29udGVudFR5cGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuZ2V0UGFyZW50TWVudUxpc3QoKTtcblxuICAgICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgfVxuXG4gIGdldFBhcmVudE1lbnVMaXN0KCkge1xuICAgIHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZSA9IFtdO1xuICAgIHRoaXMuc2VydmljZS5saXN0QXBwTWVudUNvbmZpZ3MoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICBkYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSBcImNvbGxhcHNhYmxlXCIgfHwgZWxlbWVudC5tZW51VHlwZSA9PSBcInBhcmVudFwiKSB7XG4gICAgICAgICAgICBsZXQgb2JqID0ge307XG4gICAgICAgICAgICBvYmogPSB7XG4gICAgICAgICAgICAgIHBhcmVudE1lbnVUaWQ6IGVsZW1lbnQucGFyZW50TWVudVRpZCxcbiAgICAgICAgICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICAgIG1lbnVJZDogZWxlbWVudC5tZW51SWQsXG4gICAgICAgICAgICAgIGNoaWxkTWVudVRpZDogZWxlbWVudC5jaGlsZE1lbnVUaWQsXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5wdXNoKG9iailcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgXG4gICAgICAgIGlmICh0aGlzLm1lbnVPYmplY3QubWVudUlkICE9PSBcIlwiICYmIHRoaXMubWVudU9iamVjdC5tZW51VHlwZSA9PSBcInBhcmVudFwiKSB7XG5cbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51Lm1lbnVJZCA9PSB0aGlzLm1lbnVPYmplY3QubWVudUlkKTtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFBhcmVudCA9IG1lbnVfb2JqZWN0WzBdLm1lbnVJZDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudUlkICE9PSBcIlwiICYmIHRoaXMubWVudU9iamVjdC5tZW51VHlwZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51LnBhcmVudE1lbnVUaWQgPT0gdGhpcy5tZW51T2JqZWN0LnBhcmVudE1lbnVUaWQpO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkUGFyZW50ID0gbWVudV9vYmplY3RbMF0ubWVudUlkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNtZW51Q29udGFpbmVyID0gdHJ1ZTtcblxuICAgICAgfSwgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TWVudVR5cGUoZSkge1xuICAgIGlmIChlLmV2ZW50KSB7XG4gICAgICBpZiAoZS52YWx1ZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZHJlbiddID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoZS52YWx1ZSA9PSBcInBhcmVudFwiKSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IGZhbHNlO1xuXG4gICAgICB9XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ21lbnVUeXBlJ10gPSBlLnZhbHVlO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBcIlwiO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZE1lbnVUaWQnXSA9IFwiXCI7XG4gICAgICB0aGlzLmlzbWVudUNvbnRhaW5lciA9IHRydWU7XG4gICAgfVxuICB9XG5cblxuICBzdWJtaXROZXdNZW51KCkge1xuICAgIHRoaXMubWVudU9iamVjdFsncGVybWlzc2lvbnMnXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3F1ZXJ5UGFyYW1zJ10gPSB7ICdwYWdlSWQnOiB0aGlzLnNlbGVjdGVkUXVlcnlQYXJhbVN0ciB9O1xuXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51T2JqZWN0KVxuICAgIHRoaXMuc2VydmljZS5jb25maWd1cmVBcHBNZW51Q29uZmlnKHRoaXMubWVudU9iamVjdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKFwiTWVudSBBZGRlZCBTdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlTWVudSgpIHtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3Blcm1pc3Npb25zJ10gPSB0aGlzLnVzZXJPcHRpb25Db250YWluZXI7XG4gICAgdGhpcy5tZW51T2JqZWN0WydxdWVyeVBhcmFtcyddID0gKHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyKSA/IHsgJ3BhZ2VJZCc6IHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyIH0gOiB7fTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZUFwcE1lbnVDb25maWcodGhpcy5tZW51T2JqZWN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoXCJNZW51IFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9tZW51Q29udHJvbGxlciddKVxuICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldE1lbnVUaWRUeXBlKGl0ZW0pIHtcbiAgICBpZiAoaXRlbS5ldmVudCkge1xuICAgICAgY29uc3QgbWVudV9vYmplY3QgPSB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UuZmlsdGVyKG1lbnUgPT4gbWVudS5tZW51SWQgPT0gaXRlbS52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09ICdwYXJlbnQnICYmIG1lbnVfb2JqZWN0WzBdWydjaGlsZE1lbnVUaWQnXSAhPT0gXCJcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IG1lbnVfb2JqZWN0WzBdW1wiY2hpbGRNZW51VGlkXCJdO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudVR5cGUgPT0gJ2NoaWxkJyAmJiBtZW51X29iamVjdFswXVsnY2hpbGRNZW51VGlkJ10gIT09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBtZW51X29iamVjdFswXVtcImNoaWxkTWVudVRpZFwiXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsncGFyZW50TWVudVRpZCddID0gbWVudV9vYmplY3RbMF1bXCJwYXJlbnRNZW51VGlkXCJdO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgfVxuXG4gIG1lbnVMaXN0KCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gbWluLXctMFwiPlxuXG4gICAgPGxpYi1jb21tb24taGVhZGVyIFtwYWdlVGl0bGVdPVwiJ0FkZCBNZW51J1wiPjwvbGliLWNvbW1vbi1oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1iLTIgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXG4gICAgICAgICAgICAgICAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBCYXNpYyBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ7e2NvbW1vbnNlcnZpY2UuYnRuX3B1cnBsZV9tZH19XCIgKGNsaWNrKT1cIm1lbnVMaXN0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBNZW51IEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5NZW51IFR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydjaGlsZCcsJ3BhcmVudCddXCIgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lm1lbnVUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImdldE1lbnVUeXBlKCRldmVudClcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCIgW3ZhbHVlXT1cImRlZmF1bHRTZWxlY3RlZFBhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VGlkVHlwZSgkZXZlbnQpXCIgW2l0ZW1zXT1cInBhcGFyZW50TWVudURhdGFzb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJtZW51SWRcIiBkaXNwbGF5RXhwcj1cInRpdGxlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5QYXJlbnQgTWVudSBUSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnBhcmVudE1lbnVUaWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5DaGlsZCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc21lbnVDb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibWItMiB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDBcbiAgICAgICAgICAgICAgICBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICBJdGVtIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPk1lbnUgSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubWVudUlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5UaXRsZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC50aXRsZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+c3VidGl0bGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3Quc3VidGl0bGVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ2FzaWRlJywnYmFzaWMnLCdjb2xsYXBzYWJsZScsJ2RpdmlkZXInLCdncm91cCcsJ3NwYWNlciddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVudU9iamVjdC50eXBlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnRvb2x0aXA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudG9vbHRpcFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+bGluazwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5saW5rXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5mcmFnbWVudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5mcmFnbWVudFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+dGFyZ2V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydfYmxhbmsnLCdfc2VsZicsJ19wYXJlbnQnLCdfdG9wJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRhcmdldFwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5wcmVzZXJ2ZUZyYWdtZW50PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnByZXNlcnZlRnJhZ21lbnRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnF1ZXJ5UGFyYW1zPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJzZWxlY3RlZFF1ZXJ5UGFyYW1TdHJcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+aWNvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5pY29uXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5jaGlsZHJlblwiIHRleHQ9XCJDaGlsZHJlblwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5leHRlcm5hbExpbmtcIiB0ZXh0PVwiRXh0ZXJuYWwgTGlua1wiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuYWN0aXZlXCIgdGV4dD1cIkFjdGl2ZVwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGlzYWJsZWRcIiB0ZXh0PVwiRGlzYWJsZWRcIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJtZXNzYWdlXCIgcm93cz1cIjdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIHAtMi41IHctZnVsbCB0ZXh0LWxnIHRleHQtZ3JheS05MDAgYmctZ3JheS01MCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItZ3JheS0zMDAgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItYmx1ZS01MDAgZGFyazpiZy1ncmF5LTcwMCBkYXJrOmJvcmRlci1ncmF5LTYwMCBkYXJrOnBsYWNlaG9sZGVyLWdyYXktNDAwIGRhcms6dGV4dC13aGl0ZSBkYXJrOmZvY3VzOnJpbmctYmx1ZS01MDAgZGFyazpmb2N1czpib3JkZXItYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldyaXRlIE1lbnUgRGVzY3JpcHRpb25cIiBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImV4YW1wbGVUZXh0YXJlYVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG5cblxuICAgICAgICAgICAgICAgIDxhcHAtdXNlci1hY2Nlc3MgWyh1c2VyT3B0aW9uQ29udGFpbmVyKV09XCJ1c2VyT3B0aW9uQ29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtdXNlci1hY2Nlc3M+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBtdC00IGJvcmRlci10IG10LTggcHktNFwiICpuZ0lmPVwiIWlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInN1Ym1pdE5ld01lbnUoKVwiPkNyZWF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgbXQtNCBib3JkZXItdCBtdC04IHB5LTRcIiAqbmdJZj1cImlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInVwZGF0ZU1lbnUoKVwiPlVwZGF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==