@pega/angular-sdk-components 0.242.8 → 0.242.9

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.
@@ -102,7 +102,12 @@ export class UserReferenceComponent {
102
102
  this.helperText = helperText;
103
103
  this.placeholder = placeholder || '';
104
104
  this.displayMode$ = displayMode;
105
- this.value$ = value && typeof value === 'object' && value.userName ? value.userName : (value ?? '');
105
+ if (value && typeof value === 'object') {
106
+ this.value$ = value.userName ? value.userName : '';
107
+ }
108
+ else {
109
+ this.value$ = value || '';
110
+ }
106
111
  const { readOnly, required } = props;
107
112
  [this.bReadonly$, this.bRequired$] = [readOnly, required].map(prop => prop === true || (typeof prop === 'string' && prop === 'true'));
108
113
  this.actionsApi = this.pConn$.getActionsApi();
@@ -258,4 +263,4 @@ function getUserName(pConn, userId = '') {
258
263
  });
259
264
  });
260
265
  }
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWZlcmVuY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2ZpZWxkL3VzZXItcmVmZXJlbmNlL3VzZXItcmVmZXJlbmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC91c2VyLXJlZmVyZW5jZS91c2VyLXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBRTNELE1BQU0sWUFBWSxHQUFHLHVD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USxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBDb25uRmllbGRQcm9wcyB9IGZyb20gJy4uLy4uLy4uL190eXBlcy9QQ29ublByb3BzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaGFuZGxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy9ldmVudC11dGlsJztcblxuY29uc3QgT1BFUkFUT1JTX0RQID0gJ0RfcHlHZXRPcGVyYXRvcnNGb3JDdXJyZW50QXBwbGljYXRpb24nO1xuY29uc3QgRFJPUERPV05fTElTVCA9ICdEcm9wLWRvd24gbGlzdCc7XG5jb25zdCBTRUFSQ0hfQk9YID0gJ1NlYXJjaCBib3gnO1xuXG5pbnRlcmZhY2UgVXNlclJlZmVyZW5jZVByb3BzIGV4dGVuZHMgT21pdDxQQ29ubkZpZWxkUHJvcHMsICd2YWx1ZSc+IHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiBVc2VyUmVmZXJlbmNlIGhlcmVcbiAgZGlzcGxheUFzPzogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgc2hvd0FzRm9ybWF0dGVkVGV4dD86IGJvb2xlYW47XG4gIGFkZGl0aW9uYWxQcm9wcz86IG9iamVjdDtcbiAgb25SZWNvcmRDaGFuZ2U/OiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2VyLXJlZmVyZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItcmVmZXJlbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlZmVyZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbnRyb2xOYW1lJDogc3RyaW5nO1xuICB2YWx1ZSQ7XG4gIHVzZXJOYW1lJDogc3RyaW5nO1xuICBsYWJlbCQ6IHN0cmluZztcbiAgdXNlcklEJDogc3RyaW5nO1xuICBvcHRpb25zJDogYW55O1xuICBiUmVhZG9ubHkkOiBib29sZWFuO1xuICBiUmVxdWlyZWQkOiBib29sZWFuO1xuICBzaG93QXNGb3JtYXR0ZWRUZXh0JD86IGJvb2xlYW47XG4gIGRpc3BsYXlBcyQ/OiBzdHJpbmc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBoZWxwZXJUZXh0OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGRpc3BsYXlNb2RlJD86IHN0cmluZztcbiAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgZmlsdGVyVmFsdWUgPSAnJztcblxuICBmaWVsZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIG51bGwpO1xuICBhY3Rpb25zQXBpOiBPYmplY3Q7XG4gIHByb3BOYW1lOiBzdHJpbmc7XG4gIG9uUmVjb3JkQ2hhbmdlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5jb250cm9sTmFtZSQgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKTtcblxuICAgIGF3YWl0IHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCQpIHtcbiAgICAgIC8vIGFkZCBjb250cm9sIHRvIGZvcm1Hcm91cFxuICAgICAgdGhpcy5mb3JtR3JvdXAkLmFkZENvbnRyb2wodGhpcy5jb250cm9sTmFtZSQsIHRoaXMuZmllbGRDb250cm9sKTtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMuZ2V0VmFsdWUodGhpcy52YWx1ZSQpKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmllbGRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZ2V0VmFsdWUodGhpcy52YWx1ZSQpIHx8ICcnKSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLl9maWx0ZXIodmFsdWUgfHwgJycpKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCQucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2xOYW1lJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYlJlYWRvbmx5JCAmJiB0aGlzLnNob3dBc0Zvcm1hdHRlZFRleHQkKSB7XG4gICAgICByZXR1cm4gJ29wZXJhdG9yJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzcGxheUFzJCA9PT0gRFJPUERPV05fTElTVCkge1xuICAgICAgcmV0dXJuICdkcm9wZG93bic7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc3BsYXlBcyQgPT09IFNFQVJDSF9CT1gpIHtcbiAgICAgIHJldHVybiAnc2VhcmNoYm94JztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgYXN5bmMgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWwgPSAodmFsdWUgfHwgdGhpcy5maWx0ZXJWYWx1ZSkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zJD8uZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsKSk7XG4gIH1cblxuICBpc1VzZXJOYW1lQXZhaWxhYmxlID0gdXNlciA9PiB7XG4gICAgcmV0dXJuIHR5cGVvZiB1c2VyID09PSAnb2JqZWN0JyAmJiB1c2VyICE9PSBudWxsICYmIHVzZXIudXNlck5hbWU7XG4gIH07XG5cbiAgZ2V0VXNlck5hbWUgPSB1c2VyID0+IHtcbiAgICByZXR1cm4gdXNlci51c2VyTmFtZTtcbiAgfTtcblxuICBnZXRWYWx1ZSA9IHVzZXIgPT4ge1xuICAgIGlmICh0aGlzLmRpc3BsYXlBcyQgPT09IERST1BET1dOX0xJU1QpIHtcbiAgICAgIHJldHVybiB0aGlzLnV0aWxzLmdldFVzZXJJZCh1c2VyKSB8fCB0aGlzLmdldFVzZXJOYW1lKHVzZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc1VzZXJOYW1lQXZhaWxhYmxlKHVzZXIpID8gdGhpcy5nZXRVc2VyTmFtZSh1c2VyKSA6IHRoaXMudXRpbHMuZ2V0VXNlcklkKHVzZXIpO1xuICB9O1xuXG4gIGFzeW5jIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlU2VsZigpIHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCkgYXMgVXNlclJlZmVyZW5jZVByb3BzO1xuICAgIHRoaXMudGVzdElkID0gcHJvcHMudGVzdElkO1xuICAgIHRoaXMub25SZWNvcmRDaGFuZ2UgPSBwcm9wcz8ub25SZWNvcmRDaGFuZ2U7XG5cbiAgICBjb25zdCB7IGxhYmVsLCBkaXNwbGF5QXMsIHZhbHVlLCBzaG93QXNGb3JtYXR0ZWRUZXh0LCBoZWxwZXJUZXh0LCBwbGFjZWhvbGRlciwgZGlzcGxheU1vZGUgfSA9IHByb3BzO1xuXG4gICAgdGhpcy5sYWJlbCQgPSBsYWJlbDtcbiAgICB0aGlzLnNob3dBc0Zvcm1hdHRlZFRleHQkID0gc2hvd0FzRm9ybWF0dGVkVGV4dDtcbiAgICB0aGlzLmRpc3BsYXlBcyQgPSBkaXNwbGF5QXM7XG4gICAgdGhpcy5oZWxwZXJUZXh0ID0gaGVscGVyVGV4dDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgdGhpcy5kaXNwbGF5TW9kZSQgPSBkaXNwbGF5TW9kZTtcblxuICAgIHRoaXMudmFsdWUkID0gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZS51c2VyTmFtZSA/IHZhbHVlLnVzZXJOYW1lIDogKHZhbHVlID8/ICcnKTtcblxuICAgIGNvbnN0IHsgcmVhZE9ubHksIHJlcXVpcmVkIH0gPSBwcm9wcztcbiAgICBbdGhpcy5iUmVhZG9ubHkkLCB0aGlzLmJSZXF1aXJlZCRdID0gW3JlYWRPbmx5LCByZXF1aXJlZF0ubWFwKHByb3AgPT4gcHJvcCA9PT0gdHJ1ZSB8fCAodHlwZW9mIHByb3AgPT09ICdzdHJpbmcnICYmIHByb3AgPT09ICd0cnVlJykpO1xuXG4gICAgdGhpcy5hY3Rpb25zQXBpID0gdGhpcy5wQ29ubiQuZ2V0QWN0aW9uc0FwaSgpO1xuICAgIHRoaXMucHJvcE5hbWUgPSB0aGlzLnBDb25uJC5nZXRTdGF0ZVByb3BzKCkudmFsdWU7XG5cbiAgICB0aGlzLnVzZXJJRCQgPSB0aGlzLnV0aWxzLmdldFVzZXJJZCh2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy51c2VySUQkICYmIHRoaXMuYlJlYWRvbmx5JCAmJiB0aGlzLnNob3dBc0Zvcm1hdHRlZFRleHQkKSB7XG4gICAgICBpZiAodGhpcy5pc1VzZXJOYW1lQXZhaWxhYmxlKHZhbHVlKSkge1xuICAgICAgICB0aGlzLnVzZXJOYW1lJCA9IHZhbHVlLnVzZXJOYW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gaWYgc2FtZSB1c2VyIHJlZiBmaWVsZCBpcyByZWZlcnJlZCBpbiB2aWV3IGFzIGVkaXRhYmxlICYgcmVhZG9ubHkgZm9ybWF0dGVkIHRleHRcbiAgICAgICAgLy8gcmVmZXJlbmNlZCB1c2VycyB3b24ndCBiZSBhdmFpbGFibGUsIHNvIGdldCB1c2VyIGRldGFpbHMgZnJvbSBkeCBhcGlcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICB0aGlzLnVzZXJOYW1lJCA9IGF3YWl0IGdldFVzZXJOYW1lKHRoaXMucENvbm4kLCB0aGlzLnVzZXJJRCQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGlzcGxheUFzID09PSBEUk9QRE9XTl9MSVNUIHx8IGRpc3BsYXlBcyA9PT0gU0VBUkNIX0JPWCkge1xuICAgICAgY29uc3QgcXVlcnlQYXlsb2FkID0ge1xuICAgICAgICBkYXRhVmlld05hbWU6IE9QRVJBVE9SU19EUFxuICAgICAgfTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBQQ29yZS5nZXRSZXN0Q2xpZW50KCkuaW52b2tlUmVzdEFwaSgnZ2V0TGlzdERhdGEnLCB7IHF1ZXJ5UGF5bG9hZCB9LCAnJyk7IC8vIDNyZCBhcmcgZW1wdHkgc3RyaW5nIHVudGlsIHR5cGVkZWYgbWFya2VkIGNvcnJlY3RseVxuICAgICAgICBpZiAocmVzcD8uZGF0YSkge1xuICAgICAgICAgIGNvbnN0IGRkRGF0YVNvdXJjZSA9IHJlc3AuZGF0YS5kYXRhLm1hcChsaXN0SXRlbSA9PiAoe1xuICAgICAgICAgICAga2V5OiBsaXN0SXRlbS5weVVzZXJJZGVudGlmaWVyLFxuICAgICAgICAgICAgdmFsdWU6IGxpc3RJdGVtLnB5VXNlck5hbWVcbiAgICAgICAgICB9KSk7XG4gICAgICAgICAgdGhpcy5vcHRpb25zJCA9IGRkRGF0YVNvdXJjZTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpZWxkT25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudD8udmFsdWUgPT09ICdTZWxlY3QnKSB7XG4gICAgICBldmVudC52YWx1ZSA9ICcnO1xuICAgIH1cbiAgICBpZiAoZXZlbnQ/LnRhcmdldCkge1xuICAgICAgdGhpcy5maWx0ZXJWYWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQ/LnZhbHVlO1xuICAgIGhhbmRsZUV2ZW50KHRoaXMuYWN0aW9uc0FwaSwgJ2NoYW5nZScsIHRoaXMucHJvcE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIG9wdGlvbkNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQ/Lm9wdGlvbj8udmFsdWU7XG4gICAgaGFuZGxlRXZlbnQodGhpcy5hY3Rpb25zQXBpLCAnY2hhbmdlJywgdGhpcy5wcm9wTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgZmllbGRPbkJsdXIoZXZlbnQ6IGFueSkge1xuICAgIGxldCBrZXkgPSAnJztcbiAgICBpZiAoZXZlbnQ/LnRhcmdldD8udmFsdWUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHRpb25zJD8uZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC52YWx1ZSA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICAgIGtleSA9IGluZGV4ID4gLTEgPyAoa2V5ID0gdGhpcy5vcHRpb25zJFtpbmRleF0ua2V5KSA6IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBrZXk7XG4gICAgaGFuZGxlRXZlbnQodGhpcy5hY3Rpb25zQXBpLCAnY2hhbmdlTmJsdXInLCB0aGlzLnByb3BOYW1lLCB2YWx1ZSk7XG4gICAgaWYgKHRoaXMub25SZWNvcmRDaGFuZ2UpIHtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vblJlY29yZENoYW5nZShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCkge1xuICAgIGxldCBlcnJNZXNzYWdlID0gJyc7XG5cbiAgICAvLyBsb29rIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2VzIGZvciBqc29uLCBwcmUtZGVmaW5lZCBvciBqdXN0IGFuIGVycm9yIHB1c2hlZCBmcm9tIHdvcmtpdGVtICg0MDApXG4gICAgaWYgKHRoaXMuZmllbGRDb250cm9sLmhhc0Vycm9yKCdtZXNzYWdlJykpIHtcbiAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudmFsaWRhdGVNZXNzYWdlID8/ICcnO1xuICAgICAgcmV0dXJuIGVyck1lc3NhZ2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpZWxkQ29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgZXJyTWVzc2FnZSA9ICdZb3UgbXVzdCBlbnRlciBhIHZhbHVlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRDb250cm9sLmVycm9ycykge1xuICAgICAgZXJyTWVzc2FnZSA9IHRoaXMuZmllbGRDb250cm9sLmVycm9ycy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJNZXNzYWdlO1xuICB9XG59XG5cbmNvbnN0IGJ1aWxkQ29sdW1uRm9yRGlzcGxheVZhbHVlID0gZGF0YU9iaiA9PiB7XG4gIGlmIChkYXRhT2JqLmNvbHVtbnMpIHtcbiAgICBkYXRhT2JqLmNvbHVtbnMgPSBkYXRhT2JqLmNvbHVtbnMubWFwKGNvbHVtbiA9PiB7XG4gICAgICBjb25zdCB0ZW1wQ29sT2JqID0geyAuLi5jb2x1bW4gfTtcbiAgICAgIGlmICh0ZW1wQ29sT2JqLmtleSA9PT0gJ3RydWUnKSB7XG4gICAgICAgIHRlbXBDb2xPYmoudXNlRm9yU2VhcmNoID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlbXBDb2xPYmoudXNlRm9yU2VhcmNoID0gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGVtcENvbE9iajtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gZ2V0VXNlck5hbWUocENvbm4sIHVzZXJJZCA9ICcnKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIGNvbnN0IHsgcGFyYW1ldGVycyA9IHt9LCByZWZlcmVuY2VMaXN0IH0gPSBwQ29ubi5nZXRDb25maWdQcm9wcygpO1xuICAgIGNvbnN0IGNvbnRleHROYW1lID0gcENvbm4uZ2V0Q29udGV4dE5hbWUoKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XG4gICAgY29uc3QgT1BFUkFUT1JTX0RQID0gcmVmZXJlbmNlTGlzdCB8fCBQQ29yZS5nZXRFbnZpcm9ubWVudEluZm8oKS5nZXREZWZhdWx0T3BlcmF0b3JEUCgpIHx8ICcnO1xuXG4gICAgY29uc3QgY29sdW1ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdweVVzZXJOYW1lJyxcbiAgICAgICAgZGlzcGxheTogJ3RydWUnLFxuICAgICAgICB1c2VGb3JTZWFyY2g6IHRydWUsXG4gICAgICAgIHByaW1hcnk6ICd0cnVlJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdweVVzZXJJZGVudGlmaWVyJyxcbiAgICAgICAgc2V0UHJvcGVydHk6ICdBc3NvY2lhdGVkIHByb3BlcnR5JyxcbiAgICAgICAga2V5OiAndHJ1ZScsXG4gICAgICAgIGRpc3BsYXk6ICd0cnVlJyxcbiAgICAgICAgc2Vjb25kYXJ5OiAndHJ1ZScsXG4gICAgICAgIHVzZUZvclNlYXJjaDogdHJ1ZVxuICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdCBkYXRhQ29uZmlnOiBhbnkgPSB7XG4gICAgICBkYXRhU291cmNlOiBPUEVSQVRPUlNfRFAsXG4gICAgICBwYXJhbWV0ZXJzLFxuICAgICAgbWF0Y2hQb3NpdGlvbjogJ2VxdWFscycsXG4gICAgICBsaXN0VHlwZTogJ2RhdGFwYWdlJyxcbiAgICAgIGNvbHVtbnMsXG4gICAgICBjYWNoZUxpZmVTcGFuOiAnZm9ybScsXG4gICAgICBkZWZlckRhdGFzb3VyY2U6IGZhbHNlLFxuICAgICAgbWF4UmVzdWx0c0Rpc3BsYXk6ICcxJyxcbiAgICAgIGlnbm9yZUNhc2U6IHRydWVcbiAgICB9O1xuXG4gICAgUENvcmUuZ2V0RGF0YUFwaSgpXG4gICAgICAuaW5pdChkYXRhQ29uZmlnLCBjb250ZXh0TmFtZSlcbiAgICAgIC50aGVuKGRhdGFBcGlPYmogPT4ge1xuICAgICAgICBidWlsZENvbHVtbkZvckRpc3BsYXlWYWx1ZShkYXRhQXBpT2JqKTtcbiAgICAgICAgZGF0YUFwaU9iai5yZWdpc3RlckZvckJ1ZmZlcmVkQ2FsbCh7IHdhaXRUaW1lOiA1MCB9KTtcbiAgICAgICAgZGF0YUFwaU9iai5mZXRjaERhdGEodXNlcklkKS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5kYXRhPy5bMF0/LnB5VXNlck5hbWUgfHwgdXNlcklkKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfSk7XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZGlzcGxheU1vZGUkOyBlbHNlIG5vRGlzcGxheU1vZGVcIj5cbiAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiRmllbGRWYWx1ZUxpc3RcIiBbcHJvcHNdPVwieyBsYWJlbCQsIHZhbHVlJCwgZGlzcGxheU1vZGUkIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI25vRGlzcGxheU1vZGU+XG4gICAgPGRpdiBjbGFzcz1cInBzZGstdXNlci1yZWZlcmVuY2VcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLnVzZXJJRCQgJiYgdHlwZSA9PT0gJ29wZXJhdG9yJ1wiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiT3BlcmF0b3JcIiBbcHJvcHNdPVwieyBwQ29ubiQsIG5hbWUkOiB1c2VyTmFtZSQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCRcIiAqbmdJZj1cInR5cGUgPT09ICdkcm9wZG93bidcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIFtoaW50TGFiZWxdPVwiaGVscGVyVGV4dFwiPlxuICAgICAgICAgIDxtYXQtc2VsZWN0IFtyZXF1aXJlZF09XCJiUmVxdWlyZWQkXCIgW2Zvcm1Db250cm9sXT1cImZpZWxkQ29udHJvbFwiIFthdHRyLmRhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cImZpZWxkT25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRpb25zJFwiIFt2YWx1ZV09XCJvcHQua2V5XCI+XG4gICAgICAgICAgICAgIHt7IG9wdC52YWx1ZSB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsJCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmaWVsZENvbnRyb2wuaW52YWxpZFwiPlxuICAgICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCRcIiAqbmdJZj1cInR5cGUgPT09ICdzZWFyY2hib3gnXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInBzZGstZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBbaGludExhYmVsXT1cImhlbHBlclRleHRcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsJCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZmllbGRDb250cm9sXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJiUmVxdWlyZWQkXCJcbiAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgICAgICAgICAgIChibHVyKT1cImZpZWxkT25CbHVyKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gKG9wdGlvblNlbGVjdGVkKT1cIm9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdCBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHQudmFsdWVcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgb3B0LnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZmllbGRDb250cm9sLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWZlcmVuY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2ZpZWxkL3VzZXItcmVmZXJlbmNlL3VzZXItcmVmZXJlbmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC91c2VyLXJlZmVyZW5jZS91c2VyLXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBRTNELE1BQU0sWUFBWSxHQUFHLHVDQUF1QyxDQUFDO0FBQzdELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3ZDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztBQTJCaEMsTUFBTSxPQUFPLHNCQUFzQjtJQTJCakMsWUFDVSxlQUF1QyxFQUN2QyxLQUFZO1FBRFosb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLFVBQUssR0FBTCxLQUFLLENBQU87UUF6QnRCLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFnQjlDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBZ0V6Qyx3QkFBbUIsR0FBRyxJQUFJLENBQUMsRUFBRTtZQUMzQixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEUsQ0FBQyxDQUFDO1FBRUYsZ0JBQVcsR0FBRyxJQUFJLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBRUYsYUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDO0lBckVDLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUQsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsMkJBQTJCO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN4RCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQzNDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2pELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDdEMsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbURBQW1EO0lBQ25ELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYTtRQUMzQixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQWlCRCxLQUFLLENBQUMsY0FBYztRQUNsQixnRUFBZ0U7UUFDaEUsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckUsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUF3QixDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssRUFBRSxjQUFjLENBQUM7UUFFNUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXJHLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV0SSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUVsRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2pFLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNsQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUZBQW1GO2dCQUNuRix1RUFBdUU7Z0JBQ3ZFLG1FQUFtRTtnQkFDbkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksU0FBUyxLQUFLLGFBQWEsSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbkUsTUFBTSxZQUFZLEdBQUc7Z0JBQ25CLFlBQVksRUFBRSxZQUFZO2FBQzNCLENBQUM7WUFDRixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0RBQXNEO2dCQUNuSixJQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDZixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxHQUFHLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjt3QkFDOUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxVQUFVO3FCQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztnQkFDL0IsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxLQUFLLEVBQUUsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUM5RCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUMzQixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7UUFDbkMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RixHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzRSxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVwQixpR0FBaUc7UUFDakcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzFDLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztZQUM1RCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQztRQUN4QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzsrR0FyTlUsc0JBQXNCO21HQUF0QixzQkFBc0Isc0lDNUNuQywrbkVBK0NBLCtSRGJJLFlBQVksd1lBQ1osbUJBQW1CLHN1Q0FDbkIsa0JBQWtCLDJkQUNsQixlQUFlLGt2QkFDZixlQUFlLG1EQUNmLGNBQWMsb1pBQ2QscUJBQXFCLHV2QkFDSix3QkFBd0I7OzRGQUdoQyxzQkFBc0I7a0JBaEJsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQzNDOytHQUdRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLOztBQXNOUixNQUFNLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxFQUFFO0lBQzNDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksVUFBVSxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDakMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixTQUFTLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUU7SUFDckMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMzQixNQUFNLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTNDLHdEQUF3RDtRQUN4RCxNQUFNLFlBQVksR0FBRyxhQUFhLElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFOUYsTUFBTSxPQUFPLEdBQUc7WUFDZDtnQkFDRSxLQUFLLEVBQUUsWUFBWTtnQkFDbkIsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE9BQU8sRUFBRSxNQUFNO2FBQ2hCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsV0FBVyxFQUFFLHFCQUFxQjtnQkFDbEMsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLFlBQVksRUFBRSxJQUFJO2FBQ25CO1NBQ0YsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFRO1lBQ3RCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLFVBQVU7WUFDVixhQUFhLEVBQUUsUUFBUTtZQUN2QixRQUFRLEVBQUUsVUFBVTtZQUNwQixPQUFPO1lBQ1AsYUFBYSxFQUFFLE1BQU07WUFDckIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBRUYsS0FBSyxDQUFDLFVBQVUsRUFBRTthQUNmLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO2FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNqQiwwQkFBMEIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxVQUFVLENBQUMsdUJBQXVCLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRCxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUNsRCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBDb25uRmllbGRQcm9wcyB9IGZyb20gJy4uLy4uLy4uL190eXBlcy9QQ29ublByb3BzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaGFuZGxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy9ldmVudC11dGlsJztcblxuY29uc3QgT1BFUkFUT1JTX0RQID0gJ0RfcHlHZXRPcGVyYXRvcnNGb3JDdXJyZW50QXBwbGljYXRpb24nO1xuY29uc3QgRFJPUERPV05fTElTVCA9ICdEcm9wLWRvd24gbGlzdCc7XG5jb25zdCBTRUFSQ0hfQk9YID0gJ1NlYXJjaCBib3gnO1xuXG5pbnRlcmZhY2UgVXNlclJlZmVyZW5jZVByb3BzIGV4dGVuZHMgT21pdDxQQ29ubkZpZWxkUHJvcHMsICd2YWx1ZSc+IHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiBVc2VyUmVmZXJlbmNlIGhlcmVcbiAgZGlzcGxheUFzPzogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgc2hvd0FzRm9ybWF0dGVkVGV4dD86IGJvb2xlYW47XG4gIGFkZGl0aW9uYWxQcm9wcz86IG9iamVjdDtcbiAgb25SZWNvcmRDaGFuZ2U/OiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2VyLXJlZmVyZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItcmVmZXJlbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlclJlZmVyZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbnRyb2xOYW1lJDogc3RyaW5nO1xuICB2YWx1ZSQ7XG4gIHVzZXJOYW1lJDogc3RyaW5nO1xuICBsYWJlbCQ6IHN0cmluZztcbiAgdXNlcklEJDogc3RyaW5nO1xuICBvcHRpb25zJDogYW55O1xuICBiUmVhZG9ubHkkOiBib29sZWFuO1xuICBiUmVxdWlyZWQkOiBib29sZWFuO1xuICBzaG93QXNGb3JtYXR0ZWRUZXh0JD86IGJvb2xlYW47XG4gIGRpc3BsYXlBcyQ/OiBzdHJpbmc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBoZWxwZXJUZXh0OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGRpc3BsYXlNb2RlJD86IHN0cmluZztcbiAgZmlsdGVyZWRPcHRpb25zOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgZmlsdGVyVmFsdWUgPSAnJztcblxuICBmaWVsZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIG51bGwpO1xuICBhY3Rpb25zQXBpOiBPYmplY3Q7XG4gIHByb3BOYW1lOiBzdHJpbmc7XG4gIG9uUmVjb3JkQ2hhbmdlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsczogVXRpbHNcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgdGhpcy5jb250cm9sTmFtZSQgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKTtcblxuICAgIGF3YWl0IHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCQpIHtcbiAgICAgIC8vIGFkZCBjb250cm9sIHRvIGZvcm1Hcm91cFxuICAgICAgdGhpcy5mb3JtR3JvdXAkLmFkZENvbnRyb2wodGhpcy5jb250cm9sTmFtZSQsIHRoaXMuZmllbGRDb250cm9sKTtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMuZ2V0VmFsdWUodGhpcy52YWx1ZSQpKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmllbGRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuZ2V0VmFsdWUodGhpcy52YWx1ZSQpIHx8ICcnKSxcbiAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLl9maWx0ZXIodmFsdWUgfHwgJycpKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCQucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2xOYW1lJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYlJlYWRvbmx5JCAmJiB0aGlzLnNob3dBc0Zvcm1hdHRlZFRleHQkKSB7XG4gICAgICByZXR1cm4gJ29wZXJhdG9yJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzcGxheUFzJCA9PT0gRFJPUERPV05fTElTVCkge1xuICAgICAgcmV0dXJuICdkcm9wZG93bic7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpc3BsYXlBcyQgPT09IFNFQVJDSF9CT1gpIHtcbiAgICAgIHJldHVybiAnc2VhcmNoYm94JztcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgYXN5bmMgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmaWx0ZXJWYWwgPSAodmFsdWUgfHwgdGhpcy5maWx0ZXJWYWx1ZSkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zJD8uZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsKSk7XG4gIH1cblxuICBpc1VzZXJOYW1lQXZhaWxhYmxlID0gdXNlciA9PiB7XG4gICAgcmV0dXJuIHR5cGVvZiB1c2VyID09PSAnb2JqZWN0JyAmJiB1c2VyICE9PSBudWxsICYmIHVzZXIudXNlck5hbWU7XG4gIH07XG5cbiAgZ2V0VXNlck5hbWUgPSB1c2VyID0+IHtcbiAgICByZXR1cm4gdXNlci51c2VyTmFtZTtcbiAgfTtcblxuICBnZXRWYWx1ZSA9IHVzZXIgPT4ge1xuICAgIGlmICh0aGlzLmRpc3BsYXlBcyQgPT09IERST1BET1dOX0xJU1QpIHtcbiAgICAgIHJldHVybiB0aGlzLnV0aWxzLmdldFVzZXJJZCh1c2VyKSB8fCB0aGlzLmdldFVzZXJOYW1lKHVzZXIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc1VzZXJOYW1lQXZhaWxhYmxlKHVzZXIpID8gdGhpcy5nZXRVc2VyTmFtZSh1c2VyKSA6IHRoaXMudXRpbHMuZ2V0VXNlcklkKHVzZXIpO1xuICB9O1xuXG4gIGFzeW5jIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgYXdhaXQgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlU2VsZigpIHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCkgYXMgVXNlclJlZmVyZW5jZVByb3BzO1xuICAgIHRoaXMudGVzdElkID0gcHJvcHMudGVzdElkO1xuICAgIHRoaXMub25SZWNvcmRDaGFuZ2UgPSBwcm9wcz8ub25SZWNvcmRDaGFuZ2U7XG5cbiAgICBjb25zdCB7IGxhYmVsLCBkaXNwbGF5QXMsIHZhbHVlLCBzaG93QXNGb3JtYXR0ZWRUZXh0LCBoZWxwZXJUZXh0LCBwbGFjZWhvbGRlciwgZGlzcGxheU1vZGUgfSA9IHByb3BzO1xuXG4gICAgdGhpcy5sYWJlbCQgPSBsYWJlbDtcbiAgICB0aGlzLnNob3dBc0Zvcm1hdHRlZFRleHQkID0gc2hvd0FzRm9ybWF0dGVkVGV4dDtcbiAgICB0aGlzLmRpc3BsYXlBcyQgPSBkaXNwbGF5QXM7XG4gICAgdGhpcy5oZWxwZXJUZXh0ID0gaGVscGVyVGV4dDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgdGhpcy5kaXNwbGF5TW9kZSQgPSBkaXNwbGF5TW9kZTtcblxuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLnZhbHVlJCA9IHZhbHVlLnVzZXJOYW1lID8gdmFsdWUudXNlck5hbWUgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSQgPSB2YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBjb25zdCB7IHJlYWRPbmx5LCByZXF1aXJlZCB9ID0gcHJvcHM7XG4gICAgW3RoaXMuYlJlYWRvbmx5JCwgdGhpcy5iUmVxdWlyZWQkXSA9IFtyZWFkT25seSwgcmVxdWlyZWRdLm1hcChwcm9wID0+IHByb3AgPT09IHRydWUgfHwgKHR5cGVvZiBwcm9wID09PSAnc3RyaW5nJyAmJiBwcm9wID09PSAndHJ1ZScpKTtcblxuICAgIHRoaXMuYWN0aW9uc0FwaSA9IHRoaXMucENvbm4kLmdldEFjdGlvbnNBcGkoKTtcbiAgICB0aGlzLnByb3BOYW1lID0gdGhpcy5wQ29ubiQuZ2V0U3RhdGVQcm9wcygpLnZhbHVlO1xuXG4gICAgdGhpcy51c2VySUQkID0gdGhpcy51dGlscy5nZXRVc2VySWQodmFsdWUpO1xuXG4gICAgaWYgKHRoaXMudXNlcklEJCAmJiB0aGlzLmJSZWFkb25seSQgJiYgdGhpcy5zaG93QXNGb3JtYXR0ZWRUZXh0JCkge1xuICAgICAgaWYgKHRoaXMuaXNVc2VyTmFtZUF2YWlsYWJsZSh2YWx1ZSkpIHtcbiAgICAgICAgdGhpcy51c2VyTmFtZSQgPSB2YWx1ZS51c2VyTmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGlmIHNhbWUgdXNlciByZWYgZmllbGQgaXMgcmVmZXJyZWQgaW4gdmlldyBhcyBlZGl0YWJsZSAmIHJlYWRvbmx5IGZvcm1hdHRlZCB0ZXh0XG4gICAgICAgIC8vIHJlZmVyZW5jZWQgdXNlcnMgd29uJ3QgYmUgYXZhaWxhYmxlLCBzbyBnZXQgdXNlciBkZXRhaWxzIGZyb20gZHggYXBpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgICAgdGhpcy51c2VyTmFtZSQgPSBhd2FpdCBnZXRVc2VyTmFtZSh0aGlzLnBDb25uJCwgdGhpcy51c2VySUQkKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRpc3BsYXlBcyA9PT0gRFJPUERPV05fTElTVCB8fCBkaXNwbGF5QXMgPT09IFNFQVJDSF9CT1gpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5UGF5bG9hZCA9IHtcbiAgICAgICAgZGF0YVZpZXdOYW1lOiBPUEVSQVRPUlNfRFBcbiAgICAgIH07XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgUENvcmUuZ2V0UmVzdENsaWVudCgpLmludm9rZVJlc3RBcGkoJ2dldExpc3REYXRhJywgeyBxdWVyeVBheWxvYWQgfSwgJycpOyAvLyAzcmQgYXJnIGVtcHR5IHN0cmluZyB1bnRpbCB0eXBlZGVmIG1hcmtlZCBjb3JyZWN0bHlcbiAgICAgICAgaWYgKHJlc3A/LmRhdGEpIHtcbiAgICAgICAgICBjb25zdCBkZERhdGFTb3VyY2UgPSByZXNwLmRhdGEuZGF0YS5tYXAobGlzdEl0ZW0gPT4gKHtcbiAgICAgICAgICAgIGtleTogbGlzdEl0ZW0ucHlVc2VySWRlbnRpZmllcixcbiAgICAgICAgICAgIHZhbHVlOiBsaXN0SXRlbS5weVVzZXJOYW1lXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHRoaXMub3B0aW9ucyQgPSBkZERhdGFTb3VyY2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWVsZE9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQ/LnZhbHVlID09PSAnU2VsZWN0Jykge1xuICAgICAgZXZlbnQudmFsdWUgPSAnJztcbiAgICB9XG4gICAgaWYgKGV2ZW50Py50YXJnZXQpIHtcbiAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50Py52YWx1ZTtcbiAgICBoYW5kbGVFdmVudCh0aGlzLmFjdGlvbnNBcGksICdjaGFuZ2UnLCB0aGlzLnByb3BOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICBvcHRpb25DaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50Py5vcHRpb24/LnZhbHVlO1xuICAgIGhhbmRsZUV2ZW50KHRoaXMuYWN0aW9uc0FwaSwgJ2NoYW5nZScsIHRoaXMucHJvcE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIGZpZWxkT25CbHVyKGV2ZW50OiBhbnkpIHtcbiAgICBsZXQga2V5ID0gJyc7XG4gICAgaWYgKGV2ZW50Py50YXJnZXQ/LnZhbHVlKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0aW9ucyQ/LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQudmFsdWUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICBrZXkgPSBpbmRleCA+IC0xID8gKGtleSA9IHRoaXMub3B0aW9ucyRbaW5kZXhdLmtleSkgOiBldmVudC50YXJnZXQudmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0ga2V5O1xuICAgIGhhbmRsZUV2ZW50KHRoaXMuYWN0aW9uc0FwaSwgJ2NoYW5nZU5ibHVyJywgdGhpcy5wcm9wTmFtZSwgdmFsdWUpO1xuICAgIGlmICh0aGlzLm9uUmVjb3JkQ2hhbmdlKSB7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25SZWNvcmRDaGFuZ2UoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpIHtcbiAgICBsZXQgZXJyTWVzc2FnZSA9ICcnO1xuXG4gICAgLy8gbG9vayBmb3IgdmFsaWRhdGlvbiBtZXNzYWdlcyBmb3IganNvbiwgcHJlLWRlZmluZWQgb3IganVzdCBhbiBlcnJvciBwdXNoZWQgZnJvbSB3b3JraXRlbSAoNDAwKVxuICAgIGlmICh0aGlzLmZpZWxkQ29udHJvbC5oYXNFcnJvcignbWVzc2FnZScpKSB7XG4gICAgICBlcnJNZXNzYWdlID0gdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnZhbGlkYXRlTWVzc2FnZSA/PyAnJztcbiAgICAgIHJldHVybiBlcnJNZXNzYWdlO1xuICAgIH1cbiAgICBpZiAodGhpcy5maWVsZENvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIGVyck1lc3NhZ2UgPSAnWW91IG11c3QgZW50ZXIgYSB2YWx1ZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkQ29udHJvbC5lcnJvcnMpIHtcbiAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmZpZWxkQ29udHJvbC5lcnJvcnMudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyTWVzc2FnZTtcbiAgfVxufVxuXG5jb25zdCBidWlsZENvbHVtbkZvckRpc3BsYXlWYWx1ZSA9IGRhdGFPYmogPT4ge1xuICBpZiAoZGF0YU9iai5jb2x1bW5zKSB7XG4gICAgZGF0YU9iai5jb2x1bW5zID0gZGF0YU9iai5jb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgICAgY29uc3QgdGVtcENvbE9iaiA9IHsgLi4uY29sdW1uIH07XG4gICAgICBpZiAodGVtcENvbE9iai5rZXkgPT09ICd0cnVlJykge1xuICAgICAgICB0ZW1wQ29sT2JqLnVzZUZvclNlYXJjaCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZW1wQ29sT2JqLnVzZUZvclNlYXJjaCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRlbXBDb2xPYmo7XG4gICAgfSk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGdldFVzZXJOYW1lKHBDb25uLCB1c2VySWQgPSAnJyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBjb25zdCB7IHBhcmFtZXRlcnMgPSB7fSwgcmVmZXJlbmNlTGlzdCB9ID0gcENvbm4uZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICBjb25zdCBjb250ZXh0TmFtZSA9IHBDb25uLmdldENvbnRleHROYW1lKCk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1xuICAgIGNvbnN0IE9QRVJBVE9SU19EUCA9IHJlZmVyZW5jZUxpc3QgfHwgUENvcmUuZ2V0RW52aXJvbm1lbnRJbmZvKCkuZ2V0RGVmYXVsdE9wZXJhdG9yRFAoKSB8fCAnJztcblxuICAgIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAncHlVc2VyTmFtZScsXG4gICAgICAgIGRpc3BsYXk6ICd0cnVlJyxcbiAgICAgICAgdXNlRm9yU2VhcmNoOiB0cnVlLFxuICAgICAgICBwcmltYXJ5OiAndHJ1ZSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAncHlVc2VySWRlbnRpZmllcicsXG4gICAgICAgIHNldFByb3BlcnR5OiAnQXNzb2NpYXRlZCBwcm9wZXJ0eScsXG4gICAgICAgIGtleTogJ3RydWUnLFxuICAgICAgICBkaXNwbGF5OiAndHJ1ZScsXG4gICAgICAgIHNlY29uZGFyeTogJ3RydWUnLFxuICAgICAgICB1c2VGb3JTZWFyY2g6IHRydWVcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3QgZGF0YUNvbmZpZzogYW55ID0ge1xuICAgICAgZGF0YVNvdXJjZTogT1BFUkFUT1JTX0RQLFxuICAgICAgcGFyYW1ldGVycyxcbiAgICAgIG1hdGNoUG9zaXRpb246ICdlcXVhbHMnLFxuICAgICAgbGlzdFR5cGU6ICdkYXRhcGFnZScsXG4gICAgICBjb2x1bW5zLFxuICAgICAgY2FjaGVMaWZlU3BhbjogJ2Zvcm0nLFxuICAgICAgZGVmZXJEYXRhc291cmNlOiBmYWxzZSxcbiAgICAgIG1heFJlc3VsdHNEaXNwbGF5OiAnMScsXG4gICAgICBpZ25vcmVDYXNlOiB0cnVlXG4gICAgfTtcblxuICAgIFBDb3JlLmdldERhdGFBcGkoKVxuICAgICAgLmluaXQoZGF0YUNvbmZpZywgY29udGV4dE5hbWUpXG4gICAgICAudGhlbihkYXRhQXBpT2JqID0+IHtcbiAgICAgICAgYnVpbGRDb2x1bW5Gb3JEaXNwbGF5VmFsdWUoZGF0YUFwaU9iaik7XG4gICAgICAgIGRhdGFBcGlPYmoucmVnaXN0ZXJGb3JCdWZmZXJlZENhbGwoeyB3YWl0VGltZTogNTAgfSk7XG4gICAgICAgIGRhdGFBcGlPYmouZmV0Y2hEYXRhKHVzZXJJZCkudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuZGF0YT8uWzBdPy5weVVzZXJOYW1lIHx8IHVzZXJJZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH0pO1xufVxuIiwiPGRpdj5cbiAgPGRpdiAqbmdJZj1cImRpc3BsYXlNb2RlJDsgZWxzZSBub0Rpc3BsYXlNb2RlXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIkZpZWxkVmFsdWVMaXN0XCIgW3Byb3BzXT1cInsgbGFiZWwkLCB2YWx1ZSQsIGRpc3BsYXlNb2RlJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNub0Rpc3BsYXlNb2RlPlxuICAgIDxkaXYgY2xhc3M9XCJwc2RrLXVzZXItcmVmZXJlbmNlXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwidGhpcy51c2VySUQkICYmIHR5cGUgPT09ICdvcGVyYXRvcidcIj5cbiAgICAgICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIk9wZXJhdG9yXCIgW3Byb3BzXT1cInsgcENvbm4kLCBuYW1lJDogdXNlck5hbWUkIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgKm5nSWY9XCJ0eXBlID09PSAnZHJvcGRvd24nXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInBzZGstZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBbaGludExhYmVsXT1cImhlbHBlclRleHRcIj5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBbcmVxdWlyZWRdPVwiYlJlcXVpcmVkJFwiIFtmb3JtQ29udHJvbF09XCJmaWVsZENvbnRyb2xcIiBbYXR0ci5kYXRhLXRlc3QtaWRdPVwidGVzdElkXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJmaWVsZE9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2Ygb3B0aW9ucyRcIiBbdmFsdWVdPVwib3B0LmtleVwiPlxuICAgICAgICAgICAgICB7eyBvcHQudmFsdWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCQgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZmllbGRDb250cm9sLmludmFsaWRcIj5cbiAgICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZSgpIH19XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXAkXCIgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoYm94J1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJwc2RrLWZ1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgW2hpbnRMYWJlbF09XCJoZWxwZXJUZXh0XCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCQgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpZWxkQ29udHJvbFwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwiYlJlcXVpcmVkJFwiXG4gICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4gICAgICAgICAgICAoYmx1cik9XCJmaWVsZE9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uIChvcHRpb25TZWxlY3RlZCk9XCJvcHRpb25DaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0LnZhbHVlXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IG9wdC52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZpZWxkQ29udHJvbC5pbnZhbGlkXCI+XG4gICAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoKSB9fVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -127,8 +127,8 @@ export class RootContainerComponent {
127
127
  }
