@acorex/core 7.0.12 → 7.0.14

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 (37) hide show
  1. package/esm2020/dateTime/src/datetime.module.mjs +4 -4
  2. package/esm2020/dateTime/src/datetime.pipe.mjs +3 -3
  3. package/esm2020/events/src/event.service.mjs +3 -3
  4. package/esm2020/file/src/file.service.mjs +3 -3
  5. package/esm2020/http/src/http.module.mjs +4 -4
  6. package/esm2020/http/src/http.service.mjs +3 -3
  7. package/esm2020/image/src/image.service.mjs +3 -3
  8. package/esm2020/pipes/src/pipes.module.mjs +4 -4
  9. package/esm2020/pipes/src/safe.pipe.mjs +3 -3
  10. package/esm2020/platform/src/platform.service.mjs +6 -4
  11. package/esm2020/translation/src/translation.module.mjs +4 -4
  12. package/esm2020/translation/src/translator.pipe.mjs +3 -3
  13. package/fesm2015/acorex-core-config.mjs +0 -1
  14. package/fesm2015/acorex-core-dateTime.mjs +7 -8
  15. package/fesm2015/acorex-core-events.mjs +3 -4
  16. package/fesm2015/acorex-core-file.mjs +3 -4
  17. package/fesm2015/acorex-core-http.mjs +7 -8
  18. package/fesm2015/acorex-core-image.mjs +3 -4
  19. package/fesm2015/acorex-core-pipes.mjs +7 -8
  20. package/fesm2015/acorex-core-platform.mjs +5 -4
  21. package/fesm2015/acorex-core-platform.mjs.map +1 -1
  22. package/fesm2015/acorex-core-translation.mjs +7 -8
  23. package/fesm2015/acorex-core-utils.mjs +0 -1
  24. package/fesm2015/acorex-core.mjs +0 -1
  25. package/fesm2020/acorex-core-config.mjs +0 -1
  26. package/fesm2020/acorex-core-dateTime.mjs +7 -8
  27. package/fesm2020/acorex-core-events.mjs +3 -4
  28. package/fesm2020/acorex-core-file.mjs +3 -4
  29. package/fesm2020/acorex-core-http.mjs +7 -8
  30. package/fesm2020/acorex-core-image.mjs +3 -4
  31. package/fesm2020/acorex-core-pipes.mjs +7 -8
  32. package/fesm2020/acorex-core-platform.mjs +5 -4
  33. package/fesm2020/acorex-core-platform.mjs.map +1 -1
  34. package/fesm2020/acorex-core-translation.mjs +7 -8
  35. package/fesm2020/acorex-core-utils.mjs +0 -1
  36. package/fesm2020/acorex-core.mjs +0 -1
  37. package/package.json +2 -2
@@ -24,10 +24,10 @@ export class AXDateTimeModule {
24
24
  });
25
25
  }
26
26
  }
27
- AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
29
- AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
27
+ AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
29
+ AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  imports: [],
@@ -17,9 +17,9 @@ export class AXDateTimePipe {
17
17
  }
18
18
  }
19
19
  }
20
- AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
- AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
20
+ AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{ name: 'axDate' }]
25
25
  }], ctorParameters: function () { return []; } });
@@ -27,9 +27,9 @@ export class AXEventService {
27
27
  }
28
28
  }
29
29
  }
30
- AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
- AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, decorators: [{
30
+ AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{ providedIn: 'root' }]
35
35
  }] });
@@ -92,9 +92,9 @@ export class AXFileService {
92
92
  });
93
93
  }
94
94
  }
95
- AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
96
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, decorators: [{
95
+ AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
96
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, decorators: [{
98
98
  type: Injectable,
99
99
  args: [{ providedIn: 'root' }]
100
100
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
@@ -5,14 +5,14 @@ import { AXHttpService } from './http.service';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AXHttpModule {
7
7
  }
8
- AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
8
+ AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
10
10
  HttpClientModule], exports: [HttpClientModule] });
11
- AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, providers: [
11
+ AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, providers: [
12
12
  AXHttpService
13
13
  ], imports: [CommonModule,
14
14
  HttpClientModule, HttpClientModule] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [],
@@ -139,9 +139,9 @@ export class AXHttpService {
139
139
  // }
140
140
  }
141
141
  }
142
- AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
143
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, decorators: [{
142
+ AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
143
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, decorators: [{
145
145
  type: Injectable,
146
146
  args: [{ providedIn: 'root' }]
147
147
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
@@ -34,9 +34,9 @@ export class AXImageService {
34
34
  return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
35
35
  }
36
36
  }
37
- AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, decorators: [{
37
+ AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{ providedIn: 'root' }]
42
42
  }], ctorParameters: function () { return []; } });
@@ -4,10 +4,10 @@ import { AXSafePipe } from './safe.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AXPipesModule {
6
6
  }
7
- AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
9
- AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, decorators: [{
7
+ AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
9
+ AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [AXSafePipe],
@@ -18,9 +18,9 @@ export class AXSafePipe {
18
18
  }
19
19
  }
20
20
  }
