@onemrvapublic/design-system 18.1.3 → 18.2.0-develop.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 (69) hide show
  1. package/esm2022/layout/src/components/layout/layout.component.mjs +11 -4
  2. package/esm2022/mat-input-country/src/onemrva-mat-input-country.component.mjs +3 -3
  3. package/esm2022/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.mjs +3 -3
  4. package/esm2022/mat-input-phone/src/onemrva-mat-input-phone.component.mjs +3 -3
  5. package/esm2022/shared/index.mjs +13 -11
  6. package/esm2022/shared/src/lib/adapters/date.adapter.mjs +62 -0
  7. package/esm2022/shared/src/lib/adapters/index.mjs +2 -0
  8. package/esm2022/shared/src/lib/components/index.mjs +2 -0
  9. package/esm2022/shared/src/lib/constants/CDNUrlModeOptions.mjs +6 -0
  10. package/esm2022/shared/src/lib/constants/cdn.mjs +3 -0
  11. package/esm2022/shared/src/lib/constants/constants.mjs +6 -0
  12. package/esm2022/shared/src/lib/constants/date.format.mjs +12 -0
  13. package/esm2022/shared/src/lib/constants/index.mjs +5 -0
  14. package/esm2022/shared/src/lib/decorators/index.mjs +2 -0
  15. package/esm2022/shared/src/lib/helpers/index.mjs +2 -0
  16. package/esm2022/shared/src/lib/helpers/translation-helper.mjs +30 -0
  17. package/esm2022/shared/src/lib/loaders/index.mjs +3 -0
  18. package/esm2022/shared/src/lib/loaders/onemrva-translate-cdn-loader.mjs +15 -0
  19. package/esm2022/shared/src/lib/loaders/onemrva-translate-http-loader.mjs +30 -0
  20. package/esm2022/shared/src/lib/services/cdn.service.mjs +28 -68
  21. package/esm2022/shared/src/lib/services/country-cdn.service.mjs +72 -0
  22. package/esm2022/shared/src/lib/services/country-lookup.service.mjs +38 -0
  23. package/esm2022/shared/src/lib/services/index.mjs +3 -2
  24. package/esm2022/shared/src/lib/shared.datepicker.module.mjs +3 -3
  25. package/esm2022/shared/src/lib/validators/bank-account.validator.utils.mjs +45 -0
  26. package/esm2022/shared/src/lib/validators/index.mjs +3 -0
  27. package/fesm2022/onemrvapublic-design-system-layout.mjs +10 -3
  28. package/fesm2022/onemrvapublic-design-system-layout.mjs.map +1 -1
  29. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs +2 -2
  30. package/fesm2022/onemrvapublic-design-system-mat-input-country.mjs.map +1 -1
  31. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs +2 -2
  32. package/fesm2022/onemrvapublic-design-system-mat-input-enterprise-number.mjs.map +1 -1
  33. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs +2 -2
  34. package/fesm2022/onemrvapublic-design-system-mat-input-phone.mjs.map +1 -1
  35. package/fesm2022/onemrvapublic-design-system-shared.mjs +591 -490
  36. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  37. package/layout/src/components/layout/layout.component.scss +1 -1
  38. package/mat-input-country/src/onemrva-mat-input-country.component.d.ts +2 -2
  39. package/mat-input-enterprise-number/src/onemrva-mat-input-enterprise-number.component.d.ts +2 -2
  40. package/mat-input-phone/src/onemrva-mat-input-phone.component.d.ts +2 -2
  41. package/package.json +1 -1
  42. package/shared/index.d.ts +12 -10
  43. package/shared/src/lib/adapters/index.d.ts +1 -0
  44. package/shared/src/lib/components/index.d.ts +1 -0
  45. package/shared/src/lib/{constants.d.ts → constants/constants.d.ts} +1 -0
  46. package/shared/src/lib/constants/index.d.ts +4 -0
  47. package/shared/src/lib/decorators/index.d.ts +1 -0
  48. package/shared/src/lib/helpers/index.d.ts +1 -0
  49. package/shared/src/lib/helpers/translation-helper.d.ts +2 -0
  50. package/shared/src/lib/loaders/index.d.ts +2 -0
  51. package/shared/src/lib/loaders/onemrva-translate-cdn-loader.d.ts +14 -0
  52. package/shared/src/lib/loaders/onemrva-translate-http-loader.d.ts +14 -0
  53. package/shared/src/lib/services/cdn.service.d.ts +7 -86
  54. package/shared/src/lib/services/country-cdn.service.d.ts +89 -0
  55. package/shared/src/lib/services/{commonCountryLookup.service.d.ts → country-lookup.service.d.ts} +1 -1
  56. package/shared/src/lib/services/index.d.ts +2 -1
  57. package/shared/src/lib/validators/index.d.ts +2 -0
  58. package/esm2022/shared/src/lib/CDNUrlModeOptions.mjs +0 -6
  59. package/esm2022/shared/src/lib/OnemrvaDateAdapter.mjs +0 -62
  60. package/esm2022/shared/src/lib/constants.mjs +0 -5
  61. package/esm2022/shared/src/lib/date.format.mjs +0 -12
  62. package/esm2022/shared/src/lib/injectionTokens.mjs +0 -3
  63. package/esm2022/shared/src/lib/services/commonCountryLookup.service.mjs +0 -38
  64. package/esm2022/shared/src/lib/validators/bankAccountValidator.utils.mjs +0 -45
  65. /package/shared/src/lib/{OnemrvaDateAdapter.d.ts → adapters/date.adapter.d.ts} +0 -0
  66. /package/shared/src/lib/{CDNUrlModeOptions.d.ts → constants/CDNUrlModeOptions.d.ts} +0 -0
  67. /package/shared/src/lib/{injectionTokens.d.ts → constants/cdn.d.ts} +0 -0
  68. /package/shared/src/lib/{date.format.d.ts → constants/date.format.d.ts} +0 -0
  69. /package/shared/src/lib/validators/{bankAccountValidator.utils.d.ts → bank-account.validator.utils.d.ts} +0 -0