128
128
  async configureModalContainer() {
129
129
  const sdkConfig = await this.scService.getSdkConfig();
130
- const showModalsInEmbedMode = sdkConfig.serverConfig.showModalsInEmbedMode;
131
- if (!this.displayOnlyFA$ || showModalsInEmbedMode) {
130
+ const showModalsInEmbeddedMode = sdkConfig.serverConfig.showModalsInEmbeddedMode;
131
+ if (!this.displayOnlyFA$ || showModalsInEmbeddedMode) {
132
132
  const configObjModal = PCore.createPConnect({
133
133
  meta: {
134
134
  type: 'ModalViewContainer',
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
220
220
  }], isMashup$: [{
221
221
  type: Input
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL3Jvb3QtY29udGFpbmVyL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yb290LWNvbnRhaW5lci9yb290LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBVSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7O0FBRXhHOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztBQWdCbkMsTUFB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MkJBQTJCLCtJQUMzQiw2QkFBNkIsZ0hBQ1osd0JBQXdCOzs0RkFHaEMsc0JBQXNCO2tCQWRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDM0M7cUpBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL3NlcnZlci1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL3Byb2dyZXNzLXNwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmV2aWV3Vmlld0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL0NvbnRhaW5lcnMvcHJldmlldy12aWV3LWNvbnRhaW5lci9wcmV2aWV3LXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbFZpZXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9Db250YWluZXJzL21vZGFsLXZpZXctY29udGFpbmVyL21vZGFsLXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeWJyaWRWaWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vQ29udGFpbmVycy9oeWJyaWQtdmlldy1jb250YWluZXIvaHlicmlkLXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFdBUk5JTkc6ICBJdCBpcyBub3QgZXhwZWN0ZWQgdGhhdCB0aGlzIGZpbGUgc2hvdWxkIGJlIG1vZGlmaWVkLiAgSXQgaXMgcGFydCBvZiBpbmZyYXN0cnVjdHVyZSBjb2RlIHRoYXQgd29ya3Mgd2l0aFxuICogUmVkdXggYW5kIGNyZWF0aW9uL3VwZGF0ZSBvZiBSZWR1eCBjb250YWluZXJzIGFuZCBQQ29ubmVjdC4gIE1vZGlmeWluZyB0aGlzIGNvZGUgY291bGQgaGF2ZSB1bmRlc2lyZWFibGUgcmVzdWx0cyBhbmRcbiAqIGlzIHRvdGFsbHkgYXQgeW91ciBvd24gcmlzay5cbiAqL1xuXG5jb25zdCBvcHRpb25zID0geyBjb250ZXh0OiAnYXBwJyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcm9vdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcm9vdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yb290LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBIeWJyaWRWaWV3Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1vZGFsVmlld0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBQcmV2aWV3Vmlld0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudClcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSb290Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZGlzcGxheU9ubHlGQSQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzTWFzaHVwJDogYm9vbGVhbjtcblxuICBzY1NlcnZpY2UgPSBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSk7XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcblxuICBjb21wb25lbnROYW1lJCA9ICcnO1xuICBiSXNQcm9ncmVzcyQgPSBmYWxzZTtcblxuICAvLyBwcmV2aWV3IGFuZCBtb2RhbHZpZXcgcENvbm5cbiAgcHZDb25uJDogYW55ID0gbnVsbDtcbiAgbUNvbm4kOiBhbnkgPSBudWxsO1xuXG4gIGJTaG93Um9vdCQgPSB0cnVlO1xuXG4gIHByb2dyZXNzU3Bpbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBzcGlubmVyVGltZXI6IGFueSA9IG51bGw7XG4gIHZpZXdDb250YWluZXJQQ29ubiQ6IGFueSA9IG51bGw7XG4gIGxvY2FsaXplZFZhbDogYW55O1xuICBsb2NhbGVDYXRlZ29yeSA9ICdNZXNzYWdlcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb250YWluZXJzIH0gPSBQQ29yZS5nZXRTdG9yZSgpLmdldFN0YXRlKCk7XG4gICAgY29uc3QgaXRlbXMgPSBPYmplY3Qua2V5cyhjb250YWluZXJzKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmluY2x1ZGVzKCdyb290JykpO1xuXG4gICAgUENvcmUuZ2V0Q29udGFpbmVyVXRpbHMoKS5nZXRDb250YWluZXJBUEkoKS5hZGRDb250YWluZXJJdGVtcyhpdGVtcyk7XG5cbiAgICAvLyBhZGQgcHJldmlldyBhbmQgbW9kYWx2aWV3IGNvbnRhaW5lcnMgdG8gcmVkdXhcbiAgICAvLyBrZWVwIGxvY2FsIGNvcGllcyBvZiB0aGUgdGhlIHBDb25uZWN0IHRoYXQgaXMgcmVsYXRlZFxuXG4gICAgY29uc3QgY29uZmlnT2JqUHJldmlldyA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgdHlwZTogJ1ByZXZpZXdWaWV3Q29udGFpbmVyJyxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogJ3ByZXZpZXcnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRpb25zXG4gICAgfSk7XG5cbiAgICB0aGlzLnB2Q29ubiQgPSBjb25maWdPYmpQcmV2aWV3LmdldFBDb25uZWN0KCk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZU1vZGFsQ29udGFpbmVyKCk7XG5cbiAgICAvLyBjbGVhciBvdXQgaGFzVmlld0NvbnRhaW5lclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2hhc1ZpZXdDb250YWluZXInLCAnZmFsc2UnKTtcblxuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgLy8gaGFuZGxlIHNob3dpbmcgYW5kIGhpZGluZyB0aGUgcHJvZ3Jlc3Mgc3Bpbm5lclxuICAgIHRoaXMucHJvZ3Jlc3NTcGlubmVyU3Vic2NyaXB0aW9uID0gdGhpcy5wc1NlcnZpY2UuZ2V0TWVzc2FnZSgpLnN1YnNjcmliZShtZXNzYWdlID0+IHtcbiAgICAgIHRoaXMuc2hvd0hpZGVQcm9ncmVzcyhtZXNzYWdlLnNob3cpO1xuICAgIH0pO1xuICAgIHRoaXMubG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICAvLyBuZWVkIHRvIGNhbGwgdGhpcy5nZXRDdXJyZW50Q29tcGxldGVQcm9wcyAobm90IHRoaXMudGhlUENvbm4uZ2V0Q29uZmlnUHJvcHMpXG4gICAgLy8gIHRvIGdldCBmdWxsIHNldCBvZiBwcm9wcyB0aGF0IGFmZmVjdCB0aGlzIGNvbXBvbmVudCBpbiBSZWR1eFxuICAgIGNvbnN0IG15UHJvcHM6IGFueSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LmdldEN1cnJlbnRDb21wbGV0ZVByb3BzKHRoaXMpO1xuXG4gICAgY29uc3QgcmVuZGVyaW5nTW9kZXMgPSBbJ3BvcnRhbCcsICd2aWV3J107XG4gICAgY29uc3Qgbm9Qb3J0YWxNb2RlID0gJ25vUG9ydGFsJztcblxuICAgIGNvbnN0IHsgcmVuZGVyaW5nTW9kZSwgY2hpbGRyZW4sIHNrZWxldG9uLCByb3V0aW5nSW5mbyB9ID0gbXlQcm9wcztcblxuICAgIGlmIChyb3V0aW5nSW5mbyAmJiByZW5kZXJpbmdNb2Rlcy5pbmNsdWRlcyhyZW5kZXJpbmdNb2RlKSkge1xuICAgICAgY29uc3QgeyBhY2Nlc3NlZE9yZGVyLCBpdGVtcyB9ID0gcm91dGluZ0luZm87XG4gICAgICBpZiAoYWNjZXNzZWRPcmRlciAmJiBpdGVtcykge1xuICAgICAgICAvLyBib290c3RyYXAgbG9hZFBvcnRhbCByZXNvbHZlcyB0byBoZXJlXG4gICAgICAgIGNvbnN0IGtleSA9IGFjY2Vzc2VkT3JkZXJbYWNjZXNzZWRPcmRlci5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKGl0ZW1zW2tleV0gJiYgaXRlbXNba2V5XS52aWV3ICYmIE9iamVjdC5rZXlzKGl0ZW1zW2tleV0udmlldykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1WaWV3ID0gaXRlbXNba2V5XS52aWV3O1xuXG4gICAgICAgICAgY29uc3Qgcm9vdE9iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgICAgICAgIG1ldGE6IGl0ZW1WaWV3LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZXh0OiBpdGVtc1trZXldLmNvbnRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gbWFrZXMgc3VyZSBBbmd1bGFyIHRyYWNrcyB0aGVzZSBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAvLyB0aGUgbmV3IHJvb3RPYmplY3QgbWF5IGJlIGEgJ3JlZmVyZW5jZScuIFNvLFxuICAgICAgICAgICAgICAvLyAgbm9ybWFsaXplIGl0IHRvIGdldCB0aGUgcmVmZXJlbmNlZFZpZXcgaWYgdGhhdCdzIHRoZSBjYXNlXG4gICAgICAgICAgICAgIGNvbnN0IHRoZU5ld1BDb25uID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHJvb3RPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICAgICAgICAgIC8vIHVwZGF0ZSBDb21wb25lbnROYW1lJCBiZWZvcmUgd2UgdXBkYXRlIHBDb25uJCB0byBtYWtlIHN1cmUgdGhleSdyZSBpbiBzeW5jXG4gICAgICAgICAgICAgIC8vICB3aGVuIHJlbmRlcmluZy4uLlxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhlTmV3UENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuXG4gICAgICAgICAgICAgIHRoaXMucENvbm4kID0gdGhlTmV3UENvbm47XG4gICAgICAgICAgICAgIC8vIHRoaXMucENvbm4kID0gcm9vdE9iamVjdC5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSb290Q29udGFpbmVyIHVwZGF0ZWQgcENvbm4kIHRvIGJlOiAke3RoaXMuY29tcG9uZW50TmFtZSR9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgUm9vdENvbnRhaW5lcjogcmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlOiAke25vUG9ydGFsTW9kZX1gKTtcbiAgICAgIHRoaXMuZ2VuZXJhdGVWaWV3Q29udGFpbmVyRm9yTm9Qb3J0YWwoKTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIGhhdmVuJ3QgcmVzb2x2ZWQgdG8gaGVyZVxuICAgIH0gZWxzZSBpZiAoc2tlbGV0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVE9ETzogbmVlZCB0byB1cGRhdGUgb25jZSBza2VsZXRvbnMgYXJlIGF2YWlsYWJsZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb25maWd1cmVNb2RhbENvbnRhaW5lcigpIHtcbiAgICBjb25zdCBzZGtDb25maWcgPSBhd2FpdCB0aGlzLnNjU2VydmljZS5nZXRTZGtDb25maWcoKTtcbiAgICBjb25zdCBzaG93TW9kYWxzSW5FbWJlZE1vZGUgPSBzZGtDb25maWcuc2VydmVyQ29uZmlnLnNob3dNb2RhbHNJbkVtYmVkTW9kZTtcblxuICAgIGlmICghdGhpcy5kaXNwbGF5T25seUZBJCB8fCBzaG93TW9kYWxzSW5FbWJlZE1vZGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ09iak1vZGFsID0gUENvcmUuY3JlYXRlUENvbm5lY3Qoe1xuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgdHlwZTogJ01vZGFsVmlld0NvbnRhaW5lcicsXG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBuYW1lOiAnbW9kYWwnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tQ29ubiQgPSBjb25maWdPYmpNb2RhbC5nZXRQQ29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlVmlld0NvbnRhaW5lckZvck5vUG9ydGFsKCkge1xuICAgIC8vIGJvb3RzdHJhcCBsb2FkTWFzaHVwIHJlc29sdmVzIHRvIGhlcmVcbiAgICBjb25zdCBhckNoaWxkcmVuID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBhbnlbXTtcbiAgICBpZiAoYXJDaGlsZHJlbiAmJiBhckNoaWxkcmVuLmxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBoYXZlIHRvIGhhdmUgYSBxdWljayB0aW1lb3V0IG9yIGdldCBhbiBcImV4cHJlc3Npb25zIGNoYW5nZWRcIiBhbmd1bGFyIGVycm9yXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2NhbFBDb25uID0gYXJDaGlsZHJlblswXS5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21wb25lbnROYW1lJCA9IGxvY2FsUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgICAgIGlmICh0aGlzLmNvbXBvbmVudE5hbWUkID09PSAnVmlld0NvbnRhaW5lcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb250Q29uZmlnID0ge1xuICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ1ZpZXdDb250YWluZXInLFxuICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnUHJvcHNcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUENvbm4kID0gUENvcmUuY3JlYXRlUENvbm5lY3Qodmlld0NvbnRDb25maWcpLmdldFBDb25uZWN0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYlNob3dSb290JCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0hpZGVQcm9ncmVzcyhiU2hvdzogYm9vbGVhbikge1xuICAgIC8vIG9ubHkgc2hvdyBzcGlubmVyIGFmdGVyIDUwMG1zIHdhaXQsIHNvIGlmIHNlcnZlciBmYXN0LCB3b24ndCBzZWVcbiAgICBpZiAoYlNob3cpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLWNvbGxhcHNpYmxlLWlmXG4gICAgICBpZiAoIXRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICBpZiAoIXRoaXMuc3Bpbm5lclRpbWVyIHx8IHRoaXMuc3Bpbm5lclRpbWVyLmlzU3RvcHBlZCkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdGhpcy5zcGlubmVyVGltZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNwaW5uZXJUaW1lciAmJiAhdGhpcy5zcGlubmVyVGltZXIuaXNTdG9wcGVkKSB7XG4gICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvbid0IHRvdWNoIGJJc1Byb2dyZXNzJCB1bmxlc3MgZGlmZmVybmVudFxuICAgICAgaWYgKGJTaG93ICE9IHRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gYlNob3c7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLWJveFwiICpuZ0lmPVwiYklzUHJvZ3Jlc3MkXCI+XG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJiU2hvd1Jvb3QkXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cImNvbXBvbmVudE5hbWUkXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgKm5nU3dpdGNoQ2FzZT1cIidWaWV3J1wiIG5hbWU9XCJWaWV3XCIgW3Byb3BzXT1cInsgcENvbm4kLCBkaXNwbGF5T25seUZBJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXdDb250YWluZXInXCJcbiAgICAgIG5hbWU9XCJWaWV3Q29udGFpbmVyXCJcbiAgICAgIFtwcm9wc109XCJ7IHBDb25uJDogdmlld0NvbnRhaW5lclBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+e3sgbG9jYWxpemVkVmFsKCdSb290Q29udGFpbmVyIE1pc3Npbmc6ICcgKyBjb21wb25lbnROYW1lJCwgbG9jYWxlQ2F0ZWdvcnkpIH19LjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwicHZDb25uJCAhPSBudWxsXCI+XG4gIDxhcHAtcHJldmlldy12aWV3LWNvbnRhaW5lciBbcENvbm4kXT1cInB2Q29ubiRcIj48L2FwcC1wcmV2aWV3LXZpZXctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJtQ29ubiQgIT0gbnVsbFwiPlxuICA8YXBwLW1vZGFsLXZpZXctY29udGFpbmVyIFtwQ29ubiRdPVwibUNvbm4kXCI+PC9hcHAtbW9kYWwtdmlldy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL3Jvb3QtY29udGFpbmVyL3Jvb3QtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yb290LWNvbnRhaW5lci9yb290LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBVSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7O0FBRXhHOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztBQWdCbkMsTUFB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MkJBQTJCLCtJQUMzQiw2QkFBNkIsZ0hBQ1osd0JBQXdCOzs0RkFHaEMsc0JBQXNCO2tCQWRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDM0M7cUpBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgTmdab25lLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBTZXJ2ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL3NlcnZlci1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21lc3NhZ2VzL3Byb2dyZXNzLXNwaW5uZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmV2aWV3Vmlld0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL0NvbnRhaW5lcnMvcHJldmlldy12aWV3LWNvbnRhaW5lci9wcmV2aWV3LXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbFZpZXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9Db250YWluZXJzL21vZGFsLXZpZXctY29udGFpbmVyL21vZGFsLXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeWJyaWRWaWV3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vQ29udGFpbmVycy9oeWJyaWQtdmlldy1jb250YWluZXIvaHlicmlkLXZpZXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFdBUk5JTkc6ICBJdCBpcyBub3QgZXhwZWN0ZWQgdGhhdCB0aGlzIGZpbGUgc2hvdWxkIGJlIG1vZGlmaWVkLiAgSXQgaXMgcGFydCBvZiBpbmZyYXN0cnVjdHVyZSBjb2RlIHRoYXQgd29ya3Mgd2l0aFxuICogUmVkdXggYW5kIGNyZWF0aW9uL3VwZGF0ZSBvZiBSZWR1eCBjb250YWluZXJzIGFuZCBQQ29ubmVjdC4gIE1vZGlmeWluZyB0aGlzIGNvZGUgY291bGQgaGF2ZSB1bmRlc2lyZWFibGUgcmVzdWx0cyBhbmRcbiAqIGlzIHRvdGFsbHkgYXQgeW91ciBvd24gcmlzay5cbiAqL1xuXG5jb25zdCBvcHRpb25zID0geyBjb250ZXh0OiAnYXBwJyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcm9vdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcm9vdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yb290LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBIeWJyaWRWaWV3Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1vZGFsVmlld0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBQcmV2aWV3Vmlld0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudClcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSb290Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgZGlzcGxheU9ubHlGQSQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzTWFzaHVwJDogYm9vbGVhbjtcblxuICBzY1NlcnZpY2UgPSBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSk7XG5cbiAgLy8gRm9yIGludGVyYWN0aW9uIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcblxuICBjb21wb25lbnROYW1lJCA9ICcnO1xuICBiSXNQcm9ncmVzcyQgPSBmYWxzZTtcblxuICAvLyBwcmV2aWV3IGFuZCBtb2RhbHZpZXcgcENvbm5cbiAgcHZDb25uJDogYW55ID0gbnVsbDtcbiAgbUNvbm4kOiBhbnkgPSBudWxsO1xuXG4gIGJTaG93Um9vdCQgPSB0cnVlO1xuXG4gIHByb2dyZXNzU3Bpbm5lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBzcGlubmVyVGltZXI6IGFueSA9IG51bGw7XG4gIHZpZXdDb250YWluZXJQQ29ubiQ6IGFueSA9IG51bGw7XG4gIGxvY2FsaXplZFZhbDogYW55O1xuICBsb2NhbGVDYXRlZ29yeSA9ICdNZXNzYWdlcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwc1NlcnZpY2U6IFByb2dyZXNzU3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb250YWluZXJzIH0gPSBQQ29yZS5nZXRTdG9yZSgpLmdldFN0YXRlKCk7XG4gICAgY29uc3QgaXRlbXMgPSBPYmplY3Qua2V5cyhjb250YWluZXJzKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmluY2x1ZGVzKCdyb290JykpO1xuXG4gICAgUENvcmUuZ2V0Q29udGFpbmVyVXRpbHMoKS5nZXRDb250YWluZXJBUEkoKS5hZGRDb250YWluZXJJdGVtcyhpdGVtcyk7XG5cbiAgICAvLyBhZGQgcHJldmlldyBhbmQgbW9kYWx2aWV3IGNvbnRhaW5lcnMgdG8gcmVkdXhcbiAgICAvLyBrZWVwIGxvY2FsIGNvcGllcyBvZiB0aGUgdGhlIHBDb25uZWN0IHRoYXQgaXMgcmVsYXRlZFxuXG4gICAgY29uc3QgY29uZmlnT2JqUHJldmlldyA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgdHlwZTogJ1ByZXZpZXdWaWV3Q29udGFpbmVyJyxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogJ3ByZXZpZXcnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRpb25zXG4gICAgfSk7XG5cbiAgICB0aGlzLnB2Q29ubiQgPSBjb25maWdPYmpQcmV2aWV3LmdldFBDb25uZWN0KCk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZU1vZGFsQ29udGFpbmVyKCk7XG5cbiAgICAvLyBjbGVhciBvdXQgaGFzVmlld0NvbnRhaW5lclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2hhc1ZpZXdDb250YWluZXInLCAnZmFsc2UnKTtcblxuICAgIC8vIEZpcnN0IHRoaW5nIGluIGluaXRpYWxpemF0aW9uIGlzIHJlZ2lzdGVyaW5nIGFuZCBzdWJzY3JpYmluZyB0byB0aGUgQW5ndWxhclBDb25uZWN0IHNlcnZpY2VcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5yZWdpc3RlckFuZFN1YnNjcmliZUNvbXBvbmVudCh0aGlzLCB0aGlzLm9uU3RhdGVDaGFuZ2UpO1xuXG4gICAgLy8gaGFuZGxlIHNob3dpbmcgYW5kIGhpZGluZyB0aGUgcHJvZ3Jlc3Mgc3Bpbm5lclxuICAgIHRoaXMucHJvZ3Jlc3NTcGlubmVyU3Vic2NyaXB0aW9uID0gdGhpcy5wc1NlcnZpY2UuZ2V0TWVzc2FnZSgpLnN1YnNjcmliZShtZXNzYWdlID0+IHtcbiAgICAgIHRoaXMuc2hvd0hpZGVQcm9ncmVzcyhtZXNzYWdlLnNob3cpO1xuICAgIH0pO1xuICAgIHRoaXMubG9jYWxpemVkVmFsID0gUENvcmUuZ2V0TG9jYWxlVXRpbHMoKS5nZXRMb2NhbGVWYWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICAvLyBuZWVkIHRvIGNhbGwgdGhpcy5nZXRDdXJyZW50Q29tcGxldGVQcm9wcyAobm90IHRoaXMudGhlUENvbm4uZ2V0Q29uZmlnUHJvcHMpXG4gICAgLy8gIHRvIGdldCBmdWxsIHNldCBvZiBwcm9wcyB0aGF0IGFmZmVjdCB0aGlzIGNvbXBvbmVudCBpbiBSZWR1eFxuICAgIGNvbnN0IG15UHJvcHM6IGFueSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LmdldEN1cnJlbnRDb21wbGV0ZVByb3BzKHRoaXMpO1xuXG4gICAgY29uc3QgcmVuZGVyaW5nTW9kZXMgPSBbJ3BvcnRhbCcsICd2aWV3J107XG4gICAgY29uc3Qgbm9Qb3J0YWxNb2RlID0gJ25vUG9ydGFsJztcblxuICAgIGNvbnN0IHsgcmVuZGVyaW5nTW9kZSwgY2hpbGRyZW4sIHNrZWxldG9uLCByb3V0aW5nSW5mbyB9ID0gbXlQcm9wcztcblxuICAgIGlmIChyb3V0aW5nSW5mbyAmJiByZW5kZXJpbmdNb2Rlcy5pbmNsdWRlcyhyZW5kZXJpbmdNb2RlKSkge1xuICAgICAgY29uc3QgeyBhY2Nlc3NlZE9yZGVyLCBpdGVtcyB9ID0gcm91dGluZ0luZm87XG4gICAgICBpZiAoYWNjZXNzZWRPcmRlciAmJiBpdGVtcykge1xuICAgICAgICAvLyBib290c3RyYXAgbG9hZFBvcnRhbCByZXNvbHZlcyB0byBoZXJlXG4gICAgICAgIGNvbnN0IGtleSA9IGFjY2Vzc2VkT3JkZXJbYWNjZXNzZWRPcmRlci5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKGl0ZW1zW2tleV0gJiYgaXRlbXNba2V5XS52aWV3ICYmIE9iamVjdC5rZXlzKGl0ZW1zW2tleV0udmlldykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1WaWV3ID0gaXRlbXNba2V5XS52aWV3O1xuXG4gICAgICAgICAgY29uc3Qgcm9vdE9iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KHtcbiAgICAgICAgICAgIG1ldGE6IGl0ZW1WaWV3LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBjb250ZXh0OiBpdGVtc1trZXldLmNvbnRleHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gbWFrZXMgc3VyZSBBbmd1bGFyIHRyYWNrcyB0aGVzZSBjaGFuZ2VzXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAvLyB0aGUgbmV3IHJvb3RPYmplY3QgbWF5IGJlIGEgJ3JlZmVyZW5jZScuIFNvLFxuICAgICAgICAgICAgICAvLyAgbm9ybWFsaXplIGl0IHRvIGdldCB0aGUgcmVmZXJlbmNlZFZpZXcgaWYgdGhhdCdzIHRoZSBjYXNlXG4gICAgICAgICAgICAgIGNvbnN0IHRoZU5ld1BDb25uID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKHJvb3RPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICAgICAgICAgIC8vIHVwZGF0ZSBDb21wb25lbnROYW1lJCBiZWZvcmUgd2UgdXBkYXRlIHBDb25uJCB0byBtYWtlIHN1cmUgdGhleSdyZSBpbiBzeW5jXG4gICAgICAgICAgICAgIC8vICB3aGVuIHJlbmRlcmluZy4uLlxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhlTmV3UENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuXG4gICAgICAgICAgICAgIHRoaXMucENvbm4kID0gdGhlTmV3UENvbm47XG4gICAgICAgICAgICAgIC8vIHRoaXMucENvbm4kID0gcm9vdE9iamVjdC5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSb290Q29udGFpbmVyIHVwZGF0ZWQgcENvbm4kIHRvIGJlOiAke3RoaXMuY29tcG9uZW50TmFtZSR9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgUm9vdENvbnRhaW5lcjogcmVuZGVyaW5nTW9kZSA9PT0gbm9Qb3J0YWxNb2RlOiAke25vUG9ydGFsTW9kZX1gKTtcbiAgICAgIHRoaXMuZ2VuZXJhdGVWaWV3Q29udGFpbmVyRm9yTm9Qb3J0YWwoKTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIGhhdmVuJ3QgcmVzb2x2ZWQgdG8gaGVyZVxuICAgIH0gZWxzZSBpZiAoc2tlbGV0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVE9ETzogbmVlZCB0byB1cGRhdGUgb25jZSBza2VsZXRvbnMgYXJlIGF2YWlsYWJsZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb25maWd1cmVNb2RhbENvbnRhaW5lcigpIHtcbiAgICBjb25zdCBzZGtDb25maWcgPSBhd2FpdCB0aGlzLnNjU2VydmljZS5nZXRTZGtDb25maWcoKTtcbiAgICBjb25zdCBzaG93TW9kYWxzSW5FbWJlZGRlZE1vZGUgPSBzZGtDb25maWcuc2VydmVyQ29uZmlnLnNob3dNb2RhbHNJbkVtYmVkZGVkTW9kZTtcblxuICAgIGlmICghdGhpcy5kaXNwbGF5T25seUZBJCB8fCBzaG93TW9kYWxzSW5FbWJlZGRlZE1vZGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ09iak1vZGFsID0gUENvcmUuY3JlYXRlUENvbm5lY3Qoe1xuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgdHlwZTogJ01vZGFsVmlld0NvbnRhaW5lcicsXG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBuYW1lOiAnbW9kYWwnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tQ29ubiQgPSBjb25maWdPYmpNb2RhbC5nZXRQQ29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlVmlld0NvbnRhaW5lckZvck5vUG9ydGFsKCkge1xuICAgIC8vIGJvb3RzdHJhcCBsb2FkTWFzaHVwIHJlc29sdmVzIHRvIGhlcmVcbiAgICBjb25zdCBhckNoaWxkcmVuID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBhbnlbXTtcbiAgICBpZiAoYXJDaGlsZHJlbiAmJiBhckNoaWxkcmVuLmxlbmd0aCA9PSAxKSB7XG4gICAgICAvLyBoYXZlIHRvIGhhdmUgYSBxdWljayB0aW1lb3V0IG9yIGdldCBhbiBcImV4cHJlc3Npb25zIGNoYW5nZWRcIiBhbmd1bGFyIGVycm9yXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBsb2NhbFBDb25uID0gYXJDaGlsZHJlblswXS5nZXRQQ29ubmVjdCgpO1xuXG4gICAgICAgICAgdGhpcy5jb21wb25lbnROYW1lJCA9IGxvY2FsUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgICAgIGlmICh0aGlzLmNvbXBvbmVudE5hbWUkID09PSAnVmlld0NvbnRhaW5lcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdDb250Q29uZmlnID0ge1xuICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ1ZpZXdDb250YWluZXInLFxuICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnUHJvcHNcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3B0aW9uc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUENvbm4kID0gUENvcmUuY3JlYXRlUENvbm5lY3Qodmlld0NvbnRDb25maWcpLmdldFBDb25uZWN0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYlNob3dSb290JCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0hpZGVQcm9ncmVzcyhiU2hvdzogYm9vbGVhbikge1xuICAgIC8vIG9ubHkgc2hvdyBzcGlubmVyIGFmdGVyIDUwMG1zIHdhaXQsIHNvIGlmIHNlcnZlciBmYXN0LCB3b24ndCBzZWVcbiAgICBpZiAoYlNob3cpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL25vLWNvbGxhcHNpYmxlLWlmXG4gICAgICBpZiAoIXRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICBpZiAoIXRoaXMuc3Bpbm5lclRpbWVyIHx8IHRoaXMuc3Bpbm5lclRpbWVyLmlzU3RvcHBlZCkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdGhpcy5zcGlubmVyVGltZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNwaW5uZXJUaW1lciAmJiAhdGhpcy5zcGlubmVyVGltZXIuaXNTdG9wcGVkKSB7XG4gICAgICAgIHRoaXMuc3Bpbm5lclRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvbid0IHRvdWNoIGJJc1Byb2dyZXNzJCB1bmxlc3MgZGlmZmVybmVudFxuICAgICAgaWYgKGJTaG93ICE9IHRoaXMuYklzUHJvZ3Jlc3MkKSB7XG4gICAgICAgIC8vIG1ha2VzIHN1cmUgQW5ndWxhciB0cmFja3MgdGhlc2UgY2hhbmdlc1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYklzUHJvZ3Jlc3MkID0gYlNob3c7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLWJveFwiICpuZ0lmPVwiYklzUHJvZ3Jlc3MkXCI+XG4gIDxtYXQtc3Bpbm5lciBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJiU2hvd1Jvb3QkXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cImNvbXBvbmVudE5hbWUkXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgKm5nU3dpdGNoQ2FzZT1cIidWaWV3J1wiIG5hbWU9XCJWaWV3XCIgW3Byb3BzXT1cInsgcENvbm4kLCBkaXNwbGF5T25seUZBJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1ZpZXdDb250YWluZXInXCJcbiAgICAgIG5hbWU9XCJWaWV3Q29udGFpbmVyXCJcbiAgICAgIFtwcm9wc109XCJ7IHBDb25uJDogdmlld0NvbnRhaW5lclBDb25uJCwgZGlzcGxheU9ubHlGQSQgfVwiXG4gICAgPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+e3sgbG9jYWxpemVkVmFsKCdSb290Q29udGFpbmVyIE1pc3Npbmc6ICcgKyBjb21wb25lbnROYW1lJCwgbG9jYWxlQ2F0ZWdvcnkpIH19LjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwicHZDb25uJCAhPSBudWxsXCI+XG4gIDxhcHAtcHJldmlldy12aWV3LWNvbnRhaW5lciBbcENvbm4kXT1cInB2Q29ubiRcIj48L2FwcC1wcmV2aWV3LXZpZXctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJtQ29ubiQgIT0gbnVsbFwiPlxuICA8YXBwLW1vZGFsLXZpZXctY29udGFpbmVyIFtwQ29ubiRdPVwibUNvbm4kXCI+PC9hcHAtbW9kYWwtdmlldy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -57,12 +57,12 @@ export class ConfirmationComponent {
57
57
  PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS.CLOSE_CONFIRM_VIEW, this.rootInfo);
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmationComponent, isStandalone: true, selector: "app-confirmation", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmationComponent, isStandalone: true, selector: "app-confirmation", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatButtonModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatButton), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationComponent, decorators: [{
63
63
  type: Component,
64
- args: [{ selector: 'app-confirmation', standalone: true, imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"] }]
64
+ args: [{ selector: 'app-confirmation', standalone: true, imports: [CommonModule, MatButtonModule, forwardRef(() => ComponentMapperComponent)], template: "<div>\n <div *ngIf=\"showConfirmView\">\n <h2 id=\"confirm-label\" class=\"confirm-label\">{{ label }}</h2>\n <div *ngIf=\"showDetails\">\n <component-mapper name=\"Details\" [props]=\"{ pConn$ }\"></component-mapper>\n </div>\n <div *ngIf=\"showTasks && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Open Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n <div class=\"done-button\">\n <button mat-raised-button color=\"primary\" (click)=\"onConfirmViewClose()\">Done</button>\n </div>\n </div>\n <div *ngIf=\"!showConfirmView && toDoList?.length > 0\">\n <component-mapper\n name=\"Todo\"\n [props]=\"{ pConn$, datasource$: { source: toDoList }, headerText$: 'Tasks', type$: CONSTS.TODO, isConfirm: true }\"\n ></component-mapper>\n </div>\n</div>\n", styles: [".done-button{justify-content:flex-end;display:flex;padding-bottom:1rem}.confirm-label{padding:0 16px;margin:0}\n"] }]
65
65
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
66
66
  type: Input
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7OztBQWlCeEcsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBb0IsZUFBdUM7UUFBdkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBYjNELHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFXOUMsb0JBQWUsR0FBRyxJQUFJLENBQUM7SUFFdUMsQ0FBQztJQUUvRCxRQUFRO1FBQ04sOEZBQThGO1FBQzlGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixnRUFBZ0U7UUFDaEUsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckUsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUF1QixDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsRUFBRSxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLEVBQUUsS0FBSyxDQUFDO1FBQ25DLHNFQUFzRTtRQUN0RSxzRUFBc0U7UUFDdEUsNkNBQTZDO1FBQzdDLGtGQUFrRjtRQUNsRixzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEgsQ0FBQzsrR0FsRVUscUJBQXFCO21HQUFyQixxQkFBcUIsMEdDdkJsQyw0NUJBdUJBLDZMREZZLFlBQVksNEtBQUUsZUFBZSxzUUFBbUIsd0JBQXdCOzs0RkFFdkUscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzJGQUczRSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBwdWJsaWNDb25zdGFudHMgfSBmcm9tICdAcGVnYS9wY29yZS1wY29ubmVjdC10eXBlZGVmcy9jb25zdGFudHMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBnZXRUb0RvQXNzaWdubWVudHMgfSBmcm9tICcuLi8uLi9pbmZyYS9Db250YWluZXJzL2Zsb3ctY29udGFpbmVyL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIENvbmZpcm1hdGlvblByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICBkYXRhc291cmNlOiB7IHNvdXJjZTogYW55IH07XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNob3dMYWJlbDogYm9vbGVhbjtcbiAgc2hvd1Rhc2tzOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQ29uZmlybWF0aW9uUHJvcHM7XG5cbiAgcm9vdEluZm86IGFueTtcbiAgZGF0YXNvdXJjZTogYW55O1xuICBzaG93VGFza3M6IGFueTtcbiAgZGV0YWlsUHJvcHM6IGFueTtcbiAgdG9Eb0xpc3Q6IGFueTtcbiAgbGFiZWw6IHN0cmluZztcbiAgQ09OU1RTOiB0eXBlb2YgcHVibGljQ29uc3RhbnRzO1xuICBzaG93RGV0YWlsczogYm9vbGVhbjtcbiAgc2hvd0NvbmZpcm1WaWV3ID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcbiAgICB0aGlzLkNPTlNUUyA9IFBDb3JlLmdldENvbnN0YW50cygpO1xuICAgIGNvbnN0IGFjdGl2ZUNvbnRhaW5lckl0ZW1JRCA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0QWN0aXZlQ29udGFpbmVySXRlbU5hbWUodGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCkgPz8gbnVsbCk7XG4gICAgdGhpcy5yb290SW5mbyA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0Q29udGFpbmVySXRlbURhdGEodGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCksIGFjdGl2ZUNvbnRhaW5lckl0ZW1JRCk7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIGNvbnN0IHRoZUNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSBhcyBDb25maXJtYXRpb25Qcm9wcztcbiAgICB0aGlzLmRhdGFzb3VyY2UgPSB0aGVDb25maWdQcm9wcz8uZGF0YXNvdXJjZTtcbiAgICB0aGlzLnNob3dUYXNrcyA9IHRoZUNvbmZpZ1Byb3BzPy5zaG93VGFza3M7XG4gICAgdGhpcy5sYWJlbCA9IHRoZUNvbmZpZ1Byb3BzPy5sYWJlbDtcbiAgICAvLyBHZXQgdGhlIGluaGVyaXRlZCBwcm9wcyBmcm9tIHRoZSBwYXJlbnQgdG8gZGV0ZXJtaW5lIGxhYmVsIHNldHRpbmdzXG4gICAgLy8gTm90IHVzaW5nIHdoYXRzTmV4dCBhdCB0aGUgbW9tZW50LCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHVzZSBvZiBpdFxuICAgIC8vIGNvbnN0IHdoYXRzTmV4dCA9IHRoaXMuZGF0YXNvdXJjZT8uc291cmNlO1xuICAgIC8vIGNvbnN0IGl0ZW1zID0gd2hhdHNOZXh0Py5sZW5ndGggPiAwID8gd2hhdHNOZXh0Lm1hcCgoaXRlbSkgPT4gaXRlbS5sYWJlbCkgOiAnJztcbiAgICAvLyBjb25zdCB0b2RvUHJvcHMgPSB7IC4uLnRoZUNvbmZpZ1Byb3BzLCByZW5kZXJUb2RvSW5Db25maXJtOiB0cnVlIH07XG4gICAgdGhpcy50b0RvTGlzdCA9IGdldFRvRG9Bc3NpZ25tZW50cyh0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5kZXRhaWxQcm9wcyA9IHsgLi4udGhlQ29uZmlnUHJvcHMsIHNob3dMYWJlbDogZmFsc2UgfTtcbiAgICB0aGlzLnNob3dEZXRhaWxzID0gdGhpcy5wQ29ubiQ/LmdldENoaWxkcmVuKCk/LlswXT8uZ2V0UENvbm5lY3QoKT8uZ2V0Q2hpbGRyZW4oKT8ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIG9uQ29uZmlybVZpZXdDbG9zZSgpIHtcbiAgICB0aGlzLnNob3dDb25maXJtVmlldyA9IGZhbHNlO1xuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5DQVNFX0VWRU5UUy5DTE9TRV9DT05GSVJNX1ZJRVcsIHRoaXMucm9vdEluZm8pO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0NvbmZpcm1WaWV3XCI+XG4gICAgPGgyIGlkPVwiY29uZmlybS1sYWJlbFwiIGNsYXNzPVwiY29uZmlybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9oMj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RldGFpbHNcIj5cbiAgICAgIDxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJEZXRhaWxzXCIgW3Byb3BzXT1cInsgcENvbm4kIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUYXNrcyAmJiB0b0RvTGlzdD8ubGVuZ3RoID4gMFwiPlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgbmFtZT1cIlRvZG9cIlxuICAgICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGRhdGFzb3VyY2UkOiB7IHNvdXJjZTogdG9Eb0xpc3QgfSwgaGVhZGVyVGV4dCQ6ICdPcGVuIFRhc2tzJywgdHlwZSQ6IENPTlNUUy5UT0RPLCBpc0NvbmZpcm06IHRydWUgfVwiXG4gICAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkb25lLWJ1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25Db25maXJtVmlld0Nsb3NlKClcIj5Eb25lPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidG9Eb0xpc3Q/Lmxlbmd0aCA+IDBcIj5cbiAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgbmFtZT1cIlRvZG9cIlxuICAgICAgW3Byb3BzXT1cInsgcENvbm4kLCBkYXRhc291cmNlJDogeyBzb3VyY2U6IHRvRG9MaXN0IH0sIGhlYWRlclRleHQkOiAnVGFza3MnLCB0eXBlJDogQ09OU1RTLlRPRE8sIGlzQ29uZmlybTogdHJ1ZSB9XCJcbiAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7OztBQWlCeEcsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBb0IsZUFBdUM7UUFBdkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBYjNELHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFXOUMsb0JBQWUsR0FBRyxJQUFJLENBQUM7SUFFdUMsQ0FBQztJQUUvRCxRQUFRO1FBQ04sOEZBQThGO1FBQzlGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixnRUFBZ0U7UUFDaEUsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckUsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUF1QixDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsRUFBRSxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLEVBQUUsS0FBSyxDQUFDO1FBQ25DLHNFQUFzRTtRQUN0RSxzRUFBc0U7UUFDdEUsNkNBQTZDO1FBQzdDLGtGQUFrRjtRQUNsRixzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEgsQ0FBQzsrR0FsRVUscUJBQXFCO21HQUFyQixxQkFBcUIsMEdDdkJsQyxnN0JBdUJBLDZMREZZLFlBQVksNEtBQUUsZUFBZSxzUUFBbUIsd0JBQXdCOzs0RkFFdkUscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzJGQUczRSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBwdWJsaWNDb25zdGFudHMgfSBmcm9tICdAcGVnYS9wY29yZS1wY29ubmVjdC10eXBlZGVmcy9jb25zdGFudHMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBnZXRUb0RvQXNzaWdubWVudHMgfSBmcm9tICcuLi8uLi9pbmZyYS9Db250YWluZXJzL2Zsb3ctY29udGFpbmVyL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIENvbmZpcm1hdGlvblByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICBkYXRhc291cmNlOiB7IHNvdXJjZTogYW55IH07XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNob3dMYWJlbDogYm9vbGVhbjtcbiAgc2hvd1Rhc2tzOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybWF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm1hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQ29uZmlybWF0aW9uUHJvcHM7XG5cbiAgcm9vdEluZm86IGFueTtcbiAgZGF0YXNvdXJjZTogYW55O1xuICBzaG93VGFza3M6IGFueTtcbiAgZGV0YWlsUHJvcHM6IGFueTtcbiAgdG9Eb0xpc3Q6IGFueTtcbiAgbGFiZWw6IHN0cmluZztcbiAgQ09OU1RTOiB0eXBlb2YgcHVibGljQ29uc3RhbnRzO1xuICBzaG93RGV0YWlsczogYm9vbGVhbjtcbiAgc2hvd0NvbmZpcm1WaWV3ID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcbiAgICB0aGlzLkNPTlNUUyA9IFBDb3JlLmdldENvbnN0YW50cygpO1xuICAgIGNvbnN0IGFjdGl2ZUNvbnRhaW5lckl0ZW1JRCA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0QWN0aXZlQ29udGFpbmVySXRlbU5hbWUodGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCkgPz8gbnVsbCk7XG4gICAgdGhpcy5yb290SW5mbyA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0Q29udGFpbmVySXRlbURhdGEodGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCksIGFjdGl2ZUNvbnRhaW5lckl0ZW1JRCk7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIGNvbnN0IHRoZUNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSBhcyBDb25maXJtYXRpb25Qcm9wcztcbiAgICB0aGlzLmRhdGFzb3VyY2UgPSB0aGVDb25maWdQcm9wcz8uZGF0YXNvdXJjZTtcbiAgICB0aGlzLnNob3dUYXNrcyA9IHRoZUNvbmZpZ1Byb3BzPy5zaG93VGFza3M7XG4gICAgdGhpcy5sYWJlbCA9IHRoZUNvbmZpZ1Byb3BzPy5sYWJlbDtcbiAgICAvLyBHZXQgdGhlIGluaGVyaXRlZCBwcm9wcyBmcm9tIHRoZSBwYXJlbnQgdG8gZGV0ZXJtaW5lIGxhYmVsIHNldHRpbmdzXG4gICAgLy8gTm90IHVzaW5nIHdoYXRzTmV4dCBhdCB0aGUgbW9tZW50LCBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIHVzZSBvZiBpdFxuICAgIC8vIGNvbnN0IHdoYXRzTmV4dCA9IHRoaXMuZGF0YXNvdXJjZT8uc291cmNlO1xuICAgIC8vIGNvbnN0IGl0ZW1zID0gd2hhdHNOZXh0Py5sZW5ndGggPiAwID8gd2hhdHNOZXh0Lm1hcCgoaXRlbSkgPT4gaXRlbS5sYWJlbCkgOiAnJztcbiAgICAvLyBjb25zdCB0b2RvUHJvcHMgPSB7IC4uLnRoZUNvbmZpZ1Byb3BzLCByZW5kZXJUb2RvSW5Db25maXJtOiB0cnVlIH07XG4gICAgdGhpcy50b0RvTGlzdCA9IGdldFRvRG9Bc3NpZ25tZW50cyh0aGlzLnBDb25uJCk7XG4gICAgdGhpcy5kZXRhaWxQcm9wcyA9IHsgLi4udGhlQ29uZmlnUHJvcHMsIHNob3dMYWJlbDogZmFsc2UgfTtcbiAgICB0aGlzLnNob3dEZXRhaWxzID0gdGhpcy5wQ29ubiQ/LmdldENoaWxkcmVuKCk/LlswXT8uZ2V0UENvbm5lY3QoKT8uZ2V0Q2hpbGRyZW4oKT8ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIG9uQ29uZmlybVZpZXdDbG9zZSgpIHtcbiAgICB0aGlzLnNob3dDb25maXJtVmlldyA9IGZhbHNlO1xuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5DQVNFX0VWRU5UUy5DTE9TRV9DT05GSVJNX1ZJRVcsIHRoaXMucm9vdEluZm8pO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0NvbmZpcm1WaWV3XCI+XG4gICAgPGgyIGlkPVwiY29uZmlybS1sYWJlbFwiIGNsYXNzPVwiY29uZmlybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9oMj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RldGFpbHNcIj5cbiAgICAgIDxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJEZXRhaWxzXCIgW3Byb3BzXT1cInsgcENvbm4kIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUYXNrcyAmJiB0b0RvTGlzdD8ubGVuZ3RoID4gMFwiPlxuICAgICAgPGNvbXBvbmVudC1tYXBwZXJcbiAgICAgICAgbmFtZT1cIlRvZG9cIlxuICAgICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGRhdGFzb3VyY2UkOiB7IHNvdXJjZTogdG9Eb0xpc3QgfSwgaGVhZGVyVGV4dCQ6ICdPcGVuIFRhc2tzJywgdHlwZSQ6IENPTlNUUy5UT0RPLCBpc0NvbmZpcm06IHRydWUgfVwiXG4gICAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkb25lLWJ1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib25Db25maXJtVmlld0Nsb3NlKClcIj5Eb25lPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIXNob3dDb25maXJtVmlldyAmJiB0b0RvTGlzdD8ubGVuZ3RoID4gMFwiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICBuYW1lPVwiVG9kb1wiXG4gICAgICBbcHJvcHNdPVwieyBwQ29ubiQsIGRhdGFzb3VyY2UkOiB7IHNvdXJjZTogdG9Eb0xpc3QgfSwgaGVhZGVyVGV4dCQ6ICdUYXNrcycsIHR5cGUkOiBDT05TVFMuVE9ETywgaXNDb25maXJtOiB0cnVlIH1cIlxuICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=