21
- AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
22
- AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, name: "safe" });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, decorators: [{
21
+ AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
22
+ AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, name: "safe" });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, decorators: [{
24
24
  type: Pipe,
25
25
  args: [{
26
26
  name: 'safe',
@@ -43,6 +43,7 @@ const isTablet = (win) => {
43
43
  (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400));
44
44
  };
45
45
  const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
46
+ const isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');
46
47
  const isDesktop = (win) => !isMobile(win);
47
48
  const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
48
49
  const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
@@ -65,6 +66,7 @@ const PLATFORMS_MAP = {
65
66
  iOS: isIOS,
66
67
  Desktop: isDesktop,
67
68
  Mobile: isMobile,
69
+ Touch: isTouch,
68
70
  Chrome: isChrome,
69
71
  Firefox: isFirefox,
70
72
  Safari: isSafari,
@@ -140,12 +142,12 @@ export class AXPlatform {
140
142
  ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');
141
143
  }
142
144
  }
143
- AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
144
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, decorators: [{
145
+ AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
146
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, decorators: [{
146
148
  type: Injectable,
147
149
  args: [{
148
150
  providedIn: 'root',
149
151
  }]
150
152
  }], ctorParameters: function () { return []; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTlFLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDN0IsbUJBQW1CO0lBQ25CLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvQixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsVUFBVTtJQUNWLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckQsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUM1QixhQUFhLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVwRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUV2RSxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ2hDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV4QyxPQUFPLFFBQVEsR0FBRyxHQUFHLElBQUksUUFBUSxHQUFHLEdBQUcsSUFBSSxPQUFPLEdBQUcsR0FBRyxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUMvQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO0lBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDWCxlQUFlLENBQUMsR0FBRyxDQUFDO1FBQ3BCLENBQUMsUUFBUSxHQUFHLEdBQUcsSUFBSSxRQUFRLEdBQUcsR0FBRyxJQUFJLE9BQU8sR0FBRyxHQUFHLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxDQUN0RSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUUxRSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFbEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUzRSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVEsRUFBVyxFQUFFLENBQ3RDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBVyxFQUFFO0lBQzlDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFN0UsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUNyQyxDQUFDLENBQUMsQ0FDQSxHQUFHLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUMsT0FBTztJQUNuRCxHQUFHLENBQUMsU0FBaUIsQ0FBQyxVQUFVLENBQ2xDLENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXJDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBVyxFQUFFLENBQ3pELEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBR2hDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFDMUUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUMxRSxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDM0UsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUU1RSxNQUFNLGFBQWEsR0FBUTtJQUN6QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixHQUFHLEVBQUUsS0FBSztJQUNWLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLEVBQUUsRUFBRSxVQUFVO0lBQ2QsRUFBRSxFQUFFLFVBQVU7SUFDZCxFQUFFLEVBQUUsVUFBVTtJQUNkLEVBQUUsRUFBRSxVQUFVO0lBQ2QsS0FBSyxFQUFFLFdBQVc7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sT0FBTyxlQUFlO0NBRzNCO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUF5Q3JCO1FBeENBLFdBQU0sR0FBNkIsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDbEUsVUFBSyxHQUE2QixJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUNqRSxXQUFNLEdBQTZCLElBQUksT0FBTyxFQUFtQixDQUFDO1FBdUNoRSxTQUFTLENBQVUsTUFBTSxFQUFFLFFBQVEsQ0FBQzthQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7WUFDSCxFQUFFO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFTCxRQUFRLENBQUMsZ0JBQWdCLENBQ3ZCLE9BQU8sRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0QsSUFBSSxDQUNMLENBQUM7UUFFRixRQUFRLENBQUMsZ0JBQWdCLENBQ3ZCLFFBQVEsRUFDUixDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0QsSUFBSSxDQUNMLENBQUM7UUFDRixpQkFBaUI7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQXhFRCxLQUFLO1FBQ0gsT0FBTyxDQUNMLFFBQVEsQ0FBQyxHQUFHLElBQUksS0FBSztZQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQStEO1FBQ2hFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLFFBQVE7YUFDTCxhQUFhLENBQWMsT0FBTyxDQUFDO1lBQ3BDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7dUdBdkNVLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhQbGF0Zm9ybXMgPSAnQW5kcm9pZCcgfCAnRGVza3RvcCcgfCAnaU9TJyB8ICdNb2JpbGUnO1xyXG5leHBvcnQgdHlwZSBBWEJyb3dzZXJzID1cclxuICB8ICdDaHJvbWUnXHJcbiAgfCAnU2FmYXJpJ1xyXG4gIHwgJ0VkZ2UnXHJcbiAgfCAnRmlyZWZveCdcclxuICB8ICdPcGVyYSdcclxuICB8ICdNU0lFJztcclxuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XHJcblxyXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9DaHJvbWUvaSk7XHJcblxyXG5jb25zdCBpc0ZpcmVmb3ggPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcclxuXHJcbmNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xyXG5cclxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvU2FmYXJpL2kpO1xyXG5cclxuY29uc3QgaXNPcGVyYSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL09wZXJhL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvT1BSL2kpO1xyXG5cclxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxyXG4gIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XHJcblxyXG5jb25zdCBpc01vYmlsZVdlYiA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcclxuXHJcbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9pUGFkL2kpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIGlPUyAxMytcclxuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNNb2JpbGUod2luKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCBpc0lwaG9uZSA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmUvaSk7XHJcblxyXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xyXG5cclxuY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XHJcbn07XHJcblxyXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xyXG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcclxuICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xyXG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgcmV0dXJuIHNtYWxsZXN0ID4gMzkwICYmIHNtYWxsZXN0IDwgNTIwICYmIGxhcmdlc3QgPiA2MjAgJiYgbGFyZ2VzdCA8IDgwMDtcclxufTtcclxuXHJcbmNvbnN0IGlzVGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgY29uc3Qgd2lkdGggPSB3aW4uaW5uZXJXaWR0aDtcclxuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICBjb25zdCBsYXJnZXN0ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBpc0lwYWQod2luKSB8fFxyXG4gICAgaXNBbmRyb2lkVGFibGV0KHdpbikgfHxcclxuICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCAmJiBsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBpc01vYmlsZSA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xyXG5cclxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PiBpc0NvcmRvdmEod2luKSB8fCBpc0NhcGFjaXRvck5hdGl2ZSh3aW4pO1xyXG5cclxuY29uc3QgaXNDb3Jkb3ZhID0gKHdpbjogYW55KTogYm9vbGVhbiA9PlxyXG4gICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xyXG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcclxufTtcclxuXHJcbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XHJcblxyXG5jb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAhIShcclxuICAgIHdpbi5tYXRjaE1lZGlhKCcoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKScpLm1hdGNoZXMgfHxcclxuICAgICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZVxyXG4gICk7XHJcblxyXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxyXG4gIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xyXG5cclxuXHJcbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XHJcbmNvbnN0IGlzTURTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNzY4cHgpJyk7XHJcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xyXG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcclxuY29uc3QgaXMyWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTUzNnB4KScpO1xyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUDogYW55ID0ge1xyXG4gIEFuZHJvaWQ6IGlzQW5kcm9pZCxcclxuICBpT1M6IGlzSU9TLFxyXG4gIERlc2t0b3A6IGlzRGVza3RvcCxcclxuICBNb2JpbGU6IGlzTW9iaWxlLFxyXG4gIENocm9tZTogaXNDaHJvbWUsXHJcbiAgRmlyZWZveDogaXNGaXJlZm94LFxyXG4gIFNhZmFyaTogaXNTYWZhcmksXHJcbiAgRWRnZTogaXNFZGdlLFxyXG4gIE9wZXJhOiBpc09wZXJhLFxyXG4gIEh5YnJpZDogaXNIeWJyaWQsXHJcbiAgUFdBOiBpc1BXQSxcclxuICBFbGVjdHJvbjogaXNFbGVjdHJvbixcclxuICBTTTogaXNTTVNjcmVlbixcclxuICBNRDogaXNNRFNjcmVlbixcclxuICBMRzogaXNMR1NjcmVlbixcclxuICBYTDogaXNYTFNjcmVlbixcclxuICBcIjJYTFwiOiBpczJYTFNjcmVlbixcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQ8VCBleHRlbmRzIEV2ZW50ID0gRXZlbnQ+IHtcclxuICBuYXRpdmVFdmVudCE6IFQ7XHJcbiAgc291cmNlITogQVhQbGF0Zm9ybTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm0ge1xyXG4gIHJlc2l6ZTogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG4gIGNsaWNrOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcbiAgc2Nyb2xsOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcblxyXG4gIGlzUnRsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZG9jdW1lbnQuZGlyID09ICdydGwnIHx8XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuZGlyID09ICdydGwnIHx8XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID09ICdydGwnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNMYW5kc2NhcGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBpc1BvcnRyYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzTGFuZHNjYXBlKCk7XHJcbiAgfVxyXG5cclxuICBpcyhuYW1lOiBBWFBsYXRmb3JtcyB8IEFYQnJvd3NlcnMgfCBBWFRlY2hub2xvZ2llcyB8IEFYU2NyZWVuU2l6ZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBQTEFURk9STVNfTUFQW25hbWVdKHdpbmRvdykgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEYXJrTW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaExpZ2h0TW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZ1bGxIZWlnaHRSYXRpbygpIHtcclxuICAgIGRvY3VtZW50XHJcbiAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignOnJvb3QnKVxyXG4gICAgICA/LnN0eWxlLnNldFByb3BlcnR5KCctLWF4LXZoJywgd2luZG93LmlubmVySGVpZ2h0IC8gMTAwICsgJ3B4Jyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ2NsaWNrJyxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICB0aGlzLmNsaWNrLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3Njcm9sbCcsXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGwubmV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIC8vIGluaXQgZnVuY3Rpb25zXHJcbiAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICB9XHJcbn1cclxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3BsYXRmb3JtL3NyYy9wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWNwRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUUzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVoRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdB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LFdBQVc7UUFDVCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELEVBQUUsQ0FBQyxJQUErRDtRQUNoRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixRQUFRO2FBQ0wsYUFBYSxDQUFjLE9BQU8sQ0FBQztZQUNwQyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7O3VHQXZDVSxVQUFVOzJHQUFWLFVBQVUsY0FGVCxNQUFNOzJGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYUGxhdGZvcm1zID0gJ0FuZHJvaWQnIHwgJ0Rlc2t0b3AnIHwgJ2lPUycgfCAnTW9iaWxlJztcclxuZXhwb3J0IHR5cGUgQVhCcm93c2VycyA9XHJcbiAgfCAnQ2hyb21lJ1xyXG4gIHwgJ1NhZmFyaSdcclxuICB8ICdFZGdlJ1xyXG4gIHwgJ0ZpcmVmb3gnXHJcbiAgfCAnT3BlcmEnXHJcbiAgfCAnTVNJRSc7XHJcbmV4cG9ydCB0eXBlIEFYVGVjaG5vbG9naWVzID0gJ1BXQScgfCAnSHlicmlkJyB8ICdFbGVjdHJvbic7XHJcblxyXG5leHBvcnQgdHlwZSBBWFNjcmVlblNpemVzID0gJ1NNJyB8ICdNRCcgfCAnTEcnIHwgJ1hMJyB8ICcyWEwnO1xyXG5cclxuY29uc3QgaXNDaHJvbWUgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvQ2hyb21lL2kpO1xyXG5cclxuY29uc3QgaXNGaXJlZm94ID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL0ZpcmVmb3gvaSk7XHJcblxyXG5jb25zdCBpc0VkZ2UgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvRWRnZS9pKTtcclxuXHJcbmNvbnN0IGlzU2FmYXJpID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL1NhZmFyaS9pKTtcclxuXHJcbmNvbnN0IGlzT3BlcmEgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XHJcbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC9PcGVyYS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL09QUi9pKTtcclxuXHJcbmNvbnN0IGlzTVNJRSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICB0ZXN0VXNlckFnZW50KHdpbiwgL01TSUUvaSkgfHwgdGVzdFVzZXJBZ2VudCh3aW4sIC9UcmlkZW50L2kpO1xyXG5cclxuY29uc3QgaXNNb2JpbGVXZWIgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IGlzTW9iaWxlKHdpbikgJiYgIWlzSHlicmlkKHdpbik7XHJcblxyXG5jb25zdCBpc0lwYWQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICAvLyBpT1MgMTIgYW5kIGJlbG93XHJcbiAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvaVBhZC9pKSkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBpT1MgMTMrXHJcbiAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvTWFjaW50b3NoL2kpICYmIGlzTW9iaWxlKHdpbikpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3QgaXNJcGhvbmUgPSAod2luOiBXaW5kb3cpID0+IHRlc3RVc2VyQWdlbnQod2luLCAvaVBob25lL2kpO1xyXG5cclxuY29uc3QgaXNJT1MgPSAod2luOiBXaW5kb3cpID0+XHJcbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmV8aVBvZC9pKSB8fCBpc0lwYWQod2luKTtcclxuXHJcbmNvbnN0IGlzQW5kcm9pZCA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9hbmRyb2lkfHNpbmsvaSk7XHJcblxyXG5jb25zdCBpc0FuZHJvaWRUYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcclxuICByZXR1cm4gaXNBbmRyb2lkKHdpbikgJiYgIXRlc3RVc2VyQWdlbnQod2luLCAvbW9iaWxlL2kpO1xyXG59O1xyXG5cclxuY29uc3QgaXNQaGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XHJcbiAgY29uc3Qgd2lkdGggPSB3aW4uaW5uZXJXaWR0aDtcclxuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XHJcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcclxuICBjb25zdCBsYXJnZXN0ID0gTWF0aC5tYXgod2lkdGgsIGhlaWdodCk7XHJcblxyXG4gIHJldHVybiBzbWFsbGVzdCA+IDM5MCAmJiBzbWFsbGVzdCA8IDUyMCAmJiBsYXJnZXN0ID4gNjIwICYmIGxhcmdlc3QgPCA4MDA7XHJcbn07XHJcblxyXG5jb25zdCBpc1RhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xyXG4gIGNvbnN0IHdpZHRoID0gd2luLmlubmVyV2lkdGg7XHJcbiAgY29uc3QgaGVpZ2h0ID0gd2luLmlubmVySGVpZ2h0O1xyXG4gIGNvbnN0IHNtYWxsZXN0ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7XHJcbiAgY29uc3QgbGFyZ2VzdCA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgaXNJcGFkKHdpbikgfHxcclxuICAgIGlzQW5kcm9pZFRhYmxldCh3aW4pIHx8XHJcbiAgICAoc21hbGxlc3QgPiA0NjAgJiYgc21hbGxlc3QgPCA4MjAgJiYgbGFyZ2VzdCA+IDc4MCAmJiBsYXJnZXN0IDwgMTQwMClcclxuICApO1xyXG59O1xyXG5cclxuY29uc3QgaXNNb2JpbGUgPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcclxuY29uc3QgaXNUb3VjaCA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xyXG5cclxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcclxuXHJcbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PiBpc0NvcmRvdmEod2luKSB8fCBpc0NhcGFjaXRvck5hdGl2ZSh3aW4pO1xyXG5cclxuY29uc3QgaXNDb3Jkb3ZhID0gKHdpbjogYW55KTogYm9vbGVhbiA9PlxyXG4gICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xyXG5cclxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcclxuICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xyXG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcclxufTtcclxuXHJcbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XHJcblxyXG5jb25zdCBpc1BXQSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cclxuICAhIShcclxuICAgIHdpbi5tYXRjaE1lZGlhKCcoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKScpLm1hdGNoZXMgfHxcclxuICAgICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZVxyXG4gICk7XHJcblxyXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxyXG4gIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcblxyXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxyXG4gIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xyXG5cclxuXHJcbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XHJcbmNvbnN0IGlzTURTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNzY4cHgpJyk7XHJcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xyXG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcclxuY29uc3QgaXMyWExTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTUzNnB4KScpO1xyXG5cclxuY29uc3QgUExBVEZPUk1TX01BUDogYW55ID0ge1xyXG4gIEFuZHJvaWQ6IGlzQW5kcm9pZCxcclxuICBpT1M6IGlzSU9TLFxyXG4gIERlc2t0b3A6IGlzRGVza3RvcCxcclxuICBNb2JpbGU6IGlzTW9iaWxlLFxyXG4gIFRvdWNoOiBpc1RvdWNoLFxyXG4gIENocm9tZTogaXNDaHJvbWUsXHJcbiAgRmlyZWZveDogaXNGaXJlZm94LFxyXG4gIFNhZmFyaTogaXNTYWZhcmksXHJcbiAgRWRnZTogaXNFZGdlLFxyXG4gIE9wZXJhOiBpc09wZXJhLFxyXG4gIEh5YnJpZDogaXNIeWJyaWQsXHJcbiAgUFdBOiBpc1BXQSxcclxuICBFbGVjdHJvbjogaXNFbGVjdHJvbixcclxuICBTTTogaXNTTVNjcmVlbixcclxuICBNRDogaXNNRFNjcmVlbixcclxuICBMRzogaXNMR1NjcmVlbixcclxuICBYTDogaXNYTFNjcmVlbixcclxuICBcIjJYTFwiOiBpczJYTFNjcmVlbixcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtRXZlbnQ8VCBleHRlbmRzIEV2ZW50ID0gRXZlbnQ+IHtcclxuICBuYXRpdmVFdmVudCE6IFQ7XHJcbiAgc291cmNlITogQVhQbGF0Zm9ybTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm0ge1xyXG4gIHJlc2l6ZTogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xyXG4gIGNsaWNrOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcbiAgc2Nyb2xsOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XHJcblxyXG4gIGlzUnRsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZG9jdW1lbnQuZGlyID09ICdydGwnIHx8XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuZGlyID09ICdydGwnIHx8XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlyZWN0aW9uID09ICdydGwnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNMYW5kc2NhcGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBpc1BvcnRyYXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzTGFuZHNjYXBlKCk7XHJcbiAgfVxyXG5cclxuICBpcyhuYW1lOiBBWFBsYXRmb3JtcyB8IEFYQnJvd3NlcnMgfCBBWFRlY2hub2xvZ2llcyB8IEFYU2NyZWVuU2l6ZXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBQTEFURk9STVNfTUFQW25hbWVdKHdpbmRvdykgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hEYXJrTW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaExpZ2h0TW9kZSgpIHtcclxuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcclxuICAgIF9odG1sLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWRhcmsnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldEZ1bGxIZWlnaHRSYXRpbygpIHtcclxuICAgIGRvY3VtZW50XHJcbiAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignOnJvb3QnKVxyXG4gICAgICA/LnN0eWxlLnNldFByb3BlcnR5KCctLWF4LXZoJywgd2luZG93LmlubmVySGVpZ2h0IC8gMTAwICsgJ3B4Jyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ2NsaWNrJyxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgICB0aGlzLmNsaWNrLm5leHQoe1xyXG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3Njcm9sbCcsXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGwubmV4dCh7XHJcbiAgICAgICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICAgIC8vIGluaXQgZnVuY3Rpb25zXHJcbiAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcclxuICB9XHJcbn1cclxuIl19
@@ -3,10 +3,10 @@ import { AXTranslatorPipe } from './translator.pipe';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AXTranslationModule {
5
5
  }
6
- AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
8
- AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, decorators: [{
6
+ AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
8
+ AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [],
@@ -6,9 +6,9 @@ export class AXTranslatorPipe {
6
6
  return AXTranslator.get(value, arg1, arg2);
7
7
  }
8
8
  }
9
- AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
- AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
9
+ AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{ name: 'trans', pure: true }]
14
14
  }] });
@@ -37,4 +37,3 @@ AXConfig.dataChangeSubject = new Subject();
37
37
 
38
38
  export { AXConfig };
39
39
  //# sourceMappingURL=acorex-core-config.mjs.map
40
- //# sourceMappingURL=acorex-core-config.mjs.map
@@ -304,9 +304,9 @@ class AXDateTimePipe {
304
304
  }
305
305
  }
306
306
  }
