@acorex/core 7.0.18 → 7.0.20

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 (205) hide show
  1. package/config/ax-preset.js +186 -0
  2. package/config/index.ts +1 -0
  3. package/config/ng-package.json +6 -0
  4. package/config/public-api.ts +1 -0
  5. package/config/src/configs.ts +37 -0
  6. package/dateTime/index.ts +1 -0
  7. package/dateTime/ng-package.json +6 -0
  8. package/dateTime/{public-api.d.ts → public-api.ts} +1 -1
  9. package/dateTime/src/datetime.class.ts +449 -0
  10. package/dateTime/src/datetime.module.ts +35 -0
  11. package/dateTime/src/datetime.pipe.ts +21 -0
  12. package/dateTime/src/georgian.calendar.ts +205 -0
  13. package/dateTime/src/jalali.calendar.ts +416 -0
  14. package/events/index.ts +1 -0
  15. package/events/ng-package.json +6 -0
  16. package/events/public-api.ts +1 -0
  17. package/events/src/event.service.ts +31 -0
  18. package/file/index.ts +1 -0
  19. package/file/ng-package.json +7 -0
  20. package/file/public-api.ts +4 -0
  21. package/file/src/file-download-ref.class.ts +16 -0
  22. package/file/src/file-download-result.class.ts +56 -0
  23. package/file/src/file-upload-ref.class.ts +14 -0
  24. package/file/src/file.service.ts +104 -0
  25. package/http/index.ts +1 -0
  26. package/http/ng-package.json +6 -0
  27. package/http/{public-api.d.ts → public-api.ts} +1 -1
  28. package/http/src/{http-error.class.d.ts → http-error.class.ts} +2 -2
  29. package/http/src/{http-events.interceptor.d.ts → http-events.interceptor.ts} +7 -3
  30. package/http/src/{http-request.class.d.ts → http-request.class.ts} +5 -5
  31. package/http/src/http-result.class.ts +34 -0
  32. package/http/src/http.module.ts +25 -0
  33. package/http/src/http.service.ts +161 -0
  34. package/image/index.ts +1 -0
  35. package/image/ng-package.json +7 -0
  36. package/image/public-api.ts +1 -0
  37. package/image/src/image.service.ts +42 -0
  38. package/index.ts +1 -0
  39. package/karma.conf.js +44 -0
  40. package/ng-package.json +7 -0
  41. package/package.json +16 -115
  42. package/pipes/index.ts +1 -0
  43. package/pipes/ng-package.json +6 -0
  44. package/pipes/public-api.ts +2 -0
  45. package/pipes/src/pipes.module.ts +11 -0
  46. package/pipes/src/safe.pipe.ts +24 -0
  47. package/platform/index.ts +1 -0
  48. package/platform/ng-package.json +6 -0
  49. package/platform/public-api.ts +1 -0
  50. package/platform/src/platform.service.ts +223 -0
  51. package/public-api.ts +4 -0
  52. package/test.ts +27 -0
  53. package/translation/index.ts +1 -0
  54. package/translation/ng-package.json +6 -0
  55. package/translation/{public-api.d.ts → public-api.ts} +1 -1
  56. package/translation/src/translation.module.ts +12 -0
  57. package/translation/src/translator.pipe.ts +9 -0
  58. package/translation/src/translator.ts +49 -0
  59. package/tsconfig.lib.json +15 -0
  60. package/tsconfig.lib.prod.json +10 -0
  61. package/tsconfig.spec.json +17 -0
  62. package/utils/index.ts +1 -0
  63. package/utils/ng-package.json +6 -0
  64. package/utils/{public-api.d.ts → public-api.ts} +1 -1
  65. package/utils/src/color-util.ts +83 -0
  66. package/utils/src/drawing-util.ts +43 -0
  67. package/utils/src/object-util.ts +82 -0
  68. package/utils/src/string-util.ts +25 -0
  69. package/config/index.d.ts +0 -5
  70. package/config/public-api.d.ts +0 -1
  71. package/config/src/configs.d.ts +0 -9
  72. package/dateTime/index.d.ts +0 -5
  73. package/dateTime/src/datetime.class.d.ts +0 -100
  74. package/dateTime/src/datetime.module.d.ts +0 -8
  75. package/dateTime/src/datetime.pipe.d.ts +0 -8
  76. package/dateTime/src/georgian.calendar.d.ts +0 -20
  77. package/dateTime/src/jalali.calendar.d.ts +0 -35
  78. package/esm2020/acorex-core.mjs +0 -5
  79. package/esm2020/config/acorex-core-config.mjs +0 -5
  80. package/esm2020/config/public-api.mjs +0 -2
  81. package/esm2020/config/src/configs.mjs +0 -32
  82. package/esm2020/dateTime/acorex-core-dateTime.mjs +0 -5
  83. package/esm2020/dateTime/public-api.mjs +0 -6
  84. package/esm2020/dateTime/src/datetime.class.mjs +0 -288
  85. package/esm2020/dateTime/src/datetime.module.mjs +0 -39
  86. package/esm2020/dateTime/src/datetime.pipe.mjs +0 -26
  87. package/esm2020/dateTime/src/georgian.calendar.mjs +0 -189
  88. package/esm2020/dateTime/src/jalali.calendar.mjs +0 -359
  89. package/esm2020/events/acorex-core-events.mjs +0 -5
  90. package/esm2020/events/public-api.mjs +0 -2
  91. package/esm2020/events/src/event.service.mjs +0 -36
  92. package/esm2020/file/acorex-core-file.mjs +0 -5
  93. package/esm2020/file/public-api.mjs +0 -5
  94. package/esm2020/file/src/file-download-ref.class.mjs +0 -12
  95. package/esm2020/file/src/file-download-result.class.mjs +0 -47
  96. package/esm2020/file/src/file-upload-ref.class.mjs +0 -12
  97. package/esm2020/file/src/file.service.mjs +0 -101
  98. package/esm2020/http/acorex-core-http.mjs +0 -5
  99. package/esm2020/http/public-api.mjs +0 -6
  100. package/esm2020/http/src/http-error.class.mjs +0 -2
  101. package/esm2020/http/src/http-events.interceptor.mjs +0 -3
  102. package/esm2020/http/src/http-request.class.mjs +0 -2
  103. package/esm2020/http/src/http-result.class.mjs +0 -21
  104. package/esm2020/http/src/http.module.mjs +0 -29
  105. package/esm2020/http/src/http.service.mjs +0 -148
  106. package/esm2020/image/acorex-core-image.mjs +0 -5
  107. package/esm2020/image/public-api.mjs +0 -2
  108. package/esm2020/image/src/image.service.mjs +0 -43
  109. package/esm2020/pipes/acorex-core-pipes.mjs +0 -5
  110. package/esm2020/pipes/public-api.mjs +0 -3
  111. package/esm2020/pipes/src/pipes.module.mjs +0 -19
  112. package/esm2020/pipes/src/safe.pipe.mjs +0 -30
  113. package/esm2020/platform/acorex-core-platform.mjs +0 -5
  114. package/esm2020/platform/public-api.mjs +0 -2
  115. package/esm2020/platform/src/platform.service.mjs +0 -153
  116. package/esm2020/public-api.mjs +0 -5
  117. package/esm2020/translation/acorex-core-translation.mjs +0 -5
  118. package/esm2020/translation/public-api.mjs +0 -4
  119. package/esm2020/translation/src/translation.module.mjs +0 -18
  120. package/esm2020/translation/src/translator.mjs +0 -43
  121. package/esm2020/translation/src/translator.pipe.mjs +0 -15
  122. package/esm2020/utils/acorex-core-utils.mjs +0 -5
  123. package/esm2020/utils/public-api.mjs +0 -5
  124. package/esm2020/utils/src/color-util.mjs +0 -71
  125. package/esm2020/utils/src/drawing-util.mjs +0 -27
  126. package/esm2020/utils/src/object-util.mjs +0 -39
  127. package/esm2020/utils/src/string-util.mjs +0 -19
  128. package/events/index.d.ts +0 -5
  129. package/events/public-api.d.ts +0 -1
  130. package/events/src/event.service.d.ts +0 -9
  131. package/fesm2015/acorex-core-config.mjs +0 -40
  132. package/fesm2015/acorex-core-config.mjs.map +0 -1
  133. package/fesm2015/acorex-core-dateTime.mjs +0 -899
  134. package/fesm2015/acorex-core-dateTime.mjs.map +0 -1
  135. package/fesm2015/acorex-core-events.mjs +0 -44
  136. package/fesm2015/acorex-core-events.mjs.map +0 -1
  137. package/fesm2015/acorex-core-file.mjs +0 -177
  138. package/fesm2015/acorex-core-file.mjs.map +0 -1
  139. package/fesm2015/acorex-core-http.mjs +0 -203
  140. package/fesm2015/acorex-core-http.mjs.map +0 -1
  141. package/fesm2015/acorex-core-image.mjs +0 -54
  142. package/fesm2015/acorex-core-image.mjs.map +0 -1
  143. package/fesm2015/acorex-core-pipes.mjs +0 -54
  144. package/fesm2015/acorex-core-pipes.mjs.map +0 -1
  145. package/fesm2015/acorex-core-platform.mjs +0 -161
  146. package/fesm2015/acorex-core-platform.mjs.map +0 -1
  147. package/fesm2015/acorex-core-translation.mjs +0 -81
  148. package/fesm2015/acorex-core-translation.mjs.map +0 -1
  149. package/fesm2015/acorex-core-utils.mjs +0 -164
  150. package/fesm2015/acorex-core-utils.mjs.map +0 -1
  151. package/fesm2015/acorex-core.mjs +0 -12
  152. package/fesm2015/acorex-core.mjs.map +0 -1
  153. package/fesm2020/acorex-core-config.mjs +0 -40
  154. package/fesm2020/acorex-core-config.mjs.map +0 -1
  155. package/fesm2020/acorex-core-dateTime.mjs +0 -899
  156. package/fesm2020/acorex-core-dateTime.mjs.map +0 -1
  157. package/fesm2020/acorex-core-events.mjs +0 -44
  158. package/fesm2020/acorex-core-events.mjs.map +0 -1
  159. package/fesm2020/acorex-core-file.mjs +0 -177
  160. package/fesm2020/acorex-core-file.mjs.map +0 -1
  161. package/fesm2020/acorex-core-http.mjs +0 -202
  162. package/fesm2020/acorex-core-http.mjs.map +0 -1
  163. package/fesm2020/acorex-core-image.mjs +0 -51
  164. package/fesm2020/acorex-core-image.mjs.map +0 -1
  165. package/fesm2020/acorex-core-pipes.mjs +0 -54
  166. package/fesm2020/acorex-core-pipes.mjs.map +0 -1
  167. package/fesm2020/acorex-core-platform.mjs +0 -161
  168. package/fesm2020/acorex-core-platform.mjs.map +0 -1
  169. package/fesm2020/acorex-core-translation.mjs +0 -80
  170. package/fesm2020/acorex-core-translation.mjs.map +0 -1
  171. package/fesm2020/acorex-core-utils.mjs +0 -164
  172. package/fesm2020/acorex-core-utils.mjs.map +0 -1
  173. package/fesm2020/acorex-core.mjs +0 -12
  174. package/fesm2020/acorex-core.mjs.map +0 -1
  175. package/file/index.d.ts +0 -5
  176. package/file/public-api.d.ts +0 -4
  177. package/file/src/file-download-ref.class.d.ts +0 -6
  178. package/file/src/file-download-result.class.d.ts +0 -8
  179. package/file/src/file-upload-ref.class.d.ts +0 -5
  180. package/file/src/file.service.d.ts +0 -18
  181. package/http/index.d.ts +0 -5
  182. package/http/src/http-result.class.d.ts +0 -11
  183. package/http/src/http.module.d.ts +0 -8
  184. package/http/src/http.service.d.ts +0 -23
  185. package/image/index.d.ts +0 -5
  186. package/image/public-api.d.ts +0 -1
  187. package/image/src/image.service.d.ts +0 -12
  188. package/index.d.ts +0 -5
  189. package/pipes/index.d.ts +0 -5
  190. package/pipes/public-api.d.ts +0 -2
  191. package/pipes/src/pipes.module.d.ts +0 -8
  192. package/pipes/src/safe.pipe.d.ts +0 -10
  193. package/platform/index.d.ts +0 -5
  194. package/platform/public-api.d.ts +0 -1
  195. package/platform/src/platform.service.d.ts +0 -26
  196. package/public-api.d.ts +0 -1
  197. package/translation/index.d.ts +0 -5
  198. package/translation/src/translation.module.d.ts +0 -7
  199. package/translation/src/translator.d.ts +0 -11
  200. package/translation/src/translator.pipe.d.ts +0 -7
  201. package/utils/index.d.ts +0 -5
  202. package/utils/src/color-util.d.ts +0 -20
  203. package/utils/src/drawing-util.d.ts +0 -17
  204. package/utils/src/object-util.d.ts +0 -4
  205. package/utils/src/string-util.d.ts +0 -6
