@acorex/core 7.0.41 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/config/index.d.ts +5 -5
  2. package/config/public-api.d.ts +1 -1
  3. package/config/src/configs.d.ts +9 -9
  4. package/dateTime/index.d.ts +5 -5
  5. package/dateTime/public-api.d.ts +5 -5
  6. package/dateTime/src/datetime.class.d.ts +100 -100
  7. package/dateTime/src/datetime.module.d.ts +8 -8
  8. package/dateTime/src/datetime.pipe.d.ts +8 -8
  9. package/dateTime/src/georgian.calendar.d.ts +20 -20
  10. package/dateTime/src/jalali.calendar.d.ts +35 -35
  11. package/{esm2020 → esm2022}/acorex-core.mjs +4 -4
  12. package/{esm2020 → esm2022}/config/acorex-core-config.mjs +4 -4
  13. package/{esm2020 → esm2022}/config/public-api.mjs +1 -1
  14. package/esm2022/config/src/configs.mjs +25 -0
  15. package/{esm2020 → esm2022}/dateTime/acorex-core-dateTime.mjs +4 -4
  16. package/{esm2020 → esm2022}/dateTime/public-api.mjs +5 -5
  17. package/esm2022/dateTime/src/datetime.class.mjs +295 -0
  18. package/esm2022/dateTime/src/datetime.module.mjs +40 -0
  19. package/esm2022/dateTime/src/datetime.pipe.mjs +27 -0
  20. package/esm2022/dateTime/src/georgian.calendar.mjs +187 -0
  21. package/esm2022/dateTime/src/jalali.calendar.mjs +357 -0
  22. package/{esm2020 → esm2022}/events/acorex-core-events.mjs +4 -4
  23. package/{esm2020 → esm2022}/events/public-api.mjs +1 -1
  24. package/esm2022/events/src/event.service.mjs +35 -0
  25. package/{esm2020 → esm2022}/file/acorex-core-file.mjs +4 -4
  26. package/{esm2020 → esm2022}/file/public-api.mjs +4 -4
  27. package/esm2022/file/src/file-download-ref.class.mjs +13 -0
  28. package/esm2022/file/src/file-download-result.class.mjs +47 -0
  29. package/esm2022/file/src/file-upload-ref.class.mjs +13 -0
  30. package/esm2022/file/src/file.service.mjs +103 -0
  31. package/{esm2020 → esm2022}/http/acorex-core-http.mjs +4 -4
  32. package/{esm2020 → esm2022}/http/public-api.mjs +5 -5
  33. package/{esm2020 → esm2022}/http/src/http-error.class.mjs +1 -1
  34. package/{esm2020 → esm2022}/http/src/http-events.interceptor.mjs +2 -2
  35. package/{esm2020 → esm2022}/http/src/http-request.class.mjs +1 -1
  36. package/esm2022/http/src/http-result.class.mjs +25 -0
  37. package/esm2022/http/src/http.module.mjs +30 -0
  38. package/esm2022/http/src/http.service.mjs +152 -0
  39. package/{esm2020 → esm2022}/image/acorex-core-image.mjs +4 -4
  40. package/{esm2020 → esm2022}/image/public-api.mjs +1 -1
  41. package/esm2022/image/src/image.service.mjs +44 -0
  42. package/{esm2020 → esm2022}/pipes/acorex-core-pipes.mjs +4 -4
  43. package/{esm2020 → esm2022}/pipes/public-api.mjs +2 -2
  44. package/esm2022/pipes/src/pipes.module.mjs +20 -0
  45. package/{esm2020 → esm2022}/pipes/src/safe.pipe.mjs +32 -30
  46. package/{esm2020 → esm2022}/platform/acorex-core-platform.mjs +4 -4
  47. package/{esm2020 → esm2022}/platform/public-api.mjs +1 -1
  48. package/esm2022/platform/src/platform.service.mjs +152 -0
  49. package/{esm2020 → esm2022}/public-api.mjs +4 -4
  50. package/{esm2020 → esm2022}/translation/acorex-core-translation.mjs +4 -4
  51. package/{esm2020 → esm2022}/translation/public-api.mjs +3 -3
  52. package/esm2022/translation/src/translation.module.mjs +19 -0
  53. package/esm2022/translation/src/translator.mjs +44 -0
  54. package/esm2022/translation/src/translator.pipe.mjs +16 -0
  55. package/{esm2020 → esm2022}/utils/acorex-core-utils.mjs +4 -4
  56. package/{esm2020 → esm2022}/utils/public-api.mjs +5 -5
  57. package/{esm2020 → esm2022}/utils/src/color-util.mjs +114 -114
  58. package/{esm2020 → esm2022}/utils/src/drawing-util.mjs +29 -29
  59. package/{esm2020 → esm2022}/utils/src/html-util.mjs +15 -15
  60. package/{esm2020 → esm2022}/utils/src/object-util.mjs +38 -38
  61. package/{esm2020 → esm2022}/utils/src/string-util.mjs +18 -18
  62. package/events/index.d.ts +5 -5
  63. package/events/public-api.d.ts +1 -1
  64. package/events/src/event.service.d.ts +9 -9
  65. package/{fesm2015 → fesm2022}/acorex-core-config.mjs +23 -24
  66. package/{fesm2015 → fesm2022}/acorex-core-config.mjs.map +1 -1
  67. package/{fesm2015 → fesm2022}/acorex-core-dateTime.mjs +882 -880
  68. package/{fesm2020 → fesm2022}/acorex-core-dateTime.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/acorex-core-events.mjs +32 -35
  70. package/fesm2022/acorex-core-events.mjs.map +1 -0
  71. package/{fesm2020 → fesm2022}/acorex-core-file.mjs +162 -159
  72. package/{fesm2020 → fesm2022}/acorex-core-file.mjs.map +1 -1
  73. package/{fesm2020 → fesm2022}/acorex-core-http.mjs +190 -184
  74. package/{fesm2020 → fesm2022}/acorex-core-http.mjs.map +1 -1
  75. package/{fesm2020 → fesm2022}/acorex-core-image.mjs +41 -42
  76. package/{fesm2020 → fesm2022}/acorex-core-image.mjs.map +1 -1
  77. package/{fesm2015 → fesm2022}/acorex-core-pipes.mjs +41 -41
  78. package/fesm2022/acorex-core-pipes.mjs.map +1 -0
  79. package/{fesm2020 → fesm2022}/acorex-core-platform.mjs +147 -154
  80. package/fesm2022/acorex-core-platform.mjs.map +1 -0
  81. package/{fesm2020 → fesm2022}/acorex-core-translation.mjs +64 -65
  82. package/{fesm2020 → fesm2022}/acorex-core-translation.mjs.map +1 -1
  83. package/{fesm2020 → fesm2022}/acorex-core-utils.mjs +209 -210
  84. package/{fesm2015 → fesm2022}/acorex-core.mjs +5 -6
  85. package/file/index.d.ts +5 -5
  86. package/file/public-api.d.ts +4 -4
  87. package/file/src/file-download-ref.class.d.ts +6 -6
  88. package/file/src/file-download-result.class.d.ts +8 -8
  89. package/file/src/file-upload-ref.class.d.ts +5 -5
  90. package/file/src/file.service.d.ts +18 -18
  91. package/http/index.d.ts +5 -5
  92. package/http/public-api.d.ts +5 -5
  93. package/http/src/http-error.class.d.ts +7 -7
  94. package/http/src/http-events.interceptor.d.ts +10 -10
  95. package/http/src/http-request.class.d.ts +14 -14
  96. package/http/src/http-result.class.d.ts +11 -11
  97. package/http/src/http.module.d.ts +8 -8
  98. package/http/src/http.service.d.ts +23 -23
  99. package/image/index.d.ts +5 -5
  100. package/image/public-api.d.ts +1 -1
  101. package/image/src/image.service.d.ts +12 -12
  102. package/index.d.ts +5 -5
  103. package/package.json +39 -65
  104. package/pipes/index.d.ts +5 -5
  105. package/pipes/public-api.d.ts +2 -2
  106. package/pipes/src/pipes.module.d.ts +8 -8
  107. package/pipes/src/safe.pipe.d.ts +10 -10
  108. package/platform/index.d.ts +5 -5
  109. package/platform/public-api.d.ts +1 -1
  110. package/platform/src/platform.service.d.ts +26 -26
  111. package/public-api.d.ts +1 -1
  112. package/translation/index.d.ts +5 -5
  113. package/translation/public-api.d.ts +3 -3
  114. package/translation/src/translation.module.d.ts +7 -7
  115. package/translation/src/translator.d.ts +11 -11
  116. package/translation/src/translator.pipe.d.ts +7 -7
  117. package/utils/index.d.ts +5 -5
  118. package/utils/public-api.d.ts +5 -5
  119. package/utils/src/color-util.d.ts +23 -23
  120. package/utils/src/drawing-util.d.ts +18 -18
  121. package/utils/src/html-util.d.ts +4 -4
  122. package/utils/src/object-util.d.ts +4 -4
  123. package/utils/src/string-util.d.ts +6 -6
  124. package/esm2020/config/src/configs.mjs +0 -24
  125. package/esm2020/dateTime/src/datetime.class.mjs +0 -288
  126. package/esm2020/dateTime/src/datetime.module.mjs +0 -39
  127. package/esm2020/dateTime/src/datetime.pipe.mjs +0 -26
  128. package/esm2020/dateTime/src/georgian.calendar.mjs +0 -189
  129. package/esm2020/dateTime/src/jalali.calendar.mjs +0 -359
  130. package/esm2020/events/src/event.service.mjs +0 -36
  131. package/esm2020/file/src/file-download-ref.class.mjs +0 -12
  132. package/esm2020/file/src/file-download-result.class.mjs +0 -46
  133. package/esm2020/file/src/file-upload-ref.class.mjs +0 -12
  134. package/esm2020/file/src/file.service.mjs +0 -101
  135. package/esm2020/http/src/http-result.class.mjs +0 -21
  136. package/esm2020/http/src/http.module.mjs +0 -29
  137. package/esm2020/http/src/http.service.mjs +0 -148
  138. package/esm2020/image/src/image.service.mjs +0 -43
  139. package/esm2020/pipes/src/pipes.module.mjs +0 -19
  140. package/esm2020/platform/src/platform.service.mjs +0 -157
  141. package/esm2020/translation/src/translation.module.mjs +0 -18
  142. package/esm2020/translation/src/translator.mjs +0 -43
  143. package/esm2020/translation/src/translator.pipe.mjs +0 -15
  144. package/fesm2015/acorex-core-dateTime.mjs.map +0 -1
  145. package/fesm2015/acorex-core-events.mjs +0 -44
  146. package/fesm2015/acorex-core-events.mjs.map +0 -1
  147. package/fesm2015/acorex-core-file.mjs +0 -176
  148. package/fesm2015/acorex-core-file.mjs.map +0 -1
  149. package/fesm2015/acorex-core-http.mjs +0 -203
  150. package/fesm2015/acorex-core-http.mjs.map +0 -1
  151. package/fesm2015/acorex-core-image.mjs +0 -54
  152. package/fesm2015/acorex-core-image.mjs.map +0 -1
  153. package/fesm2015/acorex-core-pipes.mjs.map +0 -1
  154. package/fesm2015/acorex-core-platform.mjs +0 -165
  155. package/fesm2015/acorex-core-platform.mjs.map +0 -1
  156. package/fesm2015/acorex-core-translation.mjs +0 -81
  157. package/fesm2015/acorex-core-translation.mjs.map +0 -1
  158. package/fesm2015/acorex-core-utils.mjs +0 -227
  159. package/fesm2020/acorex-core-config.mjs +0 -32
  160. package/fesm2020/acorex-core-config.mjs.map +0 -1
  161. package/fesm2020/acorex-core-dateTime.mjs +0 -899
  162. package/fesm2020/acorex-core-events.mjs.map +0 -1
  163. package/fesm2020/acorex-core-pipes.mjs +0 -54
  164. package/fesm2020/acorex-core-pipes.mjs.map +0 -1
  165. package/fesm2020/acorex-core-platform.mjs.map +0 -1
  166. package/fesm2020/acorex-core-utils.mjs.map +0 -1
  167. package/fesm2020/acorex-core.mjs +0 -12
  168. package/fesm2020/acorex-core.mjs.map +0 -1
  169. /package/{fesm2015 → fesm2022}/acorex-core-utils.mjs.map +0 -0
  170. /package/{fesm2015 → fesm2022}/acorex-core.mjs.map +0 -0
