ng-ipa-library 0.3.7 → 0.4.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.
Files changed (31) hide show
  1. package/bundles/ng-ipa-library.umd.js +78 -78
  2. package/bundles/ng-ipa-library.umd.js.map +1 -1
  3. package/esm2015/lib/core/components/loading/loading.component.js +3 -3
  4. package/esm2015/lib/core/interceptors/error.interceptor.js +3 -3
  5. package/esm2015/lib/core/interceptors/loading.interceptor.js +3 -3
  6. package/esm2015/lib/core/interceptors/token.interceptor.js +3 -3
  7. package/esm2015/lib/core/services/auth.service.js +3 -3
  8. package/esm2015/lib/core/services/error.service.js +3 -3
  9. package/esm2015/lib/core/services/loader.service.js +3 -3
  10. package/esm2015/lib/generate-form/generate-form.component.js +3 -3
  11. package/esm2015/lib/ipa-form/datepicker/datepicker.component.js +4 -4
  12. package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.js +5 -5
  13. package/esm2015/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.js +3 -3
  14. package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.js +3 -3
  15. package/esm2015/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.js +5 -5
  16. package/esm2015/lib/ipa-form/dropdown-input/dropdown-input.component.js +3 -3
  17. package/esm2015/lib/ipa-form/file-upload/file-upload.component.js +5 -5
  18. package/esm2015/lib/ipa-form/ipa-form.service.js +3 -3
  19. package/esm2015/lib/ipa-form/text-input/text-input.component.js +3 -3
  20. package/esm2015/lib/ipa-form/textarea-input/textarea-input.component.js +3 -3
  21. package/esm2015/lib/ng-ipa-library.module.js +4 -4
  22. package/esm2015/lib/pipes/hijri-date.pipe.js +3 -3
  23. package/esm2015/lib/pipes/pipes.module.js +4 -4
  24. package/esm2015/lib/services/breadcrumbs.service.js +3 -3
  25. package/esm2015/lib/share-button/share-button.component.js +3 -3
  26. package/esm2015/lib/share-button/share-button.module.js +4 -4
  27. package/esm2015/public-api.js +3 -1
  28. package/fesm2015/ng-ipa-library.js +78 -78
  29. package/fesm2015/ng-ipa-library.js.map +1 -1
  30. package/package.json +3 -3
  31. package/public-api.d.ts +2 -0
@@ -49,9 +49,9 @@
49
49
  };
50
50
  return HijriDatePipe;
51
51
  }());
52
- HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
53
- HijriDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
54
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
52
+ HijriDatePipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: HijriDatePipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
53
+ HijriDatePipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: HijriDatePipe, name: "hijriDate" });
54
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: HijriDatePipe, decorators: [{
55
55
  type: i0.Pipe,
56
56
  args: [{
57
57
  name: 'hijriDate',
@@ -63,10 +63,10 @@
63
63
  }
64
64
  return PipesModule;
65
65
  }());
66
- PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
67
- PipesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] });
68
- PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: PipesModule });
69
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: PipesModule, decorators: [{
66
+ PipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: PipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
67
+ PipesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] });
68
+ PipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: PipesModule });
69
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: PipesModule, decorators: [{
70
70
  type: i0.NgModule,
71
71
  args: [{
72
72
  declarations: [HijriDatePipe],
@@ -162,9 +162,9 @@
162
162
  };
163
163
  return IPAFormService;
164
164
  }());
165
- IPAFormService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IPAFormService, deps: [{ token: i2__namespace.NgbDateParserFormatter }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
166
- IPAFormService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IPAFormService, providedIn: 'root' });
167
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IPAFormService, decorators: [{
165
+ IPAFormService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IPAFormService, deps: [{ token: i2__namespace.NgbDateParserFormatter }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
166
+ IPAFormService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IPAFormService, providedIn: 'root' });
167
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IPAFormService, decorators: [{
168
168
  type: i0.Injectable,
169
169
  args: [{
170
170
  providedIn: 'root',
@@ -212,9 +212,9 @@
212
212
  });
213
213
  return TextInputComponent;
214
214
  }());
215
- TextInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
216
- TextInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: TextInputComponent, selector: "ipa-text-input", inputs: { id: "id", type: "type", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
217
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TextInputComponent, decorators: [{
215
+ TextInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
216
+ TextInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: TextInputComponent, selector: "ipa-text-input", inputs: { id: "id", type: "type", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
217
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TextInputComponent, decorators: [{
218
218
  type: i0.Component,
219
219
  args: [{
220
220
  selector: 'ipa-text-input',
@@ -288,9 +288,9 @@
288
288
  });
289
289
  return TextareaInputComponent;
290
290
  }());
291
- TextareaInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
292
- TextareaInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: { id: "id", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
293
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TextareaInputComponent, decorators: [{
291
+ TextareaInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
292
+ TextareaInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: { id: "id", placeholder: "placeholder", label: "label", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
293
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TextareaInputComponent, decorators: [{
294
294
  type: i0.Component,
295
295
  args: [{
296
296
  selector: 'ipa-textarea-input',
@@ -363,9 +363,9 @@
363
363
  });
364
364
  return DropdownInputComponent;
365
365
  }());
366
- DropdownInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
367
- DropdownInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", disabled: "disabled", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
368
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: DropdownInputComponent, decorators: [{
366
+ DropdownInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2__namespace$1.NgControl, self: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
367
+ DropdownInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", disabled: "disabled", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>", styles: [""], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
368
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: DropdownInputComponent, decorators: [{
369
369
  type: i0.Component,
370
370
  args: [{
371
371
  selector: 'ipa-dropdown-input',
@@ -416,9 +416,9 @@
416
416
  };
417
417
  return LoaderService;
418
418
  }());
419
- LoaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoaderService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
420
- LoaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoaderService, providedIn: 'root' });
421
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoaderService, decorators: [{
419
+ LoaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoaderService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
420
+ LoaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoaderService, providedIn: 'root' });
421
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoaderService, decorators: [{
422
422
  type: i0.Injectable,
423
423
  args: [{
424
424
  providedIn: 'root',
@@ -439,9 +439,9 @@
439
439
  };
440
440
  return LoaderComponent;
441
441
  }());
442
- LoaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
443
- LoaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: LoaderComponent, selector: "ipa-loader", ngImport: i0__namespace, template: "<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{position:fixed;width:100%;left:0;height:100%;right:0;top:0;bottom:0;background-color:#fff;z-index:99999;display:flex;justify-content:center;align-items:center}#cover-spin:after{content:\"\";display:block;background-size:46px;position:absolute;left:48%;top:40%;width:46px;height:46px;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.spinner{display:block;position:fixed;top:50%;left:50%;height:80px;width:80px;margin-top:-50px;margin-left:-50px;border:2px solid transparent;border-top-color:#2d557e;border-radius:50%;-webkit-animation:spin7 1s ease infinite;animation:spin7 1s ease infinite}.spinner:before{content:\"\";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:2px solid transparent;border-top-color:#2aa7c5;-webkit-animation:spin7 3s linear infinite;animation:spin7 3s linear infinite}.spinner:after{content:\"\";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;border:2px solid transparent;border-top-color:#cfe79d;-webkit-animation:spin7 1.5s ease infinite;animation:spin7 1.5s ease infinite}"] });
444
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoaderComponent, decorators: [{
442
+ LoaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
443
+ LoaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: LoaderComponent, selector: "ipa-loader", ngImport: i0__namespace, template: "<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{position:fixed;width:100%;left:0;height:100%;right:0;top:0;bottom:0;background-color:#fff;z-index:99999;display:flex;justify-content:center;align-items:center}#cover-spin:after{content:\"\";display:block;background-size:46px;position:absolute;left:48%;top:40%;width:46px;height:46px;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.spinner{display:block;position:fixed;top:50%;left:50%;height:80px;width:80px;margin-top:-50px;margin-left:-50px;border:2px solid transparent;border-top-color:#2d557e;border-radius:50%;-webkit-animation:spin7 1s ease infinite;animation:spin7 1s ease infinite}.spinner:before{content:\"\";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:2px solid transparent;border-top-color:#2aa7c5;-webkit-animation:spin7 3s linear infinite;animation:spin7 3s linear infinite}.spinner:after{content:\"\";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;border:2px solid transparent;border-top-color:#cfe79d;-webkit-animation:spin7 1.5s ease infinite;animation:spin7 1.5s ease infinite}"] });
444
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoaderComponent, decorators: [{
445
445
  type: i0.Component,
446
446
  args: [{
447
447
  selector: 'ipa-loader',
@@ -461,7 +461,7 @@
461
461
  this.maxFileSize = 2;
462
462
  this.method = 'POST';
463
463
  this.autoUpload = false;
464
- this.apiUrl = '';
464
+ this.apiUrl = 'apiUrl';
465
465
  this.successUpload = new i0.EventEmitter();
466
466
  this.fileAdded = new i0.EventEmitter();
467
467
  this.fileDeleted = new i0.EventEmitter();
@@ -534,9 +534,9 @@
534
534
  };
535
535
  return FileUploadComponent;
536
536
  }());
537
- FileUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: FileUploadComponent, deps: [{ token: i1__namespace.ToastrService }], target: i0__namespace.ɵɵFactoryTarget.Component });
538
- FileUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: FileUploadComponent, selector: "ipa-file-upload", inputs: { label: "label", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: i2$2.DropzoneDirective, descendants: true }], ngImport: i0__namespace, template: "<div class=\"file-upload\">\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\">\n </div>\n <div class=\"upload-btn-wrapper\">\n <div>\n <div class=\"subtitle mb-2\">\n {{label}}\n </div>\n <hr>\n <span style=\"font-size: 12px;\">\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627</span>\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\n </div>\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\n \u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:\n <span class=\"extensions\">{{ acceptedFiles }}</span>\n </div>\n <div class=\"allowed-extensions\">\n \u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\n </div>\n </div>\n</div>\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\n style=\"color:firebrick; cursor: pointer;\"></i>\n </span>\n <ul class=\"list-unstyled\">\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\n </ul>\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:1px dashed #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;z-index:9999;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}"], directives: [{ type: i2__namespace$2.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
539
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: FileUploadComponent, decorators: [{
537
+ FileUploadComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: FileUploadComponent, deps: [{ token: i1__namespace.ToastrService }], target: i0__namespace.ɵɵFactoryTarget.Component });
538
+ FileUploadComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: FileUploadComponent, selector: "ipa-file-upload", inputs: { label: "label", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: i2$2.DropzoneDirective, descendants: true }], ngImport: i0__namespace, template: "<div class=\"file-upload\">\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\">\n </div>\n <div class=\"upload-btn-wrapper\">\n <div>\n <div class=\"subtitle mb-2\">\n {{label}}\n </div>\n <hr>\n <span style=\"font-size: 12px;\">\u0642\u0645 \u0628\u0633\u062D\u0628 \u0627\u0644\u0645\u0644\u0641 \u0623\u0648 \u0627\u0636\u063A\u0637 \u0647\u0646\u0627</span>\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\n </div>\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\n \u0627\u0644\u0635\u064A\u063A\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627:\n <span class=\"extensions\">{{ acceptedFiles }}</span>\n </div>\n <div class=\"allowed-extensions\">\n \u0627\u0642\u0635\u0649 \u062D\u062C\u0645 \u0644\u0644\u0645\u0631\u0641\u0642:\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\n </div>\n </div>\n</div>\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\n style=\"color:firebrick; cursor: pointer;\"></i>\n <br>\n </span>\n <ul class=\"list-unstyled\">\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\n </ul>\n</div>", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:1px dashed #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;z-index:9999;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}"], directives: [{ type: i2__namespace$2.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
539
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: FileUploadComponent, decorators: [{
540
540
  type: i0.Component,
541
541
  args: [{
542
542
  selector: 'ipa-file-upload',
@@ -688,9 +688,9 @@
688
688
  };
689
689
  return GenerateFormComponent;
690
690
  }());
691
- GenerateFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
692
- GenerateFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted", recaptchaOutput: "recaptchaOutput" }, ngImport: i0__namespace, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\"\r\n [type]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\" (reset)=\"handleReset()\"\r\n (expire)=\"handleExpire()\" (load)=\"handleLoad()\"\r\n (success)=\"handleSuccess($event, column.englishName)\" formControlName=\"{{column.englishName}}\">\r\n </ngx-recaptcha2>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5__namespace.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i2__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2__namespace$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2__namespace$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
693
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: GenerateFormComponent, decorators: [{
691
+ GenerateFormComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0__namespace.ɵɵFactoryTarget.Component });
692
+ GenerateFormComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: GenerateFormComponent, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain", authorization: "authorization" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted", recaptchaOutput: "recaptchaOutput" }, ngImport: i0__namespace, template: "<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\"\r\n [type]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\" (reset)=\"handleReset()\"\r\n (expire)=\"handleExpire()\" (load)=\"handleLoad()\"\r\n (success)=\"handleSuccess($event, column.englishName)\" formControlName=\"{{column.englishName}}\">\r\n </ngx-recaptcha2>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>", styles: [""], components: [{ type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "disabled", "patternErrorMsg", "pattern", "classes", "containerClasses"] }, { type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["label", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { type: i5__namespace.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "placeholder", "label", "required", "patternErrorMsg", "pattern", "classes", "containerClasses"] }], directives: [{ type: i2__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2__namespace$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { type: i2__namespace$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2__namespace$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i2__namespace$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
693
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: GenerateFormComponent, decorators: [{
694
694
  type: i0.Component,
695
695
  args: [{
696
696
  selector: 'ipa-generate-form',
@@ -764,9 +764,9 @@
764
764
  });
765
765
  return DatepickerComponent;
766
766
  }());
767
- DatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2__namespace.NgbCalendar }, { token: i2__namespace$1.NgControl, self: true }, { token: i2__namespace.NgbInputDatepickerConfig }], target: i0__namespace.ɵɵFactoryTarget.Component });
768
- DatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: DatepickerComponent, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses" }, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-valid': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required), 'is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched)) && required}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n type=\"text\" [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
769
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: DatepickerComponent, decorators: [{
767
+ DatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2__namespace.NgbCalendar }, { token: i2__namespace$1.NgControl, self: true }, { token: i2__namespace.NgbInputDatepickerConfig }], target: i0__namespace.ɵɵFactoryTarget.Component });
768
+ DatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: DatepickerComponent, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses" }, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required)}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
769
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: DatepickerComponent, decorators: [{
770
770
  type: i0.Component,
771
771
  args: [{
772
772
  selector: 'ipa-datepicker',
@@ -1147,9 +1147,9 @@
1147
1147
  };
1148
1148
  return IslamicI18n;
1149
1149
  }(i2.NgbDatepickerI18n));
1150
- IslamicI18n.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IslamicI18n, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
1151
- IslamicI18n.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IslamicI18n });
1152
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: IslamicI18n, decorators: [{
1150
+ IslamicI18n.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IslamicI18n, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
1151
+ IslamicI18n.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IslamicI18n });
1152
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: IslamicI18n, decorators: [{
1153
1153
  type: i0.Injectable
1154
1154
  }] });
1155
1155
 
@@ -1160,12 +1160,12 @@
1160
1160
  }
1161
1161
  return HijriDatepickerComponent;
1162
1162
  }(DatepickerComponent));
1163
- HijriDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: HijriDatepickerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1164
- HijriDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: HijriDatepickerComponent, selector: "ipa-hijri-datepicker", providers: [
1163
+ HijriDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: HijriDatepickerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1164
+ HijriDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: HijriDatepickerComponent, selector: "ipa-hijri-datepicker", providers: [
1165
1165
  { provide: i2.NgbCalendar, useClass: i2.NgbCalendarIslamicUmalqura },
1166
1166
  { provide: i2.NgbDatepickerI18n, useClass: IslamicI18n },
1167
- ], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-valid': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required), 'is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched)) && required}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n type=\"text\" [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1168
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: HijriDatepickerComponent, decorators: [{
1167
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required)}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1168
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: HijriDatepickerComponent, decorators: [{
1169
1169
  type: i0.Component,
1170
1170
  args: [{
1171
1171
  selector: 'ipa-hijri-datepicker',
@@ -1212,9 +1212,9 @@
1212
1212
  };
1213
1213
  return Gregorian18n;
1214
1214
  }(i2.NgbDatepickerI18n));
1215
- Gregorian18n.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: Gregorian18n, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
1216
- Gregorian18n.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: Gregorian18n });
1217
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: Gregorian18n, decorators: [{
1215
+ Gregorian18n.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: Gregorian18n, deps: null, target: i0__namespace.ɵɵFactoryTarget.Injectable });
1216
+ Gregorian18n.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: Gregorian18n });
1217
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: Gregorian18n, decorators: [{
1218
1218
  type: i0.Injectable
1219
1219
  }] });
1220
1220
 
@@ -1225,12 +1225,12 @@
1225
1225
  }
1226
1226
  return GregorianDatepickerComponent;
1227
1227
  }(DatepickerComponent));
1228
- GregorianDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: GregorianDatepickerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1229
- GregorianDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: GregorianDatepickerComponent, selector: "ipa-gregorian-datepicker", providers: [
1228
+ GregorianDatepickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: GregorianDatepickerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1229
+ GregorianDatepickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: GregorianDatepickerComponent, selector: "ipa-gregorian-datepicker", providers: [
1230
1230
  { provide: i2.NgbCalendar, useClass: i2.NgbCalendarGregorian },
1231
1231
  { provide: i2.NgbDatepickerI18n, useClass: Gregorian18n },
1232
- ], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-valid': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required), 'is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched)) && required}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n type=\"text\" [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1233
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: GregorianDatepickerComponent, decorators: [{
1232
+ ], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required)}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">\u0627\u0644\u064A\u0648\u0645</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">\u0645\u0633\u062D</button>\n </ng-template>\n</div>", styles: [""], directives: [{ type: i2__namespace.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1233
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: GregorianDatepickerComponent, decorators: [{
1234
1234
  type: i0.Component,
1235
1235
  args: [{
1236
1236
  selector: 'ipa-gregorian-datepicker',
@@ -1252,9 +1252,9 @@
1252
1252
  };
1253
1253
  return ShareButtonComponent;
1254
1254
  }());
1255
- ShareButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1256
- ShareButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: ShareButtonComponent, selector: "ipa-share-button", ngImport: i0__namespace, template: "<share-popup-button [icon]=\"''\" [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\" >\u0645\u0634\u0627\u0631\u0643\u0629</share-popup-button>", styles: [""], components: [{ type: i1__namespace$1.SharePopupComponent, selector: "share-popup-button", inputs: ["theme", "icon", "text", "include", "exclude", "closeIcon", "url", "title", "description", "image", "tags", "autoSetMeta", "show", "showIcon", "showText", "disabled", "hasBackdrop", "backdropClass"], outputs: ["opened", "closed", "popupClosed"] }] });
1257
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonComponent, decorators: [{
1255
+ ShareButtonComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1256
+ ShareButtonComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: ShareButtonComponent, selector: "ipa-share-button", ngImport: i0__namespace, template: "<share-popup-button [icon]=\"''\" [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\" >\u0645\u0634\u0627\u0631\u0643\u0629</share-popup-button>", styles: [""], components: [{ type: i1__namespace$1.SharePopupComponent, selector: "share-popup-button", inputs: ["theme", "icon", "text", "include", "exclude", "closeIcon", "url", "title", "description", "image", "tags", "autoSetMeta", "show", "showIcon", "showText", "disabled", "hasBackdrop", "backdropClass"], outputs: ["opened", "closed", "popupClosed"] }] });
1257
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonComponent, decorators: [{
1258
1258
  type: i0.Component,
1259
1259
  args: [{
1260
1260
  selector: 'ipa-share-button',
@@ -1269,8 +1269,8 @@
1269
1269
  }
1270
1270
  return ShareButtonModule;
1271
1271
  }());
1272
- ShareButtonModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonModule, deps: [{ token: i1__namespace$2.FaIconLibrary }], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1273
- ShareButtonModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonModule, declarations: [ShareButtonComponent], imports: [icons.ShareIconsModule,
1272
+ ShareButtonModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonModule, deps: [{ token: i1__namespace$2.FaIconLibrary }], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1273
+ ShareButtonModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonModule, declarations: [ShareButtonComponent], imports: [icons.ShareIconsModule,
1274
1274
  i1$1.ShareButtonsPopupModule,
1275
1275
  overlay.OverlayModule,
1276
1276
  i1$2.FontAwesomeModule], exports: [ShareButtonComponent,
@@ -1278,7 +1278,7 @@
1278
1278
  i1$1.ShareButtonsPopupModule,
1279
1279
  overlay.OverlayModule,
1280
1280
  i1$2.FontAwesomeModule] });