@@ -1,99 +1,20 @@
1
- import { CDNUrlModeOptions } from '../CDNUrlModeOptions';
1
+ import { CDNUrlModeOptions } from '../constants';
2
2
  import { HttpClient } from '@angular/common/http';
3
- import { TranslateService } from '@ngx-translate/core';
4
3
  import { CacheService } from './cache.service';
5
- import { Subject } from 'rxjs';
4
+ import { Observable, Subject } from 'rxjs';
6
5
  import * as i0 from "@angular/core";
7
- export interface OnemrvaMaterialCountry {
8
- code: string;
9
- name: string;
10
- dial_code: string;
11
- zone: string;
12
- pattern: string;
13
- placeholder: string;
14
- translations: {
15
- fr: string;
16
- nl: string;
17
- de: string;
18
- };
19
- }
20
6
  export declare class OnemRvaCDNService {
21
7
  private cacheService;
22
- private translateService;
23
8
  private http;
24
9
  private readonly cdnUrl;
25
10
  refresh$: Subject<unknown>;
26
- constructor(cacheService: CacheService, translateService: TranslateService, http: HttpClient, cdnUrlMode: CDNUrlModeOptions);
11
+ constructor(cacheService: CacheService, http: HttpClient, cdnUrlMode: CDNUrlModeOptions);
27
12
  getUrl(path?: string): string;
28
13
  getImg(path?: string): string;
29
14
  getOri(path?: string): string;
30
- private fetch;
31
- getCountries(): import("rxjs").Observable<{
32
- name: string;
33
- code: string;
34
- dial_code: string;
35
- zone: string;
36
- pattern: string;
37
- placeholder: string;
38
- translations: {
39
- fr: string;
40
- nl: string;
41
- de: string;
42
- };
43
- }[]>;
44
- getCountriesByZone(zone: string): import("rxjs").Observable<{
45
- name: string;
46
- code: string;
47
- dial_code: string;
48
- zone: string;
49
- pattern: string;
50
- placeholder: string;
51
- translations: {
52
- fr: string;
53
- nl: string;
54
- de: string;
55
- };
56
- }[]>;
57
- getTranslatedCountryName(country: OnemrvaMaterialCountry, languageCode?: string): string;
58
- findCountryFromCode(code: any): import("rxjs").Observable<{
59
- name: string;
60
- code: string;
61
- dial_code: string;
62
- zone: string;
63
- pattern: string;
64
- placeholder: string;
65
- translations: {
66
- fr: string;
67
- nl: string;
68
- de: string;
69
- };
70
- } | undefined>;
71
- findCountryFromVIESCode(code: any): import("rxjs").Observable<{
72
- name: string;
73
- code: string;
74
- dial_code: string;
75
- zone: string;
76
- pattern: string;
77
- placeholder: string;
78
- translations: {
79
- fr: string;
80
- nl: string;
81
- de: string;
82
- };
83
- } | undefined>;
84
- findCountryFromPrefix(number: any): import("rxjs").Observable<{
85
- name: string;
86
- code: string;
87
- dial_code: string;
88
- zone: string;
89
- pattern: string;
90
- placeholder: string;
91
- translations: {
92
- fr: string;
93
- nl: string;
94
- de: string;
95
- };
96
- } | undefined>;
97
- static ɵfac: i0.ɵɵFactoryDeclaration<OnemRvaCDNService, [null, null, null, { optional: true; }]>;
15
+ fetch(endpoint: string): Observable<Object>;
16
+ fetchNoCache(endpoint: string): Observable<Object>;
17
+ getTranslations(projects: string[], lang: string, prefix?: string, suffix?: string): Observable<any>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemRvaCDNService, [null, null, { optional: true; }]>;
98
19
  static ɵprov: i0.ɵɵInjectableDeclaration<OnemRvaCDNService>;
99
20
  }