307
- AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
308
- AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
307
+ AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
308
+ AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
310
310
  type: Pipe,
311
311
  args: [{ name: 'axDate' }]
312
312
  }], ctorParameters: function () { return []; } });
@@ -877,10 +877,10 @@ class AXDateTimeModule {
877
877
  });
878
878
  }
879
879
  }
880
- AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
881
- AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
882
- AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule });
883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
880
+ AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
881
+ AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
882
+ AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule });
883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
884
884
  type: NgModule,
885
885
  args: [{
886
886
  imports: [],
@@ -896,4 +896,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
896
896
 
897
897
  export { AXCalendarMonth, AXDateTime, AXDateTimeModule, AXDateTimePipe, AXDateTimeRange, GeorgianCalendar, JalaliCalendar };
898
898
  //# sourceMappingURL=acorex-core-dateTime.mjs.map
899
- //# sourceMappingURL=acorex-core-dateTime.mjs.map
@@ -28,9 +28,9 @@ class AXEventService {
28
28
  }
29
29
  }
30
30
  }
31
- AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
- AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, decorators: [{
31
+ AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{ providedIn: 'root' }]
36
36
  }] });
@@ -41,4 +41,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
41
41
 
42
42
  export { AXEventService };
43
43
  //# sourceMappingURL=acorex-core-events.mjs.map