1281
- ShareButtonModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonModule, imports: [[
1281
+ ShareButtonModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonModule, imports: [[
1282
1282
  icons.ShareIconsModule,
1283
1283
  i1$1.ShareButtonsPopupModule,
1284
1284
  overlay.OverlayModule,
@@ -1287,7 +1287,7 @@
1287
1287
  i1$1.ShareButtonsPopupModule,
1288
1288
  overlay.OverlayModule,
1289
1289
  i1$2.FontAwesomeModule] });
1290
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ShareButtonModule, decorators: [{
1290
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ShareButtonModule, decorators: [{
1291
1291
  type: i0.NgModule,
1292
1292
  args: [{
1293
1293
  declarations: [ShareButtonComponent],
@@ -1312,8 +1312,8 @@
1312
1312
  }
1313
1313
  return NgIPALibraryModule;
1314
1314
  }());
1315
- NgIPALibraryModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: NgIPALibraryModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1316
- NgIPALibraryModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: NgIPALibraryModule, declarations: [TextInputComponent,
1315
+ NgIPALibraryModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: NgIPALibraryModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1316
+ NgIPALibraryModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: NgIPALibraryModule, declarations: [TextInputComponent,
1317
1317
  TextareaInputComponent,
1318
1318
  DropdownInputComponent,
1319
1319
  LoaderComponent,
@@ -1340,7 +1340,7 @@
1340
1340
  HijriDatepickerComponent,
1341
1341
  GregorianDatepickerComponent,
1342
1342
  ShareButtonModule] });
1343
- NgIPALibraryModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: NgIPALibraryModule, imports: [[
1343
+ NgIPALibraryModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: NgIPALibraryModule, imports: [[
1344
1344
  i3.CommonModule,
1345
1345
  i2$3.HttpClientModule,
1346
1346
  i2$1.FormsModule,
@@ -1353,7 +1353,7 @@
1353
1353
  ShareButtonModule,
1354
1354
  ], PipesModule,
1355
1355
  ShareButtonModule] });
1356
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: NgIPALibraryModule, decorators: [{
1356
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: NgIPALibraryModule, decorators: [{
1357
1357
  type: i0.NgModule,
1358
1358
  args: [{
1359
1359
  declarations: [
@@ -1454,9 +1454,9 @@
1454
1454
  };
1455
1455
  return LoadingInterceptor;
1456
1456
  }());
1457
- LoadingInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1458
- LoadingInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoadingInterceptor });
1459
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: LoadingInterceptor, decorators: [{
1457
+ LoadingInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1458
+ LoadingInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoadingInterceptor });
1459
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: LoadingInterceptor, decorators: [{
1460
1460
  type: i0.Injectable
1461
1461
  }], ctorParameters: function () { return [{ type: LoaderService }]; } });
1462
1462
 
@@ -1472,9 +1472,9 @@
1472
1472
  };
1473
1473
  return ErrorService;
1474
1474
  }());
1475
- ErrorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1476
- ErrorService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorService, providedIn: 'root' });
1477
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorService, decorators: [{
1475
+ ErrorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1476
+ ErrorService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorService, providedIn: 'root' });
1477
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorService, decorators: [{
1478
1478
  type: i0.Injectable,
1479
1479
  args: [{
1480
1480
  providedIn: 'root'
@@ -1528,9 +1528,9 @@
1528
1528
  };
1529
1529
  return ErrorInterceptor;
1530
1530
  }());
1531
- ErrorInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorInterceptor, deps: [{ token: ErrorService }, { token: i1__namespace.ToastrService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1532
- ErrorInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorInterceptor });
1533
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: ErrorInterceptor, decorators: [{
1531
+ ErrorInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorInterceptor, deps: [{ token: ErrorService }, { token: i1__namespace.ToastrService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1532
+ ErrorInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorInterceptor });
1533
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: ErrorInterceptor, decorators: [{
1534
1534
  type: i0.Injectable
1535
1535
  }], ctorParameters: function () { return [{ type: ErrorService }, { type: i1__namespace.ToastrService }]; } });
1536
1536
 
@@ -1567,9 +1567,9 @@
1567
1567
  };
1568
1568
  return AuthService;
1569
1569
  }());
1570
- AuthService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: AuthService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1571
- AuthService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: AuthService, providedIn: 'root' });
1572
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: AuthService, decorators: [{
1570
+ AuthService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: AuthService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1571
+ AuthService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: AuthService, providedIn: 'root' });
1572
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: AuthService, decorators: [{
1573
1573
  type: i0.Injectable,
1574
1574
  args: [{
1575
1575
  providedIn: 'root',
@@ -1623,9 +1623,9 @@
1623
1623
  };
1624
1624
  return TokenInterceptor;
1625
1625
  }());
1626
- TokenInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2__namespace$3.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1627
- TokenInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TokenInterceptor });
1628
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: TokenInterceptor, decorators: [{
1626
+ TokenInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2__namespace$3.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1627
+ TokenInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TokenInterceptor });
1628
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: TokenInterceptor, decorators: [{
1629
1629
  type: i0.Injectable
1630
1630
  }], ctorParameters: function () { return [{ type: AuthService }, { type: i2__namespace$3.HttpClient }]; } });
1631
1631
 
@@ -1770,9 +1770,9 @@
1770
1770
  };
1771
1771
  return BreadcrumbsService;
1772
1772
  }());