@@ -0,0 +1,89 @@
1
+ import { TranslateService } from '@ngx-translate/core';
2
+ import { OnemRvaCDNService } from './cdn.service';
3
+ import * as i0 from "@angular/core";
4
+ export interface OnemrvaMaterialCountry {
5
+ code: string;
6
+ name: string;
7
+ dial_code: string;
8
+ zone: string;
9
+ pattern: string;
10
+ placeholder: string;
11
+ translations: {
12
+ fr: string;
13
+ nl: string;
14
+ de: string;
15
+ };
16
+ }
17
+ export declare class OnemRvaCDNCountryService {
18
+ private cdnService;
19
+ private translateService;
20
+ constructor(cdnService: OnemRvaCDNService, translateService: TranslateService);
21
+ getCountries(): import("rxjs").Observable<{
22
+ name: string;
23
+ code: string;
24
+ dial_code: string;
25
+ zone: string;
26
+ pattern: string;
27
+ placeholder: string;
28
+ translations: {
29
+ fr: string;
30
+ nl: string;
31
+ de: string;
32
+ };
33
+ }[]>;
34
+ getCountriesByZone(zone: string): import("rxjs").Observable<{
35
+ name: string;
36
+ code: string;
37
+ dial_code: string;
38
+ zone: string;
39
+ pattern: string;
40
+ placeholder: string;
41
+ translations: {
42
+ fr: string;
43
+ nl: string;
44
+ de: string;
45
+ };
46
+ }[]>;
47
+ getTranslatedCountryName(country: OnemrvaMaterialCountry, languageCode?: string): string;
48
+ findCountryFromCode(code: any): import("rxjs").Observable<{
49
+ name: string;
50
+ code: string;
51
+ dial_code: string;
52
+ zone: string;
53
+ pattern: string;
54
+ placeholder: string;
55
+ translations: {
56
+ fr: string;
57
+ nl: string;
58
+ de: string;
59
+ };
60
+ } | undefined>;
61
+ findCountryFromVIESCode(code: any): import("rxjs").Observable<{
62
+ name: string;
63
+ code: string;
64
+ dial_code: string;
65
+ zone: string;
66
+ pattern: string;
67
+ placeholder: string;
68
+ translations: {
69
+ fr: string;
70
+ nl: string;
71
+ de: string;
72
+ };
73
+ } | undefined>;
74
+ findCountryFromPrefix(number: any): import("rxjs").Observable<{
75
+ name: string;
76
+ code: string;
77
+ dial_code: string;
78
+ zone: string;
79
+ pattern: string;
80
+ placeholder: string;
81
+ translations: {
82
+ fr: string;
83
+ nl: string;
84
+ de: string;
85
+ };
86
+ } | undefined>;
87
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemRvaCDNCountryService, never>;
88
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnemRvaCDNCountryService>;
89
+ }
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable, ReplaySubject } from 'rxjs';
3
- import { OnemRvaCommonCountry } from '../interfaces/OnemRvaCommonCountry.interface';
3
+ import { OnemRvaCommonCountry } from '../interfaces';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class CommonCountryLookupService {
6
6
  http: HttpClient;
@@ -1,2 +1,3 @@
1
- export * from './commonCountryLookup.service';
1
+ export * from './country-lookup.service';
2
2
  export * from './cdn.service';
3
+ export * from './country-cdn.service';
@@ -0,0 +1,2 @@
1
+ export * from './onemrva-validators';
2
+ export * from './bank-account.validator.utils';
@@ -1,6 +0,0 @@
1
- export var CDNUrlModeOptions;
2
- (function (CDNUrlModeOptions) {
3
- CDNUrlModeOptions["PROD"] = "production";
4
- CDNUrlModeOptions["VAL"] = "validation";
5
- })(CDNUrlModeOptions || (CDNUrlModeOptions = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ0ROVXJsTW9kZU9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvQ0ROVXJsTW9kZU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBR1g7QUFIRCxXQUFZLGlCQUFpQjtJQUMzQix3Q0FBbUIsQ0FBQTtJQUNuQix1Q0FBa0IsQ0FBQTtBQUNwQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENETlVybE1vZGVPcHRpb25zIHtcbiAgUFJPRCA9ICdwcm9kdWN0aW9uJyxcbiAgVkFMID0gJ3ZhbGlkYXRpb24nLFxufVxuIl19
@@ -1,62 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NativeDateAdapter } from '@angular/material/core';
3
- import { DateTime } from 'luxon';
4
- import { ONEMRVA_FORMAT } from './date.format';
5
- import { Subject, takeUntil } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngx-translate/core";
8
- export class OnemrvaDateAdapter extends NativeDateAdapter {
9
- constructor(translateService) {
10
- super();
11
- this.translateService = translateService;
12
- this.dateFormat = ONEMRVA_FORMAT.display.dateInput;
13
- this.destroyNotifier$ = new Subject();
14
- this.setLocale(this.translateService.currentLang);
15
- this.translateService.onLangChange
16
- .pipe(takeUntil(this.destroyNotifier$))
17
- .subscribe(({ lang }) => {
18
- this.setLocale(lang);
19
- });
20
- }
21
- format(date) {
22
- const dt = DateTime.fromJSDate(date);
23
- return dt.toFormat(this.dateFormat);
24
- }
25
- parse(value) {
26
- if (value && typeof value === 'string') {
27
- value = value.replace(/\D/g, '/');
28
- }
29
- if (value === null || value === '') {
30
- return null;
31
- }
32
- const dt = DateTime.fromFormat(value, this.dateFormat, {
33
- locale: this.locale,
34
- });
35
- if (dt.isValid) {
36
- return dt.toJSDate();
37
- }
38
- const formats = ['ddMMyyyy', 'd/M/yyyy', 'dd/M/yyyy', 'd/MM/yyyy'];
39
- for (const format of formats) {
40
- const parsed = DateTime.fromFormat(value, format, {
41
- locale: this.locale,
42
- });
43
- if (parsed.isValid) {
44
- return parsed.toJSDate();
45
- }
46
- }
47
- return this.invalid();
48
- }
49
- getFirstDayOfWeek() {
50
- return 1;
51
- }
52
- ngOnDestroy() {
53
- this.destroyNotifier$.next();
54
- this.destroyNotifier$.complete();
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnemrvaDateAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnemrvaDateAdapter }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: OnemrvaDateAdapter, decorators: [{
60
- type: Injectable
61
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lbXJ2YURhdGVBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL09uZW1ydmFEYXRlQWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFakMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFLdkQsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUo5QyxlQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFOUMscUJBQWdCLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFLdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7YUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN0QyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUSxNQUFNLENBQUMsSUFBVTtRQUN4QixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxLQUFVO1FBQ3ZCLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGlCQUFpQjtRQUN4QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQTFEVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQgeyBPTkVNUlZBX0ZPUk1BVCB9IGZyb20gJy4vZGF0ZS5mb3JtYXQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVtcnZhRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZGF0ZUZvcm1hdCA9IE9ORU1SVkFfRk9STUFULmRpc3BsYXkuZGF0ZUlucHV0O1xuXG4gIHByaXZhdGUgZGVzdHJveU5vdGlmaWVyJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc2V0TG9jYWxlKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAuc3Vic2NyaWJlKCh7IGxhbmcgfSkgPT4ge1xuICAgICAgICB0aGlzLnNldExvY2FsZShsYW5nKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybWF0KGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZShkYXRlKTtcbiAgICByZXR1cm4gZHQudG9Gb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHBhcnNlKHZhbHVlOiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCB0aGlzLmRhdGVGb3JtYXQsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgfSk7XG5cbiAgICBpZiAoZHQuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIGR0LnRvSlNEYXRlKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0cyA9IFsnZGRNTXl5eXknLCAnZC9NL3l5eXknLCAnZGQvTS95eXl5JywgJ2QvTU0veXl5eSddO1xuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIGZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IERhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdCwge1xuICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgfSk7XG4gICAgICBpZiAocGFyc2VkLmlzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlZC50b0pTRGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export const CDN_URLS = {
2
- prod: 'https://cdn.services.rvaonem.fgov.be',
3
- val: 'https://cdn.servicesval.rvaonem.fgov.be',
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDdEIsSUFBSSxFQUFFLHNDQUFzQztJQUM1QyxHQUFHLEVBQUUseUNBQXlDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ0ROX1VSTFMgPSB7XG4gIHByb2Q6ICdodHRwczovL2Nkbi5zZXJ2aWNlcy5ydmFvbmVtLmZnb3YuYmUnLFxuICB2YWw6ICdodHRwczovL2Nkbi5zZXJ2aWNlc3ZhbC5ydmFvbmVtLmZnb3YuYmUnLFxufTtcbiJdfQ==
@@ -1,12 +0,0 @@
1
- export const ONEMRVA_FORMAT = {
2
- parse: {
3
- dateInput: 'LL',
4
- },
5
- display: {
6
- dateInput: 'dd/MM/yyyy',
7
- monthYearLabel: 'MMM yyyy',
8
- dateA11yLabel: 'LL',
9
- monthYearA11yLabel: 'MMMM yyyy',
10
- },
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvZGF0ZS5mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxJQUFJO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFlBQVk7UUFDdkIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgT05FTVJWQV9GT1JNQVQgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnZGQvTU0veXl5eScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0geXl5eScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const CDN_URL_MODE = new InjectionToken('This is cdn url that will be used (val/prod)');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uVG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2luamVjdGlvblRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FDNUMsOENBQThDLENBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQ0ROX1VSTF9NT0RFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICdUaGlzIGlzIGNkbiB1cmwgdGhhdCB3aWxsIGJlIHVzZWQgKHZhbC9wcm9kKScsXG4pO1xuIl19
@@ -1,38 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map, ReplaySubject, skip, distinctUntilChanged, } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class CommonCountryLookupService {
6
- constructor(http) {
7
- this.http = http;
8
- this.commonCountryServiceURL = 'http://services/lookupwpptservice/rest/lookup/getLookups?class=be.fgov.onerva.lookup.wppt.persistence.model.common.Country';
9
- this._countries$ = new ReplaySubject(1);
10
- this._customersInitialized = false;
11
- }
12
- getCountries(refresh = false) {
13
- if (refresh || !this._customersInitialized) {
14
- this._customersInitialized = true;
15
- this.http
16
- .get(this.commonCountryServiceURL)
17
- .subscribe(countries => {
18
- this._countries$.next(countries);
19
- });
20
- }
21
- return this._countries$.pipe(skip(+refresh), distinctUntilChanged());
22
- }
23
- getCountryByCode(code) {
24
- return this._countries$.pipe(map(countries => {
25
- const country = countries.find(country => country.code === code);
26
- return country || null;
27
- }));
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CommonCountryLookupService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CommonCountryLookupService, providedIn: 'root' }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: CommonCountryLookupService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root',
36
- }]
37
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uQ291bnRyeUxvb2t1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3NlcnZpY2VzL2NvbW1vbkNvdW50cnlMb29rdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFFTCxHQUFHLEVBQ0gsYUFBYSxFQUNiLElBQUksRUFDSixvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7OztBQU9kLE1BQU0sT0FBTywwQkFBMEI7SUFRckMsWUFBbUIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVA1Qiw0QkFBdUIsR0FDNUIsNEhBQTRILENBQUM7UUFFckgsZ0JBQVcsR0FDbkIsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFWCxDQUFDO0lBRWhDLFlBQVksQ0FDakIsT0FBTyxHQUFHLEtBQUs7UUFFZixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUk7aUJBQ04sR0FBRyxDQUF5QixJQUFJLENBQUMsdUJBQXVCLENBQUM7aUJBQ3pELFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQW1CO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNkLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1lBRWpFLE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0FqQ1UsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBtYXAsXG4gIFJlcGxheVN1YmplY3QsXG4gIHNraXAsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT25lbVJ2YUNvbW1vbkNvdW50cnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL09uZW1SdmFDb21tb25Db3VudHJ5LmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb21tb25Db3VudHJ5TG9va3VwU2VydmljZSB7XG4gIHB1YmxpYyBjb21tb25Db3VudHJ5U2VydmljZVVSTCA9XG4gICAgJ2h0dHA6Ly9zZXJ2aWNlcy9sb29rdXB3cHB0c2VydmljZS9yZXN0L2xvb2t1cC9nZXRMb29rdXBzP2NsYXNzPWJlLmZnb3Yub25lcnZhLmxvb2t1cC53cHB0LnBlcnNpc3RlbmNlLm1vZGVsLmNvbW1vbi5Db3VudHJ5JztcblxuICBwcm90ZWN0ZWQgX2NvdW50cmllcyQ6IFJlcGxheVN1YmplY3Q8QXJyYXk8T25lbVJ2YUNvbW1vbkNvdW50cnk+PiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gIHByb3RlY3RlZCBfY3VzdG9tZXJzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkge31cblxuICBwdWJsaWMgZ2V0Q291bnRyaWVzKFxuICAgIHJlZnJlc2ggPSBmYWxzZSxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxPbmVtUnZhQ29tbW9uQ291bnRyeT4+IHtcbiAgICBpZiAocmVmcmVzaCB8fCAhdGhpcy5fY3VzdG9tZXJzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2N1c3RvbWVyc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0PE9uZW1SdmFDb21tb25Db3VudHJ5W10+KHRoaXMuY29tbW9uQ291bnRyeVNlcnZpY2VVUkwpXG4gICAgICAgIC5zdWJzY3JpYmUoY291bnRyaWVzID0+IHtcbiAgICAgICAgICB0aGlzLl9jb3VudHJpZXMkLm5leHQoY291bnRyaWVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvdW50cmllcyQucGlwZShza2lwKCtyZWZyZXNoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291bnRyeUJ5Q29kZShjb2RlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvdW50cmllcyQucGlwZShcbiAgICAgIG1hcChjb3VudHJpZXMgPT4ge1xuICAgICAgICBjb25zdCBjb3VudHJ5ID0gY291bnRyaWVzLmZpbmQoY291bnRyeSA9PiBjb3VudHJ5LmNvZGUgPT09IGNvZGUpO1xuXG4gICAgICAgIHJldHVybiBjb3VudHJ5IHx8IG51bGw7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { validateIBAN, electronicFormatIBAN, countrySpecs, ValidationErrorsIBAN, } from 'ibantools';
2
- export const IBAN_SUPPORTED_COUNTRIES = Object.keys(countrySpecs);
3
- const internValidateIban = (iban = '') => {
4
- return validateIBAN(electronicFormatIBAN(iban) || undefined);
5
- };
6
- // const getMappedCodes = (errorCodes: ValidationErrorsIBAN[], value?: any) => {
7
- // const mappedCodes = errorCodes.map(code => ValidationErrorsIBAN[code]);
8
- //
9
- // if (mappedCodes.length > 0) {
10
- // const listCodes: Record<string, any> = {};
11
- //
12
- // mappedCodes.forEach((code: string) => {
13
- // listCodes[code] = { value };
14
- // });
15
- //
16
- // return listCodes as ValidationErrors;
17
- // }
18
- //
19
- // return null;
20
- // };
21
- export const bankAccountValidator = () => {
22
- return (control) => {
23
- let finalErrorCodes;
24
- if (typeof control.getRawValue() === 'string') {
25
- const { valid: _valid, errorCodes } = internValidateIban(control.value);
26
- finalErrorCodes = errorCodes;
27
- }
28
- else {
29
- const countryCodeValue = control.value !== null ? control.value['countryCode'] : '';
30
- const bankNumber = control.value !== null ? control.value['bban'] : '';
31
- const { valid: _valid, errorCodes } = internValidateIban(`${countryCodeValue}${bankNumber}`);
32
- finalErrorCodes = errorCodes;
33
- }
34
- if (finalErrorCodes.length === 0) {
35
- return null;
36
- }
37
- const validationErrors = {};
38
- finalErrorCodes.forEach(errCode => {
39
- const key = ValidationErrorsIBAN[errCode];
40
- validationErrors[key] = { value: control.getRawValue() };
41
- });
42
- return validationErrors;
43
- };
44
- };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFua0FjY291bnRWYWxpZGF0b3IudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvdmFsaWRhdG9ycy9iYW5rQWNjb3VudFZhbGlkYXRvci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFbEUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFLEVBQUU7SUFDL0MsT0FBTyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0Ysa0NBQWtDO0FBQ2xDLGlEQUFpRDtBQUNqRCxFQUFFO0FBQ0YsOENBQThDO0FBQzlDLHFDQUFxQztBQUNyQyxVQUFVO0FBQ1YsRUFBRTtBQUNGLDRDQUE0QztBQUM1QyxNQUFNO0FBQ04sRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixLQUFLO0FBRUwsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBZ0IsRUFBRTtJQUNwRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLGVBQWUsQ0FBQztRQUVwQixJQUFJLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RSxlQUFlLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFVBQVUsR0FDZCxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRXRELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGtCQUFrQixDQUN0RCxHQUFHLGdCQUFnQixHQUFHLFVBQVUsRUFBRSxDQUNuQyxDQUFDO1lBQ0YsZUFBZSxHQUFHLFVBQVUsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQW1DLEVBQUUsQ0FBQztRQUM1RCxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgdmFsaWRhdGVJQkFOLFxuICBlbGVjdHJvbmljRm9ybWF0SUJBTixcbiAgY291bnRyeVNwZWNzLFxuICBWYWxpZGF0aW9uRXJyb3JzSUJBTixcbn0gZnJvbSAnaWJhbnRvb2xzJztcblxuZXhwb3J0IGNvbnN0IElCQU5fU1VQUE9SVEVEX0NPVU5UUklFUyA9IE9iamVjdC5rZXlzKGNvdW50cnlTcGVjcyk7XG5cbmNvbnN0IGludGVyblZhbGlkYXRlSWJhbiA9IChpYmFuOiBzdHJpbmcgPSAnJykgPT4ge1xuICByZXR1cm4gdmFsaWRhdGVJQkFOKGVsZWN0cm9uaWNGb3JtYXRJQkFOKGliYW4pIHx8IHVuZGVmaW5lZCk7XG59O1xuXG4vLyBjb25zdCBnZXRNYXBwZWRDb2RlcyA9IChlcnJvckNvZGVzOiBWYWxpZGF0aW9uRXJyb3JzSUJBTltdLCB2YWx1ZT86IGFueSkgPT4ge1xuLy8gICBjb25zdCBtYXBwZWRDb2RlcyA9IGVycm9yQ29kZXMubWFwKGNvZGUgPT4gVmFsaWRhdGlvbkVycm9yc0lCQU5bY29kZV0pO1xuLy9cbi8vICAgaWYgKG1hcHBlZENvZGVzLmxlbmd0aCA+IDApIHtcbi8vICAgICBjb25zdCBsaXN0Q29kZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbi8vXG4vLyAgICAgbWFwcGVkQ29kZXMuZm9yRWFjaCgoY29kZTogc3RyaW5nKSA9PiB7XG4vLyAgICAgICBsaXN0Q29kZXNbY29kZV0gPSB7IHZhbHVlIH07XG4vLyAgICAgfSk7XG4vL1xuLy8gICAgIHJldHVybiBsaXN0Q29kZXMgYXMgVmFsaWRhdGlvbkVycm9ycztcbi8vICAgfVxuLy9cbi8vICAgcmV0dXJuIG51bGw7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgYmFua0FjY291bnRWYWxpZGF0b3IgPSAoKTogVmFsaWRhdG9yRm4gPT4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBsZXQgZmluYWxFcnJvckNvZGVzO1xuXG4gICAgaWYgKHR5cGVvZiBjb250cm9sLmdldFJhd1ZhbHVlKCkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCB7IHZhbGlkOiBfdmFsaWQsIGVycm9yQ29kZXMgfSA9IGludGVyblZhbGlkYXRlSWJhbihjb250cm9sLnZhbHVlKTtcbiAgICAgIGZpbmFsRXJyb3JDb2RlcyA9IGVycm9yQ29kZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvdW50cnlDb2RlVmFsdWU6IHN0cmluZyA9XG4gICAgICAgIGNvbnRyb2wudmFsdWUgIT09IG51bGwgPyBjb250cm9sLnZhbHVlWydjb3VudHJ5Q29kZSddIDogJyc7XG4gICAgICBjb25zdCBiYW5rTnVtYmVyOiBzdHJpbmcgPVxuICAgICAgICBjb250cm9sLnZhbHVlICE9PSBudWxsID8gY29udHJvbC52YWx1ZVsnYmJhbiddIDogJyc7XG5cbiAgICAgIGNvbnN0IHsgdmFsaWQ6IF92YWxpZCwgZXJyb3JDb2RlcyB9ID0gaW50ZXJuVmFsaWRhdGVJYmFuKFxuICAgICAgICBgJHtjb3VudHJ5Q29kZVZhbHVlfSR7YmFua051bWJlcn1gLFxuICAgICAgKTtcbiAgICAgIGZpbmFsRXJyb3JDb2RlcyA9IGVycm9yQ29kZXM7XG4gICAgfVxuXG4gICAgaWYgKGZpbmFsRXJyb3JDb2Rlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnM6IFJlY29yZDxzdHJpbmcsIHsgdmFsdWU6IGFueSB9PiA9IHt9O1xuICAgIGZpbmFsRXJyb3JDb2Rlcy5mb3JFYWNoKGVyckNvZGUgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gVmFsaWRhdGlvbkVycm9yc0lCQU5bZXJyQ29kZV07XG5cbiAgICAgIHZhbGlkYXRpb25FcnJvcnNba2V5XSA9IHsgdmFsdWU6IGNvbnRyb2wuZ2V0UmF3VmFsdWUoKSB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRpb25FcnJvcnM7XG4gIH07XG59O1xuIl19