@@ -1,100 +0,0 @@
1
- export declare type TimeUnit = 'ms' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'week';
2
- export interface AXDateValue {
3
- year: number;
4
- month: number;
5
- date: number;
6
- hours?: number;
7
- minutes?: number;
8
- seconds?: number;
9
- ms?: number;
10
- calendar: string;
11
- }
12
- export interface AXCalendar {
13
- monthNames: string[];
14
- monthShortNames: string[];
15
- dayNames: string[];
16
- dayShortNames: string[];
17
- name(): string;
18
- dayOfMonth(date: Date): number;
19
- dayOfYear(date: Date): number;
20
- dayOfWeek(date: Date): number;
21
- monthOfYear(date: Date): number;
22
- weekOfYear(date: Date): number;
23
- year(date: Date): number;
24
- add(date: Date, unit: TimeUnit, amount: number): AXDateTime;
25
- set(date: Date, unit: TimeUnit, value: number): AXDateTime;
26
- startOf(date: Date, unit: TimeUnit): AXDateTime;
27
- endOf(date: Date, unit: TimeUnit): AXDateTime;
28
- create(value: AXDateValue): AXDateTime;
29
- }
30
- export declare class AXDateTime {
31
- static convert(value: Date | AXDateTime | string, calendar?: string): AXDateTime;
32
- static from(value?: AXDateValue): AXDateTime;
33
- static resolveCalendar(calendar: string | AXCalendar): AXCalendar;
34
- private _date;
35
- get date(): Date;
36
- private _calendar;
37
- get calendar(): AXCalendar;
38
- constructor(value?: Date | string, calendar?: string | AXCalendar);
39
- clone(): AXDateTime;
40
- get dayOfMonth(): number;
41
- get dayOfYear(): number;
42
- get dayOfWeek(): number;
43
- get hour(): number;
44
- get minute(): number;
45
- get second(): number;
46
- get year(): number;
47
- get monthOfYear(): number;
48
- get weekOfYear(): number;
49
- get month(): AXCalendarMonth;
50
- add(unit: TimeUnit, amount: number): AXDateTime;
51
- set(unit: TimeUnit, value: number): AXDateTime;
52
- duration(end: Date | AXDateTime, unit?: TimeUnit): AXTimeSpan;
53
- startOf(unit?: TimeUnit): AXDateTime;
54
- endOf(unit?: TimeUnit): AXDateTime;
55
- private _formatKeys;
56
- format(format?: string): string;
57
- private pad;
58
- toString(format?: string): string;
59
- equal(value: Date | AXDateTime, unit?: TimeUnit): boolean;
60
- compare(value: Date | AXDateTime, unit?: TimeUnit): number;
61
- convert(calendar: string): AXDateTime;
62
- }
63
- export declare class AXCalendarMonth {
64
- private _range;
65
- get range(): AXDateTimeRange;
66
- set range(v: AXDateTimeRange);
67
- constructor(date: AXDateTime);
68
- private readonly index;
69
- private readonly name;
70
- }
71
- export interface AXTimeSpanTotal {
72
- miliseconds: number;
73
- seconds: number;
74
- minutes: number;
75
- hours: number;
76
- days: number;
77
- weeks: number;
78
- months: number;
79
- years: number;
80
- }
81
- export interface AXTimeSpan {
82
- miliseconds: number;
83
- seconds: number;
84
- minutes: number;
85
- hours: number;
86
- days: number;
87
- months: number;
88
- years: number;
89
- total: AXTimeSpanTotal;
90
- }
91
- export declare class AXDateTimeRange {
92
- private _startTime;
93
- private _endTime;
94
- get startTime(): AXDateTime;
95
- get endTime(): AXDateTime;
96
- constructor(startTime: AXDateTime, endTime: AXDateTime);
97
- duration(): AXTimeSpan;
98
- enumurate(unit?: TimeUnit, amount?: number): AXDateTime[];
99
- includes(value: AXDateTime, unit?: TimeUnit): boolean;
100
- }
@@ -1,8 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./datetime.pipe";
3
- export declare class AXDateTimeModule {
4
- constructor();
5
- static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimeModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXDateTimeModule, [typeof i1.AXDateTimePipe], never, [typeof i1.AXDateTimePipe]>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<AXDateTimeModule>;
8
- }
@@ -1,8 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class AXDateTimePipe implements PipeTransform {
4
- constructor();
5
- transform(value: any, format?: string, calendar?: string): string;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimePipe, never>;
7
- static ɵpipe: i0.ɵɵPipeDeclaration<AXDateTimePipe, "axDate", false>;
8
- }
@@ -1,20 +0,0 @@
1
- import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from "./datetime.class";
2
- export declare class GeorgianCalendar implements AXCalendar {
3
- monthNames: string[];
4
- monthShortNames: string[];
5
- dayNames: string[];
6
- dayShortNames: string[];
7
- create(value: AXDateValue): AXDateTime;
8
- name(): string;
9
- dayOfMonth(date: Date): number;
10
- dayOfYear(date: Date): number;
11
- dayOfWeek(date: Date): number;
12
- weekOfYear(date: Date): number;
13
- year(date: Date): number;
14
- monthOfYear(date: Date): number;
15
- add(date: Date, unit: TimeUnit, amount: number): AXDateTime;
16
- set(date: Date, unit: TimeUnit, value: number): AXDateTime;
17
- startOf(date: Date, unit: TimeUnit): AXDateTime;
18
- endOf(date: Date, unit: TimeUnit): AXDateTime;
19
- isLeap(date: Date): boolean;
20
- }
@@ -1,35 +0,0 @@
1
- import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from "./datetime.class";
2
- export declare class JalaliCalendar implements AXCalendar {
3
- monthNames: string[];
4
- monthShortNames: string[];
5
- dayNames: string[];
6
- dayShortNames: string[];
7
- create(value: AXDateValue): AXDateTime;
8
- name(): string;
9
- dayOfMonth(date: Date): number;
10
- dayOfYear(date: Date): number;
11
- dayOfWeek(date: Date): number;
12
- weekOfYear(date: Date): number;
13
- year(date: Date): number;
14
- monthOfYear(date: Date): number;
15
- add(date: Date, unit: TimeUnit, amount: number): AXDateTime;
16
- set(date: Date, unit: TimeUnit, value: number): AXDateTime;
17
- startOf(date: Date, unit: TimeUnit): AXDateTime;
18
- endOf(date: Date, unit: TimeUnit): AXDateTime;
19
- toJalali(date: Date): {
20
- year: number;
21
- month: number;
22
- day: number;
23
- };
24
- toGregorian(jy: any, jm: any, jd: any): Date;
25
- isValid(jy: any, jm: any, jd: any): boolean;
26
- isLeapYear(jy: any): boolean;
27
- monthLength(jy: any, jm: any): 31 | 30 | 29;
28
- private jalCal;
29
- private j2d;
30
- private d2j;
31
- private g2d;
32
- private d2g;
33
- private div;
34
- private mod;
35
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9hY29yZXgtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvY29uZmlnL2Fjb3JleC1jb3JlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './src/configs';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2NvbmZpZy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvY29uZmlncyc7Il19
@@ -1,32 +0,0 @@
1
- import { get, set, merge } from 'lodash-es';
2
- import { Subject } from 'rxjs';
3
- // @dynamic
4
- export class AXConfig {
5
- static get onChange() {
6
- return AXConfig.dataChangeSubject.asObservable();
7
- }
8
- static set(arg1, arg2) {
9
- if (arg1 && typeof arg1 == 'string') {
10
- set(AXConfig.dataModel, arg1, arg2);
11
- AXConfig.dataChangeSubject.next(AXConfig.dataModel);
12
- return true;
13
- }
14
- if (arg1 && typeof arg1 == 'object') {
15
- merge(AXConfig.dataModel, arg1);
16
- AXConfig.dataChangeSubject.next(AXConfig.dataModel);
17
- return true;
18
- }
19
- if (!arg1 && !arg2) {
20
- return AXConfig.dataChangeSubject.asObservable();
21
- }
22
- // TODO: Arash please check 'Not all code paths return a value.'.
23
- // if remove return you can see error on line 15.
24
- return '';
25
- }
26
- static get(path, defaultValue) {
27
- return get(AXConfig.dataModel, path, defaultValue);
28
- }
29
- }
30
- AXConfig.dataModel = {};
31
- AXConfig.dataChangeSubject = new Subject();
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2NvbmZpZy9zcmMvY29uZmlncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUUzQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVE7SUFJbkIsTUFBTSxLQUFLLFFBQVE7UUFDakIsT0FBTyxRQUFRLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUlELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBVSxFQUFFLElBQVU7UUFDL0IsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ25DLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xCLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xEO1FBQ0QsaUVBQWlFO1FBQ2pFLGlEQUFpRDtRQUNqRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVksRUFBRSxZQUFrQjtRQUN6QyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQTlCYyxrQkFBUyxHQUFRLEVBQUUsQ0FBQztBQUNwQiwwQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0LCBzZXQsIG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYQ29uZmlnIHtcclxuICBwcml2YXRlIHN0YXRpYyBkYXRhTW9kZWw6IGFueSA9IHt9O1xyXG4gIHByaXZhdGUgc3RhdGljIGRhdGFDaGFuZ2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICBzdGF0aWMgZ2V0IG9uQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc2V0KGNvbmZpZzogYW55KTogYW55O1xyXG4gIHN0YXRpYyBzZXQocGF0aDogc3RyaW5nLCB2YWx1ZT86IGFueSk6IHZvaWQ7XHJcbiAgc3RhdGljIHNldChhcmcxPzogYW55LCBhcmcyPzogYW55KSB7XHJcbiAgICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnc3RyaW5nJykge1xyXG4gICAgICBzZXQoQVhDb25maWcuZGF0YU1vZGVsLCBhcmcxLCBhcmcyKTtcclxuICAgICAgQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QubmV4dChBWENvbmZpZy5kYXRhTW9kZWwpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChhcmcxICYmIHR5cGVvZiBhcmcxID09ICdvYmplY3QnKSB7XHJcbiAgICAgIG1lcmdlKEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSk7XHJcbiAgICAgIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0Lm5leHQoQVhDb25maWcuZGF0YU1vZGVsKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoIWFyZzEgJiYgIWFyZzIpIHtcclxuICAgICAgcmV0dXJuIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogQXJhc2ggcGxlYXNlIGNoZWNrICdOb3QgYWxsIGNvZGUgcGF0aHMgcmV0dXJuIGEgdmFsdWUuJy5cclxuICAgIC8vIGlmIHJlbW92ZSByZXR1cm4geW91IGNhbiBzZWUgZXJyb3Igb24gbGluZSAxNS5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXQocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIGdldChBWENvbmZpZy5kYXRhTW9kZWwsIHBhdGgsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtZGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9kYXRlVGltZS9hY29yZXgtY29yZS1kYXRlVGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,6 +0,0 @@
1
- export * from './src/datetime.class';
2
- export * from './src/datetime.module';
3
- export * from './src/datetime.pipe';
4
- export * from './src/georgian.calendar';
5
- export * from './src/jalali.calendar';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2RhdGVUaW1lL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvZGF0ZXRpbWUuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9kYXRldGltZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9kYXRldGltZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZ2VvcmdpYW4uY2FsZW5kYXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9qYWxhbGkuY2FsZW5kYXInOyJdfQ==
@@ -1,288 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { AXConfig } from '@acorex/core/config';
3
- // @dynamic
4
- export class AXDateTime {
5
- constructor(value = new Date(), calendar = AXConfig.get(`dateTime.calendar`)) {
6
- this._formatKeys = {
7
- ss: () => this.pad(this.date.getSeconds(), 2),
8
- s: () => this.date.getSeconds().toString(),
9
- //
10
- dd: () => this.pad(this.calendar.dayOfMonth(this.date), 2),
11
- d: () => this.calendar.dayOfMonth(this.date).toString(),
12
- //
13
- mm: () => this.pad(this.date.getMinutes(), 2),
14
- m: () => this.date.getMinutes().toString(),
15
- //
16
- MMMM: () => this.calendar.monthNames[this.calendar.monthOfYear(this.date) - 1],
17
- MMM: () => this.calendar.monthShortNames[this.calendar.monthOfYear(this.date) - 1],
18
- MM: () => this.pad(this.calendar.monthOfYear(this.date), 2),
19
- //
20
- DDDD: () => this.calendar.dayNames[this.calendar.dayOfWeek(this.date) - 1],
21
- DDD: () => this.calendar.dayShortNames[this.calendar.dayOfWeek(this.date) - 1],
22
- //
23
- yyyy: () => this.calendar.year(this.date).toString(),
24
- YYYY: () => this.calendar.year(this.date).toString(),
25
- yy: () => this.calendar.year(this.date).toString().substring(2),
26
- YY: () => this.calendar.year(this.date).toString().substring(2),
27
- //
28
- HH: () => this.pad(this.date.getHours(), 2),
29
- H: () => this.date.getHours().toString(),
30
- //
31
- hh: () => this.pad((this.date.getHours() % 12 || 12), 2),
32
- h: () => (this.date.getHours() % 12 || 12).toString(),
33
- //
34
- A: () => (this.date.getHours() < 12) ? 'am' : 'pm',
35
- a: () => (this.date.getHours() < 12) ? 'am' : 'pm',
36
- };
37
- this._calendar = AXDateTime.resolveCalendar(calendar);
38
- if (value instanceof Date) {
39
- this._date = value;
40
- }
41
- else {
42
- //TODO: parse jalali
43
- this._date = new Date(value);
44
- }
45
- }
46
- static convert(value, calendar = AXConfig.get('dateTime.calendar')) {
47
- let date;
48
- if (typeof value === 'string' || value instanceof String) {
49
- date = new AXDateTime(value, calendar);
50
- }
51
- else if (value instanceof Date) {
52
- date = new AXDateTime(value, calendar);
53
- }
54
- else if (value instanceof AXDateTime) {
55
- date = new AXDateTime(value.date, calendar);
56
- }
57
- return date;
58
- }
59
- static from(value = {
60
- calendar: AXConfig.get('dateTime.calendar'),
61
- year: 1,
62
- month: 1,
63
- date: 1,
64
- hours: 0,
65
- minutes: 0,
66
- seconds: 0,
67
- ms: 0
68
- }) {
69
- return AXDateTime.resolveCalendar(value.calendar).create(value);
70
- }
71
- static resolveCalendar(calendar) {
72
- return typeof calendar == 'string'
73
- ? AXConfig.get(`dateTime.calendars.${calendar}.class`)
74
- : calendar;
75
- }
76
- get date() {
77
- return this._date;
78
- }
79
- get calendar() {
80
- return this._calendar;
81
- }
82
- clone() {
83
- return new AXDateTime(this.date, this.calendar);
84
- }
85
- get dayOfMonth() {
86
- return this._calendar.dayOfMonth(this.date);
87
- }
88
- get dayOfYear() {
89
- return this._calendar.dayOfYear(this.date);
90
- }
91
- get dayOfWeek() {
92
- return this._calendar.dayOfWeek(this.date);
93
- }
94
- get hour() {
95
- return this._date.getHours();
96
- }
97
- get minute() {
98
- return this._date.getMinutes();
99
- }
100
- get second() {
101
- return this._date.getSeconds();
102
- }
103
- get year() {
104
- return this._calendar.year(this.date);
105
- }
106
- get monthOfYear() {
107
- return this._calendar.monthOfYear(this.date);
108
- }
109
- get weekOfYear() {
110
- return this._calendar.weekOfYear(this.date);
111
- }
112
- get month() {
113
- return new AXCalendarMonth(this);
114
- }
115
- add(unit, amount) {
116
- return this._calendar.add(this.date, unit, amount);
117
- }
118
- set(unit = 'day', value) {
119
- return this._calendar.set(this.date, unit, value);
120
- }
121
- duration(end, unit = 'day') {
122
- const range = new AXDateTimeRange(this, AXDateTime.convert(end, this.calendar.name()));
123
- return range.duration();
124
- }
125
- startOf(unit = 'day') {
126
- return this._calendar.startOf(this.date, unit);
127
- }
128
- endOf(unit = 'day') {
129
- return this._calendar.endOf(this.date, unit);
130
- }
131
- format(format = AXConfig.get('dateTime.shortDateFormat')) {
132
- const re = new RegExp(_.orderBy(Object.keys(this._formatKeys), c => c.length, ['desc']).join("|"), "gi");
133
- return format.replace(re, (matched) => {
134
- return this._formatKeys[matched]();
135
- });
136
- }
137
- pad(n, width, z = '0') {
138
- n = n + '';
139
- return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
140
- }
141
- toString(format = AXConfig.get('dateTime.shortDateFormat')) {
142
- return this.format(format);
143
- }
144
- equal(value, unit = 'day') {
145
- return this.compare(value, unit) == 0;
146
- }
147
- compare(value, unit = 'day') {
148
- const val = AXDateTime.convert(value, this.calendar.name());
149
- const func = (v1, v2) => {
150
- if (v1 == v2) {
151
- return 0;
152
- }
153
- else if (v1 > v2) {
154
- return 1;
155
- }
156
- else {
157
- return -1;
158
- }
159
- };
160
- let p = 0;
161
- switch (unit) {
162
- case 'year':
163
- return func(this.year, val.year);
164
- case 'week':
165
- p = this.compare(val, 'year');
166
- return p == 0 ? func(this.weekOfYear, val.weekOfYear) : p;
167
- case 'month':
168
- p = this.compare(val, 'year');
169
- return p == 0 ? func(this.monthOfYear, val.monthOfYear) : p;
170
- case 'day':
171
- p = this.compare(val, 'year');
172
- return p == 0 ? func(this.dayOfYear, val.dayOfYear) : p;
173
- case 'hour':
174
- p = this.compare(val, 'day');
175
- return p == 0 ? func(this.hour, val.hour) : p;
176
- case 'minute':
177
- p = this.compare(val, 'hour');
178
- return p == 0 ? func(this.minute, val.minute) : p;
179
- case 'second':
180
- p = this.compare(val, 'minute');
181
- return p == 0 ? func(this.second, val.second) : p;
182
- default:
183
- return func(this.date.getTime(), val.date.getTime());
184
- }
185
- }
186
- convert(calendar) {
187
- return AXDateTime.convert(this, calendar);
188
- }
189
- }
190
- export class AXCalendarMonth {
191
- constructor(date) {
192
- this.index = date.date.getMonth();
193
- this.name = date.format('MMMM');
194
- this.range = new AXDateTimeRange(new AXDateTime(date.startOf('month').date, date.calendar), new AXDateTime(date.endOf('month').date, date.calendar));
195
- }
196
- get range() {
197
- return this._range;
198
- }
199
- set range(v) {
200
- this._range = v;
201
- }
202
- }
203
- export class AXDateTimeRange {
204
- constructor(startTime, endTime) {
205
- this._startTime = startTime;
206
- this._endTime = endTime;
207
- }
208
- get startTime() {
209
- return this._startTime;
210
- }
211
- get endTime() {
212
- return this._endTime;
213
- }
214
- duration() {
215
- const result = {
216
- miliseconds: 0,
217
- seconds: 0,
218
- minutes: 0,
219
- hours: 0,
220
- days: 0,
221
- months: 0,
222
- years: 0,
223
- total: {
224
- miliseconds: 0,
225
- seconds: 0,
226
- minutes: 0,
227
- hours: 0,
228
- days: 0,
229
- weeks: 0,
230
- months: 0,
231
- years: 0,
232
- },
233
- };
234
- const one_second = 1000;
235
- const one_min = one_second * 60;
236
- const one_hour = one_min * 60;
237
- const one_day = one_hour * 24;
238
- const one_week = one_day * 7;
239
- const one_year = 365.25 * one_day;
240
- const one_month = one_year / 12;
241
- const startTime = this._startTime.date.getTime();
242
- const endTime = this._endTime.date.getTime();
243
- const diff = Math.abs(endTime - startTime);
244
- //
245
- result.total.miliseconds = diff;
246
- result.total.seconds = Number((diff / one_second).toFixed(2));
247
- result.total.minutes = Number((diff / one_min).toFixed(2));
248
- result.total.hours = Number((diff / one_hour).toFixed(2));
249
- result.total.days = Number((diff / one_day).toFixed(2));
250
- result.total.weeks = Number((diff / one_week).toFixed(2));
251
- //
252
- // let months = (this.endTime.year - this.startTime.year) * 12;
253
- // months += this.endTime.monthOfYear - this.startTime.monthOfYear + 1;
254
- // if (this.endTime.dayOfYear < this.startTime.dayOfYear) {
255
- // months--;
256
- // }
257
- // result.total.months = Math.abs(months);
258
- // TODO: review
259
- result.total.months = Number((diff / one_month).toFixed(2));
260
- result.total.years = Number((diff / one_year).toFixed(2));
261
- //
262
- result.miliseconds = result.total.miliseconds % 1000;
263
- result.seconds = Number((result.total.seconds % 60).toFixed(0));
264
- result.minutes = Number((result.total.minutes % 60).toFixed(0));
265
- result.hours = Number((result.total.hours % 24).toFixed(0));
266
- // TODO: review
267
- result.days = Number((result.total.days % 30.4).toFixed(0));
268
- result.months = Number((result.total.months % 12).toFixed(0));
269
- result.years = Number(result.total.years.toFixed(0));
270
- return result;
271
- }
272
- enumurate(unit = 'day', amount = 1) {
273
- const result = [];
274
- let item = this._startTime.clone();
275
- while (item.compare(this._endTime, unit) < 1) {
276
- if (!result.some(c => c.equal(item, unit))) {
277
- result.push(item);
278
- }
279
- item = item.add(unit, amount);
280
- }
281
- return result;
282
- }
283
- includes(value, unit = 'day') {
284
- // TODO: ??
285
- return true;
286
- }
287
- }
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9kYXRlVGltZS9zcmMvZGF0ZXRpbWUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBa0UvQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFVBQVU7SUFrRHJCLFlBQ0UsUUFBdUIsSUFBSSxJQUFJLEVBQUUsRUFDakMsV0FBZ0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQWtGM0QsZ0JBQVcsR0FBRztZQUNwQixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDMUMsRUFBRTtZQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDdkQsRUFBRTtZQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxFQUFFO1lBQ0YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEYsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzRCxFQUFFO1lBQ0YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUUsRUFBRTtZQUNGLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3BELEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUMvRCxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsRUFBRTtZQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUN4QyxFQUFFO1lBQ0YsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3JELEVBQUU7WUFDRixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEQsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJ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LEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1lBQ0QsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzlCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQixFQUFFLE9BQWlCLEtBQUs7UUFDaEQsV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZVVuaXQgPVxyXG4gIHwgJ21zJ1xyXG4gIHwgJ3NlY29uZCdcclxuICB8ICdtaW51dGUnXHJcbiAgfCAnaG91cidcclxuICB8ICdkYXknXHJcbiAgfCAnbW9udGgnXHJcbiAgfCAneWVhcidcclxuICB8ICd3ZWVrJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0ZVZhbHVlIHtcclxuICB5ZWFyOiBudW1iZXIsXHJcbiAgbW9udGg6IG51bWJlcixcclxuICBkYXRlOiBudW1iZXIsXHJcbiAgaG91cnM/OiBudW1iZXIsXHJcbiAgbWludXRlcz86IG51bWJlcixcclxuICBzZWNvbmRzPzogbnVtYmVyLFxyXG4gIG1zPzogbnVtYmVyXHJcbiAgY2FsZW5kYXI6IHN0cmluZztcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDYWxlbmRhciB7XHJcbiAgbW9udGhOYW1lczogc3RyaW5nW107XHJcblxyXG4gIG1vbnRoU2hvcnROYW1lczogc3RyaW5nW107XHJcblxyXG4gIGRheU5hbWVzOiBzdHJpbmdbXTtcclxuXHJcbiAgZGF5U2hvcnROYW1lczogc3RyaW5nW107XHJcblxyXG4gIG5hbWUoKTogc3RyaW5nO1xyXG5cclxuICBkYXlPZk1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXI7XHJcblxyXG4gIGRheU9mWWVhcihkYXRlOiBEYXRlKTogbnVtYmVyO1xyXG5cclxuICBkYXlPZldlZWsoZGF0ZTogRGF0ZSk6IG51bWJlcjtcclxuXHJcbiAgbW9udGhPZlllYXIoZGF0ZTogRGF0ZSk6IG51bWJlcjtcclxuXHJcbiAgd2Vla09mWWVhcihkYXRlOiBEYXRlKTogbnVtYmVyO1xyXG5cclxuICB5ZWFyKGRhdGU6IERhdGUpOiBudW1iZXI7XHJcblxyXG4gIGFkZChkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCwgYW1vdW50OiBudW1iZXIpOiBBWERhdGVUaW1lO1xyXG5cclxuICBzZXQoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQsIHZhbHVlOiBudW1iZXIpOiBBWERhdGVUaW1lO1xyXG5cclxuICBzdGFydE9mKGRhdGU6IERhdGUsIHVuaXQ6IFRpbWVVbml0KTogQVhEYXRlVGltZTtcclxuXHJcbiAgZW5kT2YoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQpOiBBWERhdGVUaW1lO1xyXG5cclxuICBjcmVhdGUodmFsdWU6IEFYRGF0ZVZhbHVlKTogQVhEYXRlVGltZTtcclxuICBcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWUge1xyXG4gIHN0YXRpYyBjb252ZXJ0KFxyXG4gICAgdmFsdWU6IERhdGUgfCBBWERhdGVUaW1lIHwgc3RyaW5nLFxyXG4gICAgY2FsZW5kYXI6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuY2FsZW5kYXInKVxyXG4gICk6IEFYRGF0ZVRpbWUge1xyXG4gICAgbGV0IGRhdGU6IEFYRGF0ZVRpbWU7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZykge1xyXG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgc3RyaW5nLCBjYWxlbmRhcik7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgRGF0ZSwgY2FsZW5kYXIpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFYRGF0ZVRpbWUpIHtcclxuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlLmRhdGUsIGNhbGVuZGFyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlITtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tKHZhbHVlOiBBWERhdGVWYWx1ZSA9IHtcclxuICAgIGNhbGVuZGFyOiBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLmNhbGVuZGFyJyksXHJcbiAgICB5ZWFyOiAxLFxyXG4gICAgbW9udGg6IDEsXHJcbiAgICBkYXRlOiAxLFxyXG4gICAgaG91cnM6IDAsXHJcbiAgICBtaW51dGVzOiAwLFxyXG4gICAgc2Vjb25kczogMCxcclxuICAgIG1zOiAwXHJcbiAgfSk6IEFYRGF0ZVRpbWUge1xyXG4gICAgcmV0dXJuIEFYRGF0ZVRpbWUucmVzb2x2ZUNhbGVuZGFyKHZhbHVlLmNhbGVuZGFyKS5jcmVhdGUodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyByZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXI6IHN0cmluZyB8IEFYQ2FsZW5kYXIpOiBBWENhbGVuZGFyIHtcclxuICAgIHJldHVybiB0eXBlb2YgY2FsZW5kYXIgPT0gJ3N0cmluZydcclxuICAgICAgPyBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFycy4ke2NhbGVuZGFyfS5jbGFzc2ApXHJcbiAgICAgIDogY2FsZW5kYXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfZGF0ZTogRGF0ZTtcclxuXHJcbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NhbGVuZGFyOiBBWENhbGVuZGFyO1xyXG4gIGdldCBjYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhcjtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB2YWx1ZTogRGF0ZSB8IHN0cmluZyA9IG5ldyBEYXRlKCksXHJcbiAgICBjYWxlbmRhcjogc3RyaW5nIHwgQVhDYWxlbmRhciA9IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKVxyXG4gICkge1xyXG4gICAgdGhpcy5fY2FsZW5kYXIgPSBBWERhdGVUaW1lLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhcik7XHJcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgIHRoaXMuX2RhdGUgPSB2YWx1ZSBhcyBEYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy9UT0RPOiBwYXJzZSBqYWxhbGlcclxuICAgICAgdGhpcy5fZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb25lKCk6IEFYRGF0ZVRpbWUge1xyXG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKHRoaXMuZGF0ZSwgdGhpcy5jYWxlbmRhcik7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF5T2ZNb250aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLmRheU9mTW9udGgodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBkYXlPZlllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5kYXlPZlllYXIodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBkYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5kYXlPZldlZWsodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBob3VyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0ZS5nZXRIb3VycygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGUuZ2V0TWludXRlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGUuZ2V0U2Vjb25kcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9udGhPZlllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5tb250aE9mWWVhcih0aGlzLmRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdlZWtPZlllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci53ZWVrT2ZZZWFyKHRoaXMuZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9udGgoKTogQVhDYWxlbmRhck1vbnRoIHtcclxuICAgIHJldHVybiBuZXcgQVhDYWxlbmRhck1vbnRoKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgYWRkKHVuaXQ6IFRpbWVVbml0LCBhbW91bnQ6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLmFkZCh0aGlzLmRhdGUsIHVuaXQsIGFtb3VudCk7XHJcbiAgfVxyXG5cclxuICBzZXQodW5pdDogVGltZVVuaXQgPSAnZGF5JywgdmFsdWU6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLnNldCh0aGlzLmRhdGUsIHVuaXQsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGR1cmF0aW9uKFxyXG4gICAgZW5kOiBEYXRlIHwgQVhEYXRlVGltZSxcclxuICAgIHVuaXQ6IFRpbWVVbml0ID0gJ2RheSdcclxuICApOiBBWFRpbWVTcGFuIHtcclxuICAgIGNvbnN0IHJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcclxuICAgICAgdGhpcyxcclxuICAgICAgQVhEYXRlVGltZS5jb252ZXJ0KGVuZCwgdGhpcy5jYWxlbmRhci5uYW1lKCkpXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHJhbmdlLmR1cmF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydE9mKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpOiBBWERhdGVUaW1lIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5zdGFydE9mKHRoaXMuZGF0ZSwgdW5pdCk7XHJcbiAgfVxyXG5cclxuICBlbmRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuZW5kT2YodGhpcy5kYXRlLCB1bml0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Zvcm1hdEtleXMgPSB7XHJcbiAgICBzczogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldFNlY29uZHMoKSwgMiksXHJcbiAgICBzOiAoKSA9PiB0aGlzLmRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCksXHJcbiAgICAvL1xyXG4gICAgZGQ6ICgpID0+IHRoaXMucGFkKHRoaXMuY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpLCAyKSxcclxuICAgIGQ6ICgpID0+IHRoaXMuY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpLnRvU3RyaW5nKCksXHJcbiAgICAvL1xyXG4gICAgbW06ICgpID0+IHRoaXMucGFkKHRoaXMuZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxyXG4gICAgbTogKCkgPT4gdGhpcy5kYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLFxyXG4gICAgLy9cclxuICAgIE1NTU06ICgpID0+IHRoaXMuY2FsZW5kYXIubW9udGhOYW1lc1t0aGlzLmNhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMuZGF0ZSkgLSAxXSxcclxuICAgIE1NTTogKCkgPT4gdGhpcy5jYWxlbmRhci5tb250aFNob3J0TmFtZXNbdGhpcy5jYWxlbmRhci5tb250aE9mWWVhcih0aGlzLmRhdGUpIC0gMV0sXHJcbiAgICBNTTogKCkgPT4gdGhpcy5wYWQodGhpcy5jYWxlbmRhci5tb250aE9mWWVhcih0aGlzLmRhdGUpLCAyKSxcclxuICAgIC8vXHJcbiAgICBEREREOiAoKSA9PiB0aGlzLmNhbGVuZGFyLmRheU5hbWVzW3RoaXMuY2FsZW5kYXIuZGF5T2ZXZWVrKHRoaXMuZGF0ZSkgLSAxXSxcclxuICAgIERERDogKCkgPT4gdGhpcy5jYWxlbmRhci5kYXlTaG9ydE5hbWVzW3RoaXMuY2FsZW5kYXIuZGF5T2ZXZWVrKHRoaXMuZGF0ZSkgLSAxXSxcclxuICAgIC8vXHJcbiAgICB5eXl5OiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLFxyXG4gICAgWVlZWTogKCkgPT4gdGhpcy5jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSkudG9TdHJpbmcoKSxcclxuICAgIHl5OiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKSxcclxuICAgIFlZOiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKSxcclxuICAgIC8vXHJcbiAgICBISDogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldEhvdXJzKCksIDIpLFxyXG4gICAgSDogKCkgPT4gdGhpcy5kYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKSxcclxuICAgIC8vXHJcbiAgICBoaDogKCkgPT4gdGhpcy5wYWQoKHRoaXMuZGF0ZS5nZXRIb3VycygpICUgMTIgfHwgMTIpLCAyKSxcclxuICAgIGg6ICgpID0+ICh0aGlzLmRhdGUuZ2V0SG91cnMoKSAlIDEyIHx8IDEyKS50b1N0cmluZygpLFxyXG4gICAgLy9cclxuICAgIEE6ICgpID0+ICh0aGlzLmRhdGUuZ2V0SG91cnMoKSA8IDEyKSA/ICdhbScgOiAncG0nLFxyXG4gICAgYTogKCkgPT4gKHRoaXMuZGF0ZS5nZXRIb3VycygpIDwgMTIpID8gJ2FtJyA6ICdwbScsXHJcbiAgfTtcclxuXHJcbiAgZm9ybWF0KFxyXG4gICAgZm9ybWF0OiBzdHJpbmcgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnNob3J0RGF0ZUZvcm1hdCcpXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChfLm9yZGVyQnkoT2JqZWN0LmtleXModGhpcy5fZm9ybWF0S2V5cyksIGMgPT4gYy5sZW5ndGgsIFsnZGVzYyddKS5qb2luKFwifFwiKSwgXCJnaVwiKTtcclxuICAgIHJldHVybiBmb3JtYXQucmVwbGFjZShyZSwgKG1hdGNoZWQpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdEtleXNbbWF0Y2hlZF0oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYWQobiwgd2lkdGgsIHogPSAnMCcpIHtcclxuICAgIG4gPSBuICsgJyc7XHJcbiAgICByZXR1cm4gbi5sZW5ndGggPj0gd2lkdGggPyBuIDogbmV3IEFycmF5KHdpZHRoIC0gbi5sZW5ndGggKyAxKS5qb2luKHopICsgbjtcclxuICB9XHJcblxyXG4gIHRvU3RyaW5nKGZvcm1hdDogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5zaG9ydERhdGVGb3JtYXQnKSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQoZm9ybWF0KTtcclxuICB9XHJcblxyXG4gIGVxdWFsKHZhbHVlOiBEYXRlIHwgQVhEYXRlVGltZSwgdW5pdDogVGltZVVuaXQgPSAnZGF5Jykge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZSh2YWx1ZSwgdW5pdCkgPT0gMDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmUodmFsdWU6IERhdGUgfCBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKSB7XHJcbiAgICBjb25zdCB2YWwgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuY2FsZW5kYXIubmFtZSgpKTtcclxuICAgIGNvbnN0IGZ1bmMgPSAodjE6IG51bWJlciwgdjI6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAodjEgPT0gdjIpIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfSBlbHNlIGlmICh2MSA+IHYyKSB7XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgcCA9IDA7XHJcbiAgICBzd2l0Y2ggKHVuaXQpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgcmV0dXJuIGZ1bmModGhpcy55ZWFyLCB2YWwueWVhcik7XHJcbiAgICAgIGNhc2UgJ3dlZWsnOlxyXG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xyXG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMud2Vla09mWWVhciwgdmFsLndlZWtPZlllYXIpIDogcDtcclxuICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xyXG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMubW9udGhPZlllYXIsIHZhbC5tb250aE9mWWVhcikgOiBwO1xyXG4gICAgICBjYXNlICdkYXknOlxyXG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xyXG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMuZGF5T2ZZZWFyLCB2YWwuZGF5T2ZZZWFyKSA6IHA7XHJcbiAgICAgIGNhc2UgJ2hvdXInOlxyXG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAnZGF5Jyk7XHJcbiAgICAgICAgcmV0dXJuIHAgPT0gMCA/IGZ1bmModGhpcy5ob3VyLCB2YWwuaG91cikgOiBwO1xyXG4gICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAnaG91cicpO1xyXG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMubWludXRlLCB2YWwubWludXRlKSA6IHA7XHJcbiAgICAgIGNhc2UgJ3NlY29uZCc6XHJcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICdtaW51dGUnKTtcclxuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLnNlY29uZCwgdmFsLnNlY29uZCkgOiBwO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmdW5jKHRoaXMuZGF0ZS5nZXRUaW1lKCksIHZhbC5kYXRlLmdldFRpbWUoKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY29udmVydChjYWxlbmRhcjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMsIGNhbGVuZGFyKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyTW9udGgge1xyXG4gIHByaXZhdGUgX3JhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XHJcbiAgcHVibGljIGdldCByYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJhbmdlKHY6IEFYRGF0ZVRpbWVSYW5nZSkge1xyXG4gICAgdGhpcy5fcmFuZ2UgPSB2O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5pbmRleCA9IGRhdGUuZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgdGhpcy5uYW1lID0gZGF0ZS5mb3JtYXQoJ01NTU0nKTtcclxuICAgIHRoaXMucmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxyXG4gICAgICBuZXcgQVhEYXRlVGltZShkYXRlLnN0YXJ0T2YoJ21vbnRoJykuZGF0ZSwgZGF0ZS5jYWxlbmRhciksXHJcbiAgICAgIG5ldyBBWERhdGVUaW1lKGRhdGUuZW5kT2YoJ21vbnRoJykuZGF0ZSwgZGF0ZS5jYWxlbmRhcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhUaW1lU3BhblRvdGFsIHtcclxuICBtaWxpc2Vjb25kczogbnVtYmVyO1xyXG4gIHNlY29uZHM6IG51bWJlcjtcclxuICBtaW51dGVzOiBudW1iZXI7XHJcbiAgaG91cnM6IG51bWJlcjtcclxuICBkYXlzOiBudW1iZXI7XHJcbiAgd2Vla3M6IG51bWJlcjtcclxuICBtb250aHM6IG51bWJlcjtcclxuICB5ZWFyczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYVGltZVNwYW4ge1xyXG4gIG1pbGlzZWNvbmRzOiBudW1iZXI7XHJcbiAgc2Vjb25kczogbnVtYmVyO1xyXG4gIG1pbnV0ZXM6IG51bWJlcjtcclxuICBob3VyczogbnVtYmVyO1xyXG4gIGRheXM6IG51bWJlcjtcclxuICBtb250aHM6IG51bWJlcjtcclxuICB5ZWFyczogbnVtYmVyO1xyXG4gIHRvdGFsOiBBWFRpbWVTcGFuVG90YWw7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xyXG4gIHByaXZhdGUgX3N0YXJ0VGltZTogQVhEYXRlVGltZTtcclxuICBwcml2YXRlIF9lbmRUaW1lOiBBWERhdGVUaW1lO1xyXG5cclxuICBwdWJsaWMgZ2V0IHN0YXJ0VGltZSgpOiBBWERhdGVUaW1lIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGFydFRpbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVuZFRpbWUoKTogQVhEYXRlVGltZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW5kVGltZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHN0YXJ0VGltZTogQVhEYXRlVGltZSwgZW5kVGltZTogQVhEYXRlVGltZSkge1xyXG4gICAgdGhpcy5fc3RhcnRUaW1lID0gc3RhcnRUaW1lO1xyXG4gICAgdGhpcy5fZW5kVGltZSA9IGVuZFRpbWU7XHJcbiAgfVxyXG5cclxuICBkdXJhdGlvbigpOiBBWFRpbWVTcGFuIHtcclxuICAgIGNvbnN0IHJlc3VsdDogQVhUaW1lU3BhbiA9IHtcclxuICAgICAgbWlsaXNlY29uZHM6IDAsXHJcbiAgICAgIHNlY29uZHM6IDAsXHJcbiAgICAgIG1pbnV0ZXM6IDAsXHJcbiAgICAgIGhvdXJzOiAwLFxyXG4gICAgICBkYXlzOiAwLFxyXG4gICAgICBtb250aHM6IDAsXHJcbiAgICAgIHllYXJzOiAwLFxyXG4gICAgICB0b3RhbDoge1xyXG4gICAgICAgIG1pbGlzZWNvbmRzOiAwLFxyXG4gICAgICAgIHNlY29uZHM6IDAsXHJcbiAgICAgICAgbWludXRlczogMCxcclxuICAgICAgICBob3VyczogMCxcclxuICAgICAgICBkYXlzOiAwLFxyXG4gICAgICAgIHdlZWtzOiAwLFxyXG4gICAgICAgIG1vbnRoczogMCxcclxuICAgICAgICB5ZWFyczogMCxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25lX3NlY29uZCA9IDEwMDA7XHJcbiAgICBjb25zdCBvbmVfbWluID0gb25lX3NlY29uZCAqIDYwO1xyXG4gICAgY29uc3Qgb25lX2hvdXIgPSBvbmVfbWluICogNjA7XHJcbiAgICBjb25zdCBvbmVfZGF5ID0gb25lX2hvdXIgKiAyNDtcclxuICAgIGNvbnN0IG9uZV93ZWVrID0gb25lX2RheSAqIDc7XHJcbiAgICBjb25zdCBvbmVfeWVhciA9IDM2NS4yNSAqIG9uZV9kYXk7XHJcbiAgICBjb25zdCBvbmVfbW9udGggPSBvbmVfeWVhciAvIDEyO1xyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gdGhpcy5fc3RhcnRUaW1lLmRhdGUuZ2V0VGltZSgpO1xyXG4gICAgY29uc3QgZW5kVGltZSA9IHRoaXMuX2VuZFRpbWUuZGF0ZS5nZXRUaW1lKCk7XHJcbiAgICBjb25zdCBkaWZmID0gTWF0aC5hYnMoZW5kVGltZSAtIHN0YXJ0VGltZSk7XHJcbiAgICAvL1xyXG4gICAgcmVzdWx0LnRvdGFsLm1pbGlzZWNvbmRzID0gZGlmZjtcclxuICAgIHJlc3VsdC50b3RhbC5zZWNvbmRzID0gTnVtYmVyKChkaWZmIC8gb25lX3NlY29uZCkudG9GaXhlZCgyKSk7XHJcbiAgICByZXN1bHQudG90YWwubWludXRlcyA9IE51bWJlcigoZGlmZiAvIG9uZV9taW4pLnRvRml4ZWQoMikpO1xyXG4gICAgcmVzdWx0LnRvdGFsLmhvdXJzID0gTnVtYmVyKChkaWZmIC8gb25lX2hvdXIpLnRvRml4ZWQoMikpO1xyXG4gICAgcmVzdWx0LnRvdGFsLmRheXMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfZGF5KS50b0ZpeGVkKDIpKTtcclxuICAgIHJlc3VsdC50b3RhbC53ZWVrcyA9IE51bWJlcigoZGlmZiAvIG9uZV93ZWVrKS50b0ZpeGVkKDIpKTtcclxuICAgIC8vXHJcbiAgICAvLyBsZXQgbW9udGhzID0gKHRoaXMuZW5kVGltZS55ZWFyIC0gdGhpcy5zdGFydFRpbWUueWVhcikgKiAxMjtcclxuICAgIC8vIG1vbnRocyArPSB0aGlzLmVuZFRpbWUubW9udGhPZlllYXIgLSB0aGlzLnN0YXJ0VGltZS5tb250aE9mWWVhciArIDE7XHJcbiAgICAvLyBpZiAodGhpcy5lbmRUaW1lLmRheU9mWWVhciA8IHRoaXMuc3RhcnRUaW1lLmRheU9mWWVhcikge1xyXG4gICAgLy8gICAgIG1vbnRocy0tO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcmVzdWx0LnRvdGFsLm1vbnRocyA9IE1hdGguYWJzKG1vbnRocyk7XHJcbiAgICAvLyBUT0RPOiByZXZpZXdcclxuICAgIHJlc3VsdC50b3RhbC5tb250aHMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfbW9udGgpLnRvRml4ZWQoMikpO1xyXG4gICAgcmVzdWx0LnRvdGFsLnllYXJzID0gTnVtYmVyKChkaWZmIC8gb25lX3llYXIpLnRvRml4ZWQoMikpO1xyXG4gICAgLy9cclxuICAgIHJlc3VsdC5taWxpc2Vjb25kcyA9IHJlc3VsdC50b3RhbC5taWxpc2Vjb25kcyAlIDEwMDA7XHJcbiAgICByZXN1bHQuc2Vjb25kcyA9IE51bWJlcigocmVzdWx0LnRvdGFsLnNlY29uZHMgJSA2MCkudG9GaXhlZCgwKSk7XHJcbiAgICByZXN1bHQubWludXRlcyA9IE51bWJlcigocmVzdWx0LnRvdGFsLm1pbnV0ZXMgJSA2MCkudG9GaXhlZCgwKSk7XHJcbiAgICByZXN1bHQuaG91cnMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5ob3VycyAlIDI0KS50b0ZpeGVkKDApKTtcclxuICAgIC8vIFRPRE86IHJldmlld1xyXG4gICAgcmVzdWx0LmRheXMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5kYXlzICUgMzAuNCkudG9GaXhlZCgwKSk7XHJcbiAgICByZXN1bHQubW9udGhzID0gTnVtYmVyKChyZXN1bHQudG90YWwubW9udGhzICUgMTIpLnRvRml4ZWQoMCkpO1xyXG4gICAgcmVzdWx0LnllYXJzID0gTnVtYmVyKHJlc3VsdC50b3RhbC55ZWFycy50b0ZpeGVkKDApKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBlbnVtdXJhdGUodW5pdDogVGltZVVuaXQgPSAnZGF5JywgYW1vdW50OiBudW1iZXIgPSAxKTogQVhEYXRlVGltZVtdIHtcclxuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XHJcbiAgICBsZXQgaXRlbSA9IHRoaXMuX3N0YXJ0VGltZS5jbG9uZSgpO1xyXG4gICAgd2hpbGUgKGl0ZW0uY29tcGFyZSh0aGlzLl9lbmRUaW1lLCB1bml0KSA8IDEpIHtcclxuICAgICAgaWYgKCFyZXN1bHQuc29tZShjID0+IGMuZXF1YWwoaXRlbSwgdW5pdCkpKSB7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgICAgaXRlbSA9IGl0ZW0uYWRkKHVuaXQsIGFtb3VudClcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBpbmNsdWRlcyh2YWx1ZTogQVhEYXRlVGltZSwgdW5pdDogVGltZVVuaXQgPSAnZGF5Jyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVE9ETzogPz9cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0Vmlld0NvbXBhaXJlKHZpZXcpIHtcclxuICAvLyAgICAgc3dpdGNoICh2aWV3KSB7XHJcbiAgLy8gICAgICAgICBjYXNlICdkYXknOlxyXG4gIC8vICAgICAgICAgICAgIHJldHVybiAnWU1EJztcclxuICAvLyAgICAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAvLyAgICAgICAgICAgICByZXR1cm4gJ1lNJztcclxuICAvLyAgICAgICAgIGNhc2UgJ3llYXInOlxyXG4gIC8vICAgICAgICAgICAgIHJldHVybiAnWSc7XHJcbiAgLy8gICAgIH1cclxuICAvLyB9XHJcbn1cclxuIl19
@@ -1,39 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AXConfig } from '@acorex/core/config';
3
- import { AXDateTimePipe } from './datetime.pipe';
4
- import { GeorgianCalendar } from './georgian.calendar';
5
- import { JalaliCalendar } from './jalali.calendar';
6
- import * as i0 from "@angular/core";
7
- export class AXDateTimeModule {
8
- constructor() {
9
- AXConfig.set({
10
- dateTime: {
11
- calendars: {
12
- jalali: {
13
- "class": new JalaliCalendar(),
14
- weekend: [6, 7]
15
- },
16
- gregorian: {
17
- "class": new GeorgianCalendar(),
18
- weekend: [7, 1]
19
- }
20
- },
21
- calendar: 'gregorian',
22
- shortDateFormat: 'DDDD, d MMM yyyy'
23
- }
24
- });
25
- }
26
- }
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
- type: NgModule,
32
- args: [{
33
- imports: [],
34
- exports: [AXDateTimePipe],
35
- declarations: [AXDateTimePipe],
36
- providers: [],
37
- }]
38
- }], ctorParameters: function () { return []; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZGF0ZVRpbWUvc3JjL2RhdGV0aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVNuRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCO1FBQ0ksUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNULFFBQVEsRUFBRTtnQkFDTixTQUFTLEVBQUU7b0JBQ1AsTUFBTSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxJQUFJLGNBQWMsRUFBRTt3QkFDN0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDbEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLE9BQU8sRUFBRSxJQUFJLGdCQUFnQixFQUFFO3dCQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNsQjtpQkFDSjtnQkFDRCxRQUFRLEVBQUUsV0FBVztnQkFDckIsZUFBZSxFQUFFLGtCQUFrQjthQUN0QztTQUNKLENBQUMsQ0FBQztJQUVQLENBQUM7OzZHQXBCUSxnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFIVixjQUFjLGFBRG5CLGNBQWM7OEdBSWYsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XHJcbmltcG9ydCB7IEFYRGF0ZVRpbWVQaXBlIH0gZnJvbSAnLi9kYXRldGltZS5waXBlJztcclxuaW1wb3J0IHsgR2VvcmdpYW5DYWxlbmRhciB9IGZyb20gJy4vZ2VvcmdpYW4uY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBKYWxhbGlDYWxlbmRhciB9IGZyb20gJy4vamFsYWxpLmNhbGVuZGFyJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW10sXHJcbiAgICBleHBvcnRzOiBbQVhEYXRlVGltZVBpcGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbQVhEYXRlVGltZVBpcGVdLFxyXG4gICAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVNb2R1bGUge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIEFYQ29uZmlnLnNldCh7XHJcbiAgICAgICAgICAgIGRhdGVUaW1lOiB7XHJcbiAgICAgICAgICAgICAgICBjYWxlbmRhcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBqYWxhbGk6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBuZXcgSmFsYWxpQ2FsZW5kYXIoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2VuZDogWzYsIDddXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBncmVnb3JpYW46IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBuZXcgR2VvcmdpYW5DYWxlbmRhcigpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNywgMV1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY2FsZW5kYXI6ICdncmVnb3JpYW4nLFxyXG4gICAgICAgICAgICAgICAgc2hvcnREYXRlRm9ybWF0OiAnRERERCwgZCBNTU0geXl5eSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=