44
- //# sourceMappingURL=acorex-core-events.mjs.map
@@ -161,9 +161,9 @@ class AXFileService {
161
161
  });
162
162
  }
163
163
  }
164
- AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
165
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, decorators: [{
164
+ AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
165
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, decorators: [{
167
167
  type: Injectable,
168
168
  args: [{ providedIn: 'root' }]
169
169
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
@@ -174,4 +174,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
174
174
 
175
175
  export { AXFileDownloadRef, AXFileDownloadResult, AXFileService, AXFileUploadRef };
176
176
  //# sourceMappingURL=acorex-core-file.mjs.map
177
- //# sourceMappingURL=acorex-core-file.mjs.map
@@ -163,23 +163,23 @@ class AXHttpService {
163
163
  // }
164
164
  }
165
165
  }
166
- AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
167
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, decorators: [{
166
+ AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
167
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, decorators: [{
169
169
  type: Injectable,
170
170
  args: [{ providedIn: 'root' }]
171
171
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
172
172
 
173
173
  class AXHttpModule {
174
174
  }
175
- AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
176
- AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
175
+ AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
176
+ AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
177
177
  HttpClientModule], exports: [HttpClientModule] });
178
- AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, providers: [
178
+ AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, providers: [
179
179
  AXHttpService
180
180
  ], imports: [CommonModule,
181
181
  HttpClientModule, HttpClientModule] });
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, decorators: [{
183
183
  type: NgModule,
184
184
  args: [{
185
185
  declarations: [],
@@ -200,4 +200,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
200
200
 
201
201
  export { AXHttpModule, AX_HTTP_EVENT_INTERCEPTOR, HttpResult };
202
202
  //# sourceMappingURL=acorex-core-http.mjs.map
203
- //# sourceMappingURL=acorex-core-http.mjs.map
@@ -38,9 +38,9 @@ class AXImageService {
38
38
  });
39
39
  }
40
40
  }
41
- AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, decorators: [{
41
+ AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{ providedIn: 'root' }]
46
46
  }], ctorParameters: function () { return []; } });
@@ -51,4 +51,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
51
51
 
52
52
  export { AXImageService };
53
53
  //# sourceMappingURL=acorex-core-image.mjs.map
54
- //# sourceMappingURL=acorex-core-image.mjs.map
@@ -20,9 +20,9 @@ class AXSafePipe {
20
20
  }
21
21
  }