1773
- BreadcrumbsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BreadcrumbsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1774
- BreadcrumbsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BreadcrumbsService, providedIn: 'root' });
1775
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BreadcrumbsService, decorators: [{
1773
+ BreadcrumbsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: BreadcrumbsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1774
+ BreadcrumbsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: BreadcrumbsService, providedIn: 'root' });
1775
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0__namespace, type: BreadcrumbsService, decorators: [{
1776
1776
  type: i0.Injectable,
1777
1777
  args: [{
1778
1778
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-ipa-library.umd.js","sources":["../../../projects/ng-ipa-library/src/lib/pipes/hijri-date.pipe.ts","../../../projects/ng-ipa-library/src/lib/pipes/pipes.module.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/ipa-form.service.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.html","../../../projects/ng-ipa-library/src/lib/core/services/loader.service.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.html","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.ts","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.html","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.html","../../../projects/ng-ipa-library/src/lib/share-button/share-button.module.ts","../../../projects/ng-ipa-library/src/lib/ng-ipa-library.module.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/loading.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/error.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/error.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/auth.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/token.interceptor.ts","../../../projects/ng-ipa-library/src/lib/services/breadcrumbs.service.ts","../../../projects/ng-ipa-library/src/public-api.ts","../../../projects/ng-ipa-library/src/ng-ipa-library.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport momentHijri from 'moment-hijri';\n@Pipe({\n name: 'hijriDate',\n})\nexport class HijriDatePipe implements PipeTransform {\n transform(\n date: string,\n format: string = 'iYYYY-iMM-iDD',\n lang: 'ar' | 'en' = 'en'\n ): string {\n momentHijri.locale(lang);\n return momentHijri(date).format(format);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HijriDatePipe } from './hijri-date.pipe';\n\n@NgModule({\n declarations: [HijriDatePipe],\n exports: [HijriDatePipe],\n})\nexport class PipesModule {}\n","import { Injectable } from '@angular/core';\r\nimport { FormControl, ValidationErrors } from '@angular/forms';\r\nimport momentHijri from 'moment-hijri';\r\nimport { Moment } from 'moment';\r\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IPAFormService {\r\n constructor(private parserFormatter: NgbDateParserFormatter) {}\r\n\r\n static linkValidation(control: FormControl): ValidationErrors {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?)$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value\r\n ? { pattern: { required: false } }\r\n : { pattern: { required: true } };\r\n }\r\n\r\n static mp4LinkValidation(control: FormControl): ValidationErrors {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?(\\/[\\w\\u0600-\\u06FF]+\\.mp4))$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value\r\n ? { pattern: { required: false } }\r\n : { pattern: { required: true } };\r\n }\r\n\r\n getErrorMessage(control: FormControl, patternErrorMsg = ''): string | null {\r\n for (const propertyName in control?.errors) {\r\n if (\r\n control?.errors.hasOwnProperty(propertyName) &&\r\n (control.touched || control.dirty)\r\n ) {\r\n return this.getValidatorErrorMessage(\r\n propertyName,\r\n control.errors[propertyName],\r\n patternErrorMsg\r\n );\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private getValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue: any,\r\n patternErrorMsg: string\r\n ): string {\r\n if (validatorName === 'pattern') {\r\n validatorValue = this.addPatternMsg(validatorValue, patternErrorMsg);\r\n }\r\n const config: any = {\r\n required: 'هذا الحقل مطلوب',\r\n pattern: `${validatorValue.message}`,\r\n email: 'خطأ في البريد الالكتروني مثال (example@ipa.edu.sa)',\r\n maxlength: `تجاوز عدد الحقل المسموح بها (${validatorValue.requiredLength}) حرف`,\r\n minlength: `على الأقل عدد ${validatorValue.requiredLength} حرف.`,\r\n min: `رقم اكبر من أو يساوي ${validatorValue.min}`,\r\n max: `رقم اصغر من أو يساوي ${validatorValue.max}`,\r\n ngbDate: this.getNgbDatepickerErrorMsg(validatorValue),\r\n };\r\n console.log(validatorValue);\r\n \r\n return config[validatorName];\r\n }\r\n\r\n private addPatternMsg(validatorValue: any, patternErrorMsg: string) {\r\n let pattern = {\r\n ...validatorValue,\r\n message: patternErrorMsg,\r\n };\r\n return pattern;\r\n }\r\n\r\n private getNgbDatepickerErrorMsg(validatorValue: any): string {\r\n let msg = '';\r\n if (validatorValue.maxDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.maxDate.actual\r\n )}\" اكبر من تاريخ اليوم \"${this.parserFormatter.format(\r\n validatorValue.maxDate.maxDate\r\n )}\"`;\r\n } else if (validatorValue.minDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.minDate.actual\r\n )}\" يجب ان يكون اكبر من أو يساوي تاريخ البداية \"${this.parserFormatter.format(\r\n validatorValue.minDate.minDate\r\n )}\"`;\r\n } else if (validatorValue.invalid) {\r\n msg = `التاريخ المدخل غير صحيح ${validatorValue.invalid}.`;\r\n }\r\n return msg;\r\n }\r\n\r\n /**\r\n * convert gregorian date to hijri date (Based on Umm al-Qura calculations).\r\n * @param date: gregorian date\r\n * @param format: iDD => day: ١٥, iMM => month: ٠٤, iMMM => month: ربيع ٢,\r\n * iMMMM => ربيع الثاني, iYY => year: ٤٢, iYYYY => year: ١٤٤٢,\r\n * dd => ن, ddd => إثنين, dddd => الإثنين\r\n * @example 'iYYYY/iM/iDهـ الموافق YYYY/M/Dم'\r\n * '١٤٤٢/٠٤/١٥هـ الموافق ٢٠٢٠/١١/٣٠'\r\n */\r\n convertToHijriDate(\r\n date: string,\r\n format = 'iYYYY-iMM-iDD',\r\n lang = 'ar-SA'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n\r\n convertToGregorianDate(\r\n date: Moment,\r\n format = 'YYYY-MM-DD',\r\n lang = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n const m = momentHijri.iConvert.toGregorian(\r\n date.year(),\r\n date.month(),\r\n date.date()\r\n );\r\n return momentHijri(new Date(m.gy, m.gm, m.gd)).format(format);\r\n }\r\n\r\n getCurrentHijriDate() {\r\n momentHijri.locale('en');\r\n return momentHijri().format('iYYYY/iMM/iDD');\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-text-input',\r\n templateUrl: './text-input.component.html',\r\n styleUrls: ['./text-input.component.scss'],\r\n})\r\nexport class TextInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input!: ElementRef;\r\n @Input() id!: string;\r\n @Input() type = 'text';\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'text input';\r\n @Input() required = true;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern = '';\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-textarea-input',\r\n templateUrl: './textarea-input.component.html',\r\n styleUrls: ['./textarea-input.component.scss'],\r\n})\r\nexport class TextareaInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'textarea input';\r\n @Input() required = true;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-dropdown-input',\r\n templateUrl: './dropdown-input.component.html',\r\n styleUrls: ['./dropdown-input.component.scss'],\r\n})\r\nexport class DropdownInputComponent implements OnInit {\r\n @ViewChild('select', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() label: string = 'text input';\r\n @Input() items: any[] = [];\r\n @Input() textField!: string;\r\n @Input() valueField!: string;\r\n @Input() required = true;\r\n @Input() disabled = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoaderService {\r\n public isLoading = new BehaviorSubject(false);\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'ipa-loader',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\nexport class LoaderComponent implements AfterViewInit {\r\n loading!: boolean;\r\n\r\n constructor(\r\n private loaderService: LoaderService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { DropzoneConfigInterface, DropzoneDirective } from 'ngx-dropzone-wrapper';\n\n@Component({\n selector: 'ipa-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss']\n})\nexport class FileUploadComponent implements OnInit {\n @ViewChild(DropzoneDirective, { static: false })\n dropzoneDir!: DropzoneDirective;\n @Input() label = '';\n @Input() acceptedFiles = '';\n @Input() multiple = 1; // set maxFiles (NOT uploadMultiple)in the config object,\n @Input() maxFileSize = 2;\n @Input() method = 'POST';\n @Input() autoUpload = false;\n @Input() apiUrl = '';\n @Input() authorization!: string;\n @Output() successUpload = new EventEmitter();\n @Output() fileAdded = new EventEmitter();\n @Output() fileDeleted = new EventEmitter();\n dragEnter = false;\n errors: string[] = [];\n config!: DropzoneConfigInterface;\n filesAdded: File[] = [];\n currentFiles: File[] = [];\n\n constructor(\n // private authService: AuthService,\n private toastrService: ToastrService\n ) {}\n\n ngOnInit(): void {\n this.label = 'رفع ' + this.label;\n this.config = {\n url: this.apiUrl,\n method: this.method,\n headers: {\n Authorization: 'Bearer ' + this.authorization,\n },\n maxFilesize: this.maxFileSize,\n maxFiles: this.multiple,\n uploadMultiple: this.multiple > 1,\n dictInvalidFileType: 'صيغة الملف غير مسموح بها',\n dictFileTooBig: 'الحجم تجاوز الحد المسموح',\n dictMaxFilesExceeded:\n 'الرجاء حذف الملفات الموجودة حاليا لتتمكن من رفع هذا الملف',\n acceptedFiles: this.acceptedFiles,\n autoProcessQueue: this.autoUpload,\n previewTemplate: '<span></span>',\n };\n }\n\n operationCompleted(e: any): void {\n if (this.filesAdded.length > 0) {\n this.successUpload.emit(this.filesAdded);\n this.filesAdded = [];\n }\n this.dropzoneDir.reset();\n }\n\n onUploadSuccess(e: any): void {\n const file = e[0];\n if (file.status === 'success') {\n this.filesAdded.push(file);\n }\n\n this.toastrService.success('تم تحميل المرفقات بنجاح');\n }\n\n onUploadError(e: any): void {\n if (e[1]) {\n this.errors = [];\n this.errors.push(`${e[1]} (${e[0].name})`);\n }\n }\n\n fileWasAdded(e: File): void {\n const myDropzone = this.dropzoneDir.dropzone();\n if (this.multiple === 1) {\n this.currentFiles = [];\n this.filesAdded = [];\n this.errors = [];\n const files = myDropzone.files;\n if (files.length > 1) {\n myDropzone.removeFile(files[0]);\n }\n }\n this.currentFiles.push(e);\n this.fileAdded.emit(e);\n }\n\n sending(e: any): void {\n this.errors = [];\n }\n\n reset(e: any): void {}\n\n deleteFile(file: any): void {\n this.currentFiles = this.currentFiles.filter(\n (x) => x.name !== file.name && x.size !== file.size\n );\n this.errors = [];\n this.fileDeleted.emit();\n }\n}\n","<div class=\"file-upload\">\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\">\n </div>\n <div class=\"upload-btn-wrapper\">\n <div>\n <div class=\"subtitle mb-2\">\n {{label}}\n </div>\n <hr>\n <span style=\"font-size: 12px;\">قم بسحب الملف أو اضغط هنا</span>\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\n </div>\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\n الصيغة المسموح بها:\n <span class=\"extensions\">{{ acceptedFiles }}</span>\n </div>\n <div class=\"allowed-extensions\">\n اقصى حجم للمرفق:\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\n </div>\n </div>\n</div>\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\n style=\"color:firebrick; cursor: pointer;\"></i>\n </span>\n <ul class=\"list-unstyled\">\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\n </ul>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormArray,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { IPAFormService } from '../ipa-form/ipa-form.service';\nimport { Columns, GenerateForm } from '../models/generateForm.model';\n\n@Component({\n selector: 'ipa-generate-form',\n templateUrl: './generate-form.component.html',\n styleUrls: ['./generate-form.component.scss'],\n})\nexport class GenerateFormComponent implements OnInit {\n @Input() generateForm!: FormGroup;\n @Input() form!: GenerateForm;\n\n // recaptcha inputs\n @Input() siteKey!: string;\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\n @Input() lang = 'ar';\n @Input() recaptchaType: 'image' | 'audio' = 'image';\n @Input() theme: 'light' | 'dark' = 'light';\n @Input() useGlobalDomain = true;\n\n // file upload inputs\n @Input() authorization!: string;\n\n // file upload outputs\n @Output() successUpload = new EventEmitter();\n @Output() fileAdded = new EventEmitter();\n @Output() fileDeleted = new EventEmitter();\n\n //recaptcha outputs\n @Output() recaptchaOutput = new EventEmitter();\n errorMsg!: string | null;\n\n constructor(private validationService: IPAFormService) {}\n\n ngOnInit(): void {\n this.createForm();\n }\n\n get formControls() {\n return this.generateForm.get('items') as FormArray;\n }\n\n getErrorMessage(formControlName: string): string | null {\n const formControl = this.generateForm.controls[\n formControlName\n ] as FormControl;\n this.errorMsg = this.validationService.getErrorMessage(formControl);\n return this.errorMsg;\n }\n\n SuccessUpload(event: any) {\n this.successUpload.emit(event);\n }\n\n FileAdded(file: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(file);\n this.fileAdded.emit(file);\n }\n\n FileDeleted(event: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(null);\n this.fileDeleted.emit(event);\n }\n\n handleReset() {}\n\n handleExpire() {}\n\n handleLoad() {}\n\n handleSuccess(event: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(event);\n this.recaptchaOutput.emit(event);\n }\n\n private createForm() {\n this.form.columns.forEach((column) => {\n if (column.type === 'checkbox') {\n this.addCheckboxControl(column);\n } else {\n this.generateForm.addControl(\n column.englishName,\n new FormControl(null, [\n column.required ? Validators.required : Validators.nullValidator,\n Validators.maxLength(column.size),\n column.type === 'number'\n ? Validators.min(1)\n : Validators.nullValidator,\n ])\n );\n }\n this.assignRecaptchaData(column);\n });\n }\n\n private addCheckboxControl(column: Columns) {\n let checkboxGroup = new FormArray(\n column.data.map((item) => {\n return new FormGroup({\n [column.valueField]: new FormControl(item[column.valueField]),\n [column.textField]: new FormControl(item[column.textField]),\n checkbox: new FormControl(false, Validators.required),\n });\n })\n );\n\n this.generateForm.addControl(\n column.englishName,\n new FormControl(\n null,\n column.required ? Validators.required : Validators.nullValidator\n )\n );\n this.generateForm.addControl('items', checkboxGroup);\n checkboxGroup.valueChanges.subscribe((value) => {\n if (this.getCheckboxSelectedValues(value)) {\n this.generateForm.controls[column.englishName].patchValue(value);\n } else {\n this.generateForm.controls[column.englishName].patchValue(null);\n this.generateForm.controls[column.englishName].markAsTouched();\n }\n });\n }\n\n private getCheckboxSelectedValues(items: any[]) {\n let selecedItems = items.filter((item) => item.checkbox);\n return selecedItems.length > 0 ? selecedItems : null;\n }\n\n private assignRecaptchaData(col: Columns) {\n this.siteKey = col.siteKey ?? this.siteKey;\n this.recaptchaSize =\n col.recaptchaSize == 'compact'\n ? 'compact'\n : col.recaptchaSize == 'normal'\n ? 'normal'\n : this.recaptchaSize;\n this.lang = col.lang ?? this.lang;\n this.recaptchaType =\n col.recaptchaType == 'image'\n ? 'image'\n : col.recaptchaType == 'audio'\n ? 'audio'\n : this.recaptchaType;\n this.theme =\n col.theme == 'dark'\n ? 'dark'\n : col.theme == 'light'\n ? 'light'\n : this.theme;\n this.useGlobalDomain = col.useGlobalDomain ?? this.useGlobalDomain;\n }\n}\n","<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\"\r\n [type]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\" (reset)=\"handleReset()\"\r\n (expire)=\"handleExpire()\" (load)=\"handleLoad()\"\r\n (success)=\"handleSuccess($event, column.englishName)\" formControlName=\"{{column.englishName}}\">\r\n </ngx-recaptcha2>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>","import { Component, Input, OnInit, Self } from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\nimport {\n NgbCalendar,\n NgbDateStruct,\n NgbInputDatepickerConfig,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { IPAFormService } from '../ipa-form.service';\n\n@Component({\n selector: 'ipa-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n})\nexport class DatepickerComponent implements OnInit {\n @Input() id!: string;\n @Input() label = 'datepicker';\n @Input() patternErrorMsg = 'invalid pattern';\n @Input() required = false;\n @Input() maxDate!: NgbDateStruct;\n @Input() minDate!: NgbDateStruct;\n @Input() classes!: string;\n @Input() containerClasses!: string;\n today = this.calendar.getToday();\n formControl: FormControl = new FormControl('');\n errorMsg!: string | null;\n\n constructor(\n private ipaFormService: IPAFormService,\n private calendar: NgbCalendar,\n @Self() public controlDir: NgControl,\n config: NgbInputDatepickerConfig\n ) {\n this.controlDir.valueAccessor = this;\n config.container = 'body';\n }\n\n ngOnInit(): void {\n const control = this.controlDir.control;\n const validators = control?.validator ? [control.validator] : [];\n\n control?.setValidators(validators);\n control?.updateValueAndValidity();\n this.formControl = control as FormControl;\n }\n\n onChange(event: any): void {}\n\n onTouched(): void {}\n writeValue(obj: any): void {}\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n get errorMessage(): string | null {\n this.errorMsg = this.ipaFormService.getErrorMessage(\n this.formControl,\n this.patternErrorMsg\n );\n return this.errorMsg;\n }\n}\n","<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required, 'is-valid': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required), 'is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched)) && required}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n type=\"text\" [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">اليوم</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">مسح</button>\n </ng-template>\n</div>","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'محرم',\r\n 'صفر',\r\n 'ربيع الأول',\r\n 'ربيع الآخر',\r\n 'جمادى الأولى',\r\n 'جمادى الآخرة',\r\n 'رجب',\r\n 'شعبان',\r\n 'رمضان',\r\n 'شوال',\r\n 'ذو القعدة',\r\n 'ذو الحجة',\r\n];\r\n\r\n@Injectable()\r\nexport class IslamicI18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { NgbCalendar, NgbCalendarIslamicUmalqura, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { DatepickerComponent } from '../datepicker.component';\nimport { IslamicI18n } from './IslamicI18n';\n@Component({\n selector: 'ipa-hijri-datepicker',\n templateUrl: '../datepicker.component.html',\n styleUrls: ['../datepicker.component.scss'],\n providers: [\n { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },\n { provide: NgbDatepickerI18n, useClass: IslamicI18n },\n ],\n})\nexport class HijriDatepickerComponent extends DatepickerComponent {}\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'اغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر',\r\n];\r\n\r\n@Injectable()\r\nexport class Gregorian18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { NgbCalendar, NgbCalendarGregorian, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { DatepickerComponent } from '../datepicker.component';\nimport { Gregorian18n } from './gregorian18n';\n\n@Component({\n selector: 'ipa-gregorian-datepicker',\n templateUrl: '../datepicker.component.html',\n styleUrls: ['../datepicker.component.scss'],\n providers: [\n { provide: NgbCalendar, useClass: NgbCalendarGregorian},\n { provide: NgbDatepickerI18n, useClass: Gregorian18n },\n ],\n})\nexport class GregorianDatepickerComponent extends DatepickerComponent {}\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'ipa-share-button',\n templateUrl: './share-button.component.html',\n styleUrls: ['./share-button.component.scss'],\n})\nexport class ShareButtonComponent implements AfterViewInit {\n constructor() {}\n ngAfterViewInit(): void {\n const elements = document.getElementsByClassName('sb-show-icon');\n elements[0].setAttribute('type', 'button');\n }\n}\n","<share-popup-button [icon]=\"''\" [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\" >مشاركة</share-popup-button>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport {\n FaIconLibrary,\n FontAwesomeModule,\n} from '@fortawesome/angular-fontawesome';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { ShareIconsModule } from 'ngx-sharebuttons/icons';\nimport { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';\nimport { ShareButtonComponent } from './share-button.component';\n\n@NgModule({\n declarations: [ShareButtonComponent],\n imports: [\n ShareIconsModule,\n ShareButtonsPopupModule,\n OverlayModule,\n FontAwesomeModule,\n ],\n exports: [\n ShareButtonComponent,\n ShareIconsModule,\n ShareButtonsPopupModule,\n OverlayModule,\n FontAwesomeModule,\n ]\n})\nexport class ShareButtonModule {\n constructor(library: FaIconLibrary) {\n library.addIconPacks(fas);\n }\n}\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { DropzoneModule } from 'ngx-dropzone-wrapper';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TextInputComponent } from './ipa-form/text-input/text-input.component';\r\nimport { TextareaInputComponent } from './ipa-form/textarea-input/textarea-input.component';\r\nimport { DropdownInputComponent } from './ipa-form/dropdown-input/dropdown-input.component';\r\nimport { LoaderComponent } from './core/components/loading/loading.component';\r\nimport { GenerateFormComponent } from './generate-form/generate-form.component';\r\nimport { FileUploadComponent } from './ipa-form/file-upload/file-upload.component';\r\nimport { DatepickerComponent } from './ipa-form/datepicker/datepicker.component';\r\nimport { HijriDatepickerComponent } from './ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nimport { GregorianDatepickerComponent } from './ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nimport { ShareButtonModule } from './share-button/share-button.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n declarations: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n DatepickerComponent,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule,\r\n DropzoneModule,\r\n NgxCaptchaModule,\r\n PipesModule,\r\n NgbDatepickerModule,\r\n ShareButtonModule,\r\n ],\r\n exports: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n PipesModule,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ShareButtonModule,\r\n ],\r\n})\r\nexport class NgIPALibraryModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService) {}\r\n\r\n removeRequest(req: HttpRequest<any>): void {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n this.requests.push(req);\r\n\r\n this.loaderService.isLoading.next(true);\r\n return new Observable((observer) => {\r\n const subscription = next.handle(req).subscribe(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(req);\r\n observer.next(event);\r\n }\r\n },\r\n (err) => {\r\n this.removeRequest(req);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(req);\r\n observer.complete();\r\n }\r\n );\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(req);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.loaderService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorService } from '../services/error.service';\r\nimport { ApiException } from '../../models/apiException';\r\nimport { IndividualConfig, ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: ErrorService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n catchError((error) => {\r\n const response = error.error as ApiException;\r\n const toastrConfig: Partial<IndividualConfig> = {\r\n disableTimeOut: true,\r\n };\r\n switch (response.statusCode) {\r\n case 500:\r\n this.toastrService.error(\r\n response?.innerException + ' ' + response?.stackTrace,\r\n response.message,\r\n toastrConfig\r\n );\r\n break;\r\n\r\n default:\r\n this.toastrService.error(response.message, '', toastrConfig);\r\n break;\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.errorService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { DecodedToken } from '../../models/decodedToken.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n public currentUser = new BehaviorSubject<DecodedToken>({exp: 0});\n constructor() {}\n\n getToken(): string {\n return localStorage.getItem('token') ?? '';\n }\n\n getDecodedToken(): any {\n return this.decodeJwt(this.getToken());\n }\n\n setCurrentUser(): void {\n const decodedToken = this.getDecodedToken() as DecodedToken;\n this.currentUser.next({\n nameid: decodedToken.nameid,\n email: decodedToken.email,\n given_name: decodedToken.given_name,\n exp: decodedToken.exp,\n });\n }\n\n private decodeJwt(token: string): any {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n return JSON.parse(jsonPayload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpClient,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\nimport { DecodedToken } from '../../models/decodedToken.model';\nimport { User } from '../../models/user.model';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService, private http: HttpClient) {}\n\n intercept(\n request: HttpRequest<unknown>,\n next: HttpHandler\n ): Observable<HttpEvent<unknown>> {\n if (this.isException(request)) {\n return next.handle(request);\n }\n const token = this.authService.getToken();\n this.isTokenExp(token);\n if (token) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n }\n return next.handle(request);\n }\n\n private isTokenExp(token: string) {\n const redirectPath = location.pathname;\n const decodedToken = this.authService.getDecodedToken() as DecodedToken;\n const expDate = new Date((decodedToken.exp ?? 0) * 1000);\n if (expDate < new Date()) {\n location.replace('/ar/login?redirect=' + redirectPath);\n return;\n } else {\n this.http\n .get<User>(`http://172.16.17.99:6001/api/users`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .subscribe((user) => {\n localStorage.setItem('token', JSON.stringify(user.token));\n });\n }\n }\n\n private isException(request: HttpRequest<any>): boolean {\n if (request.url.includes('/api/users') && request.method === 'GET') {\n return true;\n }\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Breadcrumbs } from '../models/breadcrumbs.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BreadcrumbsService {\n constructor() {}\n\n addBreadcrumb(\n nodeName: string,\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const spans = document.getElementById('ctl00_path')?.children;\n //get last child\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n const innerHTML = lastIndex.innerHTML;\n lastIndex.innerHTML = '';\n lastIndex.classList.remove(...['bc-current']);\n //add new link\n lastIndex.appendChild(\n this.createLink(innerHTML, location.pathname, linkClasses)\n );\n //add new span and empty span\n const newSpan = this.createSapn(nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n\n addBreadcrumbList(\n nodeList: Breadcrumbs[],\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const spans = document.getElementById('ctl00_path')?.childNodes;\n //get last child\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\n const innerHTML = lastSpan.innerHTML;\n lastSpan.classList.remove(...[spanClasses]);\n lastSpan.innerHTML = '';\n //add new link\n lastSpan.appendChild(\n this.createLink(innerHTML, location.pathname, linkClasses)\n );\n\n for (let i = 0; i < nodeList.length; i++) {\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n if (nodeList[i].nodeUrl) {\n const newSpan = document.createElement('span');\n newSpan.appendChild(\n this.createLink(\n nodeList[i].nodeName,\n nodeList[i].nodeUrl,\n linkClasses\n )\n );\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n } else {\n const newSpan = this.createSapn(nodeList[i].nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n }\n }\n\n createBreadcrumbs(\n nodeList: Breadcrumbs[],\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const cuurentSpan = document.getElementById(\n 'ctl00_path'\n ) as HTMLSpanElement;\n cuurentSpan.innerHTML = '';\n const newSpan = document.createElement('span');\n cuurentSpan?.appendChild(newSpan);\n newSpan.appendChild(\n this.createLink(nodeList[0].nodeName, nodeList[0].nodeUrl, linkClasses)\n );\n const spans = cuurentSpan?.children;\n for (let i = 1; i < nodeList.length; i++) {\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n if (nodeList[i].nodeUrl) {\n const newSpan = document.createElement('span');\n newSpan.appendChild(\n this.createLink(\n nodeList[i].nodeName,\n nodeList[i].nodeUrl,\n linkClasses\n )\n );\n const emptySpan = document.createElement('span');\n lastIndex?.after(...[emptySpan, newSpan]);\n } else {\n const newSpan = this.createSapn(nodeList[i].nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n }\n }\n\n removeLastBreadcrumb() {\n const spans = document.getElementById('ctl00_path')?.children;\n spans?.item(spans.length - 1)?.remove();\n spans?.item(spans.length - 1)?.remove();\n this.setCurrentNode(spans);\n }\n\n removeBreadcrumbByNodeName(nodeName: string) {\n const spans = document.getElementById('ctl00_path')\n ?.children as HTMLCollection;\n let index = -1;\n for (let i = 0; i < spans.length; i++) {\n const span = spans.item(i);\n if (span?.textContent?.trim() === nodeName) {\n index = i;\n break;\n }\n }\n const lastNode = spans.length - 1 === index;\n if (index !== -1 && !lastNode) {\n spans?.item(index)?.remove();\n spans?.item(index)?.remove();\n } else {\n spans?.item(index)?.remove();\n spans?.item(index - 1)?.remove();\n }\n if (lastNode) {\n this.setCurrentNode(spans);\n }\n }\n\n removeLastBreadcrumbsByLength(length: number) {\n const spans = document.getElementById('ctl00_path')?.children as HTMLCollection;\n while (length > 0) {\n spans?.item(spans.length - 1)?.remove();\n spans?.item(spans.length - 1)?.remove();\n length--;\n }\n if (spans.length > 0) {\n this.setCurrentNode(spans);\n }\n }\n\n private createLink(\n innerHTML: string,\n href: string | null,\n classes: string\n ): HTMLAnchorElement {\n const link = document.createElement('a');\n link.innerHTML = ' ' + innerHTML;\n link.href = href ?? '';\n link.classList.add(...[classes]);\n return link;\n }\n\n private createSapn(innerHTML: string, classes: string): HTMLSpanElement {\n const span = document.createElement('span');\n span.classList.add(...[classes]);\n span.innerHTML = ' ' + innerHTML;\n return span;\n }\n\n private setCurrentNode(spans?: HTMLCollection) {\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\n const lastSpanLink = spans\n ?.item(spans.length - 1)\n ?.children.item(0) as HTMLAnchorElement;\n lastSpan?.classList.add(...['bc-current']);\n lastSpan.innerHTML = lastSpanLink.innerHTML;\n }\n}\n","/*\r\n * Public API Surface of ipa-library\r\n */\r\n// module\r\nexport * from './lib/ng-ipa-library.module';\r\nexport * from 'ngx-toastr';\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/share-button/share-button.module';\r\n\r\n// core components\r\nexport * from './lib/core/components/loading/loading.component';\r\n\r\n// form components\r\nexport * from './lib/ipa-form/text-input/text-input.component';\r\nexport * from './lib/ipa-form/textarea-input/textarea-input.component';\r\nexport * from './lib/ipa-form/dropdown-input/dropdown-input.component';\r\nexport * from './lib/ipa-form/file-upload/file-upload.component';\r\nexport * from './lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nexport * from './lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nexport * from './lib/generate-form/generate-form.component';\r\nexport * from './lib/share-button/share-button.component';\r\n\r\n// interceptors\r\nexport * from './lib/core/interceptors/loading.interceptor';\r\nexport * from './lib/core/interceptors/error.interceptor';\r\nexport * from './lib/core/interceptors/token.interceptor';\r\n\r\n// services\r\nexport * from './lib/core/services/loader.service';\r\nexport * from './lib/core/services/auth.service';\r\nexport * from './lib/ipa-form/ipa-form.service';\r\nexport * from './lib/core/services/error.service';\r\nexport * from './lib/services/breadcrumbs.service';\r\n\r\n//pipes\r\nexport * from './lib/pipes/hijri-date.pipe';\r\n\r\n//models\r\nexport * from './lib/models/pagedResult';\r\nexport * from './lib/models/generateForm.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["momentHijri","Pipe","NgModule","Injectable","FormControl","Component","Self","ViewChild","Input","ElementRef","BehaviorSubject","EventEmitter","DropzoneDirective","Output","Validators","FormArray","FormGroup","WEEKDAYS","MONTHS","NgbDatepickerI18n","NgbCalendar","NgbCalendarIslamicUmalqura","NgbCalendarGregorian","fas","ShareIconsModule","ShareButtonsPopupModule","OverlayModule","FontAwesomeModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","ToastrModule","DropzoneModule","NgxCaptchaModule","NgbDatepickerModule","Observable","HttpResponse","catchError","throwError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAKA;;QACE,iCAAS,GAAT,UACE,IAAY,EACZ,MAAgC,EAChC,IAAwB;YADxB,uBAAA,EAAA,wBAAgC;YAChC,qBAAA,EAAA,WAAwB;YAExBA,+BAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,OAAOA,+BAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;;;oIARU,aAAa;kIAAb,aAAa;qHAAb,aAAa;sBAHzBC,OAAI;uBAAC;wBACJ,IAAI,EAAE,WAAW;qBAClB;;;;QCGD;;;;kIAAa,WAAW;mIAAX,WAAW,iBAHP,aAAa,aAClB,aAAa;mIAEZ,WAAW;qHAAX,WAAW;sBAJvBC,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,aAAa,CAAC;wBAC7B,OAAO,EAAE,CAAC,aAAa,CAAC;qBACzB;;;;QCIC,wBAAoB,eAAuC;YAAvC,oBAAe,GAAf,eAAe,CAAwB;SAAI;QAExD,6BAAc,GAArB,UAAsB,OAAoB;YACxC,IAAM,WAAW,GACf,uDAAuD,CAAC,IAAI,CAC1D,OAAO,CAAC,KAAK,CACd,CAAC;YACJ,OAAO,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK;kBAChC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;kBAChC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;SACrC;QAEM,gCAAiB,GAAxB,UAAyB,OAAoB;YAC3C,IAAM,WAAW,GACf,kFAAkF,CAAC,IAAI,CACrF,OAAO,CAAC,KAAK,CACd,CAAC;YACJ,OAAO,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK;kBAChC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;kBAChC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;SACrC;QAED,wCAAe,GAAf,UAAgB,OAAoB,EAAE,eAAoB;YAApB,gCAAA,EAAA,oBAAoB;YACxD,KAAK,IAAM,YAAY,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;gBAC1C,IACE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;qBAC3C,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,EAClC;oBACA,OAAO,IAAI,CAAC,wBAAwB,CAClC,YAAY,EACZ,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAC5B,eAAe,CAChB,CAAC;iBACH;aACF;YACD,OAAO,IAAI,CAAC;SACb;QAEO,iDAAwB,GAAxB,UACN,aAAqB,EACrB,cAAmB,EACnB,eAAuB;YAEvB,IAAI,aAAa,KAAK,SAAS,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;aACtE;YACD,IAAM,MAAM,GAAQ;gBAClB,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE,KAAG,cAAc,CAAC,OAAS;gBACpC,KAAK,EAAE,oDAAoD;gBAC3D,SAAS,EAAE,qJAAgC,cAAc,CAAC,cAAc,yBAAO;gBAC/E,SAAS,EAAE,0EAAiB,cAAc,CAAC,cAAc,yBAAO;gBAChE,GAAG,EAAE,0GAAwB,cAAc,CAAC,GAAK;gBACjD,GAAG,EAAE,0GAAwB,cAAc,CAAC,GAAK;gBACjD,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC;aACvD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAE5B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;SAC9B;QAEO,sCAAa,GAAb,UAAc,cAAmB,EAAE,eAAuB;YAChE,IAAI,OAAO,mCACN,cAAc,KACjB,OAAO,EAAE,eAAe,GACzB,CAAC;YACF,OAAO,OAAO,CAAC;SAChB;QAEO,iDAAwB,GAAxB,UAAyB,cAAmB;YAClD,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,cAAc,CAAC,OAAO,EAAE;gBAC1B,GAAG,GAAG,uFAAmB,IAAI,CAAC,eAAe,CAAC,MAAM,CAClD,cAAc,CAAC,OAAO,CAAC,MAAM,CAC9B,iHAA0B,IAAI,CAAC,eAAe,CAAC,MAAM,CACpD,cAAc,CAAC,OAAO,CAAC,OAAO,CAC/B,OAAG,CAAC;aACN;iBAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACjC,GAAG,GAAG,uFAAmB,IAAI,CAAC,eAAe,CAAC,MAAM,CAClD,cAAc,CAAC,OAAO,CAAC,MAAM,CAC9B,kOAAiD,IAAI,CAAC,eAAe,CAAC,MAAM,CAC3E,cAAc,CAAC,OAAO,CAAC,OAAO,CAC/B,OAAG,CAAC;aACN;iBAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACjC,GAAG,GAAG,iIAA2B,cAAc,CAAC,OAAO,MAAG,CAAC;aAC5D;YACD,OAAO,GAAG,CAAC;SACZ;;;;;;;;;;QAWD,2CAAkB,GAAlB,UACE,IAAY,EACZ,MAAwB,EACxB,IAAc;YADd,uBAAA,EAAA,wBAAwB;YACxB,qBAAA,EAAA,cAAc;YAEdF,+BAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,OAAOA,+BAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;QAED,+CAAsB,GAAtB,UACE,IAAY,EACZ,MAAqB,EACrB,IAAW;YADX,uBAAA,EAAA,qBAAqB;YACrB,qBAAA,EAAA,WAAW;YAEXA,+BAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,IAAM,CAAC,GAAGA,+BAAW,CAAC,QAAQ,CAAC,WAAW,CACxC,IAAI,CAAC,IAAI,EAAE,EACX,IAAI,CAAC,KAAK,EAAE,EACZ,IAAI,CAAC,IAAI,EAAE,CACZ,CAAC;YACF,OAAOA,+BAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC/D;QAED,4CAAmB,GAAnB;YACEA,+BAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,OAAOA,+BAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC9C;;;qIA7HU,cAAc;yIAAd,cAAc,cAFb,MAAM;qHAEP,cAAc;sBAH1BG,aAAU;uBAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;QCsBC,4BACU,iBAAiC,EAC1B,UAAqB;YAD5B,sBAAiB,GAAjB,iBAAiB,CAAgB;YAC1B,eAAU,GAAV,UAAU,CAAW;YAb7B,SAAI,GAAG,MAAM,CAAC;YACd,gBAAW,GAAG,mBAAmB,CAAC;YAClC,UAAK,GAAW,YAAY,CAAC;YAC7B,aAAQ,GAAG,IAAI,CAAC;YAChB,oBAAe,GAAG,iBAAiB,CAAC;YACpC,YAAO,GAAG,EAAE,CAAC;YAGtB,gBAAW,GAAgB,IAAIC,gBAAW,CAAC,EAAE,CAAC,CAAC;YAO7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;SACtC;QAED,qCAAQ,GAAR;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxC,IAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAEjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,OAAsB,CAAC;SAC3C;QAED,qCAAQ,GAAR,UAAS,KAAU,KAAU;QAE7B,sCAAS,GAAT,eAAoB;QACpB,uCAAU,GAAV,UAAW,GAAQ;YACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;SAC5C;QAED,6CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,8CAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,sBAAI,4CAAY;iBAAhB;gBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;yIAnDU,kBAAkB;kHAAlB,kBAAkB,uYChB/B,4mBASM;qHDOO,kBAAkB;sBAL9BC,YAAS;uBAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,WAAW,EAAE,6BAA6B;wBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;qBAC3C;;;kCAiBIC,OAAI;;6BAf+B,KAAK;0BAA1CC,YAAS;2BAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAC3B,EAAE;0BAAVC,QAAK;oBACG,IAAI;0BAAZA,QAAK;oBACG,WAAW;0BAAnBA,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,eAAe;0BAAvBA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,gBAAgB;0BAAxBA,QAAK;;;;QEIN,gCACU,iBAAiC,EAC1B,UAAqB;YAD5B,sBAAiB,GAAjB,iBAAiB,CAAgB;YAC1B,eAAU,GAAV,UAAU,CAAW;YAfA,UAAK,GACzC,IAAIC,aAAU,CAAM,IAAI,CAAC,CAAC;YAEnB,gBAAW,GAAG,mBAAmB,CAAC;YAClC,UAAK,GAAW,gBAAgB,CAAC;YACjC,aAAQ,GAAG,IAAI,CAAC;YAChB,oBAAe,GAAG,iBAAiB,CAAC;YAI7C,gBAAW,GAAgB,IAAIL,gBAAW,CAAC,EAAE,CAAC,CAAC;YAO7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;SACtC;QAED,yCAAQ,GAAR;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxC,IAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAEjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,OAAsB,CAAC;SAC3C;QAED,yCAAQ,GAAR,UAAS,KAAU,KAAU;QAE7B,0CAAS,GAAT,eAAoB;QACpB,2CAAU,GAAV,UAAW,GAAQ;YACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;SAC5C;QAED,iDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,kDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,sBAAI,gDAAY;iBAAhB;gBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;6IAnDU,sBAAsB;sHAAtB,sBAAsB,6XChBnC,knBAUM;qHDMO,sBAAsB;sBALlCC,YAAS;uBAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,WAAW,EAAE,iCAAiC;wBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;qBAC/C;;;kCAiBIC,OAAI;;6BAf+B,KAAK;0BAA1CC,YAAS;2BAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAE3B,EAAE;0BAAVC,QAAK;oBACG,WAAW;0BAAnBA,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,eAAe;0BAAvBA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,gBAAgB;0BAAxBA,QAAK;;;;QEON,gCACU,iBAAiC,EAC1B,UAAqB;YAD5B,sBAAiB,GAAjB,iBAAiB,CAAgB;YAC1B,eAAU,GAAV,UAAU,CAAW;YAlBC,UAAK,GAC1C,IAAIC,aAAU,CAAM,IAAI,CAAC,CAAC;YAEnB,UAAK,GAAW,YAAY,CAAC;YAC7B,UAAK,GAAU,EAAE,CAAC;YAGlB,aAAQ,GAAG,IAAI,CAAC;YAChB,aAAQ,GAAG,KAAK,CAAC;YACjB,oBAAe,GAAG,iBAAiB,CAAC;YAI7C,gBAAW,GAAgB,IAAIL,gBAAW,CAAC,EAAE,CAAC,CAAC;YAO7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;SACtC;QAED,yCAAQ,GAAR;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxC,IAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAEjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,OAAsB,CAAC;SAC3C;QAED,yCAAQ,GAAR,UAAS,KAAU,KAAU;QAE7B,0CAAS,GAAT,eAAoB;QACpB,2CAAU,GAAV,UAAW,GAAQ;YACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;SAC5C;QAED,iDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,kDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,sBAAI,gDAAY;iBAAhB;gBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;6IAtDU,sBAAsB;sHAAtB,sBAAsB,0bChBnC,+nBAWM;qHDKO,sBAAsB;sBALlCC,YAAS;uBAAC;wBACT,QAAQ,EAAE,oBAAoB;wBAC9B,WAAW,EAAE,iCAAiC;wBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;qBAC/C;;;kCAoBIC,OAAI;;6BAlBgC,KAAK;0BAA3CC,YAAS;2BAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBAE5B,EAAE;0BAAVC,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,SAAS;0BAAjBA,QAAK;oBACG,UAAU;0BAAlBA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,eAAe;0BAAvBA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,gBAAgB;0BAAxBA,QAAK;;;;QElBN;YAFO,cAAS,GAAG,IAAIE,oBAAe,CAAC,KAAK,CAAC,CAAC;YAC9C,SAAI,GAAmB,EAAE,CAAC;SACV;QAEhB,wCAAgB,GAAhB,UAAiB,IAAoB;YACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,uCAAe,GAAf,UAAgB,GAAiB;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;;;oIAXU,aAAa;wIAAb,aAAa,cAFZ,MAAM;qHAEP,aAAa;sBAHzBP,aAAU;uBAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;QCIC,yBACU,aAA4B,EAC5B,GAAsB;YADtB,kBAAa,GAAb,aAAa,CAAe;YAC5B,QAAG,GAAH,GAAG,CAAmB;SAC5B;QAEJ,yCAAe,GAAf;YAAA,iBAKC;YAJC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC;gBACvC,KAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B,CAAC,CAAC;SACJ;;;sIAbU,eAAe;+GAAf,eAAe,6DCR5B,sGAGA;qHDKa,eAAe;sBAL3BE,YAAS;uBAAC;wBACT,QAAQ,EAAE,YAAY;wBACtB,WAAW,EAAE,0BAA0B;wBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;qBACxC;;;;QEsBC;;QAEU,aAA4B;YAA5B,kBAAa,GAAb,aAAa,CAAe;YAnB7B,UAAK,GAAG,EAAE,CAAC;YACX,kBAAa,GAAG,EAAE,CAAC;YACnB,aAAQ,GAAG,CAAC,CAAC;YACb,gBAAW,GAAG,CAAC,CAAC;YAChB,WAAM,GAAG,MAAM,CAAC;YAChB,eAAU,GAAG,KAAK,CAAC;YACnB,WAAM,GAAG,EAAE,CAAC;YAEX,kBAAa,GAAG,IAAIM,eAAY,EAAE,CAAC;YACnC,cAAS,GAAG,IAAIA,eAAY,EAAE,CAAC;YAC/B,gBAAW,GAAG,IAAIA,eAAY,EAAE,CAAC;YAC3C,cAAS,GAAG,KAAK,CAAC;YAClB,WAAM,GAAa,EAAE,CAAC;YAEtB,eAAU,GAAW,EAAE,CAAC;YACxB,iBAAY,GAAW,EAAE,CAAC;SAKtB;QAEJ,sCAAQ,GAAR;YACE,IAAI,CAAC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG;gBACZ,GAAG,EAAE,IAAI,CAAC,MAAM;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa;iBAC9C;gBACD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC;gBACjC,mBAAmB,EAAE,0BAA0B;gBAC/C,cAAc,EAAE,0BAA0B;gBAC1C,oBAAoB,EAClB,2DAA2D;gBAC7D,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,gBAAgB,EAAE,IAAI,CAAC,UAAU;gBACjC,eAAe,EAAE,eAAe;aACjC,CAAC;SACH;QAED,gDAAkB,GAAlB,UAAmB,CAAM;YACvB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;aACtB;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC1B;QAED,6CAAe,GAAf,UAAgB,CAAM;YACpB,IAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;YAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;SACvD;QAED,2CAAa,GAAb,UAAc,CAAM;YAClB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,CAAC,CAAC,CAAC,CAAC,UAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAG,CAAC,CAAC;aAC5C;SACF;QAED,0CAAY,GAAZ,UAAa,CAAO;YAClB,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,IAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjC;aACF;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,qCAAO,GAAP,UAAQ,CAAM;YACZ,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SAClB;QAED,mCAAK,GAAL,UAAM,CAAM,KAAU;QAEtB,wCAAU,GAAV,UAAW,IAAS;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAC1C,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAA,CACpD,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzB;;;0IAjGU,mBAAmB;mHAAnB,mBAAmB,iZACnBC,sBAAiB,2DCV9B,+5DAkCM;qHDzBO,mBAAmB;sBAL/BP,YAAS;uBAAC;wBACT,QAAQ,EAAE,iBAAiB;wBAC3B,WAAW,EAAE,8BAA8B;wBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;qBAC5C;mHAGC,WAAW;0BADVE,YAAS;2BAACK,sBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oBAEtC,KAAK;0BAAbJ,QAAK;oBACG,aAAa;0BAArBA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,WAAW;0BAAnBA,QAAK;oBACG,MAAM;0BAAdA,QAAK;oBACG,UAAU;0BAAlBA,QAAK;oBACG,MAAM;0BAAdA,QAAK;oBACG,aAAa;0BAArBA,QAAK;oBACI,aAAa;0BAAtBK,SAAM;oBACG,SAAS;0BAAlBA,SAAM;oBACG,WAAW;0BAApBA,SAAM;;;;QEkBP,+BAAoB,iBAAiC;YAAjC,sBAAiB,GAAjB,iBAAiB,CAAgB;YAlB5C,kBAAa,GAAyB,QAAQ,CAAC;YAC/C,SAAI,GAAG,IAAI,CAAC;YACZ,kBAAa,GAAsB,OAAO,CAAC;YAC3C,UAAK,GAAqB,OAAO,CAAC;YAClC,oBAAe,GAAG,IAAI,CAAC;;YAMtB,kBAAa,GAAG,IAAIF,eAAY,EAAE,CAAC;YACnC,cAAS,GAAG,IAAIA,eAAY,EAAE,CAAC;YAC/B,gBAAW,GAAG,IAAIA,eAAY,EAAE,CAAC;;YAGjC,oBAAe,GAAG,IAAIA,eAAY,EAAE,CAAC;SAGU;QAEzD,wCAAQ,GAAR;YACE,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAED,sBAAI,+CAAY;iBAAhB;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;aACpD;;;WAAA;QAED,+CAAe,GAAf,UAAgB,eAAuB;YACrC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC5C,eAAe,CACD,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,6CAAa,GAAb,UAAc,KAAU;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,yCAAS,GAAT,UAAU,IAAS,EAAE,eAAuB;YAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QAED,2CAAW,GAAX,UAAY,KAAU,EAAE,eAAuB;YAC7C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,2CAAW,GAAX,eAAgB;QAEhB,4CAAY,GAAZ,eAAiB;QAEjB,0CAAU,GAAV,eAAe;QAEf,6CAAa,GAAb,UAAc,KAAU,EAAE,eAAuB;YAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;QAEO,0CAAU,GAAV;YAAA,iBAkBP;YAjBC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;gBAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC9B,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;iBACjC;qBAAM;oBACL,KAAI,CAAC,YAAY,CAAC,UAAU,CAC1B,MAAM,CAAC,WAAW,EAClB,IAAIP,gBAAW,CAAC,IAAI,EAAE;wBACpB,MAAM,CAAC,QAAQ,GAAGU,eAAU,CAAC,QAAQ,GAAGA,eAAU,CAAC,aAAa;wBAChEA,eAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;wBACjC,MAAM,CAAC,IAAI,KAAK,QAAQ;8BACpBA,eAAU,CAAC,GAAG,CAAC,CAAC,CAAC;8BACjBA,eAAU,CAAC,aAAa;qBAC7B,CAAC,CACH,CAAC;iBACH;gBACD,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;aAClC,CAAC,CAAC;SACJ;QAEO,kDAAkB,GAAlB,UAAmB,MAAe;YAAlC,iBA2BP;YA1BC,IAAI,aAAa,GAAG,IAAIC,cAAS,CAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;;gBACnB,OAAO,IAAIC,cAAS;oBAClB,GAAC,MAAM,CAAC,UAAU,IAAG,IAAIZ,gBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC7D,GAAC,MAAM,CAAC,SAAS,IAAG,IAAIA,gBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3D,WAAQ,GAAE,IAAIA,gBAAW,CAAC,KAAK,EAAEU,eAAU,CAAC,QAAQ,CAAC;wBACrD,CAAC;aACJ,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,UAAU,CAC1B,MAAM,CAAC,WAAW,EAClB,IAAIV,gBAAW,CACb,IAAI,EACJ,MAAM,CAAC,QAAQ,GAAGU,eAAU,CAAC,QAAQ,GAAGA,eAAU,CAAC,aAAa,CACjE,CACF,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACrD,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAK;gBACzC,IAAI,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE;oBACzC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAClE;qBAAM;oBACL,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAChE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;iBAChE;aACF,CAAC,CAAC;SACJ;QAEO,yDAAyB,GAAzB,UAA0B,KAAY;YAC5C,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,GAAA,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;SACtD;QAEO,mDAAmB,GAAnB,UAAoB,GAAY;;YACtC,IAAI,CAAC,OAAO,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,IAAI,CAAC,OAAO,CAAC;YAC3C,IAAI,CAAC,aAAa;gBAChB,GAAG,CAAC,aAAa,IAAI,SAAS;sBAC1B,SAAS;sBACT,GAAG,CAAC,aAAa,IAAI,QAAQ;0BAC7B,QAAQ;0BACR,IAAI,CAAC,aAAa,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,aAAa;gBAChB,GAAG,CAAC,aAAa,IAAI,OAAO;sBACxB,OAAO;sBACP,GAAG,CAAC,aAAa,IAAI,OAAO;0BAC5B,OAAO;0BACP,IAAI,CAAC,aAAa,CAAC;YACzB,IAAI,CAAC,KAAK;gBACR,GAAG,CAAC,KAAK,IAAI,MAAM;sBACf,MAAM;sBACN,GAAG,CAAC,KAAK,IAAI,OAAO;0BACpB,OAAO;0BACP,IAAI,CAAC,KAAK,CAAC;YACjB,IAAI,CAAC,eAAe,GAAG,MAAA,GAAG,CAAC,eAAe,mCAAI,IAAI,CAAC,eAAe,CAAC;SACpE;;;4IA/IU,qBAAqB;qHAArB,qBAAqB,ubChBlC,wyKAuFO;qHDvEM,qBAAqB;sBALjCT,YAAS;uBAAC;wBACT,QAAQ,EAAE,mBAAmB;wBAC7B,WAAW,EAAE,gCAAgC;wBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;qBAC9C;sGAEU,YAAY;0BAApBG,QAAK;oBACG,IAAI;0BAAZA,QAAK;oBAGG,OAAO;0BAAfA,QAAK;oBACG,aAAa;0BAArBA,QAAK;oBACG,IAAI;0BAAZA,QAAK;oBACG,aAAa;0BAArBA,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,eAAe;0BAAvBA,QAAK;oBAGG,aAAa;0BAArBA,QAAK;oBAGI,aAAa;0BAAtBK,SAAM;oBACG,SAAS;0BAAlBA,SAAM;oBACG,WAAW;0BAApBA,SAAM;oBAGG,eAAe;0BAAxBA,SAAM;;;IEvBT;QAaE,6BACU,cAA8B,EAC9B,QAAqB,EACd,UAAqB,EACpC,MAAgC;YAHxB,mBAAc,GAAd,cAAc,CAAgB;YAC9B,aAAQ,GAAR,QAAQ,CAAa;YACd,eAAU,GAAV,UAAU,CAAW;YAd7B,UAAK,GAAG,YAAY,CAAC;YACrB,oBAAe,GAAG,iBAAiB,CAAC;YACpC,aAAQ,GAAG,KAAK,CAAC;YAK1B,UAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACjC,gBAAW,GAAgB,IAAIT,gBAAW,CAAC,EAAE,CAAC,CAAC;YAS7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;YACrC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;SAC3B;QAED,sCAAQ,GAAR;YACE,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxC,IAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,IAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAEjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,OAAsB,CAAC;SAC3C;QAED,sCAAQ,GAAR,UAAS,KAAU,KAAU;QAE7B,uCAAS,GAAT,eAAoB;QACpB,wCAAU,GAAV,UAAW,GAAQ,KAAU;QAE7B,8CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QAED,+CAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QAED,sBAAI,6CAAY;iBAAhB;gBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CACjD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;0IAnDU,mBAAmB;mHAAnB,mBAAmB,mQCdhC,2lDAiBM;qHDHO,mBAAmB;sBAL/BC,YAAS;uBAAC;wBACT,QAAQ,EAAE,gBAAgB;wBAC1B,WAAW,EAAE,6BAA6B;wBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;qBAC3C;;;kCAiBIC,OAAI;;6BAfE,EAAE;0BAAVE,QAAK;oBACG,KAAK;0BAAbA,QAAK;oBACG,eAAe;0BAAvBA,QAAK;oBACG,QAAQ;0BAAhBA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,OAAO;0BAAfA,QAAK;oBACG,gBAAgB;0BAAxBA,QAAK;;;IEtBR;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;IC1OA,IAAMS,UAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,IAAMC,QAAM,GAAG;QACb,MAAM;QACN,KAAK;QACL,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,cAAc;QACd,KAAK;QACL,OAAO;QACP,OAAO;QACP,MAAM;QACN,WAAW;QACX,UAAU;KACX,CAAC;IAGF;QAAiC,+BAAiB;QAAlD;;;QACE,uCAAiB,GAAjB,UAAkB,KAAa;YAC7B,OAAOA,QAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC1B;QAED,sCAAgB,GAAhB,UAAiB,KAAa;YAC5B,OAAOA,QAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC1B;QAED,qCAAe,GAAf,UAAgB,OAAe,EAAE,KAAwB;YACvD,OAAOD,UAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,qCAAe,GAAf,UAAgB,IAAmB;YACjC,OAAU,IAAI,CAAC,GAAG,SAAI,IAAI,CAAC,KAAK,SAAI,IAAI,CAAC,IAAM,CAAC;SACjD;;KAfH,CAAiCE,oBAAiB;kIAArC,WAAW;sIAAX,WAAW;qHAAX,WAAW;sBADvBhB,aAAU;;;;QCPmC,4CAAmB;QAAjE;;;;KAAA,CAA8C,mBAAmB;+IAApD,wBAAwB;wHAAxB,wBAAwB,+CALxB;YACT,EAAE,OAAO,EAAEiB,cAAW,EAAE,QAAQ,EAAEC,6BAA0B,EAAE;YAC9D,EAAE,OAAO,EAAEF,oBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE;SACtD,4DHXH,2lDAiBM;qHGJO,wBAAwB;sBATpCd,YAAS;uBAAC;wBACT,QAAQ,EAAE,sBAAsB;wBAChC,WAAW,EAAE,8BAA8B;wBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;wBAC3C,SAAS,EAAE;4BACT,EAAE,OAAO,EAAEe,cAAW,EAAE,QAAQ,EAAEC,6BAA0B,EAAE;4BAC9D,EAAE,OAAO,EAAEF,oBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE;yBACtD;qBACF;;;ICRD,IAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,IAAM,MAAM,GAAG;QACb,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC;IAGF;QAAkC,gCAAiB;QAAnD;;;QACE,wCAAiB,GAAjB,UAAkB,KAAa;YAC7B,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC1B;QAED,uCAAgB,GAAhB,UAAiB,KAAa;YAC5B,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SAC1B;QAED,sCAAe,GAAf,UAAgB,OAAe,EAAE,KAAwB;YACvD,OAAO,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;SAC9B;QAED,sCAAe,GAAf,UAAgB,IAAmB;YACjC,OAAU,IAAI,CAAC,GAAG,SAAI,IAAI,CAAC,KAAK,SAAI,IAAI,CAAC,IAAM,CAAC;SACjD;;KAfH,CAAkCA,oBAAiB;mIAAtC,YAAY;uIAAZ,YAAY;qHAAZ,YAAY;sBADxBhB,aAAU;;;;QCNuC,gDAAmB;QAArE;;;;KAAA,CAAkD,mBAAmB;mJAAxD,4BAA4B;4HAA5B,4BAA4B,mDAL5B;YACT,EAAE,OAAO,EAAEiB,cAAW,EAAE,QAAQ,EAAEE,uBAAoB,EAAC;YACvD,EAAE,OAAO,EAAEH,oBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE;SACvD,4DLZH,2lDAiBM;qHKHO,4BAA4B;sBATxCd,YAAS;uBAAC;wBACT,QAAQ,EAAE,0BAA0B;wBACpC,WAAW,EAAE,8BAA8B;wBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;wBAC3C,SAAS,EAAE;4BACT,EAAE,OAAO,EAAEe,cAAW,EAAE,QAAQ,EAAEE,uBAAoB,EAAC;4BACvD,EAAE,OAAO,EAAEH,oBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE;yBACvD;qBACF;;;;QCLC;SAAgB;QAChB,8CAAe,GAAf;YACE,IAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACjE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC5C;;;2IALU,oBAAoB;oHAApB,oBAAoB,mECPjC,mLAA+I;qHDOlI,oBAAoB;sBALhCd,YAAS;uBAAC;wBACT,QAAQ,EAAE,kBAAkB;wBAC5B,WAAW,EAAE,+BAA+B;wBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;qBAC7C;;;;QEsBC,2BAAY,OAAsB;YAChC,OAAO,CAAC,YAAY,CAACkB,qBAAG,CAAC,CAAC;SAC3B;;;wIAHU,iBAAiB;yIAAjB,iBAAiB,iBAfb,oBAAoB,aAEjCC,sBAAgB;YAChBC,4BAAuB;YACvBC,qBAAa;YACbC,sBAAiB,aAGjB,oBAAoB;YACpBH,sBAAgB;YAChBC,4BAAuB;YACvBC,qBAAa;YACbC,sBAAiB;yIAGR,iBAAiB,YAdnB;gBACPH,sBAAgB;gBAChBC,4BAAuB;gBACvBC,qBAAa;gBACbC,sBAAiB;aAClB,EAGCH,sBAAgB;YAChBC,4BAAuB;YACvBC,qBAAa;YACbC,sBAAiB;qHAGR,iBAAiB;sBAhB7BzB,WAAQ;uBAAC;wBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;wBACpC,OAAO,EAAE;4BACPsB,sBAAgB;4BAChBC,4BAAuB;4BACvBC,qBAAa;4BACbC,sBAAiB;yBAClB;wBACD,OAAO,EAAE;4BACP,oBAAoB;4BACpBH,sBAAgB;4BAChBC,4BAAuB;4BACvBC,qBAAa;4BACbC,sBAAiB;yBAClB;qBACF;;;;QCgCD;;;;yIAAa,kBAAkB;0IAAlB,kBAAkB,iBAnC3B,kBAAkB;YAClB,sBAAsB;YACtB,sBAAsB;YACtB,eAAe;YACf,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,wBAAwB;YACxB,4BAA4B,aAG5BC,eAAY;YACZC,qBAAgB;YAChBC,gBAAW;YACXC,wBAAmB;YACnBC,eAAY;YACZC,mBAAc;YACdC,mBAAgB;YAChB,WAAW;YACXC,sBAAmB;YACnB,iBAAiB,aAGjB,kBAAkB;YAClB,sBAAsB;YACtB,sBAAsB;YACtB,eAAe;YACf,qBAAqB;YACrB,mBAAmB;YACnB,WAAW;YACX,wBAAwB;YACxB,4BAA4B;YAC5B,iBAAiB;0IAGR,kBAAkB,YAzBpB;gBACPP,eAAY;gBACZC,qBAAgB;gBAChBC,gBAAW;gBACXC,wBAAmB;gBACnBC,eAAY;gBACZC,mBAAc;gBACdC,mBAAgB;gBAChB,WAAW;gBACXC,sBAAmB;gBACnB,iBAAiB;aAClB,EAQC,WAAW;YAGX,iBAAiB;qHAGR,kBAAkB;sBArC9BjC,WAAQ;uBAAC;wBACR,YAAY,EAAE;4BACZ,kBAAkB;4BAClB,sBAAsB;4BACtB,sBAAsB;4BACtB,eAAe;4BACf,qBAAqB;4BACrB,mBAAmB;4BACnB,mBAAmB;4BACnB,wBAAwB;4BACxB,4BAA4B;yBAC7B;wBACD,OAAO,EAAE;4BACP0B,eAAY;4BACZC,qBAAgB;4BAChBC,gBAAW;4BACXC,wBAAmB;4BACnBC,eAAY;4BACZC,mBAAc;4BACdC,mBAAgB;4BAChB,WAAW;4BACXC,sBAAmB;4BACnB,iBAAiB;yBAClB;wBACD,OAAO,EAAE;4BACP,kBAAkB;4BAClB,sBAAsB;4BACtB,sBAAsB;4BACtB,eAAe;4BACf,qBAAqB;4BACrB,mBAAmB;4BACnB,WAAW;4BACX,wBAAwB;4BACxB,4BAA4B;4BAC5B,iBAAiB;yBAClB;qBACF;;;;QC1CC,4BAAoB,aAA4B;YAA5B,kBAAa,GAAb,aAAa,CAAe;YAFxC,aAAQ,GAAuB,EAAE,CAAC;SAEU;QAEpD,0CAAa,GAAb,UAAc,GAAqB;YACjC,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC7D;QAED,sCAAS,GAAT,UACE,GAAyB,EACzB,IAAiB;YAFnB,iBAiCC;YA7BC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBACzB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAExB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,IAAIC,eAAU,CAAC,UAAC,QAAQ;gBAC7B,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAC7C,UAAC,KAAK;oBACJ,IAAI,KAAK,YAAYC,iBAAY,EAAE;wBACjC,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACtB;iBACF,EACD,UAAC,GAAG;oBACF,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB,EACD;oBACE,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB,CACF,CAAC;;gBAEF,OAAO;oBACL,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACxB,YAAY,CAAC,WAAW,EAAE,CAAC;iBAC5B,CAAC;aACH,CAAC,CAAC;SACJ;QAED,wCAAW,GAAX,UAAY,GAAqB;;;gBAC/B,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAA,gBAAA,4BAAE;oBAAtC,IAAM,GAAG,WAAA;oBACZ,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;wBAC3D,OAAO,IAAI,CAAC;qBACb;iBACF;;;;;;;;;YACD,OAAO,KAAK,CAAC;SACd;;;yIAvDU,kBAAkB;6IAAlB,kBAAkB;qHAAlB,kBAAkB;sBAD9BlC,aAAU;;;;QCFT;YADA,SAAI,GAAmB,EAAE,CAAC;SACV;QAEhB,uCAAgB,GAAhB,UAAiB,IAAoB;YACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;QAED,sCAAe,GAAf,UAAgB,GAAiB;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;;;mIAVU,YAAY;uIAAZ,YAAY,cAFX,MAAM;qHAEP,YAAY;sBAHxBA,aAAU;uBAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;QCSC,0BACU,YAA0B,EAC1B,aAA4B;YAD5B,iBAAY,GAAZ,YAAY,CAAc;YAC1B,kBAAa,GAAb,aAAa,CAAe;SAClC;QAEJ,oCAAS,GAAT,UACE,GAAyB,EACzB,IAAiB;YAFnB,iBA8BC;YA1BC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBACzB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1BmC,oBAAU,CAAC,UAAC,KAAK;gBACf,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAqB,CAAC;gBAC7C,IAAM,YAAY,GAA8B;oBAC9C,cAAc,EAAE,IAAI;iBACrB,CAAC;gBACF,QAAQ,QAAQ,CAAC,UAAU;oBACzB,KAAK,GAAG;wBACN,KAAI,CAAC,aAAa,CAAC,KAAK,CACtB,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,IAAG,GAAG,IAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAA,EACrD,QAAQ,CAAC,OAAO,EAChB,YAAY,CACb,CAAC;wBACF,MAAM;oBAER;wBACE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC7D,MAAM;iBACT;gBACD,OAAOC,eAAU,CAAC,KAAK,CAAC,CAAC;aAC1B,CAAC,CACH,CAAC;SACH;QAED,sCAAW,GAAX,UAAY,GAAqB;;;gBAC/B,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAA,gBAAA,4BAAE;oBAArC,IAAM,GAAG,WAAA;oBACZ,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;wBAC3D,OAAO,IAAI,CAAC;qBACb;iBACF;;;;;;;;;YACD,OAAO,KAAK,CAAC;SACd;;;uIA7CU,gBAAgB;2IAAhB,gBAAgB;qHAAhB,gBAAgB;sBAD5BpC,aAAU;;;;QCJT;YADO,gBAAW,GAAG,IAAIO,oBAAe,CAAe,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;SACjD;QAEhB,8BAAQ,GAAR;;YACE,OAAO,MAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;SAC5C;QAED,qCAAe,GAAf;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxC;QAED,oCAAc,GAAd;YACE,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAkB,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,GAAG,EAAE,YAAY,CAAC,GAAG;aACtB,CAAC,CAAC;SACJ;QAEO,+BAAS,GAAT,UAAU,KAAa;YAC7B,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAM,WAAW,GAAG,kBAAkB,CACpC,IAAI,CAAC,MAAM,CAAC;iBACT,KAAK,CAAC,EAAE,CAAC;iBACT,GAAG,CAAC,UAAC,CAAC;gBACL,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9D,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAChC;;;kIAlCU,WAAW;sIAAX,WAAW,cAFV,MAAM;qHAEP,WAAW;sBAHvBP,aAAU;uBAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;QCSC,0BAAoB,WAAwB,EAAU,IAAgB;YAAlD,gBAAW,GAAX,WAAW,CAAa;YAAU,SAAI,GAAJ,IAAI,CAAY;SAAI;QAE1E,oCAAS,GAAT,UACE,OAA6B,EAC7B,IAAiB;YAEjB,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,KAAK,EAAE;gBACT,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;oBACtB,UAAU,EAAE;wBACV,aAAa,EAAE,YAAU,KAAO;qBACjC;iBACF,CAAC,CAAC;aACJ;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC7B;QAEO,qCAAU,GAAV,UAAW,KAAa;;YAC9B,IAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACvC,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAkB,CAAC;YACxE,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,MAAA,YAAY,CAAC,GAAG,mCAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACzD,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,EAAE;gBACxB,QAAQ,CAAC,OAAO,CAAC,qBAAqB,GAAG,YAAY,CAAC,CAAC;gBACvD,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,IAAI;qBACN,GAAG,CAAO,oCAAoC,EAAE;oBAC/C,OAAO,EAAE,EAAE,aAAa,EAAE,YAAU,KAAO,EAAE;iBAC9C,CAAC;qBACD,SAAS,CAAC,UAAC,IAAI;oBACd,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC3D,CAAC,CAAC;aACN;SACF;QAEO,sCAAW,GAAX,UAAY,OAAyB;YAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;gBAClE,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACd;;;uIA7CU,gBAAgB;2IAAhB,gBAAgB;qHAAhB,gBAAgB;sBAD5BA,aAAU;;;;QCNT;SAAgB;QAEhB,0CAAa,GAAb,UACE,QAAgB,EAChB,WAA0B,EAC1B,WAAuB;;YADvB,4BAAA,EAAA,0BAA0B;YAC1B,4BAAA,EAAA,uBAAuB;;YAEvB,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,QAAQ,CAAC;;YAE9D,IAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;YACnE,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACtC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,CAAA,KAAA,SAAS,CAAC,SAAS,EAAC,MAAM,WAAI,CAAC,YAAY,CAAC,EAAE;;YAE9C,SAAS,CAAC,WAAW,CACnB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC3D,CAAC;;YAEF,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACvD,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,SAAS,CAAC,KAAK,OAAf,SAAS,EAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;SAC1C;QAED,8CAAiB,GAAjB,UACE,QAAuB,EACvB,WAA0B,EAC1B,WAAuB;;YADvB,4BAAA,EAAA,0BAA0B;YAC1B,4BAAA,EAAA,uBAAuB;;YAEvB,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAC;;YAEhE,IAAM,QAAQ,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;YAClE,IAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACrC,CAAA,KAAA,QAAQ,CAAC,SAAS,EAAC,MAAM,WAAI,CAAC,WAAW,CAAC,EAAE;YAC5C,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;;YAExB,QAAQ,CAAC,WAAW,CAClB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC3D,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;gBACnE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACvB,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/C,OAAO,CAAC,WAAW,CACjB,IAAI,CAAC,UAAU,CACb,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EACnB,WAAW,CACZ,CACF,CAAC;oBACF,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACjD,SAAS,CAAC,KAAK,OAAf,SAAS,EAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;iBAC1C;qBAAM;oBACL,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBACnE,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACjD,SAAS,CAAC,KAAK,OAAf,SAAS,EAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;iBAC1C;aACF;SACF;QAED,8CAAiB,GAAjB,UACE,QAAuB,EACvB,WAA0B,EAC1B,WAAuB;YADvB,4BAAA,EAAA,0BAA0B;YAC1B,4BAAA,EAAA,uBAAuB;YAEvB,IAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CACzC,YAAY,CACM,CAAC;YACrB,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;YAC3B,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CACjB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CACxE,CAAC;YACF,IAAM,KAAK,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;gBACnE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACvB,IAAM,SAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/C,SAAO,CAAC,WAAW,CACjB,IAAI,CAAC,UAAU,CACb,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EACnB,WAAW,CACZ,CACF,CAAC;oBACF,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACjD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,OAAhB,SAAS,EAAW,CAAC,SAAS,EAAE,SAAO,CAAC,CAAC,CAAC;iBAC3C;qBAAM;oBACL,IAAM,SAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oBACnE,IAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACjD,SAAS,CAAC,KAAK,OAAf,SAAS,EAAU,CAAC,SAAS,EAAE,SAAO,CAAC,EAAE;iBAC1C;aACF;SACF;QAED,iDAAoB,GAApB;;YACE,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,QAAQ,CAAC;YAC9D,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;YACxC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,uDAA0B,GAA1B,UAA2B,QAAgB;;YACzC,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAC/C,QAA0B,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,IAAI,EAAE,MAAK,QAAQ,EAAE;oBAC1C,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;iBACP;aACF;YACD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC7B,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,0CAAE,MAAM,EAAE,CAAC;gBAC7B,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,0CAAE,MAAM,EAAE,CAAC;aAC9B;iBAAM;gBACL,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,0CAAE,MAAM,EAAE,CAAC;gBAC7B,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;aAClC;YACD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;QAED,0DAA6B,GAA7B,UAA8B,MAAc;;YAC1C,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,QAA0B,CAAC;YAChF,OAAO,MAAM,GAAG,CAAC,EAAE;gBACjB,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;gBACxC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;gBACxC,MAAM,EAAE,CAAC;aACV;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;QAEO,uCAAU,GAAV,UACN,SAAiB,EACjB,IAAmB,EACnB,OAAe;;YAEf,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;YACvB,CAAA,KAAA,IAAI,CAAC,SAAS,EAAC,GAAG,WAAI,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;QAEO,uCAAU,GAAV,UAAW,SAAiB,EAAE,OAAe;;YACnD,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAA,KAAA,IAAI,CAAC,SAAS,EAAC,GAAG,WAAI,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;YACjC,OAAO,IAAI,CAAC;SACb;QAEO,2CAAc,GAAd,UAAe,KAAsB;;;YAC3C,IAAM,QAAQ,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;YAClE,IAAM,YAAY,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CACtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAsB,CAAC;YAC1C,QAAQ,aAAR,QAAQ,uBAAR,CAAA,KAAA,QAAQ,CAAE,SAAS,EAAC,GAAG,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3C,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;SAC7C;;;yIAtKU,kBAAkB;6IAAlB,kBAAkB,cAFjB,MAAM;qHAEP,kBAAkB;sBAH9BA,aAAU;uBAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;ICLD;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ng-ipa-library.umd.js","sources":["../../../projects/ng-ipa-library/src/lib/pipes/hijri-date.pipe.ts","../../../projects/ng-ipa-library/src/lib/pipes/pipes.module.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/ipa-form.service.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/text-input/text-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/textarea-input/textarea-input.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/dropdown-input/dropdown-input.component.html","../../../projects/ng-ipa-library/src/lib/core/services/loader.service.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.ts","../../../projects/ng-ipa-library/src/lib/core/components/loading/loading.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/file-upload/file-upload.component.html","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.ts","../../../projects/ng-ipa-library/src/lib/generate-form/generate-form.component.html","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/datepicker.component.html","../../../node_modules/tslib/tslib.es6.js","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/IslamicI18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian18n.ts","../../../projects/ng-ipa-library/src/lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.ts","../../../projects/ng-ipa-library/src/lib/share-button/share-button.component.html","../../../projects/ng-ipa-library/src/lib/share-button/share-button.module.ts","../../../projects/ng-ipa-library/src/lib/ng-ipa-library.module.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/loading.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/error.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/error.interceptor.ts","../../../projects/ng-ipa-library/src/lib/core/services/auth.service.ts","../../../projects/ng-ipa-library/src/lib/core/interceptors/token.interceptor.ts","../../../projects/ng-ipa-library/src/lib/services/breadcrumbs.service.ts","../../../projects/ng-ipa-library/src/public-api.ts","../../../projects/ng-ipa-library/src/ng-ipa-library.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport momentHijri from 'moment-hijri';\n@Pipe({\n name: 'hijriDate',\n})\nexport class HijriDatePipe implements PipeTransform {\n transform(\n date: string,\n format: string = 'iYYYY-iMM-iDD',\n lang: 'ar' | 'en' = 'en'\n ): string {\n momentHijri.locale(lang);\n return momentHijri(date).format(format);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HijriDatePipe } from './hijri-date.pipe';\n\n@NgModule({\n declarations: [HijriDatePipe],\n exports: [HijriDatePipe],\n})\nexport class PipesModule {}\n","import { Injectable } from '@angular/core';\r\nimport { FormControl, ValidationErrors } from '@angular/forms';\r\nimport momentHijri from 'moment-hijri';\r\nimport { Moment } from 'moment';\r\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IPAFormService {\r\n constructor(private parserFormatter: NgbDateParserFormatter) {}\r\n\r\n static linkValidation(control: FormControl): ValidationErrors {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?)$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value\r\n ? { pattern: { required: false } }\r\n : { pattern: { required: true } };\r\n }\r\n\r\n static mp4LinkValidation(control: FormControl): ValidationErrors {\r\n const isValidLink =\r\n /^((https?:\\/\\/)[\\w-]+(\\.[a-z-]+)+\\.?(:\\d+)?(\\/\\S*)?(\\/[\\w\\u0600-\\u06FF]+\\.mp4))$/.test(\r\n control.value\r\n );\r\n return isValidLink || !control.value\r\n ? { pattern: { required: false } }\r\n : { pattern: { required: true } };\r\n }\r\n\r\n getErrorMessage(control: FormControl, patternErrorMsg = ''): string | null {\r\n for (const propertyName in control?.errors) {\r\n if (\r\n control?.errors.hasOwnProperty(propertyName) &&\r\n (control.touched || control.dirty)\r\n ) {\r\n return this.getValidatorErrorMessage(\r\n propertyName,\r\n control.errors[propertyName],\r\n patternErrorMsg\r\n );\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private getValidatorErrorMessage(\r\n validatorName: string,\r\n validatorValue: any,\r\n patternErrorMsg: string\r\n ): string {\r\n if (validatorName === 'pattern') {\r\n validatorValue = this.addPatternMsg(validatorValue, patternErrorMsg);\r\n }\r\n const config: any = {\r\n required: 'هذا الحقل مطلوب',\r\n pattern: `${validatorValue.message}`,\r\n email: 'خطأ في البريد الالكتروني مثال (example@ipa.edu.sa)',\r\n maxlength: `تجاوز عدد الحقل المسموح بها (${validatorValue.requiredLength}) حرف`,\r\n minlength: `على الأقل عدد ${validatorValue.requiredLength} حرف.`,\r\n min: `رقم اكبر من أو يساوي ${validatorValue.min}`,\r\n max: `رقم اصغر من أو يساوي ${validatorValue.max}`,\r\n ngbDate: this.getNgbDatepickerErrorMsg(validatorValue),\r\n };\r\n console.log(validatorValue);\r\n \r\n return config[validatorName];\r\n }\r\n\r\n private addPatternMsg(validatorValue: any, patternErrorMsg: string) {\r\n let pattern = {\r\n ...validatorValue,\r\n message: patternErrorMsg,\r\n };\r\n return pattern;\r\n }\r\n\r\n private getNgbDatepickerErrorMsg(validatorValue: any): string {\r\n let msg = '';\r\n if (validatorValue.maxDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.maxDate.actual\r\n )}\" اكبر من تاريخ اليوم \"${this.parserFormatter.format(\r\n validatorValue.maxDate.maxDate\r\n )}\"`;\r\n } else if (validatorValue.minDate) {\r\n msg = `التاريخ المدخل \"${this.parserFormatter.format(\r\n validatorValue.minDate.actual\r\n )}\" يجب ان يكون اكبر من أو يساوي تاريخ البداية \"${this.parserFormatter.format(\r\n validatorValue.minDate.minDate\r\n )}\"`;\r\n } else if (validatorValue.invalid) {\r\n msg = `التاريخ المدخل غير صحيح ${validatorValue.invalid}.`;\r\n }\r\n return msg;\r\n }\r\n\r\n /**\r\n * convert gregorian date to hijri date (Based on Umm al-Qura calculations).\r\n * @param date: gregorian date\r\n * @param format: iDD => day: ١٥, iMM => month: ٠٤, iMMM => month: ربيع ٢,\r\n * iMMMM => ربيع الثاني, iYY => year: ٤٢, iYYYY => year: ١٤٤٢,\r\n * dd => ن, ddd => إثنين, dddd => الإثنين\r\n * @example 'iYYYY/iM/iDهـ الموافق YYYY/M/Dم'\r\n * '١٤٤٢/٠٤/١٥هـ الموافق ٢٠٢٠/١١/٣٠'\r\n */\r\n convertToHijriDate(\r\n date: string,\r\n format = 'iYYYY-iMM-iDD',\r\n lang = 'ar-SA'\r\n ): string {\r\n momentHijri.locale(lang);\r\n return momentHijri(date).format(format);\r\n }\r\n\r\n convertToGregorianDate(\r\n date: Moment,\r\n format = 'YYYY-MM-DD',\r\n lang = 'en'\r\n ): string {\r\n momentHijri.locale(lang);\r\n const m = momentHijri.iConvert.toGregorian(\r\n date.year(),\r\n date.month(),\r\n date.date()\r\n );\r\n return momentHijri(new Date(m.gy, m.gm, m.gd)).format(format);\r\n }\r\n\r\n getCurrentHijriDate() {\r\n momentHijri.locale('en');\r\n return momentHijri().format('iYYYY/iMM/iDD');\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-text-input',\r\n templateUrl: './text-input.component.html',\r\n styleUrls: ['./text-input.component.scss'],\r\n})\r\nexport class TextInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input!: ElementRef;\r\n @Input() id!: string;\r\n @Input() type = 'text';\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'text input';\r\n @Input() required = true;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern = '';\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <input #input id=\"{{id}}\" class=\"form-control {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-textarea-input',\r\n templateUrl: './textarea-input.component.html',\r\n styleUrls: ['./textarea-input.component.scss'],\r\n})\r\nexport class TextareaInputComponent implements OnInit {\r\n @ViewChild('input', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() placeholder = 'please enter text';\r\n @Input() label: string = 'textarea input';\r\n @Input() required = true;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\r\n (blur)=\"onTouched()\">\r\n </textarea>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n Self,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { IPAFormService } from '../ipa-form.service';\r\n\r\n@Component({\r\n selector: 'ipa-dropdown-input',\r\n templateUrl: './dropdown-input.component.html',\r\n styleUrls: ['./dropdown-input.component.scss'],\r\n})\r\nexport class DropdownInputComponent implements OnInit {\r\n @ViewChild('select', { static: true }) input: ElementRef<any> =\r\n new ElementRef<any>(null);\r\n @Input() id!: string;\r\n @Input() label: string = 'text input';\r\n @Input() items: any[] = [];\r\n @Input() textField!: string;\r\n @Input() valueField!: string;\r\n @Input() required = true;\r\n @Input() disabled = false;\r\n @Input() patternErrorMsg = 'invalid pattern';\r\n @Input() pattern!: string;\r\n @Input() classes!: string;\r\n @Input() containerClasses!: string;\r\n formControl: FormControl = new FormControl('');\r\n errorMsg!: string | null;\r\n\r\n constructor(\r\n private validationService: IPAFormService,\r\n @Self() public controlDir: NgControl\r\n ) {\r\n this.controlDir.valueAccessor = this;\r\n }\r\n\r\n ngOnInit(): void {\r\n const control = this.controlDir.control;\r\n const validators = control?.validator ? [control.validator] : [];\r\n\r\n control?.setValidators(validators);\r\n control?.updateValueAndValidity();\r\n this.formControl = control as FormControl;\r\n }\r\n\r\n onChange(event: any): void {}\r\n\r\n onTouched(): void {}\r\n writeValue(obj: any): void {\r\n this.input.nativeElement.value = obj || '';\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n get errorMessage(): string | null {\r\n this.errorMsg = this.validationService.getErrorMessage(\r\n this.formControl,\r\n this.patternErrorMsg\r\n );\r\n return this.errorMsg;\r\n }\r\n}\r\n","<div class=\"form-floating {{containerClasses}}\"\r\n [ngClass]=\"{'was-validated': (controlDir.control?.dirty || controlDir.control?.touched) && required}\">\r\n <select #select id=\"{{id}}\" class=\"form-select {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\r\n [formControl]=\"formControl\">\r\n <option *ngFor=\"let item of items\" [value]=\"valueField ? item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</option>\r\n </select>\r\n <label for=\"{{id}}\">{{label}}</label>\r\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\r\n {{errorMsg}}\r\n </div>\r\n</div>","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoaderService {\r\n public isLoading = new BehaviorSubject(false);\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\n\r\n@Component({\r\n selector: 'ipa-loader',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\nexport class LoaderComponent implements AfterViewInit {\r\n loading!: boolean;\r\n\r\n constructor(\r\n private loaderService: LoaderService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.loaderService.isLoading.subscribe((v) => {\r\n this.loading = v;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n}\r\n","<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { DropzoneConfigInterface, DropzoneDirective } from 'ngx-dropzone-wrapper';\n\n@Component({\n selector: 'ipa-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss']\n})\nexport class FileUploadComponent implements OnInit {\n @ViewChild(DropzoneDirective, { static: false })\n dropzoneDir!: DropzoneDirective;\n @Input() label = '';\n @Input() acceptedFiles = '';\n @Input() multiple = 1; // set maxFiles (NOT uploadMultiple)in the config object,\n @Input() maxFileSize = 2;\n @Input() method = 'POST';\n @Input() autoUpload = false;\n @Input() apiUrl = 'apiUrl';\n @Input() authorization!: string;\n @Output() successUpload = new EventEmitter();\n @Output() fileAdded = new EventEmitter();\n @Output() fileDeleted = new EventEmitter();\n dragEnter = false;\n errors: string[] = [];\n config!: DropzoneConfigInterface;\n filesAdded: File[] = [];\n currentFiles: File[] = [];\n\n constructor(\n // private authService: AuthService,\n private toastrService: ToastrService\n ) {}\n\n ngOnInit(): void {\n this.label = 'رفع ' + this.label;\n this.config = {\n url: this.apiUrl,\n method: this.method,\n headers: {\n Authorization: 'Bearer ' + this.authorization,\n },\n maxFilesize: this.maxFileSize,\n maxFiles: this.multiple,\n uploadMultiple: this.multiple > 1,\n dictInvalidFileType: 'صيغة الملف غير مسموح بها',\n dictFileTooBig: 'الحجم تجاوز الحد المسموح',\n dictMaxFilesExceeded:\n 'الرجاء حذف الملفات الموجودة حاليا لتتمكن من رفع هذا الملف',\n acceptedFiles: this.acceptedFiles,\n autoProcessQueue: this.autoUpload,\n previewTemplate: '<span></span>',\n };\n }\n\n operationCompleted(e: any): void {\n if (this.filesAdded.length > 0) {\n this.successUpload.emit(this.filesAdded);\n this.filesAdded = [];\n }\n this.dropzoneDir.reset();\n }\n\n onUploadSuccess(e: any): void {\n const file = e[0];\n if (file.status === 'success') {\n this.filesAdded.push(file);\n }\n\n this.toastrService.success('تم تحميل المرفقات بنجاح');\n }\n\n onUploadError(e: any): void {\n if (e[1]) {\n this.errors = [];\n this.errors.push(`${e[1]} (${e[0].name})`);\n }\n }\n\n fileWasAdded(e: File): void {\n const myDropzone = this.dropzoneDir.dropzone();\n if (this.multiple === 1) {\n this.currentFiles = [];\n this.filesAdded = [];\n this.errors = [];\n const files = myDropzone.files;\n if (files.length > 1) {\n myDropzone.removeFile(files[0]);\n }\n }\n this.currentFiles.push(e);\n this.fileAdded.emit(e);\n }\n\n sending(e: any): void {\n this.errors = [];\n }\n\n reset(e: any): void {}\n\n deleteFile(file: any): void {\n this.currentFiles = this.currentFiles.filter(\n (x) => x.name !== file.name && x.size !== file.size\n );\n this.errors = [];\n this.fileDeleted.emit();\n }\n}\n","<div class=\"file-upload\">\n <div class=\"upload-overlay\" [dropzone]=\"config\" (error)=\"onUploadError($event)\"\n (queueComplete)=\"operationCompleted($event)\" (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\"\n (dragLeave)=\"dragEnter = false\" (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\"\n [class.active-border]=\"dragEnter\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\">\n </div>\n <div class=\"upload-btn-wrapper\">\n <div>\n <div class=\"subtitle mb-2\">\n {{label}}\n </div>\n <hr>\n <span style=\"font-size: 12px;\">قم بسحب الملف أو اضغط هنا</span>\n <i class=\"fas fa-upload upload-icon mr-2\"></i>\n </div>\n <div *ngIf=\"acceptedFiles.length > 0\" class=\"allowed-extensions\">\n الصيغة المسموح بها:\n <span class=\"extensions\">{{ acceptedFiles }}</span>\n </div>\n <div class=\"allowed-extensions\">\n اقصى حجم للمرفق:\n <span class=\"extensions\">{{ maxFileSize }} MB</span>\n </div>\n </div>\n</div>\n<div id=\"attachment-status\" style=\"text-align: center; margin-top:10px;\">\n <span style=\"font-size: 14px; margin: auto; font-weight:bold;\" *ngFor=\"let file of currentFiles\">\n {{ file.name }} <i (click)=\"deleteFile(file)\" class=\"fas fa-trash\"\n style=\"color:firebrick; cursor: pointer;\"></i>\n <br>\n </span>\n <ul class=\"list-unstyled\">\n <li class=\"text-danger\" style=\"font-size: 12px;\" *ngFor=\"let error of errors\">{{error}}</li>\n </ul>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormArray,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { IPAFormService } from '../ipa-form/ipa-form.service';\nimport { Columns, GenerateForm } from '../models/generateForm.model';\n\n@Component({\n selector: 'ipa-generate-form',\n templateUrl: './generate-form.component.html',\n styleUrls: ['./generate-form.component.scss'],\n})\nexport class GenerateFormComponent implements OnInit {\n @Input() generateForm!: FormGroup;\n @Input() form!: GenerateForm;\n\n // recaptcha inputs\n @Input() siteKey!: string;\n @Input() recaptchaSize: 'compact' | 'normal' = 'normal';\n @Input() lang = 'ar';\n @Input() recaptchaType: 'image' | 'audio' = 'image';\n @Input() theme: 'light' | 'dark' = 'light';\n @Input() useGlobalDomain = true;\n\n // file upload inputs\n @Input() authorization!: string;\n\n // file upload outputs\n @Output() successUpload = new EventEmitter();\n @Output() fileAdded = new EventEmitter();\n @Output() fileDeleted = new EventEmitter();\n\n //recaptcha outputs\n @Output() recaptchaOutput = new EventEmitter();\n errorMsg!: string | null;\n\n constructor(private validationService: IPAFormService) {}\n\n ngOnInit(): void {\n this.createForm();\n }\n\n get formControls() {\n return this.generateForm.get('items') as FormArray;\n }\n\n getErrorMessage(formControlName: string): string | null {\n const formControl = this.generateForm.controls[\n formControlName\n ] as FormControl;\n this.errorMsg = this.validationService.getErrorMessage(formControl);\n return this.errorMsg;\n }\n\n SuccessUpload(event: any) {\n this.successUpload.emit(event);\n }\n\n FileAdded(file: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(file);\n this.fileAdded.emit(file);\n }\n\n FileDeleted(event: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(null);\n this.fileDeleted.emit(event);\n }\n\n handleReset() {}\n\n handleExpire() {}\n\n handleLoad() {}\n\n handleSuccess(event: any, formControlName: string) {\n this.generateForm.controls[formControlName].patchValue(event);\n this.recaptchaOutput.emit(event);\n }\n\n private createForm() {\n this.form.columns.forEach((column) => {\n if (column.type === 'checkbox') {\n this.addCheckboxControl(column);\n } else {\n this.generateForm.addControl(\n column.englishName,\n new FormControl(null, [\n column.required ? Validators.required : Validators.nullValidator,\n Validators.maxLength(column.size),\n column.type === 'number'\n ? Validators.min(1)\n : Validators.nullValidator,\n ])\n );\n }\n this.assignRecaptchaData(column);\n });\n }\n\n private addCheckboxControl(column: Columns) {\n let checkboxGroup = new FormArray(\n column.data.map((item) => {\n return new FormGroup({\n [column.valueField]: new FormControl(item[column.valueField]),\n [column.textField]: new FormControl(item[column.textField]),\n checkbox: new FormControl(false, Validators.required),\n });\n })\n );\n\n this.generateForm.addControl(\n column.englishName,\n new FormControl(\n null,\n column.required ? Validators.required : Validators.nullValidator\n )\n );\n this.generateForm.addControl('items', checkboxGroup);\n checkboxGroup.valueChanges.subscribe((value) => {\n if (this.getCheckboxSelectedValues(value)) {\n this.generateForm.controls[column.englishName].patchValue(value);\n } else {\n this.generateForm.controls[column.englishName].patchValue(null);\n this.generateForm.controls[column.englishName].markAsTouched();\n }\n });\n }\n\n private getCheckboxSelectedValues(items: any[]) {\n let selecedItems = items.filter((item) => item.checkbox);\n return selecedItems.length > 0 ? selecedItems : null;\n }\n\n private assignRecaptchaData(col: Columns) {\n this.siteKey = col.siteKey ?? this.siteKey;\n this.recaptchaSize =\n col.recaptchaSize == 'compact'\n ? 'compact'\n : col.recaptchaSize == 'normal'\n ? 'normal'\n : this.recaptchaSize;\n this.lang = col.lang ?? this.lang;\n this.recaptchaType =\n col.recaptchaType == 'image'\n ? 'image'\n : col.recaptchaType == 'audio'\n ? 'audio'\n : this.recaptchaType;\n this.theme =\n col.theme == 'dark'\n ? 'dark'\n : col.theme == 'light'\n ? 'light'\n : this.theme;\n this.useGlobalDomain = col.useGlobalDomain ?? this.useGlobalDomain;\n }\n}\n","<form [formGroup]=\"generateForm\">\r\n <ng-container *ngFor=\"let column of form.columns\">\r\n <div [ngSwitch]=\"column.type\">\r\n <!-- TEXTAREA -->\r\n <div *ngSwitchCase=\"'textArea'\">\r\n <ipa-textarea-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-textarea-input>\r\n </div>\r\n\r\n <!-- DROP DOWN LIST -->\r\n <div *ngSwitchCase=\"'select'\">\r\n <ipa-dropdown-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\"\r\n [label]=\"column.arabicLabel\" [items]=\"column.data\" [valueField]=\"column.valueField\"\r\n [textField]=\"column.textField\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\">\r\n </ipa-dropdown-input>\r\n </div>\r\n\r\n <!-- CHECKBOX -->\r\n <div *ngSwitchCase=\"'checkbox'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div [formArrayName]=\"'items'\" *ngFor=\"let control of formControls.controls; let i = index\">\r\n <div [formGroupName]=\"i\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+control.value.id\" class=\"form-check-input\" type=\"checkbox\"\r\n formControlName=\"checkbox\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+control.value.id\">\r\n {{control.value.description}}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- RADIO -->\r\n <div *ngSwitchCase=\"'radio'\">\r\n <label [for]=\"column.englishName\">{{column.arabicLabel}}</label>\r\n <div *ngFor=\"let item of column.data; let i = index\" [id]=\"column.englishName\">\r\n <div class=\"form-check\">\r\n <input [id]=\"column.englishName+item.id\" class=\"form-check-input\" type=\"radio\"\r\n [formControlName]=\"column.englishName\" [value]=\"item.id\">\r\n <label class=\"form-check-label\" [for]=\"column.englishName+item.id\">\r\n {{item.description}}\r\n </label>\r\n </div>\r\n </div>\r\n <div class=\"invalid-feedback\" style=\"display: block !important;\"\r\n *ngIf=\"getErrorMessage(column.englishName) !== null\">\r\n {{errorMsg}}\r\n </div>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'file'\">\r\n <ipa-file-upload [label]=\"column.arabicLabel\" [acceptedFiles]=\"column.acceptedFiles\"\r\n [multiple]=\"column.multipleFile\" [maxFileSize]=\"column.size\" [method]=\"column.apiURlMethod\"\r\n [autoUpload]=\"column.autoUploadFile\" [apiUrl]=\"column.apiUrl\" [authorization]=\"authorization\"\r\n ngDefaultControl [formControlName]=\"column.englishName\" (successUpload)=\"SuccessUpload($event)\"\r\n (fileAdded)=\"FileAdded($event, column.englishName)\"\r\n (fileDeleted)=\"FileDeleted($event, column.englishName)\"></ipa-file-upload>\r\n </div>\r\n\r\n <!-- FILE UPLOAD -->\r\n <div *ngSwitchCase=\"'recaptcha'\">\r\n <ngx-recaptcha2 [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\"\r\n [type]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\" (reset)=\"handleReset()\"\r\n (expire)=\"handleExpire()\" (load)=\"handleLoad()\"\r\n (success)=\"handleSuccess($event, column.englishName)\" formControlName=\"{{column.englishName}}\">\r\n </ngx-recaptcha2>\r\n </div>\r\n\r\n <!-- DEFAULT -->\r\n <div *ngSwitchDefault>\r\n <ipa-text-input [formControlName]=\"column.englishName\" [id]=\"column.englishName\" [type]=\"column.type\"\r\n [label]=\"column.arabicLabel\" [required]=\"column.required\" [pattern]=\"column.pattern\"\r\n [patternErrorMsg]=\"column.patternErrorMsg\" [classes]=\"column.classes\"\r\n [containerClasses]=\"column.containerClasses\"></ipa-text-input>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</form>","import { Component, Input, OnInit, Self } from '@angular/core';\nimport { FormControl, NgControl } from '@angular/forms';\nimport {\n NgbCalendar,\n NgbDateStruct,\n NgbInputDatepickerConfig,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { IPAFormService } from '../ipa-form.service';\n\n@Component({\n selector: 'ipa-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n})\nexport class DatepickerComponent implements OnInit {\n @Input() id!: string;\n @Input() label = 'datepicker';\n @Input() patternErrorMsg = 'invalid pattern';\n @Input() required = false;\n @Input() maxDate!: NgbDateStruct;\n @Input() minDate!: NgbDateStruct;\n @Input() classes!: string;\n @Input() containerClasses!: string;\n today = this.calendar.getToday();\n formControl: FormControl = new FormControl('');\n errorMsg!: string | null;\n\n constructor(\n private ipaFormService: IPAFormService,\n private calendar: NgbCalendar,\n @Self() public controlDir: NgControl,\n config: NgbInputDatepickerConfig\n ) {\n this.controlDir.valueAccessor = this;\n config.container = 'body';\n }\n\n ngOnInit(): void {\n const control = this.controlDir.control;\n const validators = control?.validator ? [control.validator] : [];\n\n control?.setValidators(validators);\n control?.updateValueAndValidity();\n this.formControl = control as FormControl;\n }\n\n onChange(event: any): void {}\n\n onTouched(): void {}\n writeValue(obj: any): void {}\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n get errorMessage(): string | null {\n this.errorMsg = this.ipaFormService.getErrorMessage(\n this.formControl,\n this.patternErrorMsg\n );\n return this.errorMsg;\n }\n}\n","<div class=\"form-floating {{containerClasses}}\">\n <input id=\"{{id}}\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && required,'is-valid is-valid:focus': (controlDir.control?.valid && (controlDir.control?.dirty || controlDir.control?.touched) && required)}\"\n class=\"form-control {{classes}}\" [formControl]=\"formControl\" (click)=\"d.toggle()\" [firstDayOfWeek]=\"7\"\n ngbDatepicker #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [footerTemplate]=\"footerTemplate\"\n [required]=\"required\" style=\"outline: unset;\" autocomplete=\"off\" (blur)=\"onTouched()\">\n <label for=\"{{id}}\">{{label}}</label>\n <div class=\"invalid-feedback\" *ngIf=\"errorMessage !== null\">\n {{errorMsg}}\n </div>\n <ng-template #footerTemplate style=\"text-align: center;\">\n <hr>\n <button type=\"button\" class=\"btn btn-primary btn-sm m-2 \" style=\"width: auto; float: right;\"\n (click)=\"formControl.patchValue(today);d.navigateTo(today);\">اليوم</button>\n <button type=\"button\" class=\"btn btn-secondary btn-sm m-2\" style=\"width: auto; float: left;\"\n (click)=\"formControl.patchValue(null);d.close()\">مسح</button>\n </ng-template>\n</div>","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'محرم',\r\n 'صفر',\r\n 'ربيع الأول',\r\n 'ربيع الآخر',\r\n 'جمادى الأولى',\r\n 'جمادى الآخرة',\r\n 'رجب',\r\n 'شعبان',\r\n 'رمضان',\r\n 'شوال',\r\n 'ذو القعدة',\r\n 'ذو الحجة',\r\n];\r\n\r\n@Injectable()\r\nexport class IslamicI18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { NgbCalendar, NgbCalendarIslamicUmalqura, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { DatepickerComponent } from '../datepicker.component';\nimport { IslamicI18n } from './IslamicI18n';\n@Component({\n selector: 'ipa-hijri-datepicker',\n templateUrl: '../datepicker.component.html',\n styleUrls: ['../datepicker.component.scss'],\n providers: [\n { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },\n { provide: NgbDatepickerI18n, useClass: IslamicI18n },\n ],\n})\nexport class HijriDatepickerComponent extends DatepickerComponent {}\n","import { TranslationWidth } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nconst WEEKDAYS = ['ن', 'ث', 'ر', 'خ', 'ج', 'س', 'ح'];\r\nconst MONTHS = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'اغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر',\r\n];\r\n\r\n@Injectable()\r\nexport class Gregorian18n extends NgbDatepickerI18n {\r\n getMonthShortName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getMonthFullName(month: number) {\r\n return MONTHS[month - 1];\r\n }\r\n\r\n getWeekdayLabel(weekday: number, width?: TranslationWidth) {\r\n return WEEKDAYS[weekday - 1];\r\n }\r\n\r\n getDayAriaLabel(date: NgbDateStruct): string {\r\n return `${date.day}-${date.month}-${date.year}`;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { NgbCalendar, NgbCalendarGregorian, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport { DatepickerComponent } from '../datepicker.component';\nimport { Gregorian18n } from './gregorian18n';\n\n@Component({\n selector: 'ipa-gregorian-datepicker',\n templateUrl: '../datepicker.component.html',\n styleUrls: ['../datepicker.component.scss'],\n providers: [\n { provide: NgbCalendar, useClass: NgbCalendarGregorian},\n { provide: NgbDatepickerI18n, useClass: Gregorian18n },\n ],\n})\nexport class GregorianDatepickerComponent extends DatepickerComponent {}\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'ipa-share-button',\n templateUrl: './share-button.component.html',\n styleUrls: ['./share-button.component.scss'],\n})\nexport class ShareButtonComponent implements AfterViewInit {\n constructor() {}\n ngAfterViewInit(): void {\n const elements = document.getElementsByClassName('sb-show-icon');\n elements[0].setAttribute('type', 'button');\n }\n}\n","<share-popup-button [icon]=\"''\" [include]=\"['facebook','twitter','linkedin','telegram','whatsapp','email','copy']\" >مشاركة</share-popup-button>","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport {\n FaIconLibrary,\n FontAwesomeModule,\n} from '@fortawesome/angular-fontawesome';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { ShareIconsModule } from 'ngx-sharebuttons/icons';\nimport { ShareButtonsPopupModule } from 'ngx-sharebuttons/popup';\nimport { ShareButtonComponent } from './share-button.component';\n\n@NgModule({\n declarations: [ShareButtonComponent],\n imports: [\n ShareIconsModule,\n ShareButtonsPopupModule,\n OverlayModule,\n FontAwesomeModule,\n ],\n exports: [\n ShareButtonComponent,\n ShareIconsModule,\n ShareButtonsPopupModule,\n OverlayModule,\n FontAwesomeModule,\n ]\n})\nexport class ShareButtonModule {\n constructor(library: FaIconLibrary) {\n library.addIconPacks(fas);\n }\n}\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { DropzoneModule } from 'ngx-dropzone-wrapper';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { TextInputComponent } from './ipa-form/text-input/text-input.component';\r\nimport { TextareaInputComponent } from './ipa-form/textarea-input/textarea-input.component';\r\nimport { DropdownInputComponent } from './ipa-form/dropdown-input/dropdown-input.component';\r\nimport { LoaderComponent } from './core/components/loading/loading.component';\r\nimport { GenerateFormComponent } from './generate-form/generate-form.component';\r\nimport { FileUploadComponent } from './ipa-form/file-upload/file-upload.component';\r\nimport { DatepickerComponent } from './ipa-form/datepicker/datepicker.component';\r\nimport { HijriDatepickerComponent } from './ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nimport { GregorianDatepickerComponent } from './ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nimport { ShareButtonModule } from './share-button/share-button.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n declarations: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n DatepickerComponent,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule,\r\n DropzoneModule,\r\n NgxCaptchaModule,\r\n PipesModule,\r\n NgbDatepickerModule,\r\n ShareButtonModule,\r\n ],\r\n exports: [\r\n TextInputComponent,\r\n TextareaInputComponent,\r\n DropdownInputComponent,\r\n LoaderComponent,\r\n GenerateFormComponent,\r\n FileUploadComponent,\r\n PipesModule,\r\n HijriDatepickerComponent,\r\n GregorianDatepickerComponent,\r\n ShareButtonModule,\r\n ],\r\n})\r\nexport class NgIPALibraryModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { LoaderService } from '../services/loader.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest<any>[] = [];\r\n\r\n constructor(private loaderService: LoaderService) {}\r\n\r\n removeRequest(req: HttpRequest<any>): void {\r\n const i = this.requests.indexOf(req);\r\n if (i >= 0) {\r\n this.requests.splice(i, 1);\r\n }\r\n this.loaderService.isLoading.next(this.requests.length > 0);\r\n }\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n this.requests.push(req);\r\n\r\n this.loaderService.isLoading.next(true);\r\n return new Observable((observer) => {\r\n const subscription = next.handle(req).subscribe(\r\n (event) => {\r\n if (event instanceof HttpResponse) {\r\n this.removeRequest(req);\r\n observer.next(event);\r\n }\r\n },\r\n (err) => {\r\n this.removeRequest(req);\r\n observer.error(err);\r\n },\r\n () => {\r\n this.removeRequest(req);\r\n observer.complete();\r\n }\r\n );\r\n // remove request from queue when cancelled\r\n return () => {\r\n this.removeRequest(req);\r\n subscription.unsubscribe();\r\n };\r\n });\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.loaderService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ExceptionUrl } from '../../models/exceptionUrl.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n urls: ExceptionUrl[] = [];\r\n constructor() {}\r\n\r\n setExceptionUrls(urls: ExceptionUrl[]) {\r\n this.urls = urls;\r\n }\r\n\r\n addExceptionUrl(url: ExceptionUrl) {\r\n this.urls.push(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorService } from '../services/error.service';\r\nimport { ApiException } from '../../models/apiException';\r\nimport { IndividualConfig, ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: ErrorService,\r\n private toastrService: ToastrService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<unknown>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<unknown>> {\r\n if (this.isException(req)) {\r\n return next.handle(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n catchError((error) => {\r\n const response = error.error as ApiException;\r\n const toastrConfig: Partial<IndividualConfig> = {\r\n disableTimeOut: true,\r\n };\r\n switch (response.statusCode) {\r\n case 500:\r\n this.toastrService.error(\r\n response?.innerException + ' ' + response?.stackTrace,\r\n response.message,\r\n toastrConfig\r\n );\r\n break;\r\n\r\n default:\r\n this.toastrService.error(response.message, '', toastrConfig);\r\n break;\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n isException(req: HttpRequest<any>): boolean {\r\n for (const url of this.errorService.urls) {\r\n if (req.url.includes(url.path) && req.method === url.method) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { DecodedToken } from '../../models/decodedToken.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n public currentUser = new BehaviorSubject<DecodedToken>({exp: 0});\n constructor() {}\n\n getToken(): string {\n return localStorage.getItem('token') ?? '';\n }\n\n getDecodedToken(): any {\n return this.decodeJwt(this.getToken());\n }\n\n setCurrentUser(): void {\n const decodedToken = this.getDecodedToken() as DecodedToken;\n this.currentUser.next({\n nameid: decodedToken.nameid,\n email: decodedToken.email,\n given_name: decodedToken.given_name,\n exp: decodedToken.exp,\n });\n }\n\n private decodeJwt(token: string): any {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join('')\n );\n return JSON.parse(jsonPayload);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpClient,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\nimport { DecodedToken } from '../../models/decodedToken.model';\nimport { User } from '../../models/user.model';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService, private http: HttpClient) {}\n\n intercept(\n request: HttpRequest<unknown>,\n next: HttpHandler\n ): Observable<HttpEvent<unknown>> {\n if (this.isException(request)) {\n return next.handle(request);\n }\n const token = this.authService.getToken();\n this.isTokenExp(token);\n if (token) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n },\n });\n }\n return next.handle(request);\n }\n\n private isTokenExp(token: string) {\n const redirectPath = location.pathname;\n const decodedToken = this.authService.getDecodedToken() as DecodedToken;\n const expDate = new Date((decodedToken.exp ?? 0) * 1000);\n if (expDate < new Date()) {\n location.replace('/ar/login?redirect=' + redirectPath);\n return;\n } else {\n this.http\n .get<User>(`http://172.16.17.99:6001/api/users`, {\n headers: { Authorization: `Bearer ${token}` },\n })\n .subscribe((user) => {\n localStorage.setItem('token', JSON.stringify(user.token));\n });\n }\n }\n\n private isException(request: HttpRequest<any>): boolean {\n if (request.url.includes('/api/users') && request.method === 'GET') {\n return true;\n }\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Breadcrumbs } from '../models/breadcrumbs.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BreadcrumbsService {\n constructor() {}\n\n addBreadcrumb(\n nodeName: string,\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const spans = document.getElementById('ctl00_path')?.children;\n //get last child\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n const innerHTML = lastIndex.innerHTML;\n lastIndex.innerHTML = '';\n lastIndex.classList.remove(...['bc-current']);\n //add new link\n lastIndex.appendChild(\n this.createLink(innerHTML, location.pathname, linkClasses)\n );\n //add new span and empty span\n const newSpan = this.createSapn(nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n\n addBreadcrumbList(\n nodeList: Breadcrumbs[],\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const spans = document.getElementById('ctl00_path')?.childNodes;\n //get last child\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\n const innerHTML = lastSpan.innerHTML;\n lastSpan.classList.remove(...[spanClasses]);\n lastSpan.innerHTML = '';\n //add new link\n lastSpan.appendChild(\n this.createLink(innerHTML, location.pathname, linkClasses)\n );\n\n for (let i = 0; i < nodeList.length; i++) {\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n if (nodeList[i].nodeUrl) {\n const newSpan = document.createElement('span');\n newSpan.appendChild(\n this.createLink(\n nodeList[i].nodeName,\n nodeList[i].nodeUrl,\n linkClasses\n )\n );\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n } else {\n const newSpan = this.createSapn(nodeList[i].nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n }\n }\n\n createBreadcrumbs(\n nodeList: Breadcrumbs[],\n spanClasses = 'bc-current',\n linkClasses = 'bc-node'\n ) {\n const cuurentSpan = document.getElementById(\n 'ctl00_path'\n ) as HTMLSpanElement;\n cuurentSpan.innerHTML = '';\n const newSpan = document.createElement('span');\n cuurentSpan?.appendChild(newSpan);\n newSpan.appendChild(\n this.createLink(nodeList[0].nodeName, nodeList[0].nodeUrl, linkClasses)\n );\n const spans = cuurentSpan?.children;\n for (let i = 1; i < nodeList.length; i++) {\n const lastIndex = spans?.item(spans.length - 1) as HTMLSpanElement;\n if (nodeList[i].nodeUrl) {\n const newSpan = document.createElement('span');\n newSpan.appendChild(\n this.createLink(\n nodeList[i].nodeName,\n nodeList[i].nodeUrl,\n linkClasses\n )\n );\n const emptySpan = document.createElement('span');\n lastIndex?.after(...[emptySpan, newSpan]);\n } else {\n const newSpan = this.createSapn(nodeList[i].nodeName, spanClasses);\n const emptySpan = document.createElement('span');\n lastIndex.after(...[emptySpan, newSpan]);\n }\n }\n }\n\n removeLastBreadcrumb() {\n const spans = document.getElementById('ctl00_path')?.children;\n spans?.item(spans.length - 1)?.remove();\n spans?.item(spans.length - 1)?.remove();\n this.setCurrentNode(spans);\n }\n\n removeBreadcrumbByNodeName(nodeName: string) {\n const spans = document.getElementById('ctl00_path')\n ?.children as HTMLCollection;\n let index = -1;\n for (let i = 0; i < spans.length; i++) {\n const span = spans.item(i);\n if (span?.textContent?.trim() === nodeName) {\n index = i;\n break;\n }\n }\n const lastNode = spans.length - 1 === index;\n if (index !== -1 && !lastNode) {\n spans?.item(index)?.remove();\n spans?.item(index)?.remove();\n } else {\n spans?.item(index)?.remove();\n spans?.item(index - 1)?.remove();\n }\n if (lastNode) {\n this.setCurrentNode(spans);\n }\n }\n\n removeLastBreadcrumbsByLength(length: number) {\n const spans = document.getElementById('ctl00_path')?.children as HTMLCollection;\n while (length > 0) {\n spans?.item(spans.length - 1)?.remove();\n spans?.item(spans.length - 1)?.remove();\n length--;\n }\n if (spans.length > 0) {\n this.setCurrentNode(spans);\n }\n }\n\n private createLink(\n innerHTML: string,\n href: string | null,\n classes: string\n ): HTMLAnchorElement {\n const link = document.createElement('a');\n link.innerHTML = ' ' + innerHTML;\n link.href = href ?? '';\n link.classList.add(...[classes]);\n return link;\n }\n\n private createSapn(innerHTML: string, classes: string): HTMLSpanElement {\n const span = document.createElement('span');\n span.classList.add(...[classes]);\n span.innerHTML = ' ' + innerHTML;\n return span;\n }\n\n private setCurrentNode(spans?: HTMLCollection) {\n const lastSpan = spans?.item(spans.length - 1) as HTMLSpanElement;\n const lastSpanLink = spans\n ?.item(spans.length - 1)\n ?.children.item(0) as HTMLAnchorElement;\n lastSpan?.classList.add(...['bc-current']);\n lastSpan.innerHTML = lastSpanLink.innerHTML;\n }\n}\n","/*\r\n * Public API Surface of ipa-library\r\n */\r\n// module\r\nexport * from './lib/ng-ipa-library.module';\r\nexport * from 'ngx-toastr';\r\nexport * from './lib/pipes/pipes.module';\r\nexport * from './lib/share-button/share-button.module';\r\n\r\n// core components\r\nexport * from './lib/core/components/loading/loading.component';\r\n\r\n// form components\r\nexport * from './lib/ipa-form/text-input/text-input.component';\r\nexport * from './lib/ipa-form/textarea-input/textarea-input.component';\r\nexport * from './lib/ipa-form/dropdown-input/dropdown-input.component';\r\nexport * from './lib/ipa-form/file-upload/file-upload.component';\r\nexport * from './lib/ipa-form/datepicker/hijri-datepicker/hijri-datepicker.component';\r\nexport * from './lib/ipa-form/datepicker/gregorian-datepicker/gregorian-datepicker.component';\r\nexport * from './lib/generate-form/generate-form.component';\r\nexport * from './lib/share-button/share-button.component';\r\n\r\n// interceptors\r\nexport * from './lib/core/interceptors/loading.interceptor';\r\nexport * from './lib/core/interceptors/error.interceptor';\r\nexport * from './lib/core/interceptors/token.interceptor';\r\n\r\n// services\r\nexport * from './lib/core/services/loader.service';\r\nexport * from './lib/core/services/auth.service';\r\nexport * from './lib/ipa-form/ipa-form.service';\r\nexport * from './lib/core/services/error.service';\r\nexport * from './lib/services/breadcrumbs.service';\r\n\r\n//pipes\r\nexport * from './lib/pipes/hijri-date.pipe';\r\n\r\n//models\r\nexport * from './lib/models/pagedResult';\r\nexport * from './lib/models/apiException';\r\nexport * from './lib/models/apiResponse';\r\nexport * from './lib/models/generateForm.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["momentHijri","Pipe","NgModule","Injectable","FormControl","Component","Self","ViewChild","Input","ElementRef","BehaviorSubject","EventEmitter","DropzoneDirective","Output","Validators","FormArray","FormGroup","WEEKDAYS","MONTHS","NgbDatepickerI18n","NgbCalendar","NgbCalendarIslamicUmalqura","NgbCalendarGregorian","fas","ShareIconsModule","ShareButtonsPopupModule","OverlayModule","FontAwesomeModule","CommonModule","HttpClientModule","FormsModule","ReactiveFormsModule","ToastrModule","DropzoneModule","NgxCaptchaModule","NgbDatepickerModule","Observable","HttpResponse","catchError","throwError"],"mappings":"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"}
@@ -13,9 +13,9 @@ export class LoaderComponent {
13
13
  });
14
14
  }
15
15
  }
16
- LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoaderComponent, deps: [{ token: i1.LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
17
- LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: LoaderComponent, selector: "ipa-loader", ngImport: i0, template: "<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{position:fixed;width:100%;left:0;height:100%;right:0;top:0;bottom:0;background-color:#fff;z-index:99999;display:flex;justify-content:center;align-items:center}#cover-spin:after{content:\"\";display:block;background-size:46px;position:absolute;left:48%;top:40%;width:46px;height:46px;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.spinner{display:block;position:fixed;top:50%;left:50%;height:80px;width:80px;margin-top:-50px;margin-left:-50px;border:2px solid transparent;border-top-color:#2d557e;border-radius:50%;-webkit-animation:spin7 1s ease infinite;animation:spin7 1s ease infinite}.spinner:before{content:\"\";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:2px solid transparent;border-top-color:#2aa7c5;-webkit-animation:spin7 3s linear infinite;animation:spin7 3s linear infinite}.spinner:after{content:\"\";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;border:2px solid transparent;border-top-color:#cfe79d;-webkit-animation:spin7 1.5s ease infinite;animation:spin7 1.5s ease infinite}"] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoaderComponent, decorators: [{
16
+ LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoaderComponent, deps: [{ token: i1.LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
17
+ LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.5", type: LoaderComponent, selector: "ipa-loader", ngImport: i0, template: "<div id=\"cover-spin\" [class.d-none]=\"!loading\">\r\n <div class=\"spinner\"></div>\r\n</div>\r\n", styles: ["#cover-spin{position:fixed;width:100%;left:0;height:100%;right:0;top:0;bottom:0;background-color:#fff;z-index:99999;display:flex;justify-content:center;align-items:center}#cover-spin:after{content:\"\";display:block;background-size:46px;position:absolute;left:48%;top:40%;width:46px;height:46px;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes spin7{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.spinner{display:block;position:fixed;top:50%;left:50%;height:80px;width:80px;margin-top:-50px;margin-left:-50px;border:2px solid transparent;border-top-color:#2d557e;border-radius:50%;-webkit-animation:spin7 1s ease infinite;animation:spin7 1s ease infinite}.spinner:before{content:\"\";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;border:2px solid transparent;border-top-color:#2aa7c5;-webkit-animation:spin7 3s linear infinite;animation:spin7 3s linear infinite}.spinner:after{content:\"\";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border-radius:50%;border:2px solid transparent;border-top-color:#cfe79d;-webkit-animation:spin7 1.5s ease infinite;animation:spin7 1.5s ease infinite}"] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoaderComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{
21
21
  selector: 'ipa-loader',
@@ -38,9 +38,9 @@ export class ErrorInterceptor {
38
38
  return false;
39
39
  }
40
40
  }
41
- ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1.ErrorService }, { token: i2.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
42
- ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorInterceptor });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorInterceptor, decorators: [{
41
+ ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorInterceptor, deps: [{ token: i1.ErrorService }, { token: i2.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorInterceptor });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorInterceptor, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: function () { return [{ type: i1.ErrorService }, { type: i2.ToastrService }]; } });
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFlBQTBCLEVBQzFCLGFBQTRCO1FBRDVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBeUIsRUFDekIsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzFCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFxQixDQUFDO1lBQzdDLE1BQU0sWUFBWSxHQUE4QjtnQkFDOUMsY0FBYyxFQUFFLElBQUk7YUFDckIsQ0FBQztZQUNGLFFBQVEsUUFBUSxDQUFDLFVBQVUsRUFBRTtnQkFDM0IsS0FBSyxHQUFHO29CQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0QixDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxjQUFjLElBQUcsR0FBRyxJQUFHLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLENBQUEsRUFDckQsUUFBUSxDQUFDLE9BQU8sRUFDaEIsWUFBWSxDQUNiLENBQUM7b0JBQ0YsTUFBTTtnQkFFUjtvQkFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDN0QsTUFBTTthQUNUO1lBQ0QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NkdBN0NVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwaUV4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hcGlFeGNlcHRpb24nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBFcnJvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XHJcbiAgICBpZiAodGhpcy5pc0V4Y2VwdGlvbihyZXEpKSB7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5lcnJvciBhcyBBcGlFeGNlcHRpb247XHJcbiAgICAgICAgY29uc3QgdG9hc3RyQ29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge1xyXG4gICAgICAgICAgZGlzYWJsZVRpbWVPdXQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1c0NvZGUpIHtcclxuICAgICAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2U/LmlubmVyRXhjZXB0aW9uICsgJyAnICsgcmVzcG9uc2U/LnN0YWNrVHJhY2UsXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UubWVzc2FnZSxcclxuICAgICAgICAgICAgICB0b2FzdHJDb25maWdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKHJlc3BvbnNlLm1lc3NhZ2UsICcnLCB0b2FzdHJDb25maWcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRXhjZXB0aW9uKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCB1cmwgb2YgdGhpcy5lcnJvclNlcnZpY2UudXJscykge1xyXG4gICAgICBpZiAocmVxLnVybC5pbmNsdWRlcyh1cmwucGF0aCkgJiYgcmVxLm1ldGhvZCA9PT0gdXJsLm1ldGhvZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -50,9 +50,9 @@ export class LoadingInterceptor {
50
50
  return false;
51
51
  }
52
52
  }
53
- LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoadingInterceptor, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Injectable });
54
- LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoadingInterceptor });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoadingInterceptor, decorators: [{
53
+ LoadingInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoadingInterceptor, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Injectable });
54
+ LoadingInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoadingInterceptor });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoadingInterceptor, decorators: [{
56
56
  type: Injectable
57
57
  }], ctorParameters: function () { return [{ type: i1.LoaderService }]; } });
58
58
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWlwYS1saWJyYXJ5L3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbG9hZGluZy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFLTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJbEMsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZ4QyxhQUFRLEdBQXVCLEVBQUUsQ0FBQztJQUVTLENBQUM7SUFFcEQsYUFBYSxDQUFDLEdBQXFCO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsU0FBUyxDQUNQLEdBQXlCLEVBQ3pCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUM3QyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTtvQkFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEI7WUFDSCxDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FDRixDQUFDO1lBQ0YsMkNBQTJDO1lBQzNDLE9BQU8sR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBcUI7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtZQUN6QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7K0dBdkRVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVzcG9uc2UsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2FkZXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMb2FkaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIHByaXZhdGUgcmVxdWVzdHM6IEh0dHBSZXF1ZXN0PGFueT5bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvYWRlclNlcnZpY2U6IExvYWRlclNlcnZpY2UpIHt9XHJcblxyXG4gIHJlbW92ZVJlcXVlc3QocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogdm9pZCB7XHJcbiAgICBjb25zdCBpID0gdGhpcy5yZXF1ZXN0cy5pbmRleE9mKHJlcSk7XHJcbiAgICBpZiAoaSA+PSAwKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdHMuc3BsaWNlKGksIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkZXJTZXJ2aWNlLmlzTG9hZGluZy5uZXh0KHRoaXMucmVxdWVzdHMubGVuZ3RoID4gMCk7XHJcbiAgfVxyXG5cclxuICBpbnRlcmNlcHQoXHJcbiAgICByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xyXG4gICAgaWYgKHRoaXMuaXNFeGNlcHRpb24ocmVxKSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVxdWVzdHMucHVzaChyZXEpO1xyXG5cclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5pc0xvYWRpbmcubmV4dCh0cnVlKTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV4dC5oYW5kbGUocmVxKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmVSZXF1ZXN0KHJlcSk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW1vdmVSZXF1ZXN0KHJlcSk7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW1vdmVSZXF1ZXN0KHJlcSk7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgLy8gcmVtb3ZlIHJlcXVlc3QgZnJvbSBxdWV1ZSB3aGVuIGNhbmNlbGxlZFxyXG4gICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlUmVxdWVzdChyZXEpO1xyXG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpc0V4Y2VwdGlvbihyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBib29sZWFuIHtcclxuICAgIGZvciAoY29uc3QgdXJsIG9mIHRoaXMubG9hZGVyU2VydmljZS51cmxzKSB7XHJcbiAgICAgIGlmIChyZXEudXJsLmluY2x1ZGVzKHVybC5wYXRoKSAmJiByZXEubWV0aG9kID09PSB1cmwubWV0aG9kKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -48,9 +48,9 @@ export class TokenInterceptor {
48
48
  return false;
49
49
  }
50
50
  }