@@ -1,359 +0,0 @@
1
- import { AXDateTime } from "./datetime.class";
2
- export class JalaliCalendar {
3
- constructor() {
4
- this.monthNames = ("فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند").split("_");
5
- this.monthShortNames = ("فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند").split("_");
6
- this.dayNames = ("شنبه_یکشنبه_دوشنبه_سه شنبه_چهارشنبه_پنج شنبه_جمعه").split("_");
7
- this.dayShortNames = "ش_ی_د_س_چ_پ_ج".split("_");
8
- }
9
- create(value) {
10
- const a = this.toGregorian(value.year, value.month, value.date);
11
- return new AXDateTime(new Date(a.getFullYear(), a.getMonth(), a.getDate(), value.hours || 0, value.minutes || 0, value.seconds || 0, value.ms || 0), this.name());
12
- }
13
- name() {
14
- return 'jalali';
15
- }
16
- dayOfMonth(date) {
17
- return this.toJalali(date).day;
18
- }
19
- dayOfYear(date) {
20
- const j = this.toJalali(date);
21
- return (j.month <= 6 ? ((j.month - 1) * 31) : ((6 * 31) + (j.month - 7) * 30)) + j.day;
22
- }
23
- dayOfWeek(date) {
24
- return date.getDay() == 6 ? 1 : date.getDay() + 2;
25
- }
26
- weekOfYear(date) {
27
- //TODO : apply jalali
28
- const firstDay = new AXDateTime(date).startOf('year');
29
- return Math.ceil((((date.getTime() - firstDay.date.getTime()) / 86400000) + firstDay.date.getDay() + 1) / 7);
30
- }
31
- year(date) {
32
- return this.toJalali(date).year;
33
- }
34
- monthOfYear(date) {
35
- return this.toJalali(date).month;
36
- }
37
- add(date, unit, amount) {
38
- let value = date.valueOf();
39
- switch (unit) {
40
- case 'second':
41
- value += 1000 * amount;
42
- break;
43
- case 'minute':
44
- value += 60000 * amount;
45
- break;
46
- case 'hour':
47
- value += 3600000 * amount;
48
- break;
49
- case 'month':
50
- {
51
- const v = new Date(value);
52
- let jd = this.dayOfMonth(date);
53
- let jm = this.monthOfYear(date);
54
- let jy = this.year(date);
55
- const nm = (jm + amount);
56
- const ny = (nm % 12) ? Math.floor(nm / 12) : 0;
57
- jy += ny;
58
- jm = nm - (ny * 12);
59
- const vv = this.toGregorian(jy, jm, jd);
60
- v.setFullYear(vv.getFullYear());
61
- v.setMonth(vv.getMonth());
62
- v.setDate(vv.getDate());
63
- value = v.valueOf();
64
- break;
65
- }
66
- case 'week':
67
- value += 7 * 86400000 * amount;
68
- break;
69
- case 'year':
70
- {
71
- // const v = new Date(value);
72
- // v.setFullYear(v.getFullYear() + amount);
73
- // value = v.valueOf();
74
- // break
75
- const v = new Date(value);
76
- let jd = this.dayOfMonth(date);
77
- let jm = this.monthOfYear(date);
78
- let jy = this.year(date);
79
- const vv = this.toGregorian(jy + amount, jm, jd);
80
- v.setFullYear(vv.getFullYear());
81
- v.setMonth(vv.getMonth());
82
- v.setDate(vv.getDate());
83
- value = v.valueOf();
84
- break;
85
- }
86
- case 'day':
87
- default:
88
- value += 86400000 * amount;
89
- }
90
- return new AXDateTime(new Date(value), this.name());
91
- }
92
- set(date, unit, value) {
93
- const clone = new Date(date.valueOf());
94
- const jDate = this.toJalali(clone);
95
- switch (unit) {
96
- case 'second':
97
- clone.setHours(clone.getHours(), clone.getMinutes(), value, clone.getMilliseconds());
98
- break;
99
- case 'minute':
100
- clone.setHours(clone.getHours(), value, clone.getSeconds(), clone.getMilliseconds());
101
- break;
102
- case 'hour':
103
- clone.setHours(value, clone.getMinutes(), clone.getSeconds(), clone.getMilliseconds());
104
- break;
105
- default:
106
- case 'day':
107
- const gDate = this.toGregorian(jDate.year, jDate.month, value);
108
- clone.setDate(gDate.getDate());
109
- break;
110
- case "week":
111
- break;
112
- case "month":
113
- const gDate2 = this.toGregorian(jDate.year, value, jDate.day);
114
- clone.setMonth(gDate2.getMonth());
115
- break;
116
- case "year":
117
- const gDate3 = this.toGregorian(value, jDate.month, jDate.day);
118
- clone.setFullYear(gDate3.getFullYear());
119
- break;
120
- }
121
- return new AXDateTime(clone, this.name());
122
- }
123
- startOf(date, unit) {
124
- const clone = new Date(date.valueOf());
125
- switch (unit) {
126
- case 'second':
127
- clone.setHours(clone.getHours(), clone.getMinutes(), clone.getSeconds(), 0);
128
- return new AXDateTime(clone, this.name());
129
- case 'minute':
130
- clone.setHours(clone.getHours(), clone.getMinutes(), 0, 0);
131
- return new AXDateTime(clone, this.name());
132
- case 'hour':
133
- clone.setHours(clone.getHours(), 0, 0, 0);
134
- return new AXDateTime(clone, this.name());
135
- default:
136
- case 'day':
137
- clone.setHours(0, 0, 0, 0);
138
- return new AXDateTime(clone, this.name());
139
- case "week":
140
- return new AXDateTime(clone, this.name()).add('day', -this.dayOfWeek(clone) + 1).startOf('day');
141
- case "month":
142
- {
143
- const jy = this.year(date);
144
- const jm = this.monthOfYear(date);
145
- const gDate = this.toGregorian(jy, jm, 1);
146
- return new AXDateTime(gDate, this.name()).startOf('day');
147
- }
148
- case "year":
149
- {
150
- const jy = this.year(date);
151
- const gDate = this.toGregorian(jy, 1, 1);
152
- return new AXDateTime(gDate, this.name()).startOf('day');
153
- }
154
- }
155
- }
156
- endOf(date, unit) {
157
- const clone = new Date(date.valueOf());
158
- switch (unit) {
159
- case 'second':
160
- clone.setHours(clone.getHours(), clone.getMinutes(), clone.getSeconds(), 999);
161
- return new AXDateTime(clone, this.name());
162
- case 'minute':
163
- clone.setHours(clone.getHours(), clone.getMinutes(), 59, 999);
164
- return new AXDateTime(clone, this.name());
165
- case 'hour':
166
- clone.setHours(clone.getHours(), 59, 59, 999);
167
- return new AXDateTime(clone, this.name());
168
- default:
169
- case 'day':
170
- clone.setHours(23, 59, 59, 999);
171
- return new AXDateTime(clone, this.name());
172
- case 'week':
173
- {
174
- return this.startOf(date, 'week').add('day', 6).endOf('day');
175
- }
176
- case 'month':
177
- {
178
- const jy = this.year(date);
179
- const jm = this.monthOfYear(date);
180
- const jd = this.monthLength(jy, jm);
181
- const gDate = this.toGregorian(jy, jm, jd);
182
- return new AXDateTime(gDate, this.name()).endOf('day');
183
- }
184
- case "year":
185
- let jy = this.year(date);
186
- const gDate = this.toGregorian(jy, 12, this.monthLength(jy, 12));
187
- return new AXDateTime(gDate, this.name()).endOf('day');
188
- }
189
- }
190
- toJalali(date) {
191
- const gy = date.getFullYear();
192
- const gm = date.getMonth() + 1;
193
- const gd = date.getDate();
194
- const r = this.d2j(this.g2d(gy, gm, gd));
195
- return {
196
- year: r.jy,
197
- month: r.jm,
198
- day: r.jd,
199
- };
200
- }
201
- /*
202
- Converts a Jalaali date to Gregorian.
203
- */
204
- toGregorian(jy, jm, jd) {
205
- const g = this.d2g(this.j2d(jy, jm, jd));
206
- return new Date(g.gy, g.gm - 1, g.gd);
207
- }
208
- /*
209
- Checks whether a Jalaali date is valid or not.
210
- */
211
- isValid(jy, jm, jd) {
212
- return jy >= -61 && jy <= 3177 &&
213
- jm >= 1 && jm <= 12 &&
214
- jd >= 1 && jd <= this.monthLength(jy, jm);
215
- }
216
- /*
217
- Is this a leap year or not?
218
- */
219
- isLeapYear(jy) {
220
- return this.jalCal(jy).leap === 0;
221
- }
222
- /*
223
- Number of days in a given month in a Jalaali year.
224
- */
225
- monthLength(jy, jm) {
226
- if (jm <= 6)
227
- return 31;
228
- if (jm <= 11)
229
- return 30;
230
- if (this.isLeapYear(jy))
231
- return 30;
232
- return 29;
233
- }
234
- jalCal(jy) {
235
- // Jalaali years starting the 33-year rule.
236
- let breaks = [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210,
237
- 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178
238
- ], bl = breaks.length, gy = jy + 621, leapJ = -14, jp = breaks[0], jm, jump, leap, leapG, march, n, i;
239
- if (jy < jp || jy >= breaks[bl - 1])
240
- throw new Error('Invalid Jalaali year ' + jy);
241
- // Find the limiting years for the Jalaali year jy.
242
- for (i = 1; i < bl; i += 1) {
243
- jm = breaks[i];
244
- jump = jm - jp;
245
- if (jy < jm)
246
- break;
247
- leapJ = leapJ + this.div(jump, 33) * 8 + this.div(this.mod(jump, 33), 4);
248
- jp = jm;
249
- }
250
- n = jy - jp;
251
- // Find the number of leap years from AD 621 to the beginning
252
- // of the current Jalaali year in the Persian calendar.
253
- leapJ = leapJ + this.div(n, 33) * 8 + this.div(this.mod(n, 33) + 3, 4);
254
- if (this.mod(jump, 33) === 4 && jump - n === 4)
255
- leapJ += 1;
256
- // And the same in the Gregorian calendar (until the year gy).
257
- leapG = this.div(gy, 4) - this.div((this.div(gy, 100) + 1) * 3, 4) - 150;
258
- // Determine the Gregorian date of Farvardin the 1st.
259
- march = 20 + leapJ - leapG;
260
- // Find how many years have passed since the last leap year.
261
- if (jump - n < 6)
262
- n = n - jump + this.div(jump + 4, 33) * 33;
263
- leap = this.mod(this.mod(n + 1, 33) - 1, 4);
264
- if (leap === -1) {
265
- leap = 4;
266
- }
267
- return {
268
- leap: leap,
269
- gy: gy,
270
- march: march
271
- };
272
- }
273
- /*
274
- Converts a date of the Jalaali calendar to the Julian Day number.
275
- @param jy Jalaali year (1 to 3100)
276
- @param jm Jalaali month (1 to 12)
277
- @param jd Jalaali day (1 to 29/31)
278
- @return Julian Day number
279
- */
280
- j2d(jy, jm, jd) {
281
- let r = this.jalCal(jy);
282
- return this.g2d(r.gy, 3, r.march) + (jm - 1) * 31 - this.div(jm, 7) * (jm - 7) + jd - 1;
283
- }
284
- /*
285
- Converts the Julian Day number to a date in the Jalaali calendar.
286
- @param jdn Julian Day number
287
- @return
288
- jy: Jalaali year (1 to 3100)
289
- jm: Jalaali month (1 to 12)
290
- jd: Jalaali day (1 to 29/31)
291
- */
292
- d2j(jdn) {
293
- let gy = this.d2g(jdn).gy // Calculate Gregorian year (gy).
294
- , jy = gy - 621, r = this.jalCal(jy), jdn1f = this.g2d(gy, 3, r.march), jd, jm, k;
295
- // Find number of days that passed since 1 Farvardin.
296
- k = jdn - jdn1f;
297
- if (k >= 0) {
298
- if (k <= 185) {
299
- // The first 6 months.
300
- jm = 1 + this.div(k, 31);
301
- jd = this.mod(k, 31) + 1;
302
- return {
303
- jy: jy,
304
- jm: jm,
305
- jd: jd
306
- };
307
- }
308
- else {
309
- // The remaining months.
310
- k -= 186;
311
- }
312
- }
313
- else {
314
- // Previous Jalaali year.
315
- jy -= 1;
316
- k += 179;
317
- if (r.leap === 1)
318
- k += 1;
319
- }
320
- jm = 7 + this.div(k, 30);
321
- jd = this.mod(k, 30) + 1;
322
- return {
323
- jy: jy,
324
- jm: jm,
325
- jd: jd
326
- };
327
- }
328
- g2d(gy, gm, gd) {
329
- let d = this.div((gy + this.div(gm - 8, 6) + 100100) * 1461, 4)
330
- + this.div(153 * this.mod(gm + 9, 12) + 2, 5)
331
- + gd - 34840408;
332
- d = d - this.div(this.div(gy + 100100 + this.div(gm - 8, 6), 100) * 3, 4) + 752;
333
- return d;
334
- }
335
- d2g(jdn) {
336
- let j, i, gd, gm, gy;
337
- j = 4 * jdn + 139361631;
338
- j = j + this.div(this.div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908;
339
- i = this.div(this.mod(j, 1461), 4) * 5 + 308;
340
- gd = this.div(this.mod(i, 153), 5) + 1;
341
- gm = this.mod(this.div(i, 153), 12) + 1;
342
- gy = this.div(j, 1461) - 100100 + this.div(8 - gm, 6);
343
- return {
344
- gy: gy,
345
- gm: gm,
346
- gd: gd
347
- };
348
- }
349
- /*
350
- Utility helper functions.
351
- */
352
- div(a, b) {
353
- return ~~(a / b);
354
- }
355
- mod(a, b) {
356
- return a - ~~(a / b) * b;
357
- }
358
- }
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFsYWxpLmNhbGVuZGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZGF0ZVRpbWUvc3JjL2phbGFsaS5jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRWpGLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBRUksZUFBVSxHQUFHLENBQUMsb0VBQW9FLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0Ysb0JBQWUsR0FBRyxDQUFDLG9FQUFvRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBHLGFBQVEsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVFLGtCQUFhLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQXFaL0MsQ0FBQztJQWxaRyxNQUFNLENBQUMsS0FBa0I7UUFDckIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0SyxDQUFDO0lB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LFVBQVUsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDOUMsS0FBSyxRQUFRO2dCQUNULEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEtBQUssTUFBTTtnQkFDUCxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxRQUFRO1lBQ1IsS0FBSyxLQUFLO2dCQUNOLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEcsS0FBSyxPQUFPO2dCQUNSO29CQUNJLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7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RUFBRTtZQUNOLEVBQUUsRUFBRSxFQUFFO1NBQ1gsQ0FBQTtJQUNMLENBQUM7SUFFRDs7TUFFRTtJQUNNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7SUFFTyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2FsZW5kYXIsIEFYRGF0ZVRpbWUsIEFYRGF0ZVZhbHVlLCBUaW1lVW5pdCB9IGZyb20gXCIuL2RhdGV0aW1lLmNsYXNzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSmFsYWxpQ2FsZW5kYXIgaW1wbGVtZW50cyBBWENhbGVuZGFyIHtcclxuXHJcbiAgICBtb250aE5hbWVzID0gKFwi2YHYsdmI2LHYr9uM2YZf2KfYsdiv24zYqNmH2LTYql/Yrtix2K/Yp9ivX9iq24zYsV/Zhdix2K/Yp9ivX9i02YfYsduM2YjYsV/ZhdmH2LFf2KLYqNin2YZf2KLYsNixX9iv24xf2KjZh9mF2YZf2KfYs9mB2YbYr1wiKS5zcGxpdChcIl9cIik7XHJcblxyXG4gICAgbW9udGhTaG9ydE5hbWVzID0gKFwi2YHYsdmI2LHYr9uM2YZf2KfYsdiv24zYqNmH2LTYql/Yrtix2K/Yp9ivX9iq24zYsV/Zhdix2K/Yp9ivX9i02YfYsduM2YjYsV/ZhdmH2LFf2KLYqNin2YZf2KLYsNixX9iv24xf2KjZh9mF2YZf2KfYs9mB2YbYr1wiKS5zcGxpdChcIl9cIik7XHJcblxyXG4gICAgZGF5TmFtZXMgPSAoXCLYtNmG2KjZh1/bjNqp2LTZhtio2Ydf2K/ZiNi02YbYqNmHX9iz2Ycg2LTZhtio2Ydf2obZh9in2LHYtNmG2KjZh1/ZvtmG2Kwg2LTZhtio2Ydf2KzZhdi52YdcIikuc3BsaXQoXCJfXCIpO1xyXG5cclxuICAgIGRheVNob3J0TmFtZXMgPSBcIti0X9uMX9ivX9izX9qGX9m+X9isXCIuc3BsaXQoXCJfXCIpO1xyXG5cclxuXHJcbiAgICBjcmVhdGUodmFsdWU6IEFYRGF0ZVZhbHVlKTogQVhEYXRlVGltZSB7XHJcbiAgICAgICAgY29uc3QgYSA9IHRoaXMudG9HcmVnb3JpYW4odmFsdWUueWVhciwgdmFsdWUubW9udGgsIHZhbHVlLmRhdGUpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZShhLmdldEZ1bGxZZWFyKCksIGEuZ2V0TW9udGgoKSwgYS5nZXREYXRlKCksIHZhbHVlLmhvdXJzIHx8IDAsIHZhbHVlLm1pbnV0ZXMgfHwgMCwgdmFsdWUuc2Vjb25kcyB8fCAwLCB2YWx1ZS5tcyB8fCAwKSwgdGhpcy5uYW1lKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJ2phbGFsaSdcclxuICAgIH1cclxuXHJcbiAgICBkYXlPZk1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvSmFsYWxpKGRhdGUpLmRheTtcclxuICAgIH1cclxuXHJcbiAgICBkYXlPZlllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgaiA9IHRoaXMudG9KYWxhbGkoZGF0ZSk7XHJcbiAgICAgICAgcmV0dXJuIChqLm1vbnRoIDw9IDYgPyAoKGoubW9udGggLSAxKSAqIDMxKSA6ICgoNiAqIDMxKSArIChqLm1vbnRoIC0gNykgKiAzMCkpICsgai5kYXk7XHJcbiAgICB9XHJcblxyXG4gICAgZGF5T2ZXZWVrKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldERheSgpID09IDYgPyAxIDogZGF0ZS5nZXREYXkoKSArIDI7XHJcbiAgICB9XHJcblxyXG4gICAgd2Vla09mWWVhcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICAvL1RPRE8gOiBhcHBseSBqYWxhbGlcclxuICAgICAgICBjb25zdCBmaXJzdERheSA9IG5ldyBBWERhdGVUaW1lKGRhdGUpLnN0YXJ0T2YoJ3llYXInKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCgoKGRhdGUuZ2V0VGltZSgpIC0gZmlyc3REYXkuZGF0ZS5nZXRUaW1lKCkpIC8gODY0MDAwMDApICsgZmlyc3REYXkuZGF0ZS5nZXREYXkoKSArIDEpIC8gNyk7XHJcbiAgICB9XHJcblxyXG4gICAgeWVhcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0phbGFsaShkYXRlKS55ZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIG1vbnRoT2ZZZWFyKGRhdGU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvSmFsYWxpKGRhdGUpLm1vbnRoO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBhZGQoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gZGF0ZS52YWx1ZU9mKCk7XHJcbiAgICAgICAgc3dpdGNoICh1bml0KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlY29uZCc6XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSAxMDAwICogYW1vdW50O1xyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICAgICAgICAgIHZhbHVlICs9IDYwMDAwICogYW1vdW50O1xyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSAzNjAwMDAwICogYW1vdW50O1xyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHYgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpkID0gdGhpcy5kYXlPZk1vbnRoKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqbSA9IHRoaXMubW9udGhPZlllYXIoZGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGp5ID0gdGhpcy55ZWFyKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5tID0gKGptICsgYW1vdW50KTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBueSA9IChubSAlIDEyKSA/IE1hdGguZmxvb3Iobm0gLyAxMikgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGp5ICs9IG55O1xyXG4gICAgICAgICAgICAgICAgICAgIGptID0gbm0gLSAobnkgKiAxMik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdnYgPSB0aGlzLnRvR3JlZ29yaWFuKGp5LCBqbSwgamQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHYuc2V0RnVsbFllYXIodnYuZ2V0RnVsbFllYXIoKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdi5zZXRNb250aCh2di5nZXRNb250aCgpKTtcclxuICAgICAgICAgICAgICAgICAgICB2LnNldERhdGUodnYuZ2V0RGF0ZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHYudmFsdWVPZigpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ3dlZWsnOlxyXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gNyAqIDg2NDAwMDAwICogYW1vdW50O1xyXG4gICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgdiA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB2LnNldEZ1bGxZZWFyKHYuZ2V0RnVsbFllYXIoKSArIGFtb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdmFsdWUgPSB2LnZhbHVlT2YoKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHYgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpkID0gdGhpcy5kYXlPZk1vbnRoKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqbSA9IHRoaXMubW9udGhPZlllYXIoZGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGp5ID0gdGhpcy55ZWFyKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZ2ID0gdGhpcy50b0dyZWdvcmlhbihqeSArIGFtb3VudCwgam0sIGpkKTtcclxuICAgICAgICAgICAgICAgICAgICB2LnNldEZ1bGxZZWFyKHZ2LmdldEZ1bGxZZWFyKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHYuc2V0TW9udGgodnYuZ2V0TW9udGgoKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdi5zZXREYXRlKHZ2LmdldERhdGUoKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2LnZhbHVlT2YoKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdkYXknOlxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gODY0MDAwMDAgKiBhbW91bnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSh2YWx1ZSksIHRoaXMubmFtZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQsIHZhbHVlOiBudW1iZXIpOiBBWERhdGVUaW1lIHtcclxuICAgICAgICBjb25zdCBjbG9uZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcclxuICAgICAgICBjb25zdCBqRGF0ZSA9IHRoaXMudG9KYWxhbGkoY2xvbmUpO1xyXG4gICAgICAgIHN3aXRjaCAodW5pdCkge1xyXG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgICAgICAgICAgY2xvbmUuc2V0SG91cnMoY2xvbmUuZ2V0SG91cnMoKSwgY2xvbmUuZ2V0TWludXRlcygpLCB2YWx1ZSwgY2xvbmUuZ2V0TWlsbGlzZWNvbmRzKCkpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXRIb3VycyhjbG9uZS5nZXRIb3VycygpLCB2YWx1ZSwgY2xvbmUuZ2V0U2Vjb25kcygpLCBjbG9uZS5nZXRNaWxsaXNlY29uZHMoKSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXRIb3Vycyh2YWx1ZSwgY2xvbmUuZ2V0TWludXRlcygpLCBjbG9uZS5nZXRTZWNvbmRzKCksIGNsb25lLmdldE1pbGxpc2Vjb25kcygpKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBjYXNlICdkYXknOlxyXG4gICAgICAgICAgICAgICAgY29uc3QgZ0RhdGUgPSB0aGlzLnRvR3JlZ29yaWFuKGpEYXRlLnllYXIsIGpEYXRlLm1vbnRoLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXREYXRlKGdEYXRlLmdldERhdGUoKSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIndlZWtcIjpcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibW9udGhcIjpcclxuICAgICAgICAgICAgICAgIGNvbnN0IGdEYXRlMiA9IHRoaXMudG9HcmVnb3JpYW4oakRhdGUueWVhciwgdmFsdWUsIGpEYXRlLmRheSk7XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXRNb250aChnRGF0ZTIuZ2V0TW9udGgoKSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcInllYXJcIjpcclxuICAgICAgICAgICAgICAgIGNvbnN0IGdEYXRlMyA9IHRoaXMudG9HcmVnb3JpYW4odmFsdWUsIGpEYXRlLm1vbnRoLCBqRGF0ZS5kYXkpO1xyXG4gICAgICAgICAgICAgICAgY2xvbmUuc2V0RnVsbFllYXIoZ0RhdGUzLmdldEZ1bGxZZWFyKCkpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShjbG9uZSwgdGhpcy5uYW1lKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0T2YoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQpOiBBWERhdGVUaW1lIHtcclxuICAgICAgICBjb25zdCBjbG9uZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcclxuICAgICAgICBzd2l0Y2ggKHVuaXQpIHtcclxuICAgICAgICAgICAgY2FzZSAnc2Vjb25kJzpcclxuICAgICAgICAgICAgICAgIGNsb25lLnNldEhvdXJzKGNsb25lLmdldEhvdXJzKCksIGNsb25lLmdldE1pbnV0ZXMoKSwgY2xvbmUuZ2V0U2Vjb25kcygpLCAwKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShjbG9uZSwgdGhpcy5uYW1lKCkpO1xyXG4gICAgICAgICAgICBjYXNlICdtaW51dGUnOlxyXG4gICAgICAgICAgICAgICAgY2xvbmUuc2V0SG91cnMoY2xvbmUuZ2V0SG91cnMoKSwgY2xvbmUuZ2V0TWludXRlcygpLCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShjbG9uZSwgdGhpcy5uYW1lKCkpO1xyXG4gICAgICAgICAgICBjYXNlICdob3VyJzpcclxuICAgICAgICAgICAgICAgIGNsb25lLnNldEhvdXJzKGNsb25lLmdldEhvdXJzKCksIDAsIDAsIDApO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGNsb25lLCB0aGlzLm5hbWUoKSk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShjbG9uZSwgdGhpcy5uYW1lKCkpO1xyXG4gICAgICAgICAgICBjYXNlIFwid2Vla1wiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGNsb25lLCB0aGlzLm5hbWUoKSkuYWRkKCdkYXknLCAtdGhpcy5kYXlPZldlZWsoY2xvbmUpICsgMSkuc3RhcnRPZignZGF5Jyk7XHJcbiAgICAgICAgICAgIGNhc2UgXCJtb250aFwiOlxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGp5ID0gdGhpcy55ZWFyKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGptID0gdGhpcy5tb250aE9mWWVhcihkYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBnRGF0ZSA9IHRoaXMudG9HcmVnb3JpYW4oanksIGptLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoZ0RhdGUsIHRoaXMubmFtZSgpKS5zdGFydE9mKCdkYXknKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSBcInllYXJcIjpcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBqeSA9IHRoaXMueWVhcihkYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBnRGF0ZSA9IHRoaXMudG9HcmVnb3JpYW4oanksIDEsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShnRGF0ZSwgdGhpcy5uYW1lKCkpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlbmRPZihkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCk6IEFYRGF0ZVRpbWUge1xyXG4gICAgICAgIGNvbnN0IGNsb25lID0gbmV3IERhdGUoZGF0ZS52YWx1ZU9mKCkpO1xyXG4gICAgICAgIHN3aXRjaCAodW5pdCkge1xyXG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxyXG4gICAgICAgICAgICAgICAgY2xvbmUuc2V0SG91cnMoY2xvbmUuZ2V0SG91cnMoKSwgY2xvbmUuZ2V0TWludXRlcygpLCBjbG9uZS5nZXRTZWNvbmRzKCksIDk5OSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoY2xvbmUsIHRoaXMubmFtZSgpKTtcclxuICAgICAgICAgICAgY2FzZSAnbWludXRlJzpcclxuICAgICAgICAgICAgICAgIGNsb25lLnNldEhvdXJzKGNsb25lLmdldEhvdXJzKCksIGNsb25lLmdldE1pbnV0ZXMoKSwgNTksIDk5OSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoY2xvbmUsIHRoaXMubmFtZSgpKTtcclxuICAgICAgICAgICAgY2FzZSAnaG91cic6XHJcbiAgICAgICAgICAgICAgICBjbG9uZS5zZXRIb3VycyhjbG9uZS5nZXRIb3VycygpLCA1OSwgNTksIDk5OSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoY2xvbmUsIHRoaXMubmFtZSgpKTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICAgICAgICAgIGNsb25lLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoY2xvbmUsIHRoaXMubmFtZSgpKTtcclxuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRPZihkYXRlLCAnd2VlaycpLmFkZCgnZGF5JywgNikuZW5kT2YoJ2RheScpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdtb250aCc6XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgankgPSB0aGlzLnllYXIoZGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgam0gPSB0aGlzLm1vbnRoT2ZZZWFyKGRhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGpkID0gdGhpcy5tb250aExlbmd0aChqeSwgam0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdEYXRlID0gdGhpcy50b0dyZWdvcmlhbihqeSwgam0sIGpkKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoZ0RhdGUsIHRoaXMubmFtZSgpKS5lbmRPZignZGF5Jyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgXCJ5ZWFyXCI6XHJcbiAgICAgICAgICAgICAgICBsZXQgankgPSB0aGlzLnllYXIoZGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBnRGF0ZSA9IHRoaXMudG9HcmVnb3JpYW4oanksIDEyLCB0aGlzLm1vbnRoTGVuZ3RoKGp5LCAxMikpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGdEYXRlLCB0aGlzLm5hbWUoKSkuZW5kT2YoJ2RheScpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHRvSmFsYWxpKGRhdGU6IERhdGUpOiB7IHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF5OiBudW1iZXIgfSB7XHJcbiAgICAgICAgY29uc3QgZ3kgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgY29uc3QgZ20gPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGNvbnN0IGdkID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgICAgY29uc3QgciA9IHRoaXMuZDJqKHRoaXMuZzJkKGd5LCBnbSwgZ2QpKVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHllYXI6IHIuanksXHJcbiAgICAgICAgICAgIG1vbnRoOiByLmptLFxyXG4gICAgICAgICAgICBkYXk6IHIuamQsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgIENvbnZlcnRzIGEgSmFsYWFsaSBkYXRlIHRvIEdyZWdvcmlhbi5cclxuICAgICovXHJcbiAgICB0b0dyZWdvcmlhbihqeSwgam0sIGpkKSB7XHJcbiAgICAgICAgY29uc3QgZyA9IHRoaXMuZDJnKHRoaXMuajJkKGp5LCBqbSwgamQpKVxyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShnLmd5LCBnLmdtIC0gMSwgZy5nZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAgQ2hlY2tzIHdoZXRoZXIgYSBKYWxhYWxpIGRhdGUgaXMgdmFsaWQgb3Igbm90LlxyXG4gICAgKi9cclxuICAgIGlzVmFsaWQoanksIGptLCBqZCkge1xyXG4gICAgICAgIHJldHVybiBqeSA+PSAtNjEgJiYgankgPD0gMzE3NyAmJlxyXG4gICAgICAgICAgICBqbSA+PSAxICYmIGptIDw9IDEyICYmXHJcbiAgICAgICAgICAgIGpkID49IDEgJiYgamQgPD0gdGhpcy5tb250aExlbmd0aChqeSwgam0pXHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAgSXMgdGhpcyBhIGxlYXAgeWVhciBvciBub3Q/XHJcbiAgICAqL1xyXG4gICAgaXNMZWFwWWVhcihqeSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmphbENhbChqeSkubGVhcCA9PT0gMFxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgIE51bWJlciBvZiBkYXlzIGluIGEgZ2l2ZW4gbW9udGggaW4gYSBKYWxhYWxpIHllYXIuXHJcbiAgICAqL1xyXG4gICAgbW9udGhMZW5ndGgoanksIGptKSB7XHJcbiAgICAgICAgaWYgKGptIDw9IDYpIHJldHVybiAzMVxyXG4gICAgICAgIGlmIChqbSA8PSAxMSkgcmV0dXJuIDMwXHJcbiAgICAgICAgaWYgKHRoaXMuaXNMZWFwWWVhcihqeSkpIHJldHVybiAzMFxyXG4gICAgICAgIHJldHVybiAyOVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGphbENhbChqeSkge1xyXG4gICAgICAgIC8vIEphbGFhbGkgeWVhcnMgc3RhcnRpbmcgdGhlIDMzLXllYXIgcnVsZS5cclxuICAgICAgICBsZXQgYnJlYWtzID0gWy02MSwgOSwgMzgsIDE5OSwgNDI2LCA2ODYsIDc1NiwgODE4LCAxMTExLCAxMTgxLCAxMjEwXHJcbiAgICAgICAgICAgICwgMTYzNSwgMjA2MCwgMjA5NywgMjE5MiwgMjI2MiwgMjMyNCwgMjM5NCwgMjQ1NiwgMzE3OFxyXG4gICAgICAgIF1cclxuICAgICAgICAgICAgLCBibCA9IGJyZWFrcy5sZW5ndGhcclxuICAgICAgICAgICAgLCBneSA9IGp5ICsgNjIxXHJcbiAgICAgICAgICAgICwgbGVhcEogPSAtMTRcclxuICAgICAgICAgICAgLCBqcCA9IGJyZWFrc1swXVxyXG4gICAgICAgICAgICAsIGptXHJcbiAgICAgICAgICAgICwganVtcFxyXG4gICAgICAgICAgICAsIGxlYXBcclxuICAgICAgICAgICAgLCBsZWFwR1xyXG4gICAgICAgICAgICAsIG1hcmNoXHJcbiAgICAgICAgICAgICwgblxyXG4gICAgICAgICAgICAsIGlcclxuXHJcbiAgICAgICAgaWYgKGp5IDwganAgfHwgankgPj0gYnJlYWtzW2JsIC0gMV0pXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBKYWxhYWxpIHllYXIgJyArIGp5KVxyXG5cclxuICAgICAgICAvLyBGaW5kIHRoZSBsaW1pdGluZyB5ZWFycyBmb3IgdGhlIEphbGFhbGkgeWVhciBqeS5cclxuICAgICAgICBmb3IgKGkgPSAxOyBpIDwgYmw7IGkgKz0gMSkge1xyXG4gICAgICAgICAgICBqbSA9IGJyZWFrc1tpXVxyXG4gICAgICAgICAgICBqdW1wID0gam0gLSBqcFxyXG4gICAgICAgICAgICBpZiAoankgPCBqbSlcclxuICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgIGxlYXBKID0gbGVhcEogKyB0aGlzLmRpdihqdW1wLCAzMykgKiA4ICsgdGhpcy5kaXYodGhpcy5tb2QoanVtcCwgMzMpLCA0KVxyXG4gICAgICAgICAgICBqcCA9IGptXHJcbiAgICAgICAgfVxyXG4gICAgICAgIG4gPSBqeSAtIGpwXHJcblxyXG4gICAgICAgIC8vIEZpbmQgdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIGZyb20gQUQgNjIxIHRvIHRoZSBiZWdpbm5pbmdcclxuICAgICAgICAvLyBvZiB0aGUgY3VycmVudCBKYWxhYWxpIHllYXIgaW4gdGhlIFBlcnNpYW4gY2FsZW5kYXIuXHJcbiAgICAgICAgbGVhcEogPSBsZWFwSiArIHRoaXMuZGl2KG4sIDMzKSAqIDggKyB0aGlzLmRpdih0aGlzLm1vZChuLCAzMykgKyAzLCA0KVxyXG4gICAgICAgIGlmICh0aGlzLm1vZChqdW1wLCAzMykgPT09IDQgJiYganVtcCAtIG4gPT09IDQpXHJcbiAgICAgICAgICAgIGxlYXBKICs9IDFcclxuXHJcbiAgICAgICAgLy8gQW5kIHRoZSBzYW1lIGluIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIgKHVudGlsIHRoZSB5ZWFyIGd5KS5cclxuICAgICAgICBsZWFwRyA9IHRoaXMuZGl2KGd5LCA0KSAtIHRoaXMuZGl2KCh0aGlzLmRpdihneSwgMTAwKSArIDEpICogMywgNCkgLSAxNTBcclxuXHJcbiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBHcmVnb3JpYW4gZGF0ZSBvZiBGYXJ2YXJkaW4gdGhlIDFzdC5cclxuICAgICAgICBtYXJjaCA9IDIwICsgbGVhcEogLSBsZWFwR1xyXG5cclxuICAgICAgICAvLyBGaW5kIGhvdyBtYW55IHllYXJzIGhhdmUgcGFzc2VkIHNpbmNlIHRoZSBsYXN0IGxlYXAgeWVhci5cclxuICAgICAgICBpZiAoanVtcCAtIG4gPCA2KVxyXG4gICAgICAgICAgICBuID0gbiAtIGp1bXAgKyB0aGlzLmRpdihqdW1wICsgNCwgMzMpICogMzNcclxuICAgICAgICBsZWFwID0gdGhpcy5tb2QodGhpcy5tb2QobiArIDEsIDMzKSAtIDEsIDQpXHJcbiAgICAgICAgaWYgKGxlYXAgPT09IC0xKSB7XHJcbiAgICAgICAgICAgIGxlYXAgPSA0XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBsZWFwOiBsZWFwXHJcbiAgICAgICAgICAgICwgZ3k6IGd5XHJcbiAgICAgICAgICAgICwgbWFyY2g6IG1hcmNoXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgIENvbnZlcnRzIGEgZGF0ZSBvZiB0aGUgSmFsYWFsaSBjYWxlbmRhciB0byB0aGUgSnVsaWFuIERheSBudW1iZXIuXHJcbiAgICAgIEBwYXJhbSBqeSBKYWxhYWxpIHllYXIgKDEgdG8gMzEwMClcclxuICAgICAgQHBhcmFtIGptIEphbGFhbGkgbW9udGggKDEgdG8gMTIpXHJcbiAgICAgIEBwYXJhbSBqZCBKYWxhYWxpIGRheSAoMSB0byAyOS8zMSlcclxuICAgICAgQHJldHVybiBKdWxpYW4gRGF5IG51bWJlclxyXG4gICAgKi9cclxuICAgIHByaXZhdGUgajJkKGp5LCBqbSwgamQpIHtcclxuICAgICAgICBsZXQgciA9IHRoaXMuamFsQ2FsKGp5KVxyXG4gICAgICAgIHJldHVybiB0aGlzLmcyZChyLmd5LCAzLCByLm1hcmNoKSArIChqbSAtIDEpICogMzEgLSB0aGlzLmRpdihqbSwgNykgKiAoam0gLSA3KSArIGpkIC0gMVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgIENvbnZlcnRzIHRoZSBKdWxpYW4gRGF5IG51bWJlciB0byBhIGRhdGUgaW4gdGhlIEphbGFhbGkgY2FsZW5kYXIuXHJcbiAgICAgIEBwYXJhbSBqZG4gSnVsaWFuIERheSBudW1iZXJcclxuICAgICAgQHJldHVyblxyXG4gICAgICAgIGp5OiBKYWxhYWxpIHllYXIgKDEgdG8gMzEwMClcclxuICAgICAgICBqbTogSmFsYWFsaSBtb250aCAoMSB0byAxMilcclxuICAgICAgICBqZDogSmFsYWFsaSBkYXkgKDEgdG8gMjkvMzEpXHJcbiAgICAqL1xyXG4gICAgcHJpdmF0ZSBkMmooamRuKSB7XHJcbiAgICAgICAgbGV0IGd5ID0gdGhpcy5kMmcoamRuKS5neSAvLyBDYWxjdWxhdGUgR3JlZ29yaWFuIHllYXIgKGd5KS5cclxuICAgICAgICAgICAgLCBqeSA9IGd5IC0gNjIxXHJcbiAgICAgICAgICAgICwgciA9IHRoaXMuamFsQ2FsKGp5KVxyXG4gICAgICAgICAgICAsIGpkbjFmID0gdGhpcy5nMmQoZ3ksIDMsIHIubWFyY2gpXHJcbiAgICAgICAgICAgICwgamRcclxuICAgICAgICAgICAgLCBqbVxyXG4gICAgICAgICAgICAsIGtcclxuXHJcbiAgICAgICAgLy8gRmluZCBudW1iZXIgb2YgZGF5cyB0aGF0IHBhc3NlZCBzaW5jZSAxIEZhcnZhcmRpbi5cclxuICAgICAgICBrID0gamRuIC0gamRuMWZcclxuICAgICAgICBpZiAoayA+PSAwKSB7XHJcbiAgICAgICAgICAgIGlmIChrIDw9IDE4NSkge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhlIGZpcnN0IDYgbW9udGhzLlxyXG4gICAgICAgICAgICAgICAgam0gPSAxICsgdGhpcy5kaXYoaywgMzEpXHJcbiAgICAgICAgICAgICAgICBqZCA9IHRoaXMubW9kKGssIDMxKSArIDFcclxuICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgank6IGp5XHJcbiAgICAgICAgICAgICAgICAgICAgLCBqbTogam1cclxuICAgICAgICAgICAgICAgICAgICAsIGpkOiBqZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhlIHJlbWFpbmluZyBtb250aHMuXHJcbiAgICAgICAgICAgICAgICBrIC09IDE4NlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gUHJldmlvdXMgSmFsYWFsaSB5ZWFyLlxyXG4gICAgICAgICAgICBqeSAtPSAxXHJcbiAgICAgICAgICAgIGsgKz0gMTc5XHJcbiAgICAgICAgICAgIGlmIChyLmxlYXAgPT09IDEpXHJcbiAgICAgICAgICAgICAgICBrICs9IDFcclxuICAgICAgICB9XHJcbiAgICAgICAgam0gPSA3ICsgdGhpcy5kaXYoaywgMzApXHJcbiAgICAgICAgamQgPSB0aGlzLm1vZChrLCAzMCkgKyAxXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgank6IGp5XHJcbiAgICAgICAgICAgICwgam06IGptXHJcbiAgICAgICAgICAgICwgamQ6IGpkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGcyZChneSwgZ20sIGdkKSB7XHJcbiAgICAgICAgbGV0IGQgPSB0aGlzLmRpdigoZ3kgKyB0aGlzLmRpdihnbSAtIDgsIDYpICsgMTAwMTAwKSAqIDE0NjEsIDQpXHJcbiAgICAgICAgICAgICsgdGhpcy5kaXYoMTUzICogdGhpcy5tb2QoZ20gKyA5LCAxMikgKyAyLCA1KVxyXG4gICAgICAgICAgICArIGdkIC0gMzQ4NDA0MDhcclxuICAgICAgICBkID0gZCAtIHRoaXMuZGl2KHRoaXMuZGl2KGd5ICsgMTAwMTAwICsgdGhpcy5kaXYoZ20gLSA4LCA2KSwgMTAwKSAqIDMsIDQpICsgNzUyXHJcbiAgICAgICAgcmV0dXJuIGRcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBkMmcoamRuKSB7XHJcbiAgICAgICAgbGV0IGpcclxuICAgICAgICAgICAgLCBpXHJcbiAgICAgICAgICAgICwgZ2RcclxuICAgICAgICAgICAgLCBnbVxyXG4gICAgICAgICAgICAsIGd5XHJcbiAgICAgICAgaiA9IDQgKiBqZG4gKyAxMzkzNjE2MzFcclxuICAgICAgICBqID0gaiArIHRoaXMuZGl2KHRoaXMuZGl2KDQgKiBqZG4gKyAxODMxODc3MjAsIDE0NjA5NykgKiAzLCA0KSAqIDQgLSAzOTA4XHJcbiAgICAgICAgaSA9IHRoaXMuZGl2KHRoaXMubW9kKGosIDE0NjEpLCA0KSAqIDUgKyAzMDhcclxuICAgICAgICBnZCA9IHRoaXMuZGl2KHRoaXMubW9kKGksIDE1MyksIDUpICsgMVxyXG4gICAgICAgIGdtID0gdGhpcy5tb2QodGhpcy5kaXYoaSwgMTUzKSwgMTIpICsgMVxyXG4gICAgICAgIGd5ID0gdGhpcy5kaXYoaiwgMTQ2MSkgLSAxMDAxMDAgKyB0aGlzLmRpdig4IC0gZ20sIDYpXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZ3k6IGd5XHJcbiAgICAgICAgICAgICwgZ206IGdtXHJcbiAgICAgICAgICAgICwgZ2Q6IGdkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgIFV0aWxpdHkgaGVscGVyIGZ1bmN0aW9ucy5cclxuICAgICovXHJcbiAgICBwcml2YXRlIGRpdihhLCBiKSB7XHJcbiAgICAgICAgcmV0dXJuIH5+KGEgLyBiKVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbW9kKGEsIGIpIHtcclxuICAgICAgICByZXR1cm4gYSAtIH5+KGEgLyBiKSAqIGJcclxuICAgIH1cclxuXHJcbn0iXX0=
@@ -1,36 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class AXEventService {
4
- constructor() {
5
- this.list = [];
6
- }
7
- broadcast(key, options) {
8
- const d = this.list.find(c => c.key === key);
9
- if (d) {
10
- d.events.forEach((c) => {
11
- c(options);
12
- });
13
- }
14
- }
15
- on(key, callback) {
16
- let d = this.list.find(c => c.key === key);
17
- if (!d) {
18
- d = { key, events: [] };
19
- this.list.push(d);
20
- }
21
- d.events.push(callback);
22
- }
23
- destroy(key, callback) {
24
- const d = this.list.find(c => c.key === key);
25
- if (d) {
26
- d.events = [];
27
- }
28
- }
29
- }
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
- type: Injectable,
34
- args: [{ providedIn: 'root' }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2V2ZW50cy9zcmMvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVZLFNBQUksR0FBVSxFQUFFLENBQUM7S0EwQjVCO0lBeEJVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBYTtRQUN2QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEVBQUU7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFO2dCQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVNLEVBQUUsQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDcEQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDekQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxFQUFFO1lBQ0gsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDakI7SUFDTCxDQUFDOzsyR0ExQlEsY0FBYzsrR0FBZCxjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQVhFdmVudFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBsaXN0OiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoYyA9PiBjLmtleSA9PT0ga2V5KTtcclxuICAgICAgICBpZiAoZCkge1xyXG4gICAgICAgICAgICBkLmV2ZW50cy5mb3JFYWNoKChjOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgYyhvcHRpb25zKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbihrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgbGV0IGQgPSB0aGlzLmxpc3QuZmluZChjID0+IGMua2V5ID09PSBrZXkpO1xyXG4gICAgICAgIGlmICghZCkge1xyXG4gICAgICAgICAgICBkID0geyBrZXksIGV2ZW50czogW10gfTtcclxuICAgICAgICAgICAgdGhpcy5saXN0LnB1c2goZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGQuZXZlbnRzLnB1c2goY2FsbGJhY2spO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZXN0cm95KGtleTogc3RyaW5nLCBjYWxsYmFjazogKG9wdGlvbnM/OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkID0gdGhpcy5saXN0LmZpbmQoYyA9PiBjLmtleSA9PT0ga2V5KTtcclxuICAgICAgICBpZiAoZCkge1xyXG4gICAgICAgICAgICBkLmV2ZW50cyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,12 +0,0 @@
1
- export class AXFileDownloadRef extends Promise {
2
- constructor(executor) {
3
- super(executor);
4
- }
5
- //abort the operation
6
- abort() {
7
- if (this.abortMethod) {
8
- this.abortMethod();
9
- }
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1yZWYuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLWRvd25sb2FkLXJlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsT0FBNkI7SUFHaEUsWUFBWSxRQUFnSDtRQUN4SCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEIsQ0FBQztJQUNELHFCQUFxQjtJQUNkLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGaWxlRG93bmxvYWRSZXN1bHQgfSBmcm9tIFwiLi9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYRmlsZURvd25sb2FkUmVmIGV4dGVuZHMgUHJvbWlzZTxBWEZpbGVEb3dubG9hZFJlc3VsdD5cclxue1xyXG4gICAgcHVibGljIGFib3J0TWV0aG9kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29uc3RydWN0b3IoZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBQcm9taXNlTGlrZTxBWEZpbGVEb3dubG9hZFJlc3VsdD4pID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkgPT4gdm9pZCkge1xyXG4gICAgICAgIHN1cGVyKGV4ZWN1dG9yKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL2Fib3J0IHRoZSBvcGVyYXRpb25cclxuICAgIHB1YmxpYyBhYm9ydCgpIHtcclxuICAgICAgICBpZiAodGhpcy5hYm9ydE1ldGhvZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFib3J0TWV0aG9kKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -1,46 +0,0 @@
1
- export class AXFileDownloadResult {
2
- constructor(response) {
3
- this._response = response;
4
- }
5
- save(filename) {
6
- this._defaultBrowserDownload(filename);
7
- return Promise.resolve();
8
- // else {
9
- // return new Promise((resolve, reject) => {
10
- // const button = document.createElement("button");
11
- // button.addEventListener('click', async () => {
12
- // button.remove();
13
- // const opts = {
14
- // types: [{
15
- // description: 'Save File',
16
- // suggestedName: filename
17
- // // accept: {'text/plain': ['.txt']},
18
- // }],
19
- // };
20
- // const result = await window['showSaveFilePicker'](opts);
21
- // console.log(result);
22
- // resolve();
23
- // });
24
- // button.click();
25
- // });
26
- // }
27
- }
28
- blob() {
29
- return this._response;
30
- }
31
- base64() {
32
- return new Promise((resolve, reject) => {
33
- var reader = new window.FileReader();
34
- reader.onloadend = () => resolve(reader.result);
35
- reader.onerror = e => reject(e);
36
- reader.readAsDataURL(this._response);
37
- });
38
- }
39
- _defaultBrowserDownload(filename = 'download') {
40
- const link = document.createElement('a');
41
- link.href = URL.createObjectURL(this._response);
42
- link.download = filename;
43
- link.click();
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1yZXN1bHQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9maWxlL3NyYy9maWxlLWRvd25sb2FkLXJlc3VsdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQVksUUFBYztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWlCO1FBQ3BCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixTQUFTO1FBQ1QsNENBQTRDO1FBQzVDLHVEQUF1RDtRQUN2RCxxREFBcUQ7UUFDckQsMkJBQTJCO1FBQzNCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsNENBQTRDO1FBQzVDLDBDQUEwQztRQUMxQyx5REFBeUQ7UUFDekQsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixtRUFBbUU7UUFDbkUsK0JBQStCO1FBRS9CLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1Ysc0JBQXNCO1FBQ3RCLE1BQU07UUFFTixJQUFJO0lBQ04sQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFnQixDQUFDLENBQUM7WUFDMUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFtQixVQUFVO1FBQzNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhGaWxlRG93bmxvYWRSZXN1bHQge1xyXG4gIF9yZXNwb25zZTogQmxvYjtcclxuXHJcbiAgY29uc3RydWN0b3IocmVzcG9uc2U6IEJsb2IpIHtcclxuICAgIHRoaXMuX3Jlc3BvbnNlID0gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBzYXZlKGZpbGVuYW1lPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9kZWZhdWx0QnJvd3NlckRvd25sb2FkKGZpbGVuYW1lKTtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgIC8vIGVsc2Uge1xyXG4gICAgLy8gcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgIC8vICAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xyXG4gICAgLy8gICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHtcclxuICAgIC8vICAgICAgICAgYnV0dG9uLnJlbW92ZSgpO1xyXG4gICAgLy8gICAgICAgICBjb25zdCBvcHRzID0ge1xyXG4gICAgLy8gICAgICAgICAgICAgdHlwZXM6IFt7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTYXZlIEZpbGUnLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgIHN1Z2dlc3RlZE5hbWU6IGZpbGVuYW1lXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgLy8gICBhY2NlcHQ6IHsndGV4dC9wbGFpbic6IFsnLnR4dCddfSxcclxuICAgIC8vICAgICAgICAgICAgIH1dLFxyXG4gICAgLy8gICAgICAgICB9O1xyXG4gICAgLy8gICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB3aW5kb3dbJ3Nob3dTYXZlRmlsZVBpY2tlciddKG9wdHMpO1xyXG4gICAgLy8gICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQpO1xyXG5cclxuICAgIC8vICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gICAgIGJ1dHRvbi5jbGljaygpO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgYmxvYigpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXNwb25zZTtcclxuICB9XHJcblxyXG4gIGJhc2U2NCgpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdmFyIHJlYWRlciA9IG5ldyB3aW5kb3cuRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgIHJlYWRlci5vbmVycm9yID0gZSA9PiByZWplY3QoZSk7XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKHRoaXMuX3Jlc3BvbnNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEJyb3dzZXJEb3dubG9hZChmaWxlbmFtZTogc3RyaW5nID0gJ2Rvd25sb2FkJykge1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5fcmVzcG9uc2UpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGZpbGVuYW1lO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,12 +0,0 @@
1
- export class AXFileUploadRef extends Promise {
2
- constructor(executor) {
3
- super(executor);
4
- }
5
- //abort the operation
6
- abort() {
7
- if (this.abortMethod) {
8
- this.abortMethod();
9
- }
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcmVmLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZmlsZS9zcmMvZmlsZS11cGxvYWQtcmVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUF5QixTQUFRLE9BQVU7SUFHcEQsWUFBWSxRQUE2RjtRQUNyRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEIsQ0FBQztJQUNELHFCQUFxQjtJQUNkLEtBQUs7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYRmlsZVVwbG9hZFJlZjxUID0gYW55PiBleHRlbmRzIFByb21pc2U8VD5cclxue1xyXG4gICAgcHVibGljIGFib3J0TWV0aG9kOiAoKSA9PiB2b2lkO1xyXG4gICAgY29uc3RydWN0b3IoZXhlY3V0b3I6IChyZXNvbHZlOiAodmFsdWU/OiBQcm9taXNlTGlrZTxUPikgPT4gdm9pZCwgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkKSA9PiB2b2lkKSB7XHJcbiAgICAgICAgc3VwZXIoZXhlY3V0b3IpO1xyXG5cclxuICAgIH1cclxuICAgIC8vYWJvcnQgdGhlIG9wZXJhdGlvblxyXG4gICAgcHVibGljIGFib3J0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmFib3J0TWV0aG9kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWJvcnRNZXRob2QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=