22
22
  }
23
- AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
24
- AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, name: "safe" });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, decorators: [{
23
+ AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
24
+ AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, name: "safe" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{
28
28
  name: 'safe',
@@ -32,10 +32,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
32
32
 
33
33
  class AXPipesModule {
34
34
  }
35
- AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
37
- AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, decorators: [{
35
+ AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
+ AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
37
+ AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  declarations: [AXSafePipe],
@@ -51,4 +51,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
51
51
 
52
52
  export { AXPipesModule, AXSafePipe };
53
53
  //# sourceMappingURL=acorex-core-pipes.mjs.map
54
- //# sourceMappingURL=acorex-core-pipes.mjs.map
@@ -44,6 +44,7 @@ const isTablet = (win) => {
44
44
  (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400));
45
45
  };
46
46
  const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
47
+ const isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');
47
48
  const isDesktop = (win) => !isMobile(win);
48
49
  const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
49
50
  const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
@@ -66,6 +67,7 @@ const PLATFORMS_MAP = {
66
67
  iOS: isIOS,
67
68
  Desktop: isDesktop,
68
69
  Mobile: isMobile,
70
+ Touch: isTouch,
69
71
  Chrome: isChrome,
70
72
  Firefox: isFirefox,
71
73
  Safari: isSafari,
@@ -141,9 +143,9 @@ class AXPlatform {
141
143
  .querySelector(':root')) === null || _a === void 0 ? void 0 : _a.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');
142
144
  }
143
145
  }
144
- AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, decorators: [{
146
+ AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
147
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, decorators: [{
147
149
  type: Injectable,
148
150
  args: [{
149
151
  providedIn: 'root',
@@ -156,4 +158,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
156
158
 
157
159
  export { AXPlatform, AXPlatformEvent, testUserAgent };
158
160
  //# sourceMappingURL=acorex-core-platform.mjs.map
159
- //# sourceMappingURL=acorex-core-platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent<T extends Event = Event> {\r\n nativeEvent!: T;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\nconst isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Touch: isTouch,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent<T extends Event = Event> {\r\n nativeEvent!: T;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -50,19 +50,19 @@ class AXTranslatorPipe {
50
50
  return AXTranslator.get(value, arg1, arg2);
51
51
  }
52
52
  }
53
- AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
54
- AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
53
+ AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
54
+ AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
56
56
  type: Pipe,
57
57
  args: [{ name: 'trans', pure: true }]
58
58
  }] });
59
59
 
60
60
  class AXTranslationModule {
61
61
  }
62
- AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
- AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
64
- AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, decorators: [{
62
+ AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
+ AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
64
+ AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, decorators: [{
66
66
  type: NgModule,
67
67
  args: [{
68
68
  imports: [],
@@ -78,4 +78,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
78
78
 
79
79
  export { AXTranslationModule, AXTranslator, AXTranslatorPipe };
80
80
  //# sourceMappingURL=acorex-core-translation.mjs.map
81
- //# sourceMappingURL=acorex-core-translation.mjs.map
@@ -161,4 +161,3 @@ class AXColorUtil {
161
161
 
162
162
  export { AXColorUtil, AXDrawingUtil, AXObjectUtil, AXStringUtil };
163
163
  //# sourceMappingURL=acorex-core-utils.mjs.map
164
- //# sourceMappingURL=acorex-core-utils.mjs.map
@@ -9,4 +9,3 @@ const ACOREX_CORE = "@acorex/core";
9
9
 
10
10
  export { ACOREX_CORE };
11
11
  //# sourceMappingURL=acorex-core.mjs.map
12
- //# sourceMappingURL=acorex-core.mjs.map
@@ -37,4 +37,3 @@ AXConfig.dataChangeSubject = new Subject();
37
37
 
38
38
  export { AXConfig };
39
39
  //# sourceMappingURL=acorex-core-config.mjs.map
40
- //# sourceMappingURL=acorex-core-config.mjs.map
@@ -304,9 +304,9 @@ class AXDateTimePipe {
304
304
  }
305
305
  }
306
306
  }
307
- AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
308
- AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
307
+ AXDateTimePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
308
+ AXDateTimePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimePipe, decorators: [{
310
310
  type: Pipe,
311
311
  args: [{ name: 'axDate' }]
312
312
  }], ctorParameters: function () { return []; } });
@@ -877,10 +877,10 @@ class AXDateTimeModule {
877
877
  });
878
878
  }
879
879
  }
880
- AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
881
- AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
882
- AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule });
883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
880
+ AXDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
881
+ AXDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
882
+ AXDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule });
883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXDateTimeModule, decorators: [{
884
884
  type: NgModule,
885
885
  args: [{
886
886
  imports: [],
@@ -896,4 +896,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
896
896
 
897
897
  export { AXCalendarMonth, AXDateTime, AXDateTimeModule, AXDateTimePipe, AXDateTimeRange, GeorgianCalendar, JalaliCalendar };
898
898
  //# sourceMappingURL=acorex-core-dateTime.mjs.map
899
- //# sourceMappingURL=acorex-core-dateTime.mjs.map
@@ -28,9 +28,9 @@ class AXEventService {
28
28
  }
29
29
  }
30
30
  }
31
- AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
- AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXEventService, decorators: [{
31
+ AXEventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ AXEventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXEventService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{ providedIn: 'root' }]
36
36
  }] });