51
- TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: TokenInterceptor, deps: [{ token: i1.AuthService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
52
- TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: TokenInterceptor });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: TokenInterceptor, decorators: [{
51
+ TokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TokenInterceptor, deps: [{ token: i1.AuthService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ TokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TokenInterceptor });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TokenInterceptor, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.HttpClient }]; } });
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1pcGEtbGlicmFyeS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL3Rva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUFvQixXQUF3QixFQUFVLElBQWdCO1FBQWxELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFMUUsU0FBUyxDQUNQLE9BQTZCLEVBQzdCLElBQWlCO1FBRWpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtpQkFDakM7YUFDRixDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7O1FBQzlCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQWtCLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFBLFlBQVksQ0FBQyxHQUFHLG1DQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDeEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPO1NBQ1I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJO2lCQUNOLEdBQUcsQ0FBTyxvQ0FBb0MsRUFBRTtnQkFDL0MsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFLEVBQUU7YUFDOUMsQ0FBQztpQkFDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUF5QjtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzZHQTdDVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cENsaWVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVjb2RlZFRva2VuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RlY29kZWRUb2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgaW50ZXJjZXB0KFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgaWYgKHRoaXMuaXNFeGNlcHRpb24ocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgdGhpcy5pc1Rva2VuRXhwKHRva2VuKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNUb2tlbkV4cCh0b2tlbjogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVkaXJlY3RQYXRoID0gbG9jYXRpb24ucGF0aG5hbWU7XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXREZWNvZGVkVG9rZW4oKSBhcyBEZWNvZGVkVG9rZW47XG4gICAgY29uc3QgZXhwRGF0ZSA9IG5ldyBEYXRlKChkZWNvZGVkVG9rZW4uZXhwID8/IDApICogMTAwMCk7XG4gICAgaWYgKGV4cERhdGUgPCBuZXcgRGF0ZSgpKSB7XG4gICAgICBsb2NhdGlvbi5yZXBsYWNlKCcvYXIvbG9naW4/cmVkaXJlY3Q9JyArIHJlZGlyZWN0UGF0aCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0PFVzZXI+KGBodHRwOi8vMTcyLjE2LjE3Ljk5OjYwMDEvYXBpL3VzZXJzYCwge1xuICAgICAgICAgIGhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIEpTT04uc3RyaW5naWZ5KHVzZXIudG9rZW4pKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0V4Y2VwdGlvbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogYm9vbGVhbiB7XG4gICAgaWYgKHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvYXBpL3VzZXJzJykgJiYgcmVxdWVzdC5tZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -33,9 +33,9 @@ export class AuthService {
33
33
  return JSON.parse(jsonPayload);
34
34
  }
35
35
  }
36
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: AuthService, providedIn: 'root' });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: AuthService, decorators: [{
36
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AuthService, providedIn: 'root' });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: AuthService, decorators: [{
39
39
  type: Injectable,
40
40
  args: [{
41
41
  providedIn: 'root',
@@ -11,9 +11,9 @@ export class ErrorService {
11
11
  this.urls.push(url);
12
12
  }
13
13
  }
14
- ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
- ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorService, providedIn: 'root' });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: ErrorService, decorators: [{
14
+ ErrorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ ErrorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorService, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: ErrorService, decorators: [{
17
17
  type: Injectable,
18
18
  args: [{
19
19
  providedIn: 'root'
@@ -13,9 +13,9 @@ export class LoaderService {
13
13
  this.urls.push(url);
14
14
  }
15
15
  }
16
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoaderService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: LoaderService, decorators: [{
16
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoaderService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: LoaderService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root',