asp-lib 1.0.30 → 1.0.32

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.
@@ -117,7 +117,9 @@ export class SecurityAdminComponent {
117
117
  listTitle: "Roles",
118
118
  entityName: "Role",
119
119
  entity: "Role",
120
- entityForm: [...this.roleForm, { ...this.resourcesField, optionsEndpoint: this.securityEndpoints.listResources ?? '', selectionEndpoint: this.securityEndpoints.resourcesByRole ?? '' }],
120
+ entityForm: [...this.roleForm, { ...this.resourcesField, optionsEndpoint: this.securityEndpoints.listResources ?? '', selectionEndpoint: this.securityEndpoints.resourcesByRole ?? '' },
121
+ { ...this.menuOptionsField, optionsEndpoint: this.securityEndpoints.parentoptions ?? '', selectionEndpoint: this.securityEndpoints.optionsbyrole ?? '' }
122
+ ],
121
123
  entityActions: this.roleActions,
122
124
  listIcon: "menu-roles",
123
125
  entityListEndpoint: this.securityEndpoints.listRoles?.url ?? '',
@@ -150,6 +152,7 @@ export class SecurityAdminComponent {
150
152
  this.roleForm = defaultRoleForm;
151
153
  this.orderViewBy = new FormControl({ value: localStorage.getItem("/security/lastView") ?? 'USERS' });
152
154
  this.resourcesField = { label: '', dropLabel: 'Drag Resources Here', name: 'resources', type: 'dragdrop', dragTitle: 'Resources', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.listResources ?? '' };
155
+ this.menuOptionsField = { label: '', dropLabel: 'Drag Menu Options Here', name: 'menuOptions', type: 'dragdropMenuOptions', dragTitle: 'Menu Options', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.parentoptions ?? '' };
153
156
  this.resetItemSelected = new Subject;
154
157
  this.assignRoles = (entityType) => {
155
158
  this.dialog.open(AssignRolesComponent, {
@@ -195,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
195
198
  }], roleForm: [{
196
199
  type: Input
197
200
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNwLWxpYi9zcmMvbGliL3NlY3VyaXR5LWFkbWluL3NlY3VyaXR5LWFkbWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9zZWN1cml0eS1hZG1pbi9zZWN1cml0eS1hZG1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7O0FBR2pGLE1BQU0sZUFBZSxHQUFHO0lBQ3ZCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN2SCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDaEksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQzdILEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNwTixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDdkgsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ3BJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN6SCxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ2xPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ3JJLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN0SSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFVLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVB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QUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDckosRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDMUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQzdOLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNsSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDOUgsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJ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LElBQUksQ0FBQyxDQUFDO1lBQ2xDLFlBQVksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQVc7SUFHOUIsQ0FBQzsrR0ExSFcsc0JBQXNCO21HQUF0QixzQkFBc0Isc1lDakVuQyw4MkJBc0JNOzs0RkQyQ08sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLG9CQUFvQjtpS0FNckIsS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBMT0NBTEVfSUQsIE9uSW5pdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNpY0l0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1pdGVtL2Jhc2ljLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzb3VyY2VBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb3VyY2UtYWN0aW9ucy9yZXNvdXJjZS1hY3Rpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEFzc2lnblJvbGVzQ29tcG9uZW50IH0gZnJvbSAnLi4vYXNzaWduLXJvbGVzL2Fzc2lnbi1yb2xlcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQsIFNlY3VyaXR5RW5kcG9pbnRzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTWVudUFkbWluQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS1hZG1pbi9tZW51LWFkbWluLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudGl0eUFkbWluQ29tcG9uZW50IH0gZnJvbSAnLi4vZW50aXR5LWFkbWluL2VudGl0eS1hZG1pbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWN1cml0eUFkbWluU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NlY3VyaXR5LWFkbWluLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb2R1bGVzQWRtaW5Db21wb25lbnQgfSBmcm9tICcuLi9tb2R1bGVzLWFkbWluL21vZHVsZXMtYWRtaW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbmNvbnN0IGRlZmF1bHRVc2VyRm9ybSA9IFtcclxuXHR7IGxhYmVsOiAnTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0xhc3QgTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2xhc3ROYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdBZGRyZXNzJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnYWRkcmVzcycsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gNFwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQ291bnRyeScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2NvdW50cnknLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogWy4uLkFycmF5LmZyb20oeyBsZW5ndGg6IDEwIH0pLm1hcCgoXywgaSkgPT4gKHsgbGFiZWw6IGBDb3VudHJ5ICR7aX1gIH0pKV0sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NpdHknLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjaXR5JywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdQb3N0YWwgQ29kZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3Bvc3RhbENvZGUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0VtYWlsJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnZW1haWwnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1Bob25lIEluZGljYXRpdmUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdwaG9uZUluZGljYXRpdmUnLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogWy4uLkFycmF5LmZyb20oeyBsZW5ndGg6IDUgfSkubWFwKChfLCBpKSA9PiAoeyBsYWJlbDogYHBob25lICR7aX1gIH0pKV0sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NsaWVudCcsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3Byb3Bvc2VkQ3VzdG9tZXInLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NvbXBhbnkgTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2NvbXBhbnlOYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdBY3RpdmUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UpLCBuYW1lOiAnYWN0aXZlJywgdHlwZTogJ2NoZWNrYm94Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnVHdvIEZhY3RvciBBdXRoZW50aWNhdGlvbicsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSksIG5hbWU6ICd0d29GYWN0b3JBdXRoZW50aWNhdGlvbicsIHR5cGU6ICdjaGVja2JveCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1Rva2VuIEV4cGlyZXMnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UpLCBuYW1lOiAndG9rZW5FeHBpcmVzJywgdHlwZTogJ2NoZWNrYm94Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfVxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdEN1c3RvbWVyRm9ybSA9IFtcclxuXHR7IGxhYmVsOiAnTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1Nob3J0IE5hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdzaG9ydE5hbWUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0N1c3RvbWVyIENvZGUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjdXN0b21lckNvZGUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NvbnRhY3QgRnVsbCBOYW1lJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnY29udGFjdEZ1bGxOYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdUeXBlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAndHlwZScsIHR5cGU6ICdzZWxlY3QnLCBvcHRpb25zOiBbXSwgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQ29udGFjdCBFbWFpbCcsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2NvbnRhY3RFbWFpbCcsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQ291bnRyeScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2NvdW50cnknLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogWy4uLkFycmF5LmZyb20oeyBsZW5ndGg6IDEwIH0pLm1hcCgoXywgaSkgPT4gKHsgbGFiZWw6IGBDb3VudHJ5ICR7aX1gIH0pKV0sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1N0YXRlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnc3RhdGUnLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogWy4uLkFycmF5LmZyb20oeyBsZW5ndGg6IDEwIH0pLm1hcCgoXywgaSkgPT4gKHsgbGFiZWw6IGBDb3VudHJ5ICR7aX1gIH0pKV0sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NpdHknLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjaXR5JywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdaaXAgQ29kZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3ppcENvZGUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0FkZHJlc3MgMScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2FkZHJlc3MxJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdBZGRyZXNzIDInLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdhZGRyZXNzMicsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnTGljZW5zZSBUeXBlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnbGljZW5zZVR5cGUnLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogW10sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0xpY2Vuc2UgTnVtYmVyJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnbGljZW5zZU51bWJlcicsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMVwiIH0gfSxcclxuXHR7IGxhYmVsOiAnUGF5bWVudCBUeXBlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAncGF5bWVudFR5cGUnLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogWy4uLkFycmF5LmZyb20oeyBsZW5ndGg6IDEwIH0pLm1hcCgoXywgaSkgPT4gKHsgbGFiZWw6IGBDb3VudHJ5ICR7aX1gIH0pKV0sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1N0YXJ0IERhdGUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdzdGFydERhdGUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0VuZCBEYXRlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnZW5kRGF0ZScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMVwiIH0gfSxcclxuXHR7IGxhYmVsOiAnU3RhdHVzJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnc3RhdHVzJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiAxMCB9KS5tYXAoKF8sIGkpID0+ICh7IGxhYmVsOiBgQ291bnRyeSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdUZXJtcycsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3Rlcm1zJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdFJvbGVGb3JtID0gW1xyXG5cdHsgbGFiZWw6ICdSb2xlIFR5cGUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8YW55PignJyksIHR5cGU6ICdyYWRpb2J1dHRvbicsIG5hbWU6ICdyb2xlVHlwZScsIG9wdGlvbnM6IFsnQsOhc2ljbycsICdBZG1pbicsICdTdXBlciBBZG1pbiddIH0sXHJcblx0eyBsYWJlbDogJ1JvbGUgTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ25hbWUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDRcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1JvbGUgRGVzY3JpcHRpb24nLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdkZXNjcmlwdGlvbicsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gNFwiIH0gfSxcclxuXVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLXNlY3VyaXR5LWFkbWluJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2VjdXJpdHktYWRtaW4uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuLi9hc3NldHMvZm9udHMvc3R5bGUuY3NzJywgJy4uL2Fzc2V0cy90aGVtZS5zY3NzJywgJy4vc2VjdXJpdHktYWRtaW4uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5QWRtaW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdHRpdGxlOiBzdHJpbmcgPSBcInNlY3VyaXR5XCI7XHJcblx0QElucHV0KCkgdGhlbWU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuXHRASW5wdXQoKSBzZWN1cml0eUVuZHBvaW50czogU2VjdXJpdHlFbmRwb2ludHMgPSB7fTtcclxuXHRASW5wdXQoKSBsYW5ndWFnZTogc3RyaW5nID0gJ2VuJztcclxuXHRASW5wdXQoKSBtZW51T3B0aW9uRm9ybUNvbXBvbmVudD86IFR5cGU8YW55PjtcclxuXHRASW5wdXQoKSB1c2VyVWlDb21wb25lbnQ6IFR5cGU8YW55PiA9IEJhc2ljSXRlbUNvbXBvbmVudDtcclxuXHRASW5wdXQoKSBjdXN0b21lclVpQ29tcG9uZW50ID0gQmFzaWNJdGVtQ29tcG9uZW50O1xyXG5cdEBJbnB1dCgpIHJvbGVVaUNvbXBvbmVudCA9IEJhc2ljSXRlbUNvbXBvbmVudDtcclxuXHRASW5wdXQoKSB1c2VyRm9ybTogRm9ybUZpZWxkW10gPSBkZWZhdWx0VXNlckZvcm07XHJcblx0QElucHV0KCkgY3VzdG9tZXJGb3JtOiBGb3JtRmllbGRbXSA9IGRlZmF1bHRDdXN0b21lckZvcm07XHJcblx0QElucHV0KCkgcm9sZUZvcm06IEZvcm1GaWVsZFtdID0gZGVmYXVsdFJvbGVGb3JtO1xyXG5cdG9yZGVyVmlld0J5OiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxhbnk+KHsgdmFsdWU6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiL3NlY3VyaXR5L2xhc3RWaWV3XCIpID8/ICdVU0VSUycgfSk7XHJcblx0cmVzb3VyY2VzRmllbGQgPSB7IGxhYmVsOiAnJywgZHJvcExhYmVsOiAnRHJhZyBSZXNvdXJjZXMgSGVyZScsIG5hbWU6ICdyZXNvdXJjZXMnLCB0eXBlOiAnZHJhZ2Ryb3AnLCBkcmFnVGl0bGU6ICdSZXNvdXJjZXMnLCBzZXR1cFVpOiBSZXNvdXJjZUFjdGlvbnNDb21wb25lbnQsIG9wdGlvbnNFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5saXN0UmVzb3VyY2VzID8/ICcnIH07XHJcblx0cmVzZXRJdGVtU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxib29sZWFuPjtcclxuXHJcblx0YXNzaWduUm9sZXMgPSAoZW50aXR5VHlwZTogXCJDdXN0b21lclwiIHwgXCJVc2VyXCIpID0+IHtcclxuXHRcdHRoaXMuZGlhbG9nLm9wZW4oQXNzaWduUm9sZXNDb21wb25lbnQsIHtcclxuXHRcdFx0ZGF0YTogeyB0aGVtZTogdGhpcy50aGVtZSwgZW50aXR5VHlwZSB9XHJcblx0XHR9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHR1c2VyQWN0aW9ucyA9IFt7IGxhYmVsOiAnQXNzaWduIFJvbGVzJywgY2FsbGJhY2s6ICgpID0+IHRoaXMuYXNzaWduUm9sZXMoXCJVc2VyXCIpIH1dXHJcblx0Y3VzdG9tZXJBY3Rpb25zID0gW3sgbGFiZWw6ICdBc3NpZ24gUm9sZXMnLCBjYWxsYmFjazogKCkgPT4gdGhpcy5hc3NpZ25Sb2xlcyhcIkN1c3RvbWVyXCIpIH1dO1xyXG5cdHJvbGVBY3Rpb25zID0gW107XHJcblx0dmlld09wdGlvbnM6IGFueVtdID0gW107XHJcblxyXG5cdHNldHVwQWRtaW5TZXZpY2UoKXtcclxuXHRcdHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2Uuc2V0U2VjdXJpdHlFbmRwb2ludHModGhpcy5zZWN1cml0eUVuZHBvaW50cyk7XHJcblx0XHR0aGlzLnNlY3VyaXR5QWRtaW5TZXJ2aWNlLnNldFRoZW1lKHRoaXMudGhlbWUpO1xyXG5cdFx0dGhpcy5zZWN1cml0eUFkbWluU2VydmljZS5zZXRNZW51T3B0aW9uRm9ybUNvbXBvbmVudCh0aGlzLm1lbnVPcHRpb25Gb3JtQ29tcG9uZW50KTtcclxuXHRcdHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2Uuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSk7XHJcblx0XHR0aGlzLnNuYWNrYmFyLnNldFRoZW1lKHRoaXMudGhlbWUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLnNldHVwQWRtaW5TZXZpY2UoKTtcclxuXHRcdGxldCBjb21tb25JbnB1dHMgPSB7XHJcblx0XHRcdHJvbGVMaXN0RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdFJvbGVzID8/IHt1cmw6ICcnfSxcclxuXHRcdFx0Y3VzdG9tZXJMaXN0RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdEN1c3RvbWVycyA/PyB7dXJsOiAnJ30sXHJcblx0XHRcdHVzZXJMaXN0RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdFVzZXJzID8/IHt1cmw6ICcnfSxcclxuXHRcdFx0YWdlbmN5TGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmFnZW5jeUxpc3QgPz8ge3VybDonJ30sXHJcblx0XHRcdC8vIHVzZXJMaXN0OiB0aGlzLnVzZXJMaXN0LFxyXG5cdFx0XHQvLyBjdXN0b21lckxpc3Q6IHRoaXMuY3VzdG9tZXJMaXN0LFxyXG5cdFx0XHQvLyByb2xlTGlzdDogdGhpcy5yb2xlTGlzdCxcclxuXHRcdFx0cmVzZXRJdGVtU2VsZWN0ZWQ6IHRoaXMucmVzZXRJdGVtU2VsZWN0ZWRcclxuXHRcdH1cclxuXHRcdHRoaXMudmlld09wdGlvbnMgPSBbXHJcblx0XHRcdHtcclxuXHRcdFx0XHRsYWJlbDogXCJVU0VSU1wiLCB2YWx1ZTogJ1VTRVJTJywgdWk6IEVudGl0eUFkbWluQ29tcG9uZW50LCBpbnB1dHM6IHtcclxuXHRcdFx0XHRcdC4uLmNvbW1vbklucHV0cyxcclxuXHRcdFx0XHRcdGxpc3RUaXRsZTogXCJVc2Vyc1wiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TmFtZTogXCJVc2VyXCIsXHJcblx0XHRcdFx0XHRlbnRpdHk6IFwiVXNlclwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5Rm9ybTogdGhpcy51c2VyRm9ybSxcclxuXHRcdFx0XHRcdGVudGl0eUFjdGlvbnM6IHRoaXMudXNlckFjdGlvbnMsXHJcblx0XHRcdFx0XHRsaXN0SWNvbjogXCJtZW51LXVzZXJzXCIsXHJcblx0XHRcdFx0XHRsaXN0SXRlbUljb246IFwibWVudS11c2VyXCIsXHJcblx0XHRcdFx0XHRlbnRpdHlMaXN0RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdFVzZXJzPy51cmwgPz8gJycsXHJcblx0XHRcdFx0XHRlbnRpdHlJdGVtc0VuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RVc2VycyxcclxuXHRcdFx0XHRcdGVudGl0eVVpQ29tcG9uZW50OiB0aGlzLnVzZXJVaUNvbXBvbmVudCxcclxuXHRcdFx0XHRcdHNhdmVFbnRpdHlFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5zYXZlVXNlcj8udXJsID8/ICcnLFxyXG5cdFx0XHRcdFx0cmVsb2FkU3ViamVjdDogdGhpcy5zZWN1cml0eUFkbWluU2VydmljZS51c2VyUmVsb2FkLFxyXG5cdFx0XHRcdFx0c2VhcmNoRmlsdGVyOiAodXNlcjogYW55KSA9PiB7IHJldHVybiBbdXNlci5uYW1lLCB1c2VyLmxhc3RuYW1lLCB1c2VyLmN1c3RvbWVyPy5uYW1lLCB1c2VyLmVtYWlsXSB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0bGFiZWw6IFwiQ0xJRU5UU1wiLCB2YWx1ZTogJ0NVU1RPTUVSUycsIHVpOiBFbnRpdHlBZG1pbkNvbXBvbmVudCwgaW5wdXRzOiB7XHJcblx0XHRcdFx0XHQuLi5jb21tb25JbnB1dHMsXHJcblx0XHRcdFx0XHRsaXN0VGl0bGU6IFwiQ3VzdG9tZXJzXCIsXHJcblx0XHRcdFx0XHRlbnRpdHlOYW1lOiBcIkN1c3RvbWVyXCIsXHJcblx0XHRcdFx0XHRlbnRpdHk6IFwiQ3VzdG9tZXJcIixcclxuXHRcdFx0XHRcdGVudGl0eUZvcm06IHRoaXMuY3VzdG9tZXJGb3JtLFxyXG5cdFx0XHRcdFx0ZW50aXR5QWN0aW9uczogdGhpcy5jdXN0b21lckFjdGlvbnMsXHJcblx0XHRcdFx0XHRsaXN0SWNvbjogXCJtZW51LWRvbWFpblwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RDdXN0b21lcnM/LnVybCA/PyAnJyxcclxuXHRcdFx0XHRcdGVudGl0eUl0ZW1zRW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdEN1c3RvbWVycyxcclxuXHRcdFx0XHRcdGVudGl0eVVpQ29tcG9uZW50OiB0aGlzLmN1c3RvbWVyVWlDb21wb25lbnQsXHJcblx0XHRcdFx0XHRlbnRpdHlMaXN0UmVxdWVzdE1hcHBpbmc6IHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2UuZW5kcG9pbnRzLmxpc3RDdXN0b21lcnM/LnJlc3BvbnNlTWFwcGluZyxcclxuXHRcdFx0XHRcdHNhdmVFbnRpdHlFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5zYXZlQ3VzdG9tZXI/LnVybCA/PyAnJyxcclxuXHRcdFx0XHRcdHJlbG9hZFN1YmplY3Q6IHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2UuY3VzdG9tZXJSZWxvYWRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRsYWJlbDogXCJST0xFU1wiLCB2YWx1ZTogJ1JPTEVTJywgdWk6IEVudGl0eUFkbWluQ29tcG9uZW50LCBpbnB1dHM6IHtcclxuXHRcdFx0XHRcdC4uLmNvbW1vbklucHV0cyxcclxuXHRcdFx0XHRcdGxpc3RUaXRsZTogXCJSb2xlc1wiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TmFtZTogXCJSb2xlXCIsXHJcblx0XHRcdFx0XHRlbnRpdHk6IFwiUm9sZVwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5Rm9ybTogWy4uLnRoaXMucm9sZUZvcm0sIHsgLi4udGhpcy5yZXNvdXJjZXNGaWVsZCwgb3B0aW9uc0VuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RSZXNvdXJjZXMgPz8gJycsIHNlbGVjdGlvbkVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLnJlc291cmNlc0J5Um9sZSA/PyAnJyB9XSxcclxuXHRcdFx0XHRcdGVudGl0eUFjdGlvbnM6IHRoaXMucm9sZUFjdGlvbnMsXHJcblx0XHRcdFx0XHRsaXN0SWNvbjogXCJtZW51LXJvbGVzXCIsXHJcblx0XHRcdFx0XHRlbnRpdHlMaXN0RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdFJvbGVzPy51cmwgPz8gJycsXHJcblx0XHRcdFx0XHRlbnRpdHlJdGVtc0VuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RSb2xlcyxcclxuXHRcdFx0XHRcdGVudGl0eVVpQ29tcG9uZW50OiB0aGlzLnJvbGVVaUNvbXBvbmVudCxcclxuXHRcdFx0XHRcdHNhdmVFbnRpdHlFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5zYXZlUm9sZT8udXJsID8/ICcnLFxyXG5cdFx0XHRcdFx0cmVsb2FkU3ViamVjdDogdGhpcy5zZWN1cml0eUFkbWluU2VydmljZS5yb2xlUmVsb2FkLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBsYWJlbDogXCJNRU5VXCIsIHZhbHVlOiAnTUVOVScsIHVpOiBNZW51QWRtaW5Db21wb25lbnQsIGlucHV0czoge30gfSxcclxuXHRcdFx0eyBsYWJlbDogXCJNT0RVTEVTXCIsIHZhbHVlOiAnTU9EVUxFUycsIHVpOiBNb2R1bGVzQWRtaW5Db21wb25lbnQsIGlucHV0czoge30gfSxcclxuXHRcdF07XHJcblx0fVxyXG5cclxuXHRnZXRWaWV3SW5wdXRzKHZpZXc6IGFueSkge1xyXG5cdFx0cmV0dXJuIHsgLi4udmlldy5pbnB1dHMsIHRoZW1lOiB0aGlzLnRoZW1lIH1cclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG5cdFx0cHJpdmF0ZSBzZWN1cml0eUFkbWluU2VydmljZTogU2VjdXJpdHlBZG1pblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHNuYWNrYmFyOiBTbmFja2JhclNlcnZpY2UpIHtcclxuXHRcdHRoaXMub3JkZXJWaWV3QnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShuZXdWYWx1ZSA9PiB7XHJcblx0XHRcdHRoaXMucmVzZXRJdGVtU2VsZWN0ZWQubmV4dCh0cnVlKTtcclxuXHRcdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oJy9zZWN1cml0eS9sYXN0VmlldycsIG5ld1ZhbHVlLnZhbHVlKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJWYWx1ZVNlbGVjdGVkKCRldmVudDogYW55KSB7XHJcblxyXG5cclxuXHR9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidXNlci1tYXBwaW5nLWJvZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXVzZXItdGl0bGUtY29uZmlnXCI+XHJcbiAgICA8IS0tIDxzcGFuPnt7dGl0bGUgfCB0cmFuc2xhdGV9fTwvc3Bhbj4gLS0+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm9yZGVyLXZpZXctb3B0aW9ucy1jb250YWluZXJcIj5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cInZpZXctdGl0bGVcIj5cclxuICAgICAgPHNwYW4+VmVyIHBvcjwvc3Bhbj5cclxuICAgIDwvZGl2PiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJyYWRpby1jb250YWluZXJcIj5cclxuICAgICAgPGxpYi1yYWRpby1ncm91cCBuZ0RlZmF1bHRDb250cm9sIFtmb3JtQ29udHJvbF09XCJvcmRlclZpZXdCeVwiIFt0aGVtZV09XCJ0aGVtZVwiIFtvcHRpb25DbGFzc109XCInd2hpdGUnXCJcclxuICAgICAgICBbb3B0aW9uc109XCJ2aWV3T3B0aW9uc1wiPjwvbGliLXJhZGlvLWdyb3VwPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImN1cnJlbnQtdmlldy1jb250YWluZXJcIj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZpZXcgb2Ygdmlld09wdGlvbnNcIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIm9yZGVyVmlld0J5LnZhbHVlLnZhbHVlPT09dmlldy52YWx1ZVwiPlxyXG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwidmlldy51aTsgaW5wdXRzOiBnZXRWaWV3SW5wdXRzKHZpZXcpXCI+XHJcblxyXG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxyXG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNwLWxpYi9zcmMvbGliL3NlY3VyaXR5LWFkbWluL3NlY3VyaXR5LWFkbWluLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9zZWN1cml0eS1hZG1pbi9zZWN1cml0eS1hZG1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7O0FBR2pGLE1BQU0sZUFBZSxHQUFHO0lBQ3ZCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN2SCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDaEksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQzdILEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNwTixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDdkgsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ3BJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN6SCxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ2xPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQ3JJLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUN0SSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFVLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVB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QUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDckosRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDMUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFO0lBQzdOLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRTtJQUNsSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDOUgsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJ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RSxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ25GLG9CQUFlLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBeUZ2QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFXO0lBRzlCLENBQUM7K0dBN0hXLHNCQUFzQjttR0FBdEIsc0JBQXNCLHNZQ2pFbkMsODJCQXNCTTs7NEZEMkNPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDQyxvQkFBb0I7aUtBTXJCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFzaWNJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzaWMtaXRlbS9iYXNpYy1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc291cmNlQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL3Jlc291cmNlLWFjdGlvbnMvcmVzb3VyY2UtYWN0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBBc3NpZ25Sb2xlc0NvbXBvbmVudCB9IGZyb20gJy4uL2Fzc2lnbi1yb2xlcy9hc3NpZ24tcm9sZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBTZWN1cml0eUVuZHBvaW50cyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE1lbnVBZG1pbkNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtYWRtaW4vbWVudS1hZG1pbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbnRpdHlBZG1pbkNvbXBvbmVudCB9IGZyb20gJy4uL2VudGl0eS1hZG1pbi9lbnRpdHktYWRtaW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VjdXJpdHlBZG1pblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZWN1cml0eS1hZG1pbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc25hY2tiYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9kdWxlc0FkbWluQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kdWxlcy1hZG1pbi9tb2R1bGVzLWFkbWluLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi90cmFuc2xhdGUucGlwZSc7XHJcblxyXG5jb25zdCBkZWZhdWx0VXNlckZvcm0gPSBbXHJcblx0eyBsYWJlbDogJ05hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdMYXN0IE5hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdsYXN0TmFtZScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQWRkcmVzcycsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2FkZHJlc3MnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDRcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NvdW50cnknLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjb3VudHJ5JywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiAxMCB9KS5tYXAoKF8sIGkpID0+ICh7IGxhYmVsOiBgQ291bnRyeSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDaXR5JywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnY2l0eScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMVwiIH0gfSxcclxuXHR7IGxhYmVsOiAnUG9zdGFsIENvZGUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdwb3N0YWxDb2RlJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdFbWFpbCcsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2VtYWlsJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdQaG9uZSBJbmRpY2F0aXZlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAncGhvbmVJbmRpY2F0aXZlJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiA1IH0pLm1hcCgoXywgaSkgPT4gKHsgbGFiZWw6IGBwaG9uZSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDbGllbnQnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdwcm9wb3NlZEN1c3RvbWVyJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDb21wYW55IE5hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjb21wYW55TmFtZScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMVwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQWN0aXZlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KGZhbHNlKSwgbmFtZTogJ2FjdGl2ZScsIHR5cGU6ICdjaGVja2JveCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1R3byBGYWN0b3IgQXV0aGVudGljYXRpb24nLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4oZmFsc2UpLCBuYW1lOiAndHdvRmFjdG9yQXV0aGVudGljYXRpb24nLCB0eXBlOiAnY2hlY2tib3gnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdUb2tlbiBFeHBpcmVzJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4+KGZhbHNlKSwgbmFtZTogJ3Rva2VuRXhwaXJlcycsIHR5cGU6ICdjaGVja2JveCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH1cclxuXTtcclxuXHJcbmNvbnN0IGRlZmF1bHRDdXN0b21lckZvcm0gPSBbXHJcblx0eyBsYWJlbDogJ05hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdTaG9ydCBOYW1lJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnc2hvcnROYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDdXN0b21lciBDb2RlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnY3VzdG9tZXJDb2RlJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDb250YWN0IEZ1bGwgTmFtZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2NvbnRhY3RGdWxsTmFtZScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnVHlwZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3R5cGUnLCB0eXBlOiAnc2VsZWN0Jywgb3B0aW9uczogW10sIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NvbnRhY3QgRW1haWwnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjb250YWN0RW1haWwnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0NvdW50cnknLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdjb3VudHJ5JywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiAxMCB9KS5tYXAoKF8sIGkpID0+ICh7IGxhYmVsOiBgQ291bnRyeSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdTdGF0ZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3N0YXRlJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiAxMCB9KS5tYXAoKF8sIGkpID0+ICh7IGxhYmVsOiBgQ291bnRyeSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdDaXR5JywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnY2l0eScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMVwiIH0gfSxcclxuXHR7IGxhYmVsOiAnWmlwIENvZGUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICd6aXBDb2RlJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdBZGRyZXNzIDEnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICdhZGRyZXNzMScsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnQWRkcmVzcyAyJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnYWRkcmVzczInLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDJcIiB9IH0sXHJcblx0eyBsYWJlbDogJ0xpY2Vuc2UgVHlwZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2xpY2Vuc2VUeXBlJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFtdLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAyXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdMaWNlbnNlIE51bWJlcicsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2xpY2Vuc2VOdW1iZXInLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1BheW1lbnQgVHlwZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3BheW1lbnRUeXBlJywgdHlwZTogJ3NlbGVjdCcsIG9wdGlvbnM6IFsuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiAxMCB9KS5tYXAoKF8sIGkpID0+ICh7IGxhYmVsOiBgQ291bnRyeSAke2l9YCB9KSldLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdTdGFydCBEYXRlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnc3RhcnREYXRlJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiAxXCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdFbmQgRGF0ZScsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ2VuZERhdGUnLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDFcIiB9IH0sXHJcblx0eyBsYWJlbDogJ1N0YXR1cycsIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSwgbmFtZTogJ3N0YXR1cycsIHR5cGU6ICdzZWxlY3QnLCBvcHRpb25zOiBbLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogMTAgfSkubWFwKChfLCBpKSA9PiAoeyBsYWJlbDogYENvdW50cnkgJHtpfWAgfSkpXSwgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXHR7IGxhYmVsOiAnVGVybXMnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICd0ZXJtcycsIHR5cGU6ICd0ZXh0Jywgc3R5bGU6IHsgXCJncmlkLWNvbHVtblwiOiBcInNwYW4gMlwiIH0gfSxcclxuXTtcclxuXHJcbmNvbnN0IGRlZmF1bHRSb2xlRm9ybSA9IFtcclxuXHR7IGxhYmVsOiAnUm9sZSBUeXBlJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPGFueT4oJycpLCB0eXBlOiAncmFkaW9idXR0b24nLCBuYW1lOiAncm9sZVR5cGUnLCBvcHRpb25zOiBbJ0LDoXNpY28nLCAnQWRtaW4nLCAnU3VwZXIgQWRtaW4nXSB9LFxyXG5cdHsgbGFiZWw6ICdSb2xlIE5hbWUnLCBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksIG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnLCBzdHlsZTogeyBcImdyaWQtY29sdW1uXCI6IFwic3BhbiA0XCIgfSB9LFxyXG5cdHsgbGFiZWw6ICdSb2xlIERlc2NyaXB0aW9uJywgY29udHJvbDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLCBuYW1lOiAnZGVzY3JpcHRpb24nLCB0eXBlOiAndGV4dCcsIHN0eWxlOiB7IFwiZ3JpZC1jb2x1bW5cIjogXCJzcGFuIDRcIiB9IH0sXHJcbl1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1zZWN1cml0eS1hZG1pbicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3NlY3VyaXR5LWFkbWluLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi4vYXNzZXRzL2ZvbnRzL3N0eWxlLmNzcycsICcuLi9hc3NldHMvdGhlbWUuc2NzcycsICcuL3NlY3VyaXR5LWFkbWluLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cml0eUFkbWluQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHR0aXRsZTogc3RyaW5nID0gXCJzZWN1cml0eVwiO1xyXG5cdEBJbnB1dCgpIHRoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcblx0QElucHV0KCkgc2VjdXJpdHlFbmRwb2ludHM6IFNlY3VyaXR5RW5kcG9pbnRzID0ge307XHJcblx0QElucHV0KCkgbGFuZ3VhZ2U6IHN0cmluZyA9ICdlbic7XHJcblx0QElucHV0KCkgbWVudU9wdGlvbkZvcm1Db21wb25lbnQ/OiBUeXBlPGFueT47XHJcblx0QElucHV0KCkgdXNlclVpQ29tcG9uZW50OiBUeXBlPGFueT4gPSBCYXNpY0l0ZW1Db21wb25lbnQ7XHJcblx0QElucHV0KCkgY3VzdG9tZXJVaUNvbXBvbmVudCA9IEJhc2ljSXRlbUNvbXBvbmVudDtcclxuXHRASW5wdXQoKSByb2xlVWlDb21wb25lbnQgPSBCYXNpY0l0ZW1Db21wb25lbnQ7XHJcblx0QElucHV0KCkgdXNlckZvcm06IEZvcm1GaWVsZFtdID0gZGVmYXVsdFVzZXJGb3JtO1xyXG5cdEBJbnB1dCgpIGN1c3RvbWVyRm9ybTogRm9ybUZpZWxkW10gPSBkZWZhdWx0Q3VzdG9tZXJGb3JtO1xyXG5cdEBJbnB1dCgpIHJvbGVGb3JtOiBGb3JtRmllbGRbXSA9IGRlZmF1bHRSb2xlRm9ybTtcclxuXHRvcmRlclZpZXdCeTogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8YW55Pih7IHZhbHVlOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIi9zZWN1cml0eS9sYXN0Vmlld1wiKSA/PyAnVVNFUlMnIH0pO1xyXG5cdHJlc291cmNlc0ZpZWxkID0geyBsYWJlbDogJycsIGRyb3BMYWJlbDogJ0RyYWcgUmVzb3VyY2VzIEhlcmUnLCBuYW1lOiAncmVzb3VyY2VzJywgdHlwZTogJ2RyYWdkcm9wJywgZHJhZ1RpdGxlOiAnUmVzb3VyY2VzJywgc2V0dXBVaTogUmVzb3VyY2VBY3Rpb25zQ29tcG9uZW50LCBvcHRpb25zRW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMubGlzdFJlc291cmNlcyA/PyAnJyB9O1xyXG5cdG1lbnVPcHRpb25zRmllbGQgPSB7IGxhYmVsOiAnJywgZHJvcExhYmVsOiAnRHJhZyBNZW51IE9wdGlvbnMgSGVyZScsIG5hbWU6ICdtZW51T3B0aW9ucycsIHR5cGU6ICdkcmFnZHJvcE1lbnVPcHRpb25zJywgZHJhZ1RpdGxlOiAnTWVudSBPcHRpb25zJywgc2V0dXBVaTogUmVzb3VyY2VBY3Rpb25zQ29tcG9uZW50LCBvcHRpb25zRW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMucGFyZW50b3B0aW9ucyA/PyAnJyB9O1xyXG5cdHJlc2V0SXRlbVNlbGVjdGVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj47XHJcblxyXG5cdGFzc2lnblJvbGVzID0gKGVudGl0eVR5cGU6IFwiQ3VzdG9tZXJcIiB8IFwiVXNlclwiKSA9PiB7XHJcblx0XHR0aGlzLmRpYWxvZy5vcGVuKEFzc2lnblJvbGVzQ29tcG9uZW50LCB7XHJcblx0XHRcdGRhdGE6IHsgdGhlbWU6IHRoaXMudGhlbWUsIGVudGl0eVR5cGUgfVxyXG5cdFx0fSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dXNlckFjdGlvbnMgPSBbeyBsYWJlbDogJ0Fzc2lnbiBSb2xlcycsIGNhbGxiYWNrOiAoKSA9PiB0aGlzLmFzc2lnblJvbGVzKFwiVXNlclwiKSB9XVxyXG5cdGN1c3RvbWVyQWN0aW9ucyA9IFt7IGxhYmVsOiAnQXNzaWduIFJvbGVzJywgY2FsbGJhY2s6ICgpID0+IHRoaXMuYXNzaWduUm9sZXMoXCJDdXN0b21lclwiKSB9XTtcclxuXHRyb2xlQWN0aW9ucyA9IFtdO1xyXG5cdHZpZXdPcHRpb25zOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRzZXR1cEFkbWluU2V2aWNlKCl7XHJcblx0XHR0aGlzLnNlY3VyaXR5QWRtaW5TZXJ2aWNlLnNldFNlY3VyaXR5RW5kcG9pbnRzKHRoaXMuc2VjdXJpdHlFbmRwb2ludHMpO1xyXG5cdFx0dGhpcy5zZWN1cml0eUFkbWluU2VydmljZS5zZXRUaGVtZSh0aGlzLnRoZW1lKTtcclxuXHRcdHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2Uuc2V0TWVudU9wdGlvbkZvcm1Db21wb25lbnQodGhpcy5tZW51T3B0aW9uRm9ybUNvbXBvbmVudCk7XHJcblx0XHR0aGlzLnNlY3VyaXR5QWRtaW5TZXJ2aWNlLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2UpO1xyXG5cdFx0dGhpcy5zbmFja2Jhci5zZXRUaGVtZSh0aGlzLnRoZW1lKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5zZXR1cEFkbWluU2V2aWNlKCk7XHJcblx0XHRsZXQgY29tbW9uSW5wdXRzID0ge1xyXG5cdFx0XHRyb2xlTGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RSb2xlcyA/PyB7dXJsOiAnJ30sXHJcblx0XHRcdGN1c3RvbWVyTGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RDdXN0b21lcnMgPz8ge3VybDogJyd9LFxyXG5cdFx0XHR1c2VyTGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RVc2VycyA/PyB7dXJsOiAnJ30sXHJcblx0XHRcdGFnZW5jeUxpc3RFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5hZ2VuY3lMaXN0ID8/IHt1cmw6Jyd9LFxyXG5cdFx0XHQvLyB1c2VyTGlzdDogdGhpcy51c2VyTGlzdCxcclxuXHRcdFx0Ly8gY3VzdG9tZXJMaXN0OiB0aGlzLmN1c3RvbWVyTGlzdCxcclxuXHRcdFx0Ly8gcm9sZUxpc3Q6IHRoaXMucm9sZUxpc3QsXHJcblx0XHRcdHJlc2V0SXRlbVNlbGVjdGVkOiB0aGlzLnJlc2V0SXRlbVNlbGVjdGVkXHJcblx0XHR9XHJcblx0XHR0aGlzLnZpZXdPcHRpb25zID0gW1xyXG5cdFx0XHR7XHJcblx0XHRcdFx0bGFiZWw6IFwiVVNFUlNcIiwgdmFsdWU6ICdVU0VSUycsIHVpOiBFbnRpdHlBZG1pbkNvbXBvbmVudCwgaW5wdXRzOiB7XHJcblx0XHRcdFx0XHQuLi5jb21tb25JbnB1dHMsXHJcblx0XHRcdFx0XHRsaXN0VGl0bGU6IFwiVXNlcnNcIixcclxuXHRcdFx0XHRcdGVudGl0eU5hbWU6IFwiVXNlclwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5OiBcIlVzZXJcIixcclxuXHRcdFx0XHRcdGVudGl0eUZvcm06IHRoaXMudXNlckZvcm0sXHJcblx0XHRcdFx0XHRlbnRpdHlBY3Rpb25zOiB0aGlzLnVzZXJBY3Rpb25zLFxyXG5cdFx0XHRcdFx0bGlzdEljb246IFwibWVudS11c2Vyc1wiLFxyXG5cdFx0XHRcdFx0bGlzdEl0ZW1JY29uOiBcIm1lbnUtdXNlclwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RVc2Vycz8udXJsID8/ICcnLFxyXG5cdFx0XHRcdFx0ZW50aXR5SXRlbXNFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5saXN0VXNlcnMsXHJcblx0XHRcdFx0XHRlbnRpdHlVaUNvbXBvbmVudDogdGhpcy51c2VyVWlDb21wb25lbnQsXHJcblx0XHRcdFx0XHRzYXZlRW50aXR5RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMuc2F2ZVVzZXI/LnVybCA/PyAnJyxcclxuXHRcdFx0XHRcdHJlbG9hZFN1YmplY3Q6IHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2UudXNlclJlbG9hZCxcclxuXHRcdFx0XHRcdHNlYXJjaEZpbHRlcjogKHVzZXI6IGFueSkgPT4geyByZXR1cm4gW3VzZXIubmFtZSwgdXNlci5sYXN0bmFtZSwgdXNlci5jdXN0b21lcj8ubmFtZSwgdXNlci5lbWFpbF0gfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGxhYmVsOiBcIkNMSUVOVFNcIiwgdmFsdWU6ICdDVVNUT01FUlMnLCB1aTogRW50aXR5QWRtaW5Db21wb25lbnQsIGlucHV0czoge1xyXG5cdFx0XHRcdFx0Li4uY29tbW9uSW5wdXRzLFxyXG5cdFx0XHRcdFx0bGlzdFRpdGxlOiBcIkN1c3RvbWVyc1wiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TmFtZTogXCJDdXN0b21lclwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5OiBcIkN1c3RvbWVyXCIsXHJcblx0XHRcdFx0XHRlbnRpdHlGb3JtOiB0aGlzLmN1c3RvbWVyRm9ybSxcclxuXHRcdFx0XHRcdGVudGl0eUFjdGlvbnM6IHRoaXMuY3VzdG9tZXJBY3Rpb25zLFxyXG5cdFx0XHRcdFx0bGlzdEljb246IFwibWVudS1kb21haW5cIixcclxuXHRcdFx0XHRcdGVudGl0eUxpc3RFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5saXN0Q3VzdG9tZXJzPy51cmwgPz8gJycsXHJcblx0XHRcdFx0XHRlbnRpdHlJdGVtc0VuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RDdXN0b21lcnMsXHJcblx0XHRcdFx0XHRlbnRpdHlVaUNvbXBvbmVudDogdGhpcy5jdXN0b21lclVpQ29tcG9uZW50LFxyXG5cdFx0XHRcdFx0ZW50aXR5TGlzdFJlcXVlc3RNYXBwaW5nOiB0aGlzLnNlY3VyaXR5QWRtaW5TZXJ2aWNlLmVuZHBvaW50cy5saXN0Q3VzdG9tZXJzPy5yZXNwb25zZU1hcHBpbmcsXHJcblx0XHRcdFx0XHRzYXZlRW50aXR5RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMuc2F2ZUN1c3RvbWVyPy51cmwgPz8gJycsXHJcblx0XHRcdFx0XHRyZWxvYWRTdWJqZWN0OiB0aGlzLnNlY3VyaXR5QWRtaW5TZXJ2aWNlLmN1c3RvbWVyUmVsb2FkXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0bGFiZWw6IFwiUk9MRVNcIiwgdmFsdWU6ICdST0xFUycsIHVpOiBFbnRpdHlBZG1pbkNvbXBvbmVudCwgaW5wdXRzOiB7XHJcblx0XHRcdFx0XHQuLi5jb21tb25JbnB1dHMsXHJcblx0XHRcdFx0XHRsaXN0VGl0bGU6IFwiUm9sZXNcIixcclxuXHRcdFx0XHRcdGVudGl0eU5hbWU6IFwiUm9sZVwiLFxyXG5cdFx0XHRcdFx0ZW50aXR5OiBcIlJvbGVcIixcclxuXHRcdFx0XHRcdGVudGl0eUZvcm06IFsuLi50aGlzLnJvbGVGb3JtLCB7IC4uLnRoaXMucmVzb3VyY2VzRmllbGQsIG9wdGlvbnNFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5saXN0UmVzb3VyY2VzID8/ICcnLCBzZWxlY3Rpb25FbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5yZXNvdXJjZXNCeVJvbGUgPz8gJycgfSxcclxuXHRcdFx0XHRcdFx0eyAuLi50aGlzLm1lbnVPcHRpb25zRmllbGQsIG9wdGlvbnNFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5wYXJlbnRvcHRpb25zID8/ICcnLCBzZWxlY3Rpb25FbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5vcHRpb25zYnlyb2xlID8/ICcnIH1cclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRlbnRpdHlBY3Rpb25zOiB0aGlzLnJvbGVBY3Rpb25zLFxyXG5cdFx0XHRcdFx0bGlzdEljb246IFwibWVudS1yb2xlc1wiLFxyXG5cdFx0XHRcdFx0ZW50aXR5TGlzdEVuZHBvaW50OiB0aGlzLnNlY3VyaXR5RW5kcG9pbnRzLmxpc3RSb2xlcz8udXJsID8/ICcnLFxyXG5cdFx0XHRcdFx0ZW50aXR5SXRlbXNFbmRwb2ludDogdGhpcy5zZWN1cml0eUVuZHBvaW50cy5saXN0Um9sZXMsXHJcblx0XHRcdFx0XHRlbnRpdHlVaUNvbXBvbmVudDogdGhpcy5yb2xlVWlDb21wb25lbnQsXHJcblx0XHRcdFx0XHRzYXZlRW50aXR5RW5kcG9pbnQ6IHRoaXMuc2VjdXJpdHlFbmRwb2ludHMuc2F2ZVJvbGU/LnVybCA/PyAnJyxcclxuXHRcdFx0XHRcdHJlbG9hZFN1YmplY3Q6IHRoaXMuc2VjdXJpdHlBZG1pblNlcnZpY2Uucm9sZVJlbG9hZCxcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgbGFiZWw6IFwiTUVOVVwiLCB2YWx1ZTogJ01FTlUnLCB1aTogTWVudUFkbWluQ29tcG9uZW50LCBpbnB1dHM6IHt9IH0sXHJcblx0XHRcdHsgbGFiZWw6IFwiTU9EVUxFU1wiLCB2YWx1ZTogJ01PRFVMRVMnLCB1aTogTW9kdWxlc0FkbWluQ29tcG9uZW50LCBpbnB1dHM6IHt9IH0sXHJcblx0XHRdO1xyXG5cdH1cclxuXHJcblx0Z2V0Vmlld0lucHV0cyh2aWV3OiBhbnkpIHtcclxuXHRcdHJldHVybiB7IC4uLnZpZXcuaW5wdXRzLCB0aGVtZTogdGhpcy50aGVtZSB9XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuXHRcdHByaXZhdGUgc2VjdXJpdHlBZG1pblNlcnZpY2U6IFNlY3VyaXR5QWRtaW5TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBzbmFja2JhcjogU25hY2tiYXJTZXJ2aWNlKSB7XHJcblx0XHR0aGlzLm9yZGVyVmlld0J5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUobmV3VmFsdWUgPT4ge1xyXG5cdFx0XHR0aGlzLnJlc2V0SXRlbVNlbGVjdGVkLm5leHQodHJ1ZSk7XHJcblx0XHRcdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCcvc2VjdXJpdHkvbGFzdFZpZXcnLCBuZXdWYWx1ZS52YWx1ZSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGNsZWFyVmFsdWVTZWxlY3RlZCgkZXZlbnQ6IGFueSkge1xyXG5cclxuXHJcblx0fVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInVzZXItbWFwcGluZy1ib2R5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci11c2VyLXRpdGxlLWNvbmZpZ1wiPlxyXG4gICAgPCEtLSA8c3Bhbj57e3RpdGxlIHwgdHJhbnNsYXRlfX08L3NwYW4+IC0tPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJvcmRlci12aWV3LW9wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJ2aWV3LXRpdGxlXCI+XHJcbiAgICAgIDxzcGFuPlZlciBwb3I8L3NwYW4+XHJcbiAgICA8L2Rpdj4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tY29udGFpbmVyXCI+XHJcbiAgICAgIDxsaWItcmFkaW8tZ3JvdXAgbmdEZWZhdWx0Q29udHJvbCBbZm9ybUNvbnRyb2xdPVwib3JkZXJWaWV3QnlcIiBbdGhlbWVdPVwidGhlbWVcIiBbb3B0aW9uQ2xhc3NdPVwiJ3doaXRlJ1wiXHJcbiAgICAgICAgW29wdGlvbnNdPVwidmlld09wdGlvbnNcIj48L2xpYi1yYWRpby1ncm91cD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjdXJyZW50LXZpZXctY29udGFpbmVyXCI+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2aWV3IG9mIHZpZXdPcHRpb25zXCI+XHJcblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlclZpZXdCeS52YWx1ZS52YWx1ZT09PXZpZXcudmFsdWVcIj5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInZpZXcudWk7IGlucHV0czogZ2V0Vmlld0lucHV0cyh2aWV3KVwiPlxyXG5cclxuXHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -152,7 +152,10 @@ export class SecurityAdminService {
152
152
  return this.http.post(endpoint, updatedItem);
153
153
  }
154
154
  assignResource(roleId, resources) {
155
- return this.http.post(this.endpoints.assignResource?.url ?? '', { roleId, resources });
155
+ return this.http.post(this.endpoints.assignResources?.url ?? '', { roleId, resources });
156
+ }
157
+ assignOptions(roleId, options) {
158
+ return this.http.post(this.endpoints.assignoptions?.url ?? '', { roleId, options });
156
159
  }
157
160
  savePermissions(permissions) {
158
161
  return this.http.post(this.endpoints.savePermissions?.url ?? '', permissions);
@@ -178,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
178
181
  providedIn: 'root'
179
182
  }]
180
183
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZWN1cml0eS1hZG1pbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUdoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXJELE1BQU0sVUFBVSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLElBQUksRUFBRSxRQUFRO0NBQ2QsQ0FBQTtBQUtELE1BQU0sT0FBTyxvQkFBb0I7SUFvQmhDLElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDdkQsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUMvRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXZELElBQUksUUFBUTtRQUNYLE9BQU8sQ0FBQztZQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQ2hDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBOUJwQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8s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SUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGFBQWE7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBd0M7UUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0EzTlcsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHJlZHVjZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0b0FycmF5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNuYWNrYmFyU2VydmljZSB9IGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlY3VyaXR5RW5kcG9pbnRzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZGVmYXVsdFN3aXRjaE1hcHBlciB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmNvbnN0IHBhcmFtTmFtZXMgPSB7XHJcblx0Q3VzdG9tZXI6IFwiY3VzdG9tZXJJZFwiLFxyXG5cdFVzZXI6IFwidXNlcklkXCJcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlBZG1pblNlcnZpY2Uge1xyXG5cclxuXHRzZWxlY3RlZFVzZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cdHNlbGVjdGVkQ3VzdG9tZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cdHNlbGVjdGVkUm9sZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblx0cmVsb2FkU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHRtZW51T3B0aW9uRm9ybUNvbXBvbmVudD86IFR5cGU8YW55PjtcclxuXHRlbmRwb2ludHM6IFNlY3VyaXR5RW5kcG9pbnRzID0ge307XHJcblx0bGFuZ3VhZ2U6IHN0cmluZyA9ICdlbic7XHJcblx0c2VsZWN0ZWRJdGVtOiBhbnk7XHJcblx0dGhlbWU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuXHRtc2dMYWJlbCA9IHsgXCJVc2VyXCI6IFwiVXN1YXJpb1wiLCBcIkN1c3RvbWVyXCI6IFwiRW1wcmVzYVwiLCBcIlJvbGVcIjogXCJSb2xcIiB9O1xyXG5cdGJsb2NrQ3JlYXRpb25Gb3I6IFNldDxcIlVzZXJcInxcIkN1c3RvbWVyXCJ8XCJSb2xlXCI+ID0gbmV3IFNldChbXCJDdXN0b21lclwiXSk7XHJcblxyXG5cdHJlbG9hZEJ5RW50aXR5ID0ge1xyXG5cdFx0XCJVc2VyXCI6IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCksXHJcblx0XHRcIkN1c3RvbWVyXCI6IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCksXHJcblx0XHRcIlJvbGVcIjogbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxyXG5cdH1cclxuXHJcblx0Z2V0IHVzZXJSZWxvYWQoKSB7IHJldHVybiB0aGlzLnJlbG9hZEJ5RW50aXR5WydVc2VyJ10gfVxyXG5cdGdldCBjdXN0b21lclJlbG9hZCgpIHsgcmV0dXJuIHRoaXMucmVsb2FkQnlFbnRpdHlbJ0N1c3RvbWVyJ10gfVxyXG5cdGdldCByb2xlUmVsb2FkKCkgeyByZXR1cm4gdGhpcy5yZWxvYWRCeUVudGl0eVsnUm9sZSddIH1cclxuXHJcblx0Z2V0IHN1YmplY3RzKCkge1xyXG5cdFx0cmV0dXJuICh7XHJcblx0XHRcdFwiVXNlclwiOiB0aGlzLnNlbGVjdGVkVXNlclN1YmplY3QsXHJcblx0XHRcdFwiQ3VzdG9tZXJcIjogdGhpcy5zZWxlY3RlZEN1c3RvbWVyU3ViamVjdCxcclxuXHRcdFx0XCJSb2xlXCI6IHRoaXMuc2VsZWN0ZWRSb2xlU3ViamVjdFxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cdFx0dGhpcy5yZWxvYWRTdWJqZWN0LnN1YnNjcmliZSh7XHJcblx0XHRcdG5leHQ6IChlbnRpdHlOYW1lOiBhbnkpID0+IHsgdGhpcy5yZWxvYWRCeUVudGl0eVtlbnRpdHlOYW1lIGFzIFwiVXNlclwiIHwgXCJDdXN0b21lclwiIHwgXCJSb2xlXCJdPy5uZXh0KHRydWUpIH1cclxuXHRcdH0pXHJcblx0XHRmb3IgKGxldCBzdWJqZWN0IG9mIE9iamVjdC52YWx1ZXModGhpcy5zdWJqZWN0cykpIHtcclxuXHRcdFx0c3ViamVjdC5zdWJzY3JpYmUoeyBuZXh0OiAoaXRlbSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG5cdFx0dGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xyXG5cdH1cclxuXHJcblx0c2V0U2VjdXJpdHlFbmRwb2ludHMoZW5kcG9pbnRzOiBTZWN1cml0eUVuZHBvaW50cykge1xyXG5cdFx0dGhpcy5lbmRwb2ludHMgPSBlbmRwb2ludHM7XHJcblx0fVxyXG5cclxuXHRnZXRSb2xlcygpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnRzLmxpc3RSb2xlcz8udXJsID8/ICcnKTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZU1lbnVPcHRpb24ob3B0aW9uOiBhbnkpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnRzLmRlbGV0ZU1lbnVPcHRpb24/LnVybCA/PyAnJ30/b3B0aW9uSWQ9JHtvcHRpb24uaWR9YClcclxuXHR9XHJcblxyXG5cdHNldFRoZW1lKHRoZW1lOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMudGhlbWUgPSBCb29sZWFuKHRoZW1lKSA/IHRoZW1lIDogJ2RlZmF1bHQnO1xyXG5cdH1cclxuXHJcblx0Z2V0QWN0aW9ucyhyb2xlSWQ6IG51bWJlciwgcmVzb3VyY2VJZDogbnVtYmVyKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50cy5hY3Rpb25zQnlSb2xlQW5kUmVzb3VyY2U/LnVybCA/PyAnJ30/cm9sZUlkPSR7cm9sZUlkfSZyZXNvdXJjZUlkPSR7cmVzb3VyY2VJZH1gKTtcclxuXHR9XHJcblxyXG5cdGdldFJlc291cmNlc0J5Um9sZShyb2xlSWQ6IG51bWJlcikge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbmRwb2ludHMucmVzb3VyY2VzQnlSb2xlPy51cmwgPz8gJyd9P3JvbGVkSWQ9JHtyb2xlSWR9YCk7XHJcblx0fVxyXG5cclxuXHRzZXRNZW51T3B0aW9uRm9ybUNvbXBvbmVudChjb21wb25lbnQ/OiBUeXBlPGFueT4pIHtcclxuXHRcdHRoaXMubWVudU9wdGlvbkZvcm1Db21wb25lbnQgPSBjb21wb25lbnQ7XHJcblx0fVxyXG5cclxuXHJcblx0c2F2ZU1lbnVPcHRpb24ob3B0aW9uOiBhbnkpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5zYXZlTWVudU9wdGlvbj8udXJsID8/ICcnLCB7IC4uLm9wdGlvbiwgaWQ6IG9wdGlvbi5pZCA+IC0xID8gb3B0aW9uLmlkIDogbnVsbCB9KTtcclxuXHR9XHJcblxyXG5cdC8vIGdldFVzZXJzKHBhZ2U6IG51bWJlciA9IDEsIHBhZ2VTaXplOiBudW1iZXIgPSAxMCkge1xyXG5cdC8vIFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoYHRoaXMubGlzdFVzZXJzRW5kcG9pbnQ/cGFnZT0ke3BhZ2V9JnBhZ2VTaXplPSR7cGFnZVNpemV9YCk7XHJcblx0Ly8gfVxyXG5cclxuXHRnZXRBc3NpZ25lZFJvbGVzKGlkOiBudW1iZXIsIHR5cGU6IFwiVXNlclwiIHwgXCJDdXN0b21lclwiKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldChgJHt0eXBlID09PSBcIlVzZXJcIiA/ICh0aGlzLmVuZHBvaW50cy5yb2xlc0J5VXNlcj8udXJsID8/ICcnKSA6ICh0aGlzLmVuZHBvaW50cy5yb2xlc0J5Q3VzdG9tZXIgPz8gJycpfT8ke3BhcmFtTmFtZXNbdHlwZV19PSR7aWR9YCk7XHJcblx0fVxyXG5cclxuXHRhc3NpZ25Sb2xlcyhpZDogbnVtYmVyLCByb2xlczogYW55W10sIHR5cGU6IFwiVXNlclwiIHwgXCJDdXN0b21lclwiKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QodHlwZSA9PT0gXCJVc2VyXCIgPyAodGhpcy5lbmRwb2ludHMuYXNzaWduVXNlclJvbGU/LnVybCA/PyAnJykgOiAodGhpcy5lbmRwb2ludHMuYXNzaWduQ3VzdG9tZXJSb2xlPy51cmwgPz8gJycpLCB7XHJcblx0XHRcdFtwYXJhbU5hbWVzW3R5cGVdXTogaWQsXHJcblx0XHRcdHJvbGVzXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzc2lnblJvbGVVc2Vycyhyb2xlSWQ6IG51bWJlciwgdXNlcnM6IGFueVtdKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbmRwb2ludHMuYXNzaWduUm9sZVVzZXJzPy51cmwgPz8gJycsIHtcclxuXHRcdFx0cm9sZUlkLFxyXG5cdFx0XHR1c2Vyc1xyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdGFzc2lnblJvbGVDdXN0b21lcnMocm9sZUlkOiBudW1iZXIsIGN1c3RvbWVyczogYW55W10pIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25Sb2xlQ3VzdG9tZXJzPy51cmwgPz8gJycsIHtcclxuXHRcdFx0cm9sZUlkLFxyXG5cdFx0XHRjdXN0b21lcnNcclxuXHRcdH0pXHJcblx0fVxyXG5cclxuXHQvLyBhc3NpZ25Vc2VyQ3VzdG9tZXJzKHVzZXJJZDogbnVtYmVyLCBjdXN0b21lcnM6IGFueVtdKSB7XHJcblx0Ly8gXHRyZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbmRwb2ludHMuYXNzaWduVXNlckN1c3RvbWVycz8udXJsID8/ICcnLCB7dXNlcklkLCBjdXN0b21lcnN9KVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gYXNzaWduVXNlckFnZW5jaWVzKHVzZXJJZDogbnVtYmVyLCBhZ2VuY2llczogYW55W10pIHtcclxuXHQvLyBcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25Vc2VyQWdlbmNpZXM/LnVybCA/PyAnJywge3VzZXJJZCwgYWdlbmNpZXN9KVxyXG5cdC8vIH1cclxuXHJcblxyXG5cdGFzc2lnblVzZXJDdXN0b21lckFuZEFnZW5jaWVzKHVzZXJJZDogbnVtYmVyLCBjdXN0b21lcnM6IGFueVtdLCBhZ2VuY2llczogeyBbY3VzdG9tZXJJZDogbnVtYmVyXTogYW55W10gfSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZW5kcG9pbnRzLmFzc2lnblVzZXJDdXN0b21lcnM/Lm9uUmVxdWVzdCh7dXNlcklkLCBjdXN0b21lcnMsIGFnZW5jaWVzfSk7XHJcblx0fVxyXG5cclxuXHRhc3NpZ25DdXN0b21lclVzZXJzKGN1c3RvbWVyOiBhbnksIHVzZXJzOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZW5kcG9pbnRzLmFzc2lnbkN1c3RvbWVyVXNlcnM/Lm9uUmVxdWVzdCh7Y3VzdG9tZXIsIHVzZXJzfSk7XHJcblx0fVxyXG5cclxuXHRnZXRVc2VyUm9sZXNCeUN1c3RvbWVycyh1c2VyOiBhbnkpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnRzLmN1c3RvbWVyc0J5VXNlcj8udXJsfSR7dGhpcy5lbmRwb2ludHMuY3VzdG9tZXJzQnlVc2VyPy5xdWVyeVBhcmFtcz8uKHVzZXIpfWApLnBpcGUoXHJcblx0XHRcdHN3aXRjaE1hcCh0aGlzLmVuZHBvaW50cy5jdXN0b21lcnNCeVVzZXI/LnJlc3BvbnNlTWFwcGluZyA/PyBkZWZhdWx0U3dpdGNoTWFwcGVyKSxcclxuXHRcdFx0c3dpdGNoTWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIGZyb20oQXJyYXkuZnJvbShuZXcgU2V0KHJlc3BvbnNlLmxvYWQpKSkucGlwZShcclxuXHRcdFx0XHRcdG1lcmdlTWFwKFxyXG5cdFx0XHRcdFx0XHRjdXN0b21lcklkID0+IHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbmRwb2ludHMucm9sZXNCeUN1c3RvbWVyPy51cmx9JHt0aGlzLmVuZHBvaW50cy5yb2xlc0J5Q3VzdG9tZXI/LnF1ZXJ5UGFyYW1zPy4oeyBpZDogY3VzdG9tZXJJZCB9KX1gKVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdHJlZHVjZSgoYWNjOiBhbnksIGN1cnI6IGFueSkgPT4gYWNjLmNvbmNhdChjdXJyKSwgW10pLFxyXG5cdFx0XHRcdFx0bWFwKG5ld0xvYWQgPT4gKHsgLi4ucmVzcG9uc2UsIGxvYWQ6IG5ld0xvYWQgfSkpXHJcblx0XHRcdFx0KVxyXG5cdFx0XHR9KSxcclxuXHRcdFx0c3dpdGNoTWFwKChyZXNwb25zZTIpID0+IG9mKHsuLi5yZXNwb25zZTIsIGxvYWQ6IHJlc3BvbnNlMi5sb2FkLm1hcCgocmVzcG9uc2UzOiBhbnkpID0+IHJlc3BvbnNlMy5sb2FkKS5mbGF0KCl9KSlcclxuXHRcdClcclxuXHR9XHJcblxyXG5cdC8vIHNldFJvbGVzQnlVc2VyRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5yb2xlc0J5VXNlckVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRBc3NpZ25Vc2VyUm9sZUVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpIHtcclxuXHQvLyBcdHRoaXMuYXNzaWduVXNlclJvbGVFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0Um9sZXNCeUN1c3RvbWVyRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5yb2xlc0J5Q3VzdG9tZXJFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0QXNzaWduQ3VzdG9tZXJSb2xlRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5hc3NpZ25DdXN0b21lclJvbGVFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0U2F2ZVBlcm1pc3Npb25zRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5zYXZlUGVybWlzc2lvbnNFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0VXNlcnNCeUN1c3RvbWVyRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy51c2Vyc0J5Q3VzdG9tZXJFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0TGlzdFJvbGVzRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5saXN0Um9sZXNFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0QXNzaWduUmVzb3VyY2VFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLmFzc2lnblJlc291cmNlRW5kcG9pbnQgPSBlbmRwb2ludDtcclxuXHQvLyB9XHJcblxyXG5cdC8vIHNldFJlc291cmNlc0J5Um9sZUVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpIHtcclxuXHQvLyBcdHRoaXMucmVzb3VyY2VzQnlSb2xlRW5kcG9pbnQgPSBlbmRwb2ludDtcclxuXHQvLyB9XHJcblxyXG5cdC8vIHNldEFjdGlvbnNCeVJvbGVBbmRSZXNvdXJjZUVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpIHtcclxuXHQvLyBcdHRoaXMuZ2V0QWN0aW9uc0VuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHRzZWxlY3RVc2VyKHVzZXI6IGFueSkge1xyXG5cdFx0dGhpcy5zZWxlY3RlZFVzZXJTdWJqZWN0Lm5leHQodXNlcik7XHJcblx0fVxyXG5cclxuXHRzZWxlY3RDdXN0b21lcihjdXN0b21lcjogYW55KSB7XHJcblx0XHR0aGlzLnNlbGVjdGVkQ3VzdG9tZXJTdWJqZWN0Lm5leHQoY3VzdG9tZXIpO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0Um9sZShyb2xlOiBhbnkpIHtcclxuXHJcblx0XHR0aGlzLnNlbGVjdGVkUm9sZVN1YmplY3QubmV4dChyb2xlKTtcclxuXHR9XHJcblxyXG5cdHNhdmVJdGVtKGVuZHBvaW50OiBzdHJpbmcsIHVwZGF0ZWRJdGVtOiBhbnkpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChlbmRwb2ludCwgdXBkYXRlZEl0ZW0pO1xyXG5cdH1cclxuXHJcblx0YXNzaWduUmVzb3VyY2Uocm9sZUlkOiBudW1iZXIsIHJlc291cmNlczogYW55W10pIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25SZXNvdXJjZT8udXJsID8/ICcnLCB7IHJvbGVJZCwgcmVzb3VyY2VzIH0pO1xyXG5cdH1cclxuXHJcblx0c2F2ZVBlcm1pc3Npb25zKHBlcm1pc3Npb25zOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLnNhdmVQZXJtaXNzaW9ucz8udXJsID8/ICcnLCBwZXJtaXNzaW9ucyk7XHJcblx0fVxyXG5cclxuXHRnZXRNZW51VHJlZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnRzLmdldE1lbnVUcmVlPy51cmwgPz8gJycpO1xyXG5cdH1cclxuXHJcblx0Z2V0QXBwTW9kdWxlcygpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnRzLmxpc3RNb2R1bGVzPy51cmwgPz8gJycpO1xyXG5cdH1cclxuXHJcblx0c2F2ZU1vZHVsZShtb2R1bGU6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLmNyZWF0ZU1vZHVsZT8udXJsID8/ICcnLCBtb2R1bGUpO1xyXG5cdH1cclxuXHJcblx0cmVsb2FkRW50aXR5KGVudGl0eU5hbWU6IFwiVXNlclwiIHwgXCJDdXN0b21lclwiIHwgXCJSb2xlXCIpIHtcclxuXHRcdHRoaXMucmVsb2FkU3ViamVjdC5uZXh0KGVudGl0eU5hbWUpO1xyXG5cdH1cclxufVxyXG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZWN1cml0eS1hZG1pbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUdoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXJELE1BQU0sVUFBVSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLElBQUksRUFBRSxRQUFRO0NBQ2QsQ0FBQTtBQUtELE1BQU0sT0FBTyxvQkFBb0I7SUFvQmhDLElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDdkQsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUMvRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXZELElBQUksUUFBUTtRQUNYLE9BQU8sQ0FBQztZQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQ2hDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBOUJwQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8s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QUVELGVBQWUsQ0FBQyxXQUFrQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUF3QztRQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQS9OVyxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZwQixNQUFNOzs0RkFFTixvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgcmVkdWNlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9zbmFja2Jhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VjdXJpdHlFbmRwb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBkZWZhdWx0U3dpdGNoTWFwcGVyIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuY29uc3QgcGFyYW1OYW1lcyA9IHtcclxuXHRDdXN0b21lcjogXCJjdXN0b21lcklkXCIsXHJcblx0VXNlcjogXCJ1c2VySWRcIlxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cml0eUFkbWluU2VydmljZSB7XHJcblxyXG5cdHNlbGVjdGVkVXNlclN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblx0c2VsZWN0ZWRDdXN0b21lclN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblx0c2VsZWN0ZWRSb2xlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHRyZWxvYWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cdG1lbnVPcHRpb25Gb3JtQ29tcG9uZW50PzogVHlwZTxhbnk+O1xyXG5cdGVuZHBvaW50czogU2VjdXJpdHlFbmRwb2ludHMgPSB7fTtcclxuXHRsYW5ndWFnZTogc3RyaW5nID0gJ2VuJztcclxuXHRzZWxlY3RlZEl0ZW06IGFueTtcclxuXHR0aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG5cdG1zZ0xhYmVsID0geyBcIlVzZXJcIjogXCJVc3VhcmlvXCIsIFwiQ3VzdG9tZXJcIjogXCJFbXByZXNhXCIsIFwiUm9sZVwiOiBcIlJvbFwiIH07XHJcblx0YmxvY2tDcmVhdGlvbkZvcjogU2V0PFwiVXNlclwifFwiQ3VzdG9tZXJcInxcIlJvbGVcIj4gPSBuZXcgU2V0KFtcIkN1c3RvbWVyXCJdKTtcclxuXHJcblx0cmVsb2FkQnlFbnRpdHkgPSB7XHJcblx0XHRcIlVzZXJcIjogbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKSxcclxuXHRcdFwiQ3VzdG9tZXJcIjogbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKSxcclxuXHRcdFwiUm9sZVwiOiBuZXcgU3ViamVjdDxib29sZWFuPigpXHJcblx0fVxyXG5cclxuXHRnZXQgdXNlclJlbG9hZCgpIHsgcmV0dXJuIHRoaXMucmVsb2FkQnlFbnRpdHlbJ1VzZXInXSB9XHJcblx0Z2V0IGN1c3RvbWVyUmVsb2FkKCkgeyByZXR1cm4gdGhpcy5yZWxvYWRCeUVudGl0eVsnQ3VzdG9tZXInXSB9XHJcblx0Z2V0IHJvbGVSZWxvYWQoKSB7IHJldHVybiB0aGlzLnJlbG9hZEJ5RW50aXR5WydSb2xlJ10gfVxyXG5cclxuXHRnZXQgc3ViamVjdHMoKSB7XHJcblx0XHRyZXR1cm4gKHtcclxuXHRcdFx0XCJVc2VyXCI6IHRoaXMuc2VsZWN0ZWRVc2VyU3ViamVjdCxcclxuXHRcdFx0XCJDdXN0b21lclwiOiB0aGlzLnNlbGVjdGVkQ3VzdG9tZXJTdWJqZWN0LFxyXG5cdFx0XHRcIlJvbGVcIjogdGhpcy5zZWxlY3RlZFJvbGVTdWJqZWN0XHJcblx0XHR9KVxyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcblx0XHR0aGlzLnJlbG9hZFN1YmplY3Quc3Vic2NyaWJlKHtcclxuXHRcdFx0bmV4dDogKGVudGl0eU5hbWU6IGFueSkgPT4geyB0aGlzLnJlbG9hZEJ5RW50aXR5W2VudGl0eU5hbWUgYXMgXCJVc2VyXCIgfCBcIkN1c3RvbWVyXCIgfCBcIlJvbGVcIl0/Lm5leHQodHJ1ZSkgfVxyXG5cdFx0fSlcclxuXHRcdGZvciAobGV0IHN1YmplY3Qgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YmplY3RzKSkge1xyXG5cdFx0XHRzdWJqZWN0LnN1YnNjcmliZSh7IG5leHQ6IChpdGVtKSA9PiB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW0gfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcblx0fVxyXG5cclxuXHRzZXRTZWN1cml0eUVuZHBvaW50cyhlbmRwb2ludHM6IFNlY3VyaXR5RW5kcG9pbnRzKSB7XHJcblx0XHR0aGlzLmVuZHBvaW50cyA9IGVuZHBvaW50cztcclxuXHR9XHJcblxyXG5cdGdldFJvbGVzKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbmRwb2ludHMubGlzdFJvbGVzPy51cmwgPz8gJycpO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlTWVudU9wdGlvbihvcHRpb246IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbmRwb2ludHMuZGVsZXRlTWVudU9wdGlvbj8udXJsID8/ICcnfT9vcHRpb25JZD0ke29wdGlvbi5pZH1gKVxyXG5cdH1cclxuXHJcblx0c2V0VGhlbWUodGhlbWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy50aGVtZSA9IEJvb2xlYW4odGhlbWUpID8gdGhlbWUgOiAnZGVmYXVsdCc7XHJcblx0fVxyXG5cclxuXHRnZXRBY3Rpb25zKHJvbGVJZDogbnVtYmVyLCByZXNvdXJjZUlkOiBudW1iZXIpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW5kcG9pbnRzLmFjdGlvbnNCeVJvbGVBbmRSZXNvdXJjZT8udXJsID8/ICcnfT9yb2xlSWQ9JHtyb2xlSWR9JnJlc291cmNlSWQ9JHtyZXNvdXJjZUlkfWApO1xyXG5cdH1cclxuXHJcblx0Z2V0UmVzb3VyY2VzQnlSb2xlKHJvbGVJZDogbnVtYmVyKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50cy5yZXNvdXJjZXNCeVJvbGU/LnVybCA/PyAnJ30/cm9sZWRJZD0ke3JvbGVJZH1gKTtcclxuXHR9XHJcblxyXG5cdHNldE1lbnVPcHRpb25Gb3JtQ29tcG9uZW50KGNvbXBvbmVudD86IFR5cGU8YW55Pikge1xyXG5cdFx0dGhpcy5tZW51T3B0aW9uRm9ybUNvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuXHR9XHJcblxyXG5cclxuXHRzYXZlTWVudU9wdGlvbihvcHRpb246IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLnNhdmVNZW51T3B0aW9uPy51cmwgPz8gJycsIHsgLi4ub3B0aW9uLCBpZDogb3B0aW9uLmlkID4gLTEgPyBvcHRpb24uaWQgOiBudWxsIH0pO1xyXG5cdH1cclxuXHJcblx0Ly8gZ2V0VXNlcnMocGFnZTogbnVtYmVyID0gMSwgcGFnZVNpemU6IG51bWJlciA9IDEwKSB7XHJcblx0Ly8gXHRyZXR1cm4gdGhpcy5odHRwLmdldChgdGhpcy5saXN0VXNlcnNFbmRwb2ludD9wYWdlPSR7cGFnZX0mcGFnZVNpemU9JHtwYWdlU2l6ZX1gKTtcclxuXHQvLyB9XHJcblxyXG5cdGdldEFzc2lnbmVkUm9sZXMoaWQ6IG51bWJlciwgdHlwZTogXCJVc2VyXCIgfCBcIkN1c3RvbWVyXCIpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3R5cGUgPT09IFwiVXNlclwiID8gKHRoaXMuZW5kcG9pbnRzLnJvbGVzQnlVc2VyPy51cmwgPz8gJycpIDogKHRoaXMuZW5kcG9pbnRzLnJvbGVzQnlDdXN0b21lciA/PyAnJyl9PyR7cGFyYW1OYW1lc1t0eXBlXX09JHtpZH1gKTtcclxuXHR9XHJcblxyXG5cdGFzc2lnblJvbGVzKGlkOiBudW1iZXIsIHJvbGVzOiBhbnlbXSwgdHlwZTogXCJVc2VyXCIgfCBcIkN1c3RvbWVyXCIpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0eXBlID09PSBcIlVzZXJcIiA/ICh0aGlzLmVuZHBvaW50cy5hc3NpZ25Vc2VyUm9sZT8udXJsID8/ICcnKSA6ICh0aGlzLmVuZHBvaW50cy5hc3NpZ25DdXN0b21lclJvbGU/LnVybCA/PyAnJyksIHtcclxuXHRcdFx0W3BhcmFtTmFtZXNbdHlwZV1dOiBpZCxcclxuXHRcdFx0cm9sZXNcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0YXNzaWduUm9sZVVzZXJzKHJvbGVJZDogbnVtYmVyLCB1c2VyczogYW55W10pIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25Sb2xlVXNlcnM/LnVybCA/PyAnJywge1xyXG5cdFx0XHRyb2xlSWQsXHJcblx0XHRcdHVzZXJzXHJcblx0XHR9KVxyXG5cdH1cclxuXHJcblx0YXNzaWduUm9sZUN1c3RvbWVycyhyb2xlSWQ6IG51bWJlciwgY3VzdG9tZXJzOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLmFzc2lnblJvbGVDdXN0b21lcnM/LnVybCA/PyAnJywge1xyXG5cdFx0XHRyb2xlSWQsXHJcblx0XHRcdGN1c3RvbWVyc1xyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdC8vIGFzc2lnblVzZXJDdXN0b21lcnModXNlcklkOiBudW1iZXIsIGN1c3RvbWVyczogYW55W10pIHtcclxuXHQvLyBcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25Vc2VyQ3VzdG9tZXJzPy51cmwgPz8gJycsIHt1c2VySWQsIGN1c3RvbWVyc30pXHJcblx0Ly8gfVxyXG5cclxuXHQvLyBhc3NpZ25Vc2VyQWdlbmNpZXModXNlcklkOiBudW1iZXIsIGFnZW5jaWVzOiBhbnlbXSkge1xyXG5cdC8vIFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLmFzc2lnblVzZXJBZ2VuY2llcz8udXJsID8/ICcnLCB7dXNlcklkLCBhZ2VuY2llc30pXHJcblx0Ly8gfVxyXG5cclxuXHJcblx0YXNzaWduVXNlckN1c3RvbWVyQW5kQWdlbmNpZXModXNlcklkOiBudW1iZXIsIGN1c3RvbWVyczogYW55W10sIGFnZW5jaWVzOiB7IFtjdXN0b21lcklkOiBudW1iZXJdOiBhbnlbXSB9KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5lbmRwb2ludHMuYXNzaWduVXNlckN1c3RvbWVycz8ub25SZXF1ZXN0KHt1c2VySWQsIGN1c3RvbWVycywgYWdlbmNpZXN9KTtcclxuXHR9XHJcblxyXG5cdGFzc2lnbkN1c3RvbWVyVXNlcnMoY3VzdG9tZXI6IGFueSwgdXNlcnM6IGFueVtdKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5lbmRwb2ludHMuYXNzaWduQ3VzdG9tZXJVc2Vycz8ub25SZXF1ZXN0KHtjdXN0b21lciwgdXNlcnN9KTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJSb2xlc0J5Q3VzdG9tZXJzKHVzZXI6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbmRwb2ludHMuY3VzdG9tZXJzQnlVc2VyPy51cmx9JHt0aGlzLmVuZHBvaW50cy5jdXN0b21lcnNCeVVzZXI/LnF1ZXJ5UGFyYW1zPy4odXNlcil9YCkucGlwZShcclxuXHRcdFx0c3dpdGNoTWFwKHRoaXMuZW5kcG9pbnRzLmN1c3RvbWVyc0J5VXNlcj8ucmVzcG9uc2VNYXBwaW5nID8/IGRlZmF1bHRTd2l0Y2hNYXBwZXIpLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gZnJvbShBcnJheS5mcm9tKG5ldyBTZXQocmVzcG9uc2UubG9hZCkpKS5waXBlKFxyXG5cdFx0XHRcdFx0bWVyZ2VNYXAoXHJcblx0XHRcdFx0XHRcdGN1c3RvbWVySWQgPT4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVuZHBvaW50cy5yb2xlc0J5Q3VzdG9tZXI/LnVybH0ke3RoaXMuZW5kcG9pbnRzLnJvbGVzQnlDdXN0b21lcj8ucXVlcnlQYXJhbXM/Lih7IGlkOiBjdXN0b21lcklkIH0pfWApXHJcblx0XHRcdFx0XHQpLFxyXG5cdFx0XHRcdFx0cmVkdWNlKChhY2M6IGFueSwgY3VycjogYW55KSA9PiBhY2MuY29uY2F0KGN1cnIpLCBbXSksXHJcblx0XHRcdFx0XHRtYXAobmV3TG9hZCA9PiAoeyAuLi5yZXNwb25zZSwgbG9hZDogbmV3TG9hZCB9KSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdH0pLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKHJlc3BvbnNlMikgPT4gb2Yoey4uLnJlc3BvbnNlMiwgbG9hZDogcmVzcG9uc2UyLmxvYWQubWFwKChyZXNwb25zZTM6IGFueSkgPT4gcmVzcG9uc2UzLmxvYWQpLmZsYXQoKX0pKVxyXG5cdFx0KVxyXG5cdH1cclxuXHJcblx0Ly8gc2V0Um9sZXNCeVVzZXJFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLnJvbGVzQnlVc2VyRW5kcG9pbnQgPSBlbmRwb2ludDtcclxuXHQvLyB9XHJcblxyXG5cdC8vIHNldEFzc2lnblVzZXJSb2xlRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5hc3NpZ25Vc2VyUm9sZUVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRSb2xlc0J5Q3VzdG9tZXJFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLnJvbGVzQnlDdXN0b21lckVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRBc3NpZ25DdXN0b21lclJvbGVFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLmFzc2lnbkN1c3RvbWVyUm9sZUVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRTYXZlUGVybWlzc2lvbnNFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLnNhdmVQZXJtaXNzaW9uc0VuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRVc2Vyc0J5Q3VzdG9tZXJFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLnVzZXJzQnlDdXN0b21lckVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRMaXN0Um9sZXNFbmRwb2ludChlbmRwb2ludDogc3RyaW5nKSB7XHJcblx0Ly8gXHR0aGlzLmxpc3RSb2xlc0VuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblx0Ly8gfVxyXG5cclxuXHQvLyBzZXRBc3NpZ25SZXNvdXJjZUVuZHBvaW50KGVuZHBvaW50OiBzdHJpbmcpIHtcclxuXHQvLyBcdHRoaXMuYXNzaWduUmVzb3VyY2VFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0UmVzb3VyY2VzQnlSb2xlRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5yZXNvdXJjZXNCeVJvbGVFbmRwb2ludCA9IGVuZHBvaW50O1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gc2V0QWN0aW9uc0J5Um9sZUFuZFJlc291cmNlRW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZykge1xyXG5cdC8vIFx0dGhpcy5nZXRBY3Rpb25zRW5kcG9pbnQgPSBlbmRwb2ludDtcclxuXHQvLyB9XHJcblxyXG5cdHNlbGVjdFVzZXIodXNlcjogYW55KSB7XHJcblx0XHR0aGlzLnNlbGVjdGVkVXNlclN1YmplY3QubmV4dCh1c2VyKTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdEN1c3RvbWVyKGN1c3RvbWVyOiBhbnkpIHtcclxuXHRcdHRoaXMuc2VsZWN0ZWRDdXN0b21lclN1YmplY3QubmV4dChjdXN0b21lcik7XHJcblx0fVxyXG5cclxuXHRzZWxlY3RSb2xlKHJvbGU6IGFueSkge1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0ZWRSb2xlU3ViamVjdC5uZXh0KHJvbGUpO1xyXG5cdH1cclxuXHJcblx0c2F2ZUl0ZW0oZW5kcG9pbnQ6IHN0cmluZywgdXBkYXRlZEl0ZW06IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGVuZHBvaW50LCB1cGRhdGVkSXRlbSk7XHJcblx0fVxyXG5cclxuXHRhc3NpZ25SZXNvdXJjZShyb2xlSWQ6IG51bWJlciwgcmVzb3VyY2VzOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLmFzc2lnblJlc291cmNlcz8udXJsID8/ICcnLCB7IHJvbGVJZCwgcmVzb3VyY2VzIH0pO1xyXG5cdH1cclxuXHJcblx0YXNzaWduT3B0aW9ucyhyb2xlSWQ6IG51bWJlciwgb3B0aW9uczogYW55W10pIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVuZHBvaW50cy5hc3NpZ25vcHRpb25zPy51cmwgPz8gJycsIHsgcm9sZUlkLCBvcHRpb25zIH0pO1xyXG5cdH1cclxuXHJcblx0c2F2ZVBlcm1pc3Npb25zKHBlcm1pc3Npb25zOiBhbnlbXSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLnNhdmVQZXJtaXNzaW9ucz8udXJsID8/ICcnLCBwZXJtaXNzaW9ucyk7XHJcblx0fVxyXG5cclxuXHRnZXRNZW51VHJlZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnRzLmdldE1lbnVUcmVlPy51cmwgPz8gJycpO1xyXG5cdH1cclxuXHJcblx0Z2V0QXBwTW9kdWxlcygpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW5kcG9pbnRzLmxpc3RNb2R1bGVzPy51cmwgPz8gJycpO1xyXG5cdH1cclxuXHJcblx0c2F2ZU1vZHVsZShtb2R1bGU6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW5kcG9pbnRzLmNyZWF0ZU1vZHVsZT8udXJsID8/ICcnLCBtb2R1bGUpO1xyXG5cdH1cclxuXHJcblx0cmVsb2FkRW50aXR5KGVudGl0eU5hbWU6IFwiVXNlclwiIHwgXCJDdXN0b21lclwiIHwgXCJSb2xlXCIpIHtcclxuXHRcdHRoaXMucmVsb2FkU3ViamVjdC5uZXh0KGVudGl0eU5hbWUpO1xyXG5cdH1cclxufVxyXG4iXX0=