@@ -41,4 +41,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
41
41
 
42
42
  export { AXEventService };
43
43
  //# sourceMappingURL=acorex-core-events.mjs.map
44
- //# sourceMappingURL=acorex-core-events.mjs.map
@@ -161,9 +161,9 @@ class AXFileService {
161
161
  });
162
162
  }
163
163
  }
164
- AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
165
- AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXFileService, decorators: [{
164
+ AXFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
165
+ AXFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, providedIn: 'root' });
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXFileService, decorators: [{
167
167
  type: Injectable,
168
168
  args: [{ providedIn: 'root' }]
169
169
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
@@ -174,4 +174,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
174
174
 
175
175
  export { AXFileDownloadRef, AXFileDownloadResult, AXFileService, AXFileUploadRef };
176
176
  //# sourceMappingURL=acorex-core-file.mjs.map
177
- //# sourceMappingURL=acorex-core-file.mjs.map
@@ -162,23 +162,23 @@ class AXHttpService {
162
162
  // }
163
163
  }
164
164
  }
165
- AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
166
- AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpService, decorators: [{
165
+ AXHttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
166
+ AXHttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, providedIn: 'root' });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpService, decorators: [{
168
168
  type: Injectable,
169
169
  args: [{ providedIn: 'root' }]
170
170
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
171
171
 
172
172
  class AXHttpModule {
173
173
  }
174
- AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
- AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
174
+ AXHttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
+ AXHttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
176
176
  HttpClientModule], exports: [HttpClientModule] });
