@abp/ng.theme.shared 5.3.1 → 6.0.0-rc.1

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.
@@ -27,12 +27,16 @@ export class ExtensibleFormPropComponent {
27
27
  this.asterisk = '';
28
28
  this.options$ = of([]);
29
29
  this.validators = [];
30
+ this.disabledFn = (data) => false;
30
31
  this.search = (text$) => text$
31
32
  ? text$.pipe(debounceTime(300), distinctUntilChanged(), switchMap(text => this.prop.options(this.data, text)))
32
33
  : of([]);
33
34
  this.typeaheadFormatter = (option) => option.key;
34
35
  this.form = groupDirective.form;
35
36
  }
37
+ get disabled() {
38
+ return this.disabledFn(this.data);
39
+ }
36
40
  setTypeaheadValue(selectedOption) {
37
41
  this.typeaheadModel = selectedOption || { key: null, value: null };
38
42
  const { key, value } = this.typeaheadModel;
@@ -111,8 +115,9 @@ export class ExtensibleFormPropComponent {
111
115
  this.options$ = options(this.data);
112
116
  if (readonly)
113
117
  this.readonly = readonly(this.data);
114
- if (disabled)
115
- this.disabled = disabled(this.data);
118
+ if (disabled) {
119
+ this.disabledFn = disabled;
120
+ }
116
121
  if (validators) {
117
122
  this.validators = validators(this.data);
118
123
  this.setAsterisk();
@@ -156,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
156
161
  function isRequired(validator) {
157
162
  return validator === Validators.required || validator === AbpValidators.required;
158
163
  }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1mb3JtLXByb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0tcHJvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZW5zaWJsZS1mb3JtL2V4dGVuc2libGUtZm9ybS1wcm9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBRWxCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENB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VSxFQUFFLFdBQVc7WUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUMzRDtRQUNELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO1FBQ2xELEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO0tBQ25EOzJGQUVVLDJCQUEyQjtrQkFkdkMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFVBQVUsRUFBRSxXQUFXOzRCQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO3lCQUMzRDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRTt3QkFDbEQsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7cUJBQ25EO3VNQUdRLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVzQixRQUFRO3NCQUFuQyxTQUFTO3VCQUFDLE9BQU87O0FBdUlwQixTQUFTLFVBQVUsQ0FBQyxTQUFzQjtJQUN4QyxPQUFPLFNBQVMsS0FBSyxVQUFVLENBQUMsUUFBUSxJQUFJLFNBQVMsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFDO0FBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIEFicFZhbGlkYXRvcnMsIENvbmZpZ1N0YXRlU2VydmljZSwgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgU2tpcFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBWYWxpZGF0b3JGbixcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIsIE5nYlRpbWVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvZGF0ZS5hZGFwdGVyJztcclxuaW1wb3J0IHsgVGltZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycy90aW1lLmFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFWFRSQV9QUk9QRVJUSUVTX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9leHRyYS1wcm9wZXJ0aWVzJztcclxuaW1wb3J0IHsgZVByb3BUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcHJvcHMuZW51bSc7XHJcbmltcG9ydCB7IEZvcm1Qcm9wIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tcHJvcHMnO1xyXG5pbXBvcnQgeyBQcm9wRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wcyc7XHJcbmltcG9ydCB7IHNlbGZGYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvZmFjdG9yeS51dGlsJztcclxuaW1wb3J0IHsgYWRkVHlwZWFoZWFkVGV4dFN1ZmZpeCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVhaGVhZC51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWV4dGVuc2libGUtZm9ybS1wcm9wJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXh0ZW5zaWJsZS1mb3JtLXByb3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lcixcclxuICAgICAgdXNlRmFjdG9yeTogc2VsZkZhY3RvcnksXHJcbiAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBDb250cm9sQ29udGFpbmVyXV0sXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyIH0sXHJcbiAgICB7IHByb3ZpZGU6IE5nYlRpbWVBZGFwdGVyLCB1c2VDbGFzczogVGltZUFkYXB0ZXIgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZW5zaWJsZUZvcm1Qcm9wQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBkYXRhITogUHJvcERhdGE7XHJcblxyXG4gIEBJbnB1dCgpIHByb3AhOiBGb3JtUHJvcDtcclxuXHJcbiAgQElucHV0KCkgZmlyc3Q/OiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWVsZCcpIHByaXZhdGUgZmllbGRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgYXN0ZXJpc2sgPSAnJztcclxuXHJcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8QUJQLk9wdGlvbjxhbnk+W10+ID0gb2YoW10pO1xyXG5cclxuICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcblxyXG4gIHJlYWRvbmx5ITogYm9vbGVhbjtcclxuXHJcbiAgZGlzYWJsZWQhOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgdHlwZWFoZWFkTW9kZWw6IGFueTtcclxuXHJcbiAgc2V0VHlwZWFoZWFkVmFsdWUoc2VsZWN0ZWRPcHRpb246IEFCUC5PcHRpb248c3RyaW5nPikge1xyXG4gICAgdGhpcy50eXBlYWhlYWRNb2RlbCA9IHNlbGVjdGVkT3B0aW9uIHx8IHsga2V5OiBudWxsLCB2YWx1ZTogbnVsbCB9O1xyXG4gICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSB0aGlzLnR5cGVhaGVhZE1vZGVsO1xyXG4gICAgY29uc3QgW2tleUNvbnRyb2wsIHZhbHVlQ29udHJvbF0gPSB0aGlzLmdldFR5cGVhaGVhZENvbnRyb2xzKCk7XHJcbiAgICBpZiAodmFsdWVDb250cm9sPy52YWx1ZSAmJiAhdmFsdWUpIHZhbHVlQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAga2V5Q29udHJvbD8uc2V0VmFsdWUoa2V5KTtcclxuICAgIHZhbHVlQ29udHJvbD8uc2V0VmFsdWUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoID0gKHRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4pID0+XHJcbiAgICB0ZXh0JFxyXG4gICAgICA/IHRleHQkLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICBzd2l0Y2hNYXAodGV4dCA9PiB0aGlzLnByb3Aub3B0aW9ucyh0aGlzLmRhdGEsIHRleHQpKSxcclxuICAgICAgICApXHJcbiAgICAgIDogb2YoW10pO1xyXG5cclxuICB0eXBlYWhlYWRGb3JtYXR0ZXIgPSAob3B0aW9uOiBBQlAuT3B0aW9uPGFueT4pID0+IG9wdGlvbi5rZXk7XHJcblxyXG4gIGdldCBtZXJpZGlhbigpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuY29uZmlnU3RhdGUuZ2V0RGVlcCgnbG9jYWxpemF0aW9uLmN1cnJlbnRDdWx0dXJlLmRhdGVUaW1lRm9ybWF0LnNob3J0VGltZVBhdHRlcm4nKSB8fCAnJ1xyXG4gICAgKS5pbmNsdWRlcygndHQnKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0ludmFsaWQoKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLnByb3AubmFtZSk7XHJcbiAgICByZXR1cm4gY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuaW52YWxpZDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29uZmlnU3RhdGU6IENvbmZpZ1N0YXRlU2VydmljZSxcclxuICAgIGdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmZvcm0gPSBncm91cERpcmVjdGl2ZS5mb3JtO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUeXBlYWhlYWRDb250cm9scygpIHtcclxuICAgIGNvbnN0IHsgbmFtZSB9ID0gdGhpcy5wcm9wO1xyXG4gICAgY29uc3QgZXh0cmFQcm9wTmFtZSA9IGAke0VYVFJBX1BST1BFUlRJRVNfS0VZfS4ke25hbWV9YDtcclxuICAgIGNvbnN0IGtleUNvbnRyb2wgPVxyXG4gICAgICB0aGlzLmZvcm0uZ2V0KGFkZFR5cGVhaGVhZFRleHRTdWZmaXgoZXh0cmFQcm9wTmFtZSkpIHx8XHJcbiAgICAgIHRoaXMuZm9ybS5nZXQoYWRkVHlwZWFoZWFkVGV4dFN1ZmZpeChuYW1lKSk7XHJcbiAgICBjb25zdCB2YWx1ZUNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGV4dHJhUHJvcE5hbWUpIHx8IHRoaXMuZm9ybS5nZXQobmFtZSk7XHJcbiAgICByZXR1cm4gW2tleUNvbnRyb2wsIHZhbHVlQ29udHJvbF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFzdGVyaXNrKCkge1xyXG4gICAgdGhpcy5hc3RlcmlzayA9IHRoaXMudmFsaWRhdG9ycy5zb21lKGlzUmVxdWlyZWQpID8gJyonIDogJyc7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5maXJzdCAmJiB0aGlzLmZpZWxkUmVmKSB7XHJcbiAgICAgIHRoaXMuZmllbGRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50KHByb3A6IEZvcm1Qcm9wKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAocHJvcC50eXBlKSB7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgcmV0dXJuICdjaGVja2JveCc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkRhdGU6XHJcbiAgICAgICAgcmV0dXJuICdkYXRlJztcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuRGF0ZVRpbWU6XHJcbiAgICAgICAgcmV0dXJuICdkYXRlVGltZSc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkhpZGRlbjpcclxuICAgICAgICByZXR1cm4gJ2hpZGRlbic7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLk11bHRpU2VsZWN0OlxyXG4gICAgICAgIHJldHVybiAnbXVsdGlzZWxlY3QnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5UZXh0OlxyXG4gICAgICAgIHJldHVybiAndGV4dGFyZWEnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5UaW1lOlxyXG4gICAgICAgIHJldHVybiAndGltZSc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLlR5cGVhaGVhZDpcclxuICAgICAgICByZXR1cm4gJ3R5cGVhaGVhZCc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHByb3Aub3B0aW9ucyA/ICdzZWxlY3QnIDogJ2lucHV0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFR5cGUocHJvcDogRm9ybVByb3ApOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChwcm9wLnR5cGUpIHtcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuRGF0ZTpcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuU3RyaW5nOlxyXG4gICAgICAgIHJldHVybiAndGV4dCc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgcmV0dXJuICdjaGVja2JveCc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLk51bWJlcjpcclxuICAgICAgICByZXR1cm4gJ251bWJlcic7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ2hpZGRlbic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyh7IHByb3AgfTogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgY3VycmVudFByb3AgPSBwcm9wPy5jdXJyZW50VmFsdWU7XHJcbiAgICBjb25zdCB7IG9wdGlvbnMsIHJlYWRvbmx5LCBkaXNhYmxlZCwgdmFsaWRhdG9ycyB9ID0gY3VycmVudFByb3AgfHwge307XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHRoaXMub3B0aW9ucyQgPSBvcHRpb25zKHRoaXMuZGF0YSk7XHJcbiAgICBpZiAocmVhZG9ubHkpIHRoaXMucmVhZG9ubHkgPSByZWFkb25seSh0aGlzLmRhdGEpO1xyXG4gICAgaWYgKGRpc2FibGVkKSB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQodGhpcy5kYXRhKTtcclxuICAgIGlmICh2YWxpZGF0b3JzKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdG9ycyA9IHZhbGlkYXRvcnModGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRBc3RlcmlzaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IFtrZXlDb250cm9sLCB2YWx1ZUNvbnRyb2xdID0gdGhpcy5nZXRUeXBlYWhlYWRDb250cm9scygpO1xyXG4gICAgaWYgKGtleUNvbnRyb2wgJiYgdmFsdWVDb250cm9sKVxyXG4gICAgICB0aGlzLnR5cGVhaGVhZE1vZGVsID0geyBrZXk6IGtleUNvbnRyb2wudmFsdWUsIHZhbHVlOiB2YWx1ZUNvbnRyb2wudmFsdWUgfTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzUmVxdWlyZWQodmFsaWRhdG9yOiBWYWxpZGF0b3JGbikge1xyXG4gIHJldHVybiB2YWxpZGF0b3IgPT09IFZhbGlkYXRvcnMucmVxdWlyZWQgfHwgdmFsaWRhdG9yID09PSBBYnBWYWxpZGF0b3JzLnJlcXVpcmVkO1xyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiXHJcbiAgKmFicFBlcm1pc3Npb249XCJwcm9wLnBlcm1pc3Npb247IHJ1bkNoYW5nZURldGVjdGlvbjogZmFsc2VcIlxyXG4gIFtuZ1N3aXRjaF09XCJnZXRDb21wb25lbnQocHJvcClcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cImlucHV0XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNmaWVsZFxyXG4gICAgICBbaWRdPVwicHJvcC5pZFwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicHJvcC5uYW1lXCJcclxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJwcm9wLmF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIFt0eXBlXT1cImdldFR5cGUocHJvcClcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAvPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJoaWRkZW5cIj5cclxuICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiIHR5cGU9XCJoaWRkZW5cIiAvPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJjaGVja2JveFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjZmllbGRcclxuICAgICAgICBbaWRdPVwicHJvcC5pZFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiAnZm9ybS1jaGVjay1sYWJlbCcgfVwiXHJcbiAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cInNlbGVjdFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxzZWxlY3RcclxuICAgICAgI2ZpZWxkXHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICA+XHJcbiAgICAgIDxvcHRpb25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrLmJ5KCd2YWx1ZScpXCJcclxuICAgICAgICBbbmdWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgb3B0aW9uLmtleSB9fVxyXG4gICAgICA8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJtdWx0aXNlbGVjdFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxzZWxlY3RcclxuICAgICAgI2ZpZWxkXHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgPlxyXG4gICAgICA8b3B0aW9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFjay5ieSgndmFsdWUnKVwiXHJcbiAgICAgICAgW25nVmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IG9wdGlvbi5rZXkgfX1cclxuICAgICAgPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwidHlwZWFoZWFkXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGRpdiAjdHlwZWFoZWFkIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIiB2YWxpZGF0aW9uU3R5bGUgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2ZpZWxkXHJcbiAgICAgICAgW2lkXT1cInByb3AuaWRcIlxyXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwicHJvcC5hdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW25nYlR5cGVhaGVhZF09XCJzZWFyY2hcIlxyXG4gICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW2lucHV0Rm9ybWF0dGVyXT1cInR5cGVhaGVhZEZvcm1hdHRlclwiXHJcbiAgICAgICAgW3Jlc3VsdEZvcm1hdHRlcl09XCJ0eXBlYWhlYWRGb3JtYXR0ZXJcIlxyXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0eXBlYWhlYWRNb2RlbFwiXHJcbiAgICAgICAgKHNlbGVjdEl0ZW0pPVwic2V0VHlwZWFoZWFkVmFsdWUoJGV2ZW50Lml0ZW0pXCJcclxuICAgICAgICAoYmx1cik9XCJzZXRUeXBlYWhlYWRWYWx1ZSh0eXBlYWhlYWRNb2RlbClcIlxyXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cInR5cGVhaGVhZC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLWludmFsaWQnKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAvPlxyXG4gICAgICA8aW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIiB0eXBlPVwiaGlkZGVuXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJkYXRlXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAoa2V5dXAuc3BhY2UpPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgLz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwidGltZVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZ2ItdGltZXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiPjwvbmdiLXRpbWVwaWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cImRhdGVUaW1lXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGFicC1kYXRlLXRpbWUtcGlja2VyIFtwcm9wXT1cInByb3BcIiBbbWVyaWRpYW5dPVwibWVyaWRpYW5cIj48L2FicC1kYXRlLXRpbWUtcGlja2VyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJ0ZXh0YXJlYVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICAjZmllbGRcclxuICAgICAgW2lkXT1cInByb3AuaWRcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiXHJcbiAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgID48L3RleHRhcmVhPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNsYWJlbCBsZXQtY2xhc3Nlcz5cclxuICA8bGFiZWwgW2h0bWxGb3JdPVwicHJvcC5pZFwiIFtuZ0NsYXNzXT1cImNsYXNzZXMgfHwgJ2Zvcm0tbGFiZWwnXCJcclxuICAgID57eyBwcm9wLmRpc3BsYXlOYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19IHt7IGFzdGVyaXNrIH19PC9sYWJlbFxyXG4gID5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1mb3JtLXByb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL2V4dGVuc2lvbnMvc3JjL2xpYi9jb21wb25lbnRzL2V4dGVuc2libGUtZm9ybS9leHRlbnNpYmxlLWZvcm0tcHJvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvZXh0ZW5zaW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZW5zaWJsZS1mb3JtL2V4dGVuc2libGUtZm9ybS1wcm9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFFUixRQUFRLEVBQ1IsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBRWxCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENB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YXRvcnMsIENvbmZpZ1N0YXRlU2VydmljZSwgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgU2tpcFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICBWYWxpZGF0b3JGbixcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdiRGF0ZUFkYXB0ZXIsIE5nYlRpbWVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvZGF0ZS5hZGFwdGVyJztcclxuaW1wb3J0IHsgVGltZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycy90aW1lLmFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFWFRSQV9QUk9QRVJUSUVTX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9leHRyYS1wcm9wZXJ0aWVzJztcclxuaW1wb3J0IHsgZVByb3BUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcHJvcHMuZW51bSc7XHJcbmltcG9ydCB7IEZvcm1Qcm9wIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tcHJvcHMnO1xyXG5pbXBvcnQgeyBQcm9wRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wcyc7XHJcbmltcG9ydCB7IHNlbGZGYWN0b3J5IH0gZnJvbSAnLi4vLi4vdXRpbHMvZmFjdG9yeS51dGlsJztcclxuaW1wb3J0IHsgYWRkVHlwZWFoZWFkVGV4dFN1ZmZpeCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVhaGVhZC51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWV4dGVuc2libGUtZm9ybS1wcm9wJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXh0ZW5zaWJsZS1mb3JtLXByb3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lcixcclxuICAgICAgdXNlRmFjdG9yeTogc2VsZkZhY3RvcnksXHJcbiAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBDb250cm9sQ29udGFpbmVyXV0sXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyIH0sXHJcbiAgICB7IHByb3ZpZGU6IE5nYlRpbWVBZGFwdGVyLCB1c2VDbGFzczogVGltZUFkYXB0ZXIgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZW5zaWJsZUZvcm1Qcm9wQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBkYXRhITogUHJvcERhdGE7XHJcblxyXG4gIEBJbnB1dCgpIHByb3AhOiBGb3JtUHJvcDtcclxuXHJcbiAgQElucHV0KCkgZmlyc3Q/OiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWVsZCcpIHByaXZhdGUgZmllbGRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgYXN0ZXJpc2sgPSAnJztcclxuXHJcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8QUJQLk9wdGlvbjxhbnk+W10+ID0gb2YoW10pO1xyXG5cclxuICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcblxyXG4gIHJlYWRvbmx5ITogYm9vbGVhbjtcclxuXHJcbiAgZGlzYWJsZWRGbiA9IChkYXRhOlByb3BEYXRhKSA9PiBmYWxzZTtcclxuICBcclxuICBnZXQgZGlzYWJsZWQoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRm4odGhpcy5kYXRhKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIHR5cGVhaGVhZE1vZGVsOiBhbnk7XHJcblxyXG4gIHNldFR5cGVhaGVhZFZhbHVlKHNlbGVjdGVkT3B0aW9uOiBBQlAuT3B0aW9uPHN0cmluZz4pIHtcclxuICAgIHRoaXMudHlwZWFoZWFkTW9kZWwgPSBzZWxlY3RlZE9wdGlvbiB8fCB7IGtleTogbnVsbCwgdmFsdWU6IG51bGwgfTtcclxuICAgIGNvbnN0IHsga2V5LCB2YWx1ZSB9ID0gdGhpcy50eXBlYWhlYWRNb2RlbDtcclxuICAgIGNvbnN0IFtrZXlDb250cm9sLCB2YWx1ZUNvbnRyb2xdID0gdGhpcy5nZXRUeXBlYWhlYWRDb250cm9scygpO1xyXG4gICAgaWYgKHZhbHVlQ29udHJvbD8udmFsdWUgJiYgIXZhbHVlKSB2YWx1ZUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIGtleUNvbnRyb2w/LnNldFZhbHVlKGtleSk7XHJcbiAgICB2YWx1ZUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCA9ICh0ZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+KSA9PlxyXG4gICAgdGV4dCRcclxuICAgICAgPyB0ZXh0JC5waXBlKFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXHJcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgc3dpdGNoTWFwKHRleHQgPT4gdGhpcy5wcm9wLm9wdGlvbnModGhpcy5kYXRhLCB0ZXh0KSksXHJcbiAgICAgICAgKVxyXG4gICAgICA6IG9mKFtdKTtcclxuXHJcbiAgdHlwZWFoZWFkRm9ybWF0dGVyID0gKG9wdGlvbjogQUJQLk9wdGlvbjxhbnk+KSA9PiBvcHRpb24ua2V5O1xyXG5cclxuICBnZXQgbWVyaWRpYW4oKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAoJ2xvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5kYXRlVGltZUZvcm1hdC5zaG9ydFRpbWVQYXR0ZXJuJykgfHwgJydcclxuICAgICkuaW5jbHVkZXMoJ3R0Jyk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCkge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5wcm9wLm5hbWUpO1xyXG4gICAgcmV0dXJuIGNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgICBncm91cERpcmVjdGl2ZTogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICkge1xyXG4gICAgdGhpcy5mb3JtID0gZ3JvdXBEaXJlY3RpdmUuZm9ybTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHlwZWFoZWFkQ29udHJvbHMoKSB7XHJcbiAgICBjb25zdCB7IG5hbWUgfSA9IHRoaXMucHJvcDtcclxuICAgIGNvbnN0IGV4dHJhUHJvcE5hbWUgPSBgJHtFWFRSQV9QUk9QRVJUSUVTX0tFWX0uJHtuYW1lfWA7XHJcbiAgICBjb25zdCBrZXlDb250cm9sID1cclxuICAgICAgdGhpcy5mb3JtLmdldChhZGRUeXBlYWhlYWRUZXh0U3VmZml4KGV4dHJhUHJvcE5hbWUpKSB8fFxyXG4gICAgICB0aGlzLmZvcm0uZ2V0KGFkZFR5cGVhaGVhZFRleHRTdWZmaXgobmFtZSkpO1xyXG4gICAgY29uc3QgdmFsdWVDb250cm9sID0gdGhpcy5mb3JtLmdldChleHRyYVByb3BOYW1lKSB8fCB0aGlzLmZvcm0uZ2V0KG5hbWUpO1xyXG4gICAgcmV0dXJuIFtrZXlDb250cm9sLCB2YWx1ZUNvbnRyb2xdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBc3RlcmlzaygpIHtcclxuICAgIHRoaXMuYXN0ZXJpc2sgPSB0aGlzLnZhbGlkYXRvcnMuc29tZShpc1JlcXVpcmVkKSA/ICcqJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZmlyc3QgJiYgdGhpcy5maWVsZFJlZikge1xyXG4gICAgICB0aGlzLmZpZWxkUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudChwcm9wOiBGb3JtUHJvcCk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHByb3AudHlwZSkge1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5Cb29sZWFuOlxyXG4gICAgICAgIHJldHVybiAnY2hlY2tib3gnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5EYXRlOlxyXG4gICAgICAgIHJldHVybiAnZGF0ZSc7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgIHJldHVybiAnZGF0ZVRpbWUnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5IaWRkZW46XHJcbiAgICAgICAgcmV0dXJuICdoaWRkZW4nO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5NdWx0aVNlbGVjdDpcclxuICAgICAgICByZXR1cm4gJ211bHRpc2VsZWN0JztcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuVGV4dDpcclxuICAgICAgICByZXR1cm4gJ3RleHRhcmVhJztcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuVGltZTpcclxuICAgICAgICByZXR1cm4gJ3RpbWUnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5UeXBlYWhlYWQ6XHJcbiAgICAgICAgcmV0dXJuICd0eXBlYWhlYWQnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBwcm9wLm9wdGlvbnMgPyAnc2VsZWN0JyA6ICdpbnB1dCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKHByb3A6IEZvcm1Qcm9wKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAocHJvcC50eXBlKSB7XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLkRhdGU6XHJcbiAgICAgIGNhc2UgZVByb3BUeXBlLlN0cmluZzpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5Cb29sZWFuOlxyXG4gICAgICAgIHJldHVybiAnY2hlY2tib3gnO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5OdW1iZXI6XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICBjYXNlIGVQcm9wVHlwZS5FbWFpbDpcclxuICAgICAgICByZXR1cm4gJ2VtYWlsJztcclxuICAgICAgY2FzZSBlUHJvcFR5cGUuUGFzc3dvcmQ6XHJcbiAgICAgICAgcmV0dXJuICdwYXNzd29yZCc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdoaWRkZW4nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoeyBwcm9wIH06IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRQcm9wID0gcHJvcD8uY3VycmVudFZhbHVlO1xyXG4gICAgY29uc3QgeyBvcHRpb25zLCByZWFkb25seSwgZGlzYWJsZWQsIHZhbGlkYXRvcnMgfSA9IGN1cnJlbnRQcm9wIHx8IHt9O1xyXG5cclxuICAgIGlmIChvcHRpb25zKSB0aGlzLm9wdGlvbnMkID0gb3B0aW9ucyh0aGlzLmRhdGEpO1xyXG4gICAgaWYgKHJlYWRvbmx5KSB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHkodGhpcy5kYXRhKTtcclxuICAgICBcclxuICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVkRm4gPSBkaXNhYmxlZDtcclxuICAgIH1cclxuICAgIGlmICh2YWxpZGF0b3JzKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdG9ycyA9IHZhbGlkYXRvcnModGhpcy5kYXRhKTtcclxuICAgICAgdGhpcy5zZXRBc3RlcmlzaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IFtrZXlDb250cm9sLCB2YWx1ZUNvbnRyb2xdID0gdGhpcy5nZXRUeXBlYWhlYWRDb250cm9scygpO1xyXG4gICAgaWYgKGtleUNvbnRyb2wgJiYgdmFsdWVDb250cm9sKVxyXG4gICAgICB0aGlzLnR5cGVhaGVhZE1vZGVsID0geyBrZXk6IGtleUNvbnRyb2wudmFsdWUsIHZhbHVlOiB2YWx1ZUNvbnRyb2wudmFsdWUgfTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzUmVxdWlyZWQodmFsaWRhdG9yOiBWYWxpZGF0b3JGbikge1xyXG4gIHJldHVybiB2YWxpZGF0b3IgPT09IFZhbGlkYXRvcnMucmVxdWlyZWQgfHwgdmFsaWRhdG9yID09PSBBYnBWYWxpZGF0b3JzLnJlcXVpcmVkO1xyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiXHJcbiAgKmFicFBlcm1pc3Npb249XCJwcm9wLnBlcm1pc3Npb247IHJ1bkNoYW5nZURldGVjdGlvbjogZmFsc2VcIlxyXG4gIFtuZ1N3aXRjaF09XCJnZXRDb21wb25lbnQocHJvcClcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cImlucHV0XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNmaWVsZFxyXG4gICAgICBbaWRdPVwicHJvcC5pZFwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwicHJvcC5uYW1lXCJcclxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJwcm9wLmF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIFt0eXBlXT1cImdldFR5cGUocHJvcClcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAvPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJoaWRkZW5cIj5cclxuICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiIHR5cGU9XCJoaWRkZW5cIiAvPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJjaGVja2JveFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjZmllbGRcclxuICAgICAgICBbaWRdPVwicHJvcC5pZFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiAnZm9ybS1jaGVjay1sYWJlbCcgfVwiXHJcbiAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cInNlbGVjdFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxzZWxlY3RcclxuICAgICAgI2ZpZWxkXHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tY29udHJvbFwiXHJcbiAgICA+XHJcbiAgICAgIDxvcHRpb25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrLmJ5KCd2YWx1ZScpXCJcclxuICAgICAgICBbbmdWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgb3B0aW9uLmtleSB9fVxyXG4gICAgICA8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJtdWx0aXNlbGVjdFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxzZWxlY3RcclxuICAgICAgI2ZpZWxkXHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICBbYWJwRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBtdWx0aXBsZT1cIm11bHRpcGxlXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLWNvbnRyb2xcIlxyXG4gICAgPlxyXG4gICAgICA8b3B0aW9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFjay5ieSgndmFsdWUnKVwiXHJcbiAgICAgICAgW25nVmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IG9wdGlvbi5rZXkgfX1cclxuICAgICAgPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwidHlwZWFoZWFkXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGRpdiAjdHlwZWFoZWFkIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIiB2YWxpZGF0aW9uU3R5bGUgdmFsaWRhdGlvblRhcmdldD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2ZpZWxkXHJcbiAgICAgICAgW2lkXT1cInByb3AuaWRcIlxyXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwicHJvcC5hdXRvY29tcGxldGVcIlxyXG4gICAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW25nYlR5cGVhaGVhZF09XCJzZWFyY2hcIlxyXG4gICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgW2lucHV0Rm9ybWF0dGVyXT1cInR5cGVhaGVhZEZvcm1hdHRlclwiXHJcbiAgICAgICAgW3Jlc3VsdEZvcm1hdHRlcl09XCJ0eXBlYWhlYWRGb3JtYXR0ZXJcIlxyXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ0eXBlYWhlYWRNb2RlbFwiXHJcbiAgICAgICAgKHNlbGVjdEl0ZW0pPVwic2V0VHlwZWFoZWFkVmFsdWUoJGV2ZW50Lml0ZW0pXCJcclxuICAgICAgICAoYmx1cik9XCJzZXRUeXBlYWhlYWRWYWx1ZSh0eXBlYWhlYWRNb2RlbClcIlxyXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cInR5cGVhaGVhZC5jbGFzc0xpc3QuY29udGFpbnMoJ2lzLWludmFsaWQnKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAvPlxyXG4gICAgICA8aW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIiB0eXBlPVwiaGlkZGVuXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJkYXRlXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFtpZF09XCJwcm9wLmlkXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJwcm9wLm5hbWVcIlxyXG4gICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICAoa2V5dXAuc3BhY2UpPVwiZGF0ZXBpY2tlci5vcGVuKClcIlxyXG4gICAgICBuZ2JEYXRlcGlja2VyXHJcbiAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgLz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwidGltZVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZ2ItdGltZXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiPjwvbmdiLXRpbWVwaWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cImRhdGVUaW1lXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPGFicC1kYXRlLXRpbWUtcGlja2VyIFtwcm9wXT1cInByb3BcIiBbbWVyaWRpYW5dPVwibWVyaWRpYW5cIj48L2FicC1kYXRlLXRpbWUtcGlja2VyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaENhc2U9XCJ0ZXh0YXJlYVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDx0ZXh0YXJlYVxyXG4gICAgICAjZmllbGRcclxuICAgICAgW2lkXT1cInByb3AuaWRcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInByb3AubmFtZVwiXHJcbiAgICAgIFthYnBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgID48L3RleHRhcmVhPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNsYWJlbCBsZXQtY2xhc3Nlcz5cclxuICA8bGFiZWwgW2h0bWxGb3JdPVwicHJvcC5pZFwiIFtuZ0NsYXNzXT1cImNsYXNzZXMgfHwgJ2Zvcm0tbGFiZWwnXCJcclxuICAgID57eyBwcm9wLmRpc3BsYXlOYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19IHt7IGFzdGVyaXNrIH19PC9sYWJlbFxyXG4gID5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -2,9 +2,9 @@ export const DEFAULT_VALIDATION_BLUEPRINTS = {
2
2
  creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
3
3
  email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
4
4
  invalid: 'AbpValidation::ThisFieldIsNotValid.',
5
- max: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
5
+ max: 'AbpValidation::ThisFieldMustBeLessOrEqual{0}[{{ max }}]',
6
6
  maxlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',
7
- min: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
7
+ min: 'AbpValidation::ThisFieldMustBeGreaterThanOrEqual{0}[{{ min }}]',
8
8
  minlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',
9
9
  ngbDate: 'AbpValidation::ThisFieldIsNotValid.',
10
10
  passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',
@@ -16,4 +16,4 @@ export const DEFAULT_VALIDATION_BLUEPRINTS = {
16
16
  passwordRequiresDigit: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresDigit',
17
17
  passwordRequiresNonAlphanumeric: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresNonAlphanumeric',
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbnN0YW50cy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLFVBQVUsRUFBRSxzREFBc0Q7SUFDbEUsS0FBSyxFQUFFLGtEQUFrRDtJQUN6RCxPQUFPLEVBQUUscUNBQXFDO0lBQzlDLEdBQUcsRUFBRSxxRUFBcUU7SUFDMUUsU0FBUyxFQUNQLCtGQUErRjtJQUNqRyxHQUFHLEVBQUUscUVBQXFFO0lBQzFFLFNBQVMsRUFDUCwrRkFBK0Y7SUFDakcsT0FBTyxFQUFFLHFDQUFxQztJQUM5QyxnQkFBZ0IsRUFBRSwyREFBMkQ7SUFDN0UsS0FBSyxFQUFFLHFFQUFxRTtJQUM1RSxRQUFRLEVBQUUscUNBQXFDO0lBQy9DLEdBQUcsRUFBRSxvRUFBb0U7SUFDekUscUJBQXFCLEVBQUUsc0RBQXNEO0lBQzdFLHFCQUFxQixFQUFFLHNEQUFzRDtJQUM3RSxxQkFBcUIsRUFBRSxzREFBc0Q7SUFDN0UsK0JBQStCLEVBQUUsZ0VBQWdFO0NBQ2xHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMgPSB7XHJcbiAgY3JlZGl0Q2FyZDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZElzTm90QVZhbGlkQ3JlZGl0Q2FyZE51bWJlci4nLFxyXG4gIGVtYWlsOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RBVmFsaWRFbWFpbEFkZHJlc3MuJyxcclxuICBpbnZhbGlkOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RWYWxpZC4nLFxyXG4gIG1heDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RCZUJldHdlZW57MH1BbmR7MX1be3sgbWluIH19LHt7IG1heCB9fV0nLFxyXG4gIG1heGxlbmd0aDpcclxuICAgICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nT3JBcnJheVR5cGVXaXRoQU1heGltdW1MZW5ndGhPZnswfVt7eyByZXF1aXJlZExlbmd0aCB9fV0nLFxyXG4gIG1pbjogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RCZUJldHdlZW57MH1BbmR7MX1be3sgbWluIH19LHt7IG1heCB9fV0nLFxyXG4gIG1pbmxlbmd0aDpcclxuICAgICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nT3JBcnJheVR5cGVXaXRoQU1pbmltdW1MZW5ndGhPZnswfVt7eyByZXF1aXJlZExlbmd0aCB9fV0nLFxyXG4gIG5nYkRhdGU6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdFZhbGlkLicsXHJcbiAgcGFzc3dvcmRNaXNtYXRjaDogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZENvbmZpcm1hdGlvbkZhaWxlZCcsXHJcbiAgcmFuZ2U6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVCZXR3ZWVuezB9QW5kezF9W3t7IG1pbiB9fSx7eyBtYXggfX1dJyxcclxuICByZXF1aXJlZDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZElzUmVxdWlyZWQuJyxcclxuICB1cmw6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdEFWYWxpZEZ1bGx5UXVhbGlmaWVkSHR0cEh0dHBzT3JGdHBVcmwnLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNMb3dlcjogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzTG93ZXInLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNVcHBlcjogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzVXBwZXInLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNEaWdpdDogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzRGlnaXQnLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNOb25BbHBoYW51bWVyaWM6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRSZXF1aXJlc05vbkFscGhhbnVtZXJpYycsXHJcbn07XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbnN0YW50cy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLFVBQVUsRUFBRSxzREFBc0Q7SUFDbEUsS0FBSyxFQUFFLGtEQUFrRDtJQUN6RCxPQUFPLEVBQUUscUNBQXFDO0lBQzlDLEdBQUcsRUFBRSx5REFBeUQ7SUFDOUQsU0FBUyxFQUNQLCtGQUErRjtJQUNqRyxHQUFHLEVBQUUsZ0VBQWdFO0lBQ3JFLFNBQVMsRUFDUCwrRkFBK0Y7SUFDakcsT0FBTyxFQUFFLHFDQUFxQztJQUM5QyxnQkFBZ0IsRUFBRSwyREFBMkQ7SUFDN0UsS0FBSyxFQUFFLHFFQUFxRTtJQUM1RSxRQUFRLEVBQUUscUNBQXFDO0lBQy9DLEdBQUcsRUFBRSxvRUFBb0U7SUFDekUscUJBQXFCLEVBQUUsc0RBQXNEO0lBQzdFLHFCQUFxQixFQUFFLHNEQUFzRDtJQUM3RSxxQkFBcUIsRUFBRSxzREFBc0Q7SUFDN0UsK0JBQStCLEVBQUUsZ0VBQWdFO0NBQ2xHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMgPSB7XHJcbiAgY3JlZGl0Q2FyZDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZElzTm90QVZhbGlkQ3JlZGl0Q2FyZE51bWJlci4nLFxyXG4gIGVtYWlsOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RBVmFsaWRFbWFpbEFkZHJlc3MuJyxcclxuICBpbnZhbGlkOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RWYWxpZC4nLFxyXG4gIG1heDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RCZUxlc3NPckVxdWFsezB9W3t7IG1heCB9fV0nLFxyXG4gIG1heGxlbmd0aDpcclxuICAgICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nT3JBcnJheVR5cGVXaXRoQU1heGltdW1MZW5ndGhPZnswfVt7eyByZXF1aXJlZExlbmd0aCB9fV0nLFxyXG4gIG1pbjogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RCZUdyZWF0ZXJUaGFuT3JFcXVhbHswfVt7eyBtaW4gfX1dJyxcclxuICBtaW5sZW5ndGg6XHJcbiAgICAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkTXVzdEJlQVN0cmluZ09yQXJyYXlUeXBlV2l0aEFNaW5pbXVtTGVuZ3RoT2Z7MH1be3sgcmVxdWlyZWRMZW5ndGggfX1dJyxcclxuICBuZ2JEYXRlOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RWYWxpZC4nLFxyXG4gIHBhc3N3b3JkTWlzbWF0Y2g6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRDb25maXJtYXRpb25GYWlsZWQnLFxyXG4gIHJhbmdlOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkTXVzdEJlQmV0d2VlbnswfUFuZHsxfVt7eyBtaW4gfX0se3sgbWF4IH19XScsXHJcbiAgcmVxdWlyZWQ6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc1JlcXVpcmVkLicsXHJcbiAgdXJsOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RBVmFsaWRGdWxseVF1YWxpZmllZEh0dHBIdHRwc09yRnRwVXJsJyxcclxuICBwYXNzd29yZFJlcXVpcmVzTG93ZXI6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRSZXF1aXJlc0xvd2VyJyxcclxuICBwYXNzd29yZFJlcXVpcmVzVXBwZXI6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRSZXF1aXJlc1VwcGVyJyxcclxuICBwYXNzd29yZFJlcXVpcmVzRGlnaXQ6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRSZXF1aXJlc0RpZ2l0JyxcclxuICBwYXNzd29yZFJlcXVpcmVzTm9uQWxwaGFudW1lcmljOiAnQWJwSWRlbnRpdHk6OlZvbG8uQWJwLklkZW50aXR5OlBhc3N3b3JkUmVxdWlyZXNOb25BbHBoYW51bWVyaWMnLFxyXG59O1xyXG4iXX0=
@@ -17,7 +17,8 @@ export declare class ExtensibleFormPropComponent implements OnChanges, AfterView
17
17
  options$: Observable<ABP.Option<any>[]>;
18
18
  validators: ValidatorFn[];
19
19
  readonly: boolean;
20
- disabled: boolean;
20
+ disabledFn: (data: PropData) => boolean;
21
+ get disabled(): boolean;
21
22
  private readonly form;
22
23
  typeaheadModel: any;
23
24
  setTypeaheadValue(selectedOption: ABP.Option<string>): void;
@@ -309,12 +309,16 @@ class ExtensibleFormPropComponent {
309
309
  this.asterisk = '';
310
310
  this.options$ = of([]);
311
311
  this.validators = [];
312
+ this.disabledFn = (data) => false;
312
313
  this.search = (text$) => text$
313
314
  ? text$.pipe(debounceTime(300), distinctUntilChanged(), switchMap(text => this.prop.options(this.data, text)))
314
315
  : of([]);
315
316
  this.typeaheadFormatter = (option) => option.key;
316
317
  this.form = groupDirective.form;
317
318
  }
319
+ get disabled() {
320
+ return this.disabledFn(this.data);
321
+ }
318
322
  setTypeaheadValue(selectedOption) {
319
323
  this.typeaheadModel = selectedOption || { key: null, value: null };
320
324
  const { key, value } = this.typeaheadModel;
@@ -393,8 +397,9 @@ class ExtensibleFormPropComponent {
393
397
  this.options$ = options(this.data);
394
398
  if (readonly)
395
399
  this.readonly = readonly(this.data);
396
- if (disabled)
397
- this.disabled = disabled(this.data);
400
+ if (disabled) {
401
+ this.disabledFn = disabled;
402
+ }
398
403
  if (validators) {
399
404
  this.validators = validators(this.data);
400
405
  this.setAsterisk();