177
- AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, providers: [
177
+ AXHttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, providers: [
178
178
  AXHttpService
179
179
  ], imports: [CommonModule,
180
180
  HttpClientModule, HttpClientModule] });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXHttpModule, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXHttpModule, decorators: [{
182
182
  type: NgModule,
183
183
  args: [{
184
184
  declarations: [],
@@ -199,4 +199,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
199
199
 
200
200
  export { AXHttpModule, AX_HTTP_EVENT_INTERCEPTOR, HttpResult };
201
201
  //# sourceMappingURL=acorex-core-http.mjs.map
202
- //# sourceMappingURL=acorex-core-http.mjs.map
@@ -35,9 +35,9 @@ class AXImageService {
35
35
  return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
36
36
  }
37
37
  }
38
- AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
- AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXImageService, decorators: [{
38
+ AXImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
39
+ AXImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXImageService, decorators: [{
41
41
  type: Injectable,
42
42
  args: [{ providedIn: 'root' }]
43
43
  }], ctorParameters: function () { return []; } });
@@ -48,4 +48,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
48
48
 
49
49
  export { AXImageService };
50
50
  //# sourceMappingURL=acorex-core-image.mjs.map
51
- //# sourceMappingURL=acorex-core-image.mjs.map
@@ -20,9 +20,9 @@ class AXSafePipe {
20
20
  }
21
21
  }
22
22
  }
23
- AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
24
- AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, name: "safe" });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXSafePipe, decorators: [{
23
+ AXSafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
24
+ AXSafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, name: "safe" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXSafePipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{
28
28
  name: 'safe',
@@ -32,10 +32,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
32
32
 
33
33
  class AXPipesModule {
34
34
  }
35
- AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
37
- AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPipesModule, decorators: [{
35
+ AXPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
+ AXPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] });
37
+ AXPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPipesModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  declarations: [AXSafePipe],
@@ -51,4 +51,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
51
51
 
52
52
  export { AXPipesModule, AXSafePipe };
53
53
  //# sourceMappingURL=acorex-core-pipes.mjs.map
54
- //# sourceMappingURL=acorex-core-pipes.mjs.map
@@ -44,6 +44,7 @@ const isTablet = (win) => {
44
44
  (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400));
45
45
  };
46
46
  const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
47
+ const isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');
47
48
  const isDesktop = (win) => !isMobile(win);
48
49
  const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
49
50
  const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
@@ -66,6 +67,7 @@ const PLATFORMS_MAP = {
66
67
  iOS: isIOS,
67
68
  Desktop: isDesktop,
68
69
  Mobile: isMobile,
70
+ Touch: isTouch,
69
71
  Chrome: isChrome,
70
72
  Firefox: isFirefox,
71
73
  Safari: isSafari,
@@ -141,9 +143,9 @@ class AXPlatform {
141
143
  ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');
142
144
  }
143
145
  }
144
- AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
145
- AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXPlatform, decorators: [{
146
+ AXPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
147
+ AXPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, providedIn: 'root' });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXPlatform, decorators: [{
147
149
  type: Injectable,
148
150
  args: [{
149
151
  providedIn: 'root',
@@ -156,4 +158,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
156
158
 
157
159
  export { AXPlatform, AXPlatformEvent, testUserAgent };
158
160
  //# sourceMappingURL=acorex-core-platform.mjs.map
159
- //# sourceMappingURL=acorex-core-platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent<T extends Event = Event> {\r\n nativeEvent!: T;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../projects/acorex/core/platform/src/platform.service.ts","../../../../projects/acorex/core/platform/acorex-core-platform.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\r\nexport type AXBrowsers =\r\n | 'Chrome'\r\n | 'Safari'\r\n | 'Edge'\r\n | 'Firefox'\r\n | 'Opera'\r\n | 'MSIE';\r\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\r\n\r\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\r\n\r\nconst isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\r\n\r\nconst isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\r\n\r\nconst isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\r\n\r\nconst isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\r\n\r\nconst isOpera = (win: Window): boolean =>\r\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\r\n\r\nconst isMSIE = (win: Window): boolean =>\r\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\r\n\r\nconst isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\r\n\r\nconst isIpad = (win: Window) => {\r\n // iOS 12 and below\r\n if (testUserAgent(win, /iPad/i)) {\r\n return true;\r\n }\r\n\r\n // iOS 13+\r\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\r\n\r\nconst isIOS = (win: Window) =>\r\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\r\n\r\nconst isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\r\n\r\nconst isAndroidTablet = (win: Window) => {\r\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\r\n};\r\n\r\nconst isPhablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\r\n};\r\n\r\nconst isTablet = (win: Window) => {\r\n const width = win.innerWidth;\r\n const height = win.innerHeight;\r\n const smallest = Math.min(width, height);\r\n const largest = Math.max(width, height);\r\n\r\n return (\r\n isIpad(win) ||\r\n isAndroidTablet(win) ||\r\n (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400)\r\n );\r\n};\r\n\r\nconst isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\nconst isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\r\n\r\nconst isDesktop = (win: Window) => !isMobile(win);\r\n\r\nconst isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\r\n\r\nconst isCordova = (win: any): boolean =>\r\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\r\n\r\nconst isCapacitorNative = (win: any): boolean => {\r\n const capacitor = win['Capacitor'];\r\n return !!(capacitor && capacitor.isNative);\r\n};\r\n\r\nconst isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\r\n\r\nconst isPWA = (win: Window): boolean =>\r\n !!(\r\n win.matchMedia('(display-mode: standalone)').matches ||\r\n (win.navigator as any).standalone\r\n );\r\n\r\nexport const testUserAgent = (win: Window, expr: RegExp) =>\r\n expr.test(win.navigator.userAgent);\r\n\r\nconst matchMedia = (win: Window, query: string): boolean =>\r\n win.matchMedia(query).matches;\r\n\r\n\r\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\r\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\r\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\r\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\r\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\r\n\r\nconst PLATFORMS_MAP: any = {\r\n Android: isAndroid,\r\n iOS: isIOS,\r\n Desktop: isDesktop,\r\n Mobile: isMobile,\r\n Touch: isTouch,\r\n Chrome: isChrome,\r\n Firefox: isFirefox,\r\n Safari: isSafari,\r\n Edge: isEdge,\r\n Opera: isOpera,\r\n Hybrid: isHybrid,\r\n PWA: isPWA,\r\n Electron: isElectron,\r\n SM: isSMScreen,\r\n MD: isMDScreen,\r\n LG: isLGScreen,\r\n XL: isXLScreen,\r\n \"2XL\": is2XLScreen,\r\n};\r\n\r\nexport class AXPlatformEvent<T extends Event = Event> {\r\n nativeEvent!: T;\r\n source!: AXPlatform;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPlatform {\r\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\r\n\r\n isRtl(): boolean {\r\n return (\r\n document.dir == 'rtl' ||\r\n document.body.dir == 'rtl' ||\r\n document.body.style.direction == 'rtl'\r\n );\r\n }\r\n\r\n isLandscape(): boolean {\r\n return window.innerHeight < window.innerWidth;\r\n }\r\n\r\n isPortrate(): boolean {\r\n return !this.isLandscape();\r\n }\r\n\r\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\r\n return PLATFORMS_MAP[name](window) || false;\r\n }\r\n\r\n switchDarkMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.add('ax-dark');\r\n }\r\n\r\n switchLightMode() {\r\n const _html = document.getElementsByTagName('html')[0];\r\n _html.classList.remove('ax-dark');\r\n }\r\n\r\n private _setFullHeightRatio() {\r\n document\r\n .querySelector<HTMLElement>(':root')\r\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\r\n }\r\n\r\n constructor() {\r\n fromEvent<UIEvent>(window, 'resize')\r\n .pipe(debounceTime(100))\r\n .pipe(distinctUntilChanged())\r\n .subscribe((e) => {\r\n this.resize.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n //\r\n this._setFullHeightRatio();\r\n });\r\n\r\n document.addEventListener(\r\n 'click',\r\n (e) => {\r\n this.click.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n\r\n document.addEventListener(\r\n 'scroll',\r\n (e) => {\r\n this.scroll.next({\r\n nativeEvent: e,\r\n source: this,\r\n });\r\n },\r\n true\r\n );\r\n // init functions\r\n this._setFullHeightRatio();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -49,19 +49,19 @@ class AXTranslatorPipe {
49
49
  return AXTranslator.get(value, arg1, arg2);
50
50
  }
51
51
  }
52
- AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
53
- AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
52
+ AXTranslatorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
53
+ AXTranslatorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
55
55
  type: Pipe,
56
56
  args: [{ name: 'trans', pure: true }]
57
57
  }] });
58
58
 
59
59
  class AXTranslationModule {
60
60
  }
61
- AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
- AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
63
- AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AXTranslationModule, decorators: [{
61
+ AXTranslationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
+ AXTranslationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });
63
+ AXTranslationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTranslationModule, decorators: [{
65
65
  type: NgModule,
66
66
  args: [{
67
67
  imports: [],
@@ -77,4 +77,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
77
77
 
78
78
  export { AXTranslationModule, AXTranslator, AXTranslatorPipe };
79
79
  //# sourceMappingURL=acorex-core-translation.mjs.map
80
- //# sourceMappingURL=acorex-core-translation.mjs.map
@@ -161,4 +161,3 @@ class AXColorUtil {
161
161
 
162
162
  export { AXColorUtil, AXDrawingUtil, AXObjectUtil, AXStringUtil };
163
163
  //# sourceMappingURL=acorex-core-utils.mjs.map
164
- //# sourceMappingURL=acorex-core-utils.mjs.map
@@ -9,4 +9,3 @@ const ACOREX_CORE = "@acorex/core";
9
9
 
10
10
  export { ACOREX_CORE };
11
11
  //# sourceMappingURL=acorex-core.mjs.map
12
- //# sourceMappingURL=acorex-core.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "7.0.12",
3
+ "version": "7.0.14",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -112,4 +112,4 @@
112
112
  }
113
113
  },
114
114
  "sideEffects": false
115
- }
115
+ }