@operato/utils 10.16.2 → 10.22.0
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.
- package/CHANGELOG.md +9 -0
- package/coverage/lcov-report/index.html +18 -18
- package/coverage/lcov.info +250 -0
- package/dist/src/when.d.ts +84 -0
- package/dist/src/when.js +158 -0
- package/dist/src/when.js.map +1 -0
- package/dist/test/when.test.d.ts +1 -0
- package/dist/test/when.test.js +101 -0
- package/dist/test/when.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -3
- package/test/when.test.ts +127 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.22.0](https://github.com/hatiolab/operato/compare/v10.21.0...v10.22.0) (2026-09-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :rocket: New Features
|
|
10
|
+
|
|
11
|
+
* **utils:** when - a moment drawn in the screen's language and a chosen zone ([1f36cdb](https://github.com/hatiolab/operato/commit/1f36cdb0467c09c3d47748a305deedec63ddc5be))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
### [10.16.2](https://github.com/hatiolab/operato/compare/v10.16.1...v10.16.2) (2026-09-18)
|
|
7
16
|
|
|
8
17
|
**Note:** Version bump only for package @operato/utils
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">95.06% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>501/527</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">86.29% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>107/124</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">95.23% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>20/21</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">95.06% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>501/527</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file high" data-value="src"><a href="src/index.html">src</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="98.72" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
86
|
+
<td data-value="98.72" class="pct high">98.72%</td>
|
|
87
|
+
<td data-value="314" class="abs high">310/314</td>
|
|
88
|
+
<td data-value="93" class="pct high">93%</td>
|
|
89
|
+
<td data-value="100" class="abs high">93/100</td>
|
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="
|
|
91
|
+
<td data-value="13" class="abs high">13/13</td>
|
|
92
|
+
<td data-value="98.72" class="pct high">98.72%</td>
|
|
93
|
+
<td data-value="314" class="abs high">310/314</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2026-09-
|
|
119
|
+
at 2026-09-24T03:02:49.729Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="prettify.js"></script>
|
|
122
122
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -216,6 +216,256 @@ BRF:37
|
|
|
216
216
|
BRH:37
|
|
217
217
|
end_of_record
|
|
218
218
|
TN:
|
|
219
|
+
SF:src/when.ts
|
|
220
|
+
FN:31,availableZones
|
|
221
|
+
FN:36,nextZone
|
|
222
|
+
FN:50,resolveZone
|
|
223
|
+
FN:57,msOf
|
|
224
|
+
FN:113,formatWhen
|
|
225
|
+
FN:139,zoneAbbr
|
|
226
|
+
FN:164,dayHeadings
|
|
227
|
+
FNF:7
|
|
228
|
+
FNH:7
|
|
229
|
+
FNDA:8,availableZones
|
|
230
|
+
FNDA:5,nextZone
|
|
231
|
+
FNDA:5,resolveZone
|
|
232
|
+
FNDA:24,msOf
|
|
233
|
+
FNDA:15,formatWhen
|
|
234
|
+
FNDA:5,zoneAbbr
|
|
235
|
+
FNDA:5,dayHeadings
|
|
236
|
+
DA:1,1
|
|
237
|
+
DA:2,1
|
|
238
|
+
DA:3,1
|
|
239
|
+
DA:4,1
|
|
240
|
+
DA:5,1
|
|
241
|
+
DA:6,1
|
|
242
|
+
DA:7,1
|
|
243
|
+
DA:8,1
|
|
244
|
+
DA:9,1
|
|
245
|
+
DA:10,1
|
|
246
|
+
DA:11,1
|
|
247
|
+
DA:12,1
|
|
248
|
+
DA:13,1
|
|
249
|
+
DA:14,1
|
|
250
|
+
DA:15,1
|
|
251
|
+
DA:16,1
|
|
252
|
+
DA:17,1
|
|
253
|
+
DA:18,1
|
|
254
|
+
DA:19,1
|
|
255
|
+
DA:20,1
|
|
256
|
+
DA:21,1
|
|
257
|
+
DA:22,1
|
|
258
|
+
DA:23,1
|
|
259
|
+
DA:24,1
|
|
260
|
+
DA:25,1
|
|
261
|
+
DA:26,1
|
|
262
|
+
DA:27,1
|
|
263
|
+
DA:28,1
|
|
264
|
+
DA:29,1
|
|
265
|
+
DA:30,1
|
|
266
|
+
DA:31,1
|
|
267
|
+
DA:32,8
|
|
268
|
+
DA:33,8
|
|
269
|
+
DA:34,1
|
|
270
|
+
DA:35,1
|
|
271
|
+
DA:36,1
|
|
272
|
+
DA:37,5
|
|
273
|
+
DA:38,5
|
|
274
|
+
DA:39,5
|
|
275
|
+
DA:40,5
|
|
276
|
+
DA:41,5
|
|
277
|
+
DA:42,1
|
|
278
|
+
DA:43,1
|
|
279
|
+
DA:44,1
|
|
280
|
+
DA:45,1
|
|
281
|
+
DA:46,1
|
|
282
|
+
DA:47,1
|
|
283
|
+
DA:48,1
|
|
284
|
+
DA:49,1
|
|
285
|
+
DA:50,1
|
|
286
|
+
DA:51,5
|
|
287
|
+
DA:52,5
|
|
288
|
+
DA:53,5
|
|
289
|
+
DA:54,5
|
|
290
|
+
DA:55,1
|
|
291
|
+
DA:56,1
|
|
292
|
+
DA:57,1
|
|
293
|
+
DA:58,24
|
|
294
|
+
DA:59,24
|
|
295
|
+
DA:60,24
|
|
296
|
+
DA:61,3
|
|
297
|
+
DA:62,3
|
|
298
|
+
DA:63,3
|
|
299
|
+
DA:64,3
|
|
300
|
+
DA:65,3
|
|
301
|
+
DA:66,1
|
|
302
|
+
DA:67,1
|
|
303
|
+
DA:68,1
|
|
304
|
+
DA:69,1
|
|
305
|
+
DA:70,1
|
|
306
|
+
DA:71,1
|
|
307
|
+
DA:72,1
|
|
308
|
+
DA:73,1
|
|
309
|
+
DA:74,1
|
|
310
|
+
DA:75,1
|
|
311
|
+
DA:76,1
|
|
312
|
+
DA:77,1
|
|
313
|
+
DA:78,1
|
|
314
|
+
DA:79,1
|
|
315
|
+
DA:80,1
|
|
316
|
+
DA:81,1
|
|
317
|
+
DA:82,1
|
|
318
|
+
DA:83,1
|
|
319
|
+
DA:84,1
|
|
320
|
+
DA:85,1
|
|
321
|
+
DA:86,1
|
|
322
|
+
DA:87,1
|
|
323
|
+
DA:88,1
|
|
324
|
+
DA:89,1
|
|
325
|
+
DA:90,1
|
|
326
|
+
DA:91,1
|
|
327
|
+
DA:92,1
|
|
328
|
+
DA:93,1
|
|
329
|
+
DA:94,1
|
|
330
|
+
DA:95,1
|
|
331
|
+
DA:96,1
|
|
332
|
+
DA:97,1
|
|
333
|
+
DA:98,1
|
|
334
|
+
DA:99,1
|
|
335
|
+
DA:100,1
|
|
336
|
+
DA:101,1
|
|
337
|
+
DA:102,1
|
|
338
|
+
DA:103,1
|
|
339
|
+
DA:104,1
|
|
340
|
+
DA:105,1
|
|
341
|
+
DA:106,1
|
|
342
|
+
DA:107,1
|
|
343
|
+
DA:108,1
|
|
344
|
+
DA:109,1
|
|
345
|
+
DA:110,1
|
|
346
|
+
DA:111,1
|
|
347
|
+
DA:112,1
|
|
348
|
+
DA:113,1
|
|
349
|
+
DA:114,15
|
|
350
|
+
DA:115,15
|
|
351
|
+
DA:116,15
|
|
352
|
+
DA:117,15
|
|
353
|
+
DA:118,15
|
|
354
|
+
DA:119,15
|
|
355
|
+
DA:120,15
|
|
356
|
+
DA:121,15
|
|
357
|
+
DA:122,15
|
|
358
|
+
DA:123,15
|
|
359
|
+
DA:124,15
|
|
360
|
+
DA:125,15
|
|
361
|
+
DA:126,15
|
|
362
|
+
DA:127,1
|
|
363
|
+
DA:128,1
|
|
364
|
+
DA:129,1
|
|
365
|
+
DA:130,1
|
|
366
|
+
DA:131,15
|
|
367
|
+
DA:132,1
|
|
368
|
+
DA:133,1
|
|
369
|
+
DA:134,1
|
|
370
|
+
DA:135,1
|
|
371
|
+
DA:136,1
|
|
372
|
+
DA:137,1
|
|
373
|
+
DA:138,1
|
|
374
|
+
DA:139,1
|
|
375
|
+
DA:140,5
|
|
376
|
+
DA:141,4
|
|
377
|
+
DA:142,5
|
|
378
|
+
DA:143,5
|
|
379
|
+
DA:144,5
|
|
380
|
+
DA:145,5
|
|
381
|
+
DA:146,5
|
|
382
|
+
DA:147,5
|
|
383
|
+
DA:148,1
|
|
384
|
+
DA:149,1
|
|
385
|
+
DA:150,5
|
|
386
|
+
DA:151,1
|
|
387
|
+
DA:152,1
|
|
388
|
+
DA:153,1
|
|
389
|
+
DA:154,1
|
|
390
|
+
DA:155,1
|
|
391
|
+
DA:156,1
|
|
392
|
+
DA:157,1
|
|
393
|
+
DA:158,1
|
|
394
|
+
DA:159,1
|
|
395
|
+
DA:160,1
|
|
396
|
+
DA:161,1
|
|
397
|
+
DA:162,1
|
|
398
|
+
DA:163,1
|
|
399
|
+
DA:164,1
|
|
400
|
+
DA:165,5
|
|
401
|
+
DA:166,5
|
|
402
|
+
DA:167,5
|
|
403
|
+
DA:168,15
|
|
404
|
+
DA:169,15
|
|
405
|
+
DA:170,15
|
|
406
|
+
DA:171,5
|
|
407
|
+
DA:172,5
|
|
408
|
+
LF:172
|
|
409
|
+
LH:172
|
|
410
|
+
BRDA:31,0,0,8
|
|
411
|
+
BRDA:32,1,0,24
|
|
412
|
+
BRDA:32,2,0,24
|
|
413
|
+
BRDA:36,3,0,5
|
|
414
|
+
BRDA:40,4,0,1
|
|
415
|
+
BRDA:40,5,0,4
|
|
416
|
+
BRDA:50,6,0,5
|
|
417
|
+
BRDA:51,7,0,1
|
|
418
|
+
BRDA:52,8,0,4
|
|
419
|
+
BRDA:52,9,0,1
|
|
420
|
+
BRDA:53,10,0,3
|
|
421
|
+
BRDA:53,11,0,2
|
|
422
|
+
BRDA:57,12,0,24
|
|
423
|
+
BRDA:58,13,0,2
|
|
424
|
+
BRDA:58,14,0,2
|
|
425
|
+
BRDA:58,15,0,2
|
|
426
|
+
BRDA:59,16,0,22
|
|
427
|
+
BRDA:59,17,0,16
|
|
428
|
+
BRDA:59,18,0,16
|
|
429
|
+
BRDA:59,19,0,16
|
|
430
|
+
BRDA:60,20,0,6
|
|
431
|
+
BRDA:60,21,0,4
|
|
432
|
+
BRDA:60,22,0,3
|
|
433
|
+
BRDA:62,23,0,1
|
|
434
|
+
BRDA:62,24,0,2
|
|
435
|
+
BRDA:64,25,0,3
|
|
436
|
+
BRDA:113,26,0,15
|
|
437
|
+
BRDA:118,27,0,1
|
|
438
|
+
BRDA:119,28,0,14
|
|
439
|
+
BRDA:119,29,0,1
|
|
440
|
+
BRDA:120,30,0,13
|
|
441
|
+
BRDA:120,31,0,13
|
|
442
|
+
BRDA:120,32,0,10
|
|
443
|
+
BRDA:122,33,0,0
|
|
444
|
+
BRDA:124,34,0,13
|
|
445
|
+
BRDA:124,35,0,0
|
|
446
|
+
BRDA:126,36,0,1
|
|
447
|
+
BRDA:139,37,0,5
|
|
448
|
+
BRDA:140,38,0,1
|
|
449
|
+
BRDA:141,39,0,4
|
|
450
|
+
BRDA:142,40,0,0
|
|
451
|
+
BRDA:144,41,0,4
|
|
452
|
+
BRDA:144,42,0,0
|
|
453
|
+
BRDA:146,43,0,3
|
|
454
|
+
BRDA:146,44,0,3
|
|
455
|
+
BRDA:146,45,0,3
|
|
456
|
+
BRDA:146,46,0,0
|
|
457
|
+
BRDA:147,47,0,1
|
|
458
|
+
BRDA:146,48,0,21
|
|
459
|
+
BRDA:164,49,0,5
|
|
460
|
+
BRDA:167,50,0,15
|
|
461
|
+
BRDA:168,51,0,14
|
|
462
|
+
BRDA:168,52,0,9
|
|
463
|
+
BRDA:168,53,0,6
|
|
464
|
+
BRDA:169,54,0,14
|
|
465
|
+
BRF:55
|
|
466
|
+
BRH:50
|
|
467
|
+
end_of_record
|
|
468
|
+
TN:
|
|
219
469
|
SF:src/reactive-controllers/tooltip-reactive-controller.ts
|
|
220
470
|
FN:32,TooltipReactiveController
|
|
221
471
|
FN:116,TooltipReactiveController.handleMouseOver
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A moment as the screen says it - pure: no lit, no i18n, no DOM. A value comes in, text goes out.
|
|
3
|
+
*
|
|
4
|
+
* Screens called `toLocaleString()` with no language, so a date followed the browser's setting instead
|
|
5
|
+
* of the screen's language: a Korean screen showed `8/22/2026, 5:23:33 PM` (operato-twin, 2026-08-25,
|
|
6
|
+
* fifteen places). The language is therefore always passed in here.
|
|
7
|
+
*
|
|
8
|
+
* The time zone is chosen per display, not per screen (user decision). A setting that followed you
|
|
9
|
+
* from screen to screen would be undone on the next one and leave you unsure which clock you were
|
|
10
|
+
* reading; a display that names its own zone cannot be mixed up with the one beside it.
|
|
11
|
+
*
|
|
12
|
+
* Nothing absent is made up. Some deployments set no domain time zone; that choice is then left out,
|
|
13
|
+
* visibly - the caller can tell what is missing and say so where it is drawn.
|
|
14
|
+
*
|
|
15
|
+
* Moved from operato-twin (client/when-core.ts) with its cases, ADR-0060 decision 3. plant wrote a
|
|
16
|
+
* language-only copy and was waiting for this one because it also carries the zone.
|
|
17
|
+
*/
|
|
18
|
+
/** Which clock to read a moment on. */
|
|
19
|
+
export type ZoneChoice = 'local' | 'utc' | 'domain';
|
|
20
|
+
/** The order a display steps through - your own clock first, then UTC, then the domain's. */
|
|
21
|
+
export declare const ZONE_ORDER: readonly ZoneChoice[];
|
|
22
|
+
/**
|
|
23
|
+
* The choices open right now - two when no domain time zone is set.
|
|
24
|
+
*
|
|
25
|
+
* What was left out shows in the length of the list (compare with `ZONE_ORDER`), so a caller can say
|
|
26
|
+
* why there are only two.
|
|
27
|
+
*/
|
|
28
|
+
export declare function availableZones(domainZone: string | null | undefined): ZoneChoice[];
|
|
29
|
+
/** The next choice, wrapping from the last to the first and skipping any that cannot be chosen. */
|
|
30
|
+
export declare function nextZone(current: ZoneChoice, domainZone: string | null | undefined): ZoneChoice;
|
|
31
|
+
/**
|
|
32
|
+
* The zone name to hand `Intl` - `undefined` means the viewer's own zone.
|
|
33
|
+
*
|
|
34
|
+
* A domain choice with no domain zone does not fall back to `undefined`: that would show another
|
|
35
|
+
* zone's time as the domain's. It answers `null`, "cannot be drawn". Callers use `availableZones`
|
|
36
|
+
* so they never pass it.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveZone(choice: ZoneChoice, domainZone: string | null | undefined): string | undefined | null;
|
|
39
|
+
/** Milliseconds from a number, an ISO string or a `Date`. Unreadable is `null` - never "Invalid Date". */
|
|
40
|
+
export declare function msOf(value: unknown): number | null;
|
|
41
|
+
/** How much to write. */
|
|
42
|
+
export type WhenStyle =
|
|
43
|
+
/** Date and hour:minute - the default for lists and details. */
|
|
44
|
+
'datetime'
|
|
45
|
+
/** The date only. */
|
|
46
|
+
| 'date'
|
|
47
|
+
/** Hour:minute only - for something within today. */
|
|
48
|
+
| 'time'
|
|
49
|
+
/** Down to the second - for following a flow as it happens. */
|
|
50
|
+
| 'precise';
|
|
51
|
+
/**
|
|
52
|
+
* One moment, drawn in the language and the zone it is given.
|
|
53
|
+
*
|
|
54
|
+
* Leaving the language out follows the browser, which is why this module exists - so the caller always
|
|
55
|
+
* passes `lang`. An empty one is passed on as `undefined`, and that is the only place it happens.
|
|
56
|
+
*
|
|
57
|
+
* `null` when it cannot be drawn: no readable value (`msOf` is `null`) or no zone to read it on
|
|
58
|
+
* (`resolveZone` is `null`). The screen gets nothing false to show.
|
|
59
|
+
*/
|
|
60
|
+
export declare function formatWhen(value: unknown, opts: {
|
|
61
|
+
lang?: string;
|
|
62
|
+
zone?: string | null;
|
|
63
|
+
style?: WhenStyle;
|
|
64
|
+
}): string | null;
|
|
65
|
+
/**
|
|
66
|
+
* A zone's short name - `KST`, `UTC`.
|
|
67
|
+
*
|
|
68
|
+
* Where there is summer time the name changes with the date (`PST`/`PDT`), so it is taken at that
|
|
69
|
+
* moment. `null` when there is none.
|
|
70
|
+
*/
|
|
71
|
+
export declare function zoneAbbr(zone: string | null | undefined, lang: string | undefined, at: number): string | null;
|
|
72
|
+
/**
|
|
73
|
+
* Where the date changes in a list - a date heading goes only there.
|
|
74
|
+
*
|
|
75
|
+
* A date on every row widens the time column and pushes what is beside it. The date needs saying once,
|
|
76
|
+
* where it changes, and on the first row too, so a list of one day still shows its date (operato-twin,
|
|
77
|
+
* 2026-08-27: a history of `16:04` rows gave no way to tell the day).
|
|
78
|
+
*
|
|
79
|
+
* It takes dates **already drawn**, so the day changes in the zone the person chose. Cutting the first
|
|
80
|
+
* ten characters of an ISO string would read UTC and go wrong near midnight.
|
|
81
|
+
*
|
|
82
|
+
* A row with no date (empty string) gets no heading and does not clear the one before it.
|
|
83
|
+
*/
|
|
84
|
+
export declare function dayHeadings(days: readonly string[]): string[];
|
package/dist/src/when.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A moment as the screen says it - pure: no lit, no i18n, no DOM. A value comes in, text goes out.
|
|
3
|
+
*
|
|
4
|
+
* Screens called `toLocaleString()` with no language, so a date followed the browser's setting instead
|
|
5
|
+
* of the screen's language: a Korean screen showed `8/22/2026, 5:23:33 PM` (operato-twin, 2026-08-25,
|
|
6
|
+
* fifteen places). The language is therefore always passed in here.
|
|
7
|
+
*
|
|
8
|
+
* The time zone is chosen per display, not per screen (user decision). A setting that followed you
|
|
9
|
+
* from screen to screen would be undone on the next one and leave you unsure which clock you were
|
|
10
|
+
* reading; a display that names its own zone cannot be mixed up with the one beside it.
|
|
11
|
+
*
|
|
12
|
+
* Nothing absent is made up. Some deployments set no domain time zone; that choice is then left out,
|
|
13
|
+
* visibly - the caller can tell what is missing and say so where it is drawn.
|
|
14
|
+
*
|
|
15
|
+
* Moved from operato-twin (client/when-core.ts) with its cases, ADR-0060 decision 3. plant wrote a
|
|
16
|
+
* language-only copy and was waiting for this one because it also carries the zone.
|
|
17
|
+
*/
|
|
18
|
+
/** The order a display steps through - your own clock first, then UTC, then the domain's. */
|
|
19
|
+
export const ZONE_ORDER = ['local', 'utc', 'domain'];
|
|
20
|
+
/**
|
|
21
|
+
* The choices open right now - two when no domain time zone is set.
|
|
22
|
+
*
|
|
23
|
+
* What was left out shows in the length of the list (compare with `ZONE_ORDER`), so a caller can say
|
|
24
|
+
* why there are only two.
|
|
25
|
+
*/
|
|
26
|
+
export function availableZones(domainZone) {
|
|
27
|
+
return ZONE_ORDER.filter(z => z !== 'domain' || !!domainZone);
|
|
28
|
+
}
|
|
29
|
+
/** The next choice, wrapping from the last to the first and skipping any that cannot be chosen. */
|
|
30
|
+
export function nextZone(current, domainZone) {
|
|
31
|
+
const zones = availableZones(domainZone);
|
|
32
|
+
const at = zones.indexOf(current);
|
|
33
|
+
/* A current choice that is no longer open (the domain zone went away) starts over. */
|
|
34
|
+
return zones[at < 0 ? 0 : (at + 1) % zones.length];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The zone name to hand `Intl` - `undefined` means the viewer's own zone.
|
|
38
|
+
*
|
|
39
|
+
* A domain choice with no domain zone does not fall back to `undefined`: that would show another
|
|
40
|
+
* zone's time as the domain's. It answers `null`, "cannot be drawn". Callers use `availableZones`
|
|
41
|
+
* so they never pass it.
|
|
42
|
+
*/
|
|
43
|
+
export function resolveZone(choice, domainZone) {
|
|
44
|
+
if (choice === 'local')
|
|
45
|
+
return undefined;
|
|
46
|
+
if (choice === 'utc')
|
|
47
|
+
return 'UTC';
|
|
48
|
+
return domainZone || null;
|
|
49
|
+
}
|
|
50
|
+
/** Milliseconds from a number, an ISO string or a `Date`. Unreadable is `null` - never "Invalid Date". */
|
|
51
|
+
export function msOf(value) {
|
|
52
|
+
if (value instanceof Date)
|
|
53
|
+
return Number.isFinite(value.getTime()) ? value.getTime() : null;
|
|
54
|
+
if (typeof value === 'number')
|
|
55
|
+
return Number.isFinite(value) ? value : null;
|
|
56
|
+
if (typeof value === 'string' && value.trim()) {
|
|
57
|
+
const t = Date.parse(value);
|
|
58
|
+
return Number.isFinite(t) ? t : null;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
/*
|
|
63
|
+
* A 24-hour clock in every language.
|
|
64
|
+
*
|
|
65
|
+
* These are screens where times are compared (when it came in, when it left, which came first), and a
|
|
66
|
+
* 12-hour clock makes you read morning or afternoon each time. Japanese, Chinese and Spanish already
|
|
67
|
+
* default to 24 hours; only Korean and English differed, so the five are made one.
|
|
68
|
+
*
|
|
69
|
+
* The order of the date and the month names stay the language's own (`2026년 8월 22일` ·
|
|
70
|
+
* `Aug 22, 2026` · `22 ago 2026`). Only the hour:minute form is ours.
|
|
71
|
+
*/
|
|
72
|
+
const HOUR_CYCLE = { hourCycle: 'h23' };
|
|
73
|
+
const FIELDS = {
|
|
74
|
+
datetime: { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', ...HOUR_CYCLE },
|
|
75
|
+
date: { year: 'numeric', month: 'short', day: 'numeric' },
|
|
76
|
+
time: { hour: '2-digit', minute: '2-digit', ...HOUR_CYCLE },
|
|
77
|
+
precise: {
|
|
78
|
+
month: 'short',
|
|
79
|
+
day: 'numeric',
|
|
80
|
+
hour: '2-digit',
|
|
81
|
+
minute: '2-digit',
|
|
82
|
+
second: '2-digit',
|
|
83
|
+
...HOUR_CYCLE
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* One moment, drawn in the language and the zone it is given.
|
|
88
|
+
*
|
|
89
|
+
* Leaving the language out follows the browser, which is why this module exists - so the caller always
|
|
90
|
+
* passes `lang`. An empty one is passed on as `undefined`, and that is the only place it happens.
|
|
91
|
+
*
|
|
92
|
+
* `null` when it cannot be drawn: no readable value (`msOf` is `null`) or no zone to read it on
|
|
93
|
+
* (`resolveZone` is `null`). The screen gets nothing false to show.
|
|
94
|
+
*/
|
|
95
|
+
export function formatWhen(value, opts) {
|
|
96
|
+
var _a;
|
|
97
|
+
const ms = msOf(value);
|
|
98
|
+
if (ms === null)
|
|
99
|
+
return null;
|
|
100
|
+
if (opts.zone === null)
|
|
101
|
+
return null;
|
|
102
|
+
const fields = FIELDS[(_a = opts.style) !== null && _a !== void 0 ? _a : 'datetime'];
|
|
103
|
+
try {
|
|
104
|
+
return new Intl.DateTimeFormat(opts.lang || undefined, {
|
|
105
|
+
...fields,
|
|
106
|
+
...(opts.zone ? { timeZone: opts.zone } : {})
|
|
107
|
+
}).format(new Date(ms));
|
|
108
|
+
}
|
|
109
|
+
catch (_b) {
|
|
110
|
+
/* An unknown zone name (a typo in a deployment's setting) throws. It is not drawn on another clock
|
|
111
|
+
instead: the caller has to know it could not be drawn so the screen can say that. */
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* A zone's short name - `KST`, `UTC`.
|
|
117
|
+
*
|
|
118
|
+
* Where there is summer time the name changes with the date (`PST`/`PDT`), so it is taken at that
|
|
119
|
+
* moment. `null` when there is none.
|
|
120
|
+
*/
|
|
121
|
+
export function zoneAbbr(zone, lang, at) {
|
|
122
|
+
var _a, _b;
|
|
123
|
+
if (zone === null)
|
|
124
|
+
return null;
|
|
125
|
+
try {
|
|
126
|
+
const parts = new Intl.DateTimeFormat(lang || undefined, {
|
|
127
|
+
timeZoneName: 'short',
|
|
128
|
+
...(zone ? { timeZone: zone } : {})
|
|
129
|
+
}).formatToParts(new Date(at));
|
|
130
|
+
return (_b = (_a = parts.find(p => p.type === 'timeZoneName')) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
|
|
131
|
+
}
|
|
132
|
+
catch (_c) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Where the date changes in a list - a date heading goes only there.
|
|
138
|
+
*
|
|
139
|
+
* A date on every row widens the time column and pushes what is beside it. The date needs saying once,
|
|
140
|
+
* where it changes, and on the first row too, so a list of one day still shows its date (operato-twin,
|
|
141
|
+
* 2026-08-27: a history of `16:04` rows gave no way to tell the day).
|
|
142
|
+
*
|
|
143
|
+
* It takes dates **already drawn**, so the day changes in the zone the person chose. Cutting the first
|
|
144
|
+
* ten characters of an ISO string would read UTC and go wrong near midnight.
|
|
145
|
+
*
|
|
146
|
+
* A row with no date (empty string) gets no heading and does not clear the one before it.
|
|
147
|
+
*/
|
|
148
|
+
export function dayHeadings(days) {
|
|
149
|
+
const heads = [];
|
|
150
|
+
let prev = '';
|
|
151
|
+
for (const day of days) {
|
|
152
|
+
heads.push(day && day !== prev ? day : '');
|
|
153
|
+
if (day)
|
|
154
|
+
prev = day;
|
|
155
|
+
}
|
|
156
|
+
return heads;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=when.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"when.js","sourceRoot":"","sources":["../../src/when.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * A moment as the screen says it - pure: no lit, no i18n, no DOM. A value comes in, text goes out.\n *\n * Screens called `toLocaleString()` with no language, so a date followed the browser's setting instead\n * of the screen's language: a Korean screen showed `8/22/2026, 5:23:33 PM` (operato-twin, 2026-08-25,\n * fifteen places). The language is therefore always passed in here.\n *\n * The time zone is chosen per display, not per screen (user decision). A setting that followed you\n * from screen to screen would be undone on the next one and leave you unsure which clock you were\n * reading; a display that names its own zone cannot be mixed up with the one beside it.\n *\n * Nothing absent is made up. Some deployments set no domain time zone; that choice is then left out,\n * visibly - the caller can tell what is missing and say so where it is drawn.\n *\n * Moved from operato-twin (client/when-core.ts) with its cases, ADR-0060 decision 3. plant wrote a\n * language-only copy and was waiting for this one because it also carries the zone.\n */\n\n/** Which clock to read a moment on. */\nexport type ZoneChoice = 'local' | 'utc' | 'domain'\n\n/** The order a display steps through - your own clock first, then UTC, then the domain's. */\nexport const ZONE_ORDER: readonly ZoneChoice[] = ['local', 'utc', 'domain']\n\n/**\n * The choices open right now - two when no domain time zone is set.\n *\n * What was left out shows in the length of the list (compare with `ZONE_ORDER`), so a caller can say\n * why there are only two.\n */\nexport function availableZones(domainZone: string | null | undefined): ZoneChoice[] {\n return ZONE_ORDER.filter(z => z !== 'domain' || !!domainZone)\n}\n\n/** The next choice, wrapping from the last to the first and skipping any that cannot be chosen. */\nexport function nextZone(current: ZoneChoice, domainZone: string | null | undefined): ZoneChoice {\n const zones = availableZones(domainZone)\n const at = zones.indexOf(current)\n /* A current choice that is no longer open (the domain zone went away) starts over. */\n return zones[at < 0 ? 0 : (at + 1) % zones.length]\n}\n\n/**\n * The zone name to hand `Intl` - `undefined` means the viewer's own zone.\n *\n * A domain choice with no domain zone does not fall back to `undefined`: that would show another\n * zone's time as the domain's. It answers `null`, \"cannot be drawn\". Callers use `availableZones`\n * so they never pass it.\n */\nexport function resolveZone(choice: ZoneChoice, domainZone: string | null | undefined): string | undefined | null {\n if (choice === 'local') return undefined\n if (choice === 'utc') return 'UTC'\n return domainZone || null\n}\n\n/** Milliseconds from a number, an ISO string or a `Date`. Unreadable is `null` - never \"Invalid Date\". */\nexport function msOf(value: unknown): number | null {\n if (value instanceof Date) return Number.isFinite(value.getTime()) ? value.getTime() : null\n if (typeof value === 'number') return Number.isFinite(value) ? value : null\n if (typeof value === 'string' && value.trim()) {\n const t = Date.parse(value)\n return Number.isFinite(t) ? t : null\n }\n return null\n}\n\n/** How much to write. */\nexport type WhenStyle =\n /** Date and hour:minute - the default for lists and details. */\n | 'datetime'\n /** The date only. */\n | 'date'\n /** Hour:minute only - for something within today. */\n | 'time'\n /** Down to the second - for following a flow as it happens. */\n | 'precise'\n\n/*\n * A 24-hour clock in every language.\n *\n * These are screens where times are compared (when it came in, when it left, which came first), and a\n * 12-hour clock makes you read morning or afternoon each time. Japanese, Chinese and Spanish already\n * default to 24 hours; only Korean and English differed, so the five are made one.\n *\n * The order of the date and the month names stay the language's own (`2026년 8월 22일` ·\n * `Aug 22, 2026` · `22 ago 2026`). Only the hour:minute form is ours.\n */\nconst HOUR_CYCLE: Intl.DateTimeFormatOptions = { hourCycle: 'h23' }\n\nconst FIELDS: Record<WhenStyle, Intl.DateTimeFormatOptions> = {\n datetime: { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', ...HOUR_CYCLE },\n date: { year: 'numeric', month: 'short', day: 'numeric' },\n time: { hour: '2-digit', minute: '2-digit', ...HOUR_CYCLE },\n precise: {\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n ...HOUR_CYCLE\n }\n}\n\n/**\n * One moment, drawn in the language and the zone it is given.\n *\n * Leaving the language out follows the browser, which is why this module exists - so the caller always\n * passes `lang`. An empty one is passed on as `undefined`, and that is the only place it happens.\n *\n * `null` when it cannot be drawn: no readable value (`msOf` is `null`) or no zone to read it on\n * (`resolveZone` is `null`). The screen gets nothing false to show.\n */\nexport function formatWhen(\n value: unknown,\n opts: { lang?: string; zone?: string | null; style?: WhenStyle }\n): string | null {\n const ms = msOf(value)\n if (ms === null) return null\n if (opts.zone === null) return null\n const fields = FIELDS[opts.style ?? 'datetime']\n try {\n return new Intl.DateTimeFormat(opts.lang || undefined, {\n ...fields,\n ...(opts.zone ? { timeZone: opts.zone } : {})\n }).format(new Date(ms))\n } catch {\n /* An unknown zone name (a typo in a deployment's setting) throws. It is not drawn on another clock\n instead: the caller has to know it could not be drawn so the screen can say that. */\n return null\n }\n}\n\n/**\n * A zone's short name - `KST`, `UTC`.\n *\n * Where there is summer time the name changes with the date (`PST`/`PDT`), so it is taken at that\n * moment. `null` when there is none.\n */\nexport function zoneAbbr(zone: string | null | undefined, lang: string | undefined, at: number): string | null {\n if (zone === null) return null\n try {\n const parts = new Intl.DateTimeFormat(lang || undefined, {\n timeZoneName: 'short',\n ...(zone ? { timeZone: zone } : {})\n }).formatToParts(new Date(at))\n return parts.find(p => p.type === 'timeZoneName')?.value ?? null\n } catch {\n return null\n }\n}\n\n/**\n * Where the date changes in a list - a date heading goes only there.\n *\n * A date on every row widens the time column and pushes what is beside it. The date needs saying once,\n * where it changes, and on the first row too, so a list of one day still shows its date (operato-twin,\n * 2026-08-27: a history of `16:04` rows gave no way to tell the day).\n *\n * It takes dates **already drawn**, so the day changes in the zone the person chose. Cutting the first\n * ten characters of an ISO string would read UTC and go wrong near midnight.\n *\n * A row with no date (empty string) gets no heading and does not clear the one before it.\n */\nexport function dayHeadings(days: readonly string[]): string[] {\n const heads: string[] = []\n let prev = ''\n for (const day of days) {\n heads.push(day && day !== prev ? day : '')\n if (day) prev = day\n }\n return heads\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { expect } from '@open-wc/testing';
|
|
2
|
+
import { availableZones, dayHeadings, formatWhen, msOf, nextZone, resolveZone, zoneAbbr, ZONE_ORDER } from '../src/when.js';
|
|
3
|
+
/**
|
|
4
|
+
* The moment rule, carried over from operato-twin (test/when-core.test.ts) with its cases: follow the
|
|
5
|
+
* screen's language, read the zone given, and never make up a zone that is not there.
|
|
6
|
+
*/
|
|
7
|
+
/** 2026-08-22 08:23 UTC - 17:23 the same day in Seoul, 01:23 the same day in Los Angeles. */
|
|
8
|
+
const AT = Date.UTC(2026, 7, 22, 8, 23, 0);
|
|
9
|
+
describe('formatWhen', () => {
|
|
10
|
+
it('draws in the language it is given, not the browser setting', () => {
|
|
11
|
+
const ko = formatWhen(AT, { lang: 'ko', zone: 'Asia/Seoul' });
|
|
12
|
+
const en = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' });
|
|
13
|
+
expect(ko).to.include('2026년');
|
|
14
|
+
expect(ko).to.not.equal(en);
|
|
15
|
+
});
|
|
16
|
+
it('writes a 24-hour clock in all five languages', () => {
|
|
17
|
+
for (const lang of ['ko', 'en-US', 'ja', 'zh', 'es']) {
|
|
18
|
+
const out = formatWhen(AT, { lang, zone: 'Asia/Seoul' });
|
|
19
|
+
expect(out, lang).to.include('17:23');
|
|
20
|
+
expect(/AM|PM|오전|오후/.test(out), `${lang}: ${out}`).to.equal(false);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
it('reads the zone it is given', () => {
|
|
24
|
+
const seoul = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' });
|
|
25
|
+
const la = formatWhen(AT, { lang: 'en-US', zone: 'America/Los_Angeles' });
|
|
26
|
+
expect(seoul).to.not.equal(la);
|
|
27
|
+
});
|
|
28
|
+
it('does not draw on another clock when the zone is unknown or missing', () => {
|
|
29
|
+
expect(formatWhen(AT, { lang: 'ko', zone: 'Mars/Olympus' })).to.equal(null);
|
|
30
|
+
expect(formatWhen(AT, { lang: 'ko', zone: resolveZone('domain', null) })).to.equal(null);
|
|
31
|
+
});
|
|
32
|
+
it('lets the caller choose how much to write', () => {
|
|
33
|
+
const opts = { lang: 'en-US', zone: 'UTC' };
|
|
34
|
+
expect(/:/.test(formatWhen(AT, { ...opts, style: 'date' }))).to.equal(false);
|
|
35
|
+
expect(formatWhen(AT, { ...opts, style: 'time' })).to.match(/08:23/);
|
|
36
|
+
expect(formatWhen(AT, { ...opts, style: 'precise' })).to.match(/:00/);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('zones', () => {
|
|
40
|
+
it('without a domain zone, that choice cannot be made', () => {
|
|
41
|
+
expect(availableZones(null)).to.deep.equal(['local', 'utc']);
|
|
42
|
+
expect(availableZones('')).to.deep.equal(['local', 'utc']);
|
|
43
|
+
expect(availableZones('Asia/Seoul')).to.deep.equal([...ZONE_ORDER]);
|
|
44
|
+
});
|
|
45
|
+
it("does not swap a missing domain zone for the viewer's own", () => {
|
|
46
|
+
expect(resolveZone('domain', null)).to.equal(null);
|
|
47
|
+
expect(resolveZone('local', null)).to.equal(undefined);
|
|
48
|
+
expect(resolveZone('utc', null)).to.equal('UTC');
|
|
49
|
+
expect(resolveZone('domain', 'Asia/Seoul')).to.equal('Asia/Seoul');
|
|
50
|
+
});
|
|
51
|
+
it('steps round and skips what cannot be chosen', () => {
|
|
52
|
+
expect(nextZone('local', 'Asia/Seoul')).to.equal('utc');
|
|
53
|
+
expect(nextZone('utc', 'Asia/Seoul')).to.equal('domain');
|
|
54
|
+
expect(nextZone('domain', 'Asia/Seoul')).to.equal('local');
|
|
55
|
+
expect(nextZone('utc', null)).to.equal('local');
|
|
56
|
+
expect(nextZone('domain', null)).to.equal('local');
|
|
57
|
+
});
|
|
58
|
+
it('names a zone as it is on that date - summer time included', () => {
|
|
59
|
+
expect(zoneAbbr('UTC', 'en-US', AT)).to.equal('UTC');
|
|
60
|
+
expect(zoneAbbr(null, 'en-US', AT)).to.equal(null);
|
|
61
|
+
expect(zoneAbbr('Mars/Olympus', 'en-US', AT)).to.equal(null);
|
|
62
|
+
const winter = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 0, 15, 12));
|
|
63
|
+
const summer = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 6, 15, 12));
|
|
64
|
+
expect(winter).to.not.equal(summer);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('msOf', () => {
|
|
68
|
+
it('unreadable is null, never "Invalid Date"', () => {
|
|
69
|
+
for (const value of [null, undefined, '', 'yesterday', Number.NaN, new Date('x')]) {
|
|
70
|
+
expect(msOf(value), String(value)).to.equal(null);
|
|
71
|
+
}
|
|
72
|
+
expect(formatWhen('yesterday', { lang: 'ko' })).to.equal(null);
|
|
73
|
+
});
|
|
74
|
+
it('takes a number, a string or a Date', () => {
|
|
75
|
+
expect(msOf(AT)).to.equal(AT);
|
|
76
|
+
expect(msOf(new Date(AT).toISOString())).to.equal(AT);
|
|
77
|
+
expect(msOf(new Date(AT))).to.equal(AT);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe('dayHeadings', () => {
|
|
81
|
+
it('puts the date on the first row even when there is one day', () => {
|
|
82
|
+
expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 27'])).to.deep.equal(['Aug 27', '', '']);
|
|
83
|
+
});
|
|
84
|
+
it('and only where the date changes', () => {
|
|
85
|
+
expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 26', 'Aug 26', 'Aug 25'])).to.deep.equal([
|
|
86
|
+
'Aug 27',
|
|
87
|
+
'',
|
|
88
|
+
'Aug 26',
|
|
89
|
+
'',
|
|
90
|
+
'Aug 25'
|
|
91
|
+
]);
|
|
92
|
+
});
|
|
93
|
+
it('a row with no date does not clear the one before it', () => {
|
|
94
|
+
expect(dayHeadings(['Aug 27', '', 'Aug 27', 'Aug 26'])).to.deep.equal(['Aug 27', '', '', 'Aug 26']);
|
|
95
|
+
});
|
|
96
|
+
it('a date that comes back is said again - a broken sort is not hidden', () => {
|
|
97
|
+
expect(dayHeadings(['Aug 27', 'Aug 26', 'Aug 27'])).to.deep.equal(['Aug 27', 'Aug 26', 'Aug 27']);
|
|
98
|
+
expect(dayHeadings([])).to.deep.equal([]);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=when.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"when.test.js","sourceRoot":"","sources":["../../test/when.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing'\n\nimport {\n availableZones,\n dayHeadings,\n formatWhen,\n msOf,\n nextZone,\n resolveZone,\n zoneAbbr,\n ZONE_ORDER\n} from '../src/when.js'\n\n/**\n * The moment rule, carried over from operato-twin (test/when-core.test.ts) with its cases: follow the\n * screen's language, read the zone given, and never make up a zone that is not there.\n */\n\n/** 2026-08-22 08:23 UTC - 17:23 the same day in Seoul, 01:23 the same day in Los Angeles. */\nconst AT = Date.UTC(2026, 7, 22, 8, 23, 0)\n\ndescribe('formatWhen', () => {\n it('draws in the language it is given, not the browser setting', () => {\n const ko = formatWhen(AT, { lang: 'ko', zone: 'Asia/Seoul' })!\n const en = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' })!\n expect(ko).to.include('2026년')\n expect(ko).to.not.equal(en)\n })\n\n it('writes a 24-hour clock in all five languages', () => {\n for (const lang of ['ko', 'en-US', 'ja', 'zh', 'es']) {\n const out = formatWhen(AT, { lang, zone: 'Asia/Seoul' })!\n expect(out, lang).to.include('17:23')\n expect(/AM|PM|오전|오후/.test(out), `${lang}: ${out}`).to.equal(false)\n }\n })\n\n it('reads the zone it is given', () => {\n const seoul = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' })!\n const la = formatWhen(AT, { lang: 'en-US', zone: 'America/Los_Angeles' })!\n expect(seoul).to.not.equal(la)\n })\n\n it('does not draw on another clock when the zone is unknown or missing', () => {\n expect(formatWhen(AT, { lang: 'ko', zone: 'Mars/Olympus' })).to.equal(null)\n expect(formatWhen(AT, { lang: 'ko', zone: resolveZone('domain', null) })).to.equal(null)\n })\n\n it('lets the caller choose how much to write', () => {\n const opts = { lang: 'en-US', zone: 'UTC' }\n expect(/:/.test(formatWhen(AT, { ...opts, style: 'date' })!)).to.equal(false)\n expect(formatWhen(AT, { ...opts, style: 'time' })).to.match(/08:23/)\n expect(formatWhen(AT, { ...opts, style: 'precise' })).to.match(/:00/)\n })\n})\n\ndescribe('zones', () => {\n it('without a domain zone, that choice cannot be made', () => {\n expect(availableZones(null)).to.deep.equal(['local', 'utc'])\n expect(availableZones('')).to.deep.equal(['local', 'utc'])\n expect(availableZones('Asia/Seoul')).to.deep.equal([...ZONE_ORDER])\n })\n\n it(\"does not swap a missing domain zone for the viewer's own\", () => {\n expect(resolveZone('domain', null)).to.equal(null)\n expect(resolveZone('local', null)).to.equal(undefined)\n expect(resolveZone('utc', null)).to.equal('UTC')\n expect(resolveZone('domain', 'Asia/Seoul')).to.equal('Asia/Seoul')\n })\n\n it('steps round and skips what cannot be chosen', () => {\n expect(nextZone('local', 'Asia/Seoul')).to.equal('utc')\n expect(nextZone('utc', 'Asia/Seoul')).to.equal('domain')\n expect(nextZone('domain', 'Asia/Seoul')).to.equal('local')\n expect(nextZone('utc', null)).to.equal('local')\n expect(nextZone('domain', null)).to.equal('local')\n })\n\n it('names a zone as it is on that date - summer time included', () => {\n expect(zoneAbbr('UTC', 'en-US', AT)).to.equal('UTC')\n expect(zoneAbbr(null, 'en-US', AT)).to.equal(null)\n expect(zoneAbbr('Mars/Olympus', 'en-US', AT)).to.equal(null)\n const winter = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 0, 15, 12))\n const summer = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 6, 15, 12))\n expect(winter).to.not.equal(summer)\n })\n})\n\ndescribe('msOf', () => {\n it('unreadable is null, never \"Invalid Date\"', () => {\n for (const value of [null, undefined, '', 'yesterday', Number.NaN, new Date('x')]) {\n expect(msOf(value), String(value)).to.equal(null)\n }\n expect(formatWhen('yesterday', { lang: 'ko' })).to.equal(null)\n })\n\n it('takes a number, a string or a Date', () => {\n expect(msOf(AT)).to.equal(AT)\n expect(msOf(new Date(AT).toISOString())).to.equal(AT)\n expect(msOf(new Date(AT))).to.equal(AT)\n })\n})\n\ndescribe('dayHeadings', () => {\n it('puts the date on the first row even when there is one day', () => {\n expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 27'])).to.deep.equal(['Aug 27', '', ''])\n })\n\n it('and only where the date changes', () => {\n expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 26', 'Aug 26', 'Aug 25'])).to.deep.equal([\n 'Aug 27',\n '',\n 'Aug 26',\n '',\n 'Aug 25'\n ])\n })\n\n it('a row with no date does not clear the one before it', () => {\n expect(dayHeadings(['Aug 27', '', 'Aug 27', 'Aug 26'])).to.deep.equal(['Aug 27', '', '', 'Aug 26'])\n })\n\n it('a date that comes back is said again - a broken sort is not hidden', () => {\n expect(dayHeadings(['Aug 27', 'Aug 26', 'Aug 27'])).to.deep.equal(['Aug 27', 'Aug 26', 'Aug 27'])\n expect(dayHeadings([])).to.deep.equal([])\n })\n})\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/adjust-list-param.ts","../src/async-lock.ts","../src/clipboard.ts","../src/closest-element.ts","../src/context-path.ts","../src/cookie.ts","../src/decode-html.ts","../src/detect-overflow.ts","../src/encode-form-params.ts","../src/file-drop-helper.ts","../src/format.ts","../src/fullscreen.ts","../src/gesture-helper.ts","../src/has-overflow.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/logger.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/timecapsule/snapshot-taker.ts","../src/timecapsule/timecapsule.ts","../src/timecapsule/index.ts","../src/is-unvalued.ts","../src/stringify-bignum.ts","../src/number-parser.ts","../src/longpressable.ts","../src/script-loader.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit-html/development/is-server.d.ts","../../../node_modules/lit/development/index.d.ts","../src/reactive-controllers/tooltip-reactive-controller.ts","../src/reactive-controllers/index.ts","../src/index.ts","../src/list-state.ts","../src/mixins/gesture-mixin.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/get-diffable-html.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff-plugin.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/index.d.ts","../../../node_modules/chai-a11y-axe/chai-a11y-axe-plugin.d.ts","../../../node_modules/chai-a11y-axe/src/accessible.d.ts","../../../node_modules/chai-a11y-axe/index.d.ts","../../../node_modules/@types/chai-dom/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@open-wc/testing/register-chai-plugins.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/elementupdated.d.ts","../../../node_modules/lit-html/development/static.d.ts","../../../node_modules/lit/development/static-html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/renderable.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/dedupe-mixin/index.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/types.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/html-element.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture-no-side-effect.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixturewrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/helpers.d.ts","../../../node_modules/lit/development/html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/scopedelementswrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/litfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/stringfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/index.d.ts","../../../node_modules/@open-wc/testing/index.d.ts","../test/has-overflow.test.ts","../test/list-state.test.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/development/decorators.d.ts","../test/tooltip-reactive-controller.test.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileIdsList":[[154,219,227,232,235,237,238,239,252],[141,154,219,227,232,235,237,238,239,252],[95,141,154,219,227,232,235,237,238,239,252],[95,141,149,154,219,227,232,235,237,238,239,252],[143,154,219,227,232,235,237,238,239,252],[93,94,154,219,227,232,235,237,238,239,252],[109,110,154,219,227,232,235,237,238,239,252],[111,154,219,227,232,235,237,238,239,252],[110,112,154,219,227,232,235,237,238,239,252],[126,127,154,219,227,232,235,237,238,239,252],[126,154,219,227,232,235,237,238,239,252],[122,124,130,131,132,135,136,154,219,227,232,235,237,238,239,252],[125,128,154,219,227,232,235,237,238,239,252],[129,154,219,227,232,235,237,238,239,252],[125,129,134,154,219,227,232,235,237,238,239,252],[101,154,219,227,232,235,237,238,239,252],[125,128,133,154,219,227,232,235,237,238,239,252],[109,121,137,154,219,227,232,235,237,238,239,252],[113,116,117,120,154,219,227,232,235,237,238,239,252],[109,154,219,227,232,235,237,238,239,252],[83,154,219,227,232,235,237,238,239,252],[71,73,74,75,76,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,74,75,76,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[72,73,74,75,76,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,75,76,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,76,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,77,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,78,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,79,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,78,80,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,78,79,81,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,78,79,80,82,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,78,79,80,81,83,154,219,227,232,235,237,238,239,252],[71,72,73,74,75,76,77,78,79,80,81,82,154,219,227,232,235,237,238,239,252],[154,216,217,219,227,232,235,237,238,239,252],[154,218,219,227,232,235,237,238,239,252],[219,227,232,235,237,238,239,252],[154,219,227,232,235,237,238,239,252,261],[154,219,220,225,227,230,232,235,237,238,239,241,252,257,270],[154,219,220,221,227,230,232,235,237,238,239,252],[154,219,222,227,232,235,237,238,239,252,271],[154,219,223,224,227,232,235,237,238,239,243,252],[154,219,224,227,232,235,237,238,239,252,257,267],[154,219,225,227,230,232,235,237,238,239,241,252],[154,218,219,226,227,232,235,237,238,239,252],[154,219,227,228,232,235,237,238,239,252],[154,219,227,229,230,232,235,237,238,239,252],[154,218,219,227,230,232,235,237,238,239,252],[154,219,227,230,232,233,235,237,238,239,252,257,270],[154,219,227,230,232,233,235,237,238,239,252,259,261],[154,206,219,227,230,232,234,235,237,238,239,241,252,257,270],[154,219,227,230,232,234,235,237,238,239,241,252,257,267,270],[154,219,227,232,234,235,236,237,238,239,252,257,267,270],[153,154,155,156,157,158,159,160,161,162,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279],[154,219,227,230,232,235,237,238,239,252],[154,219,227,232,235,237,239,252],[154,219,227,232,235,237,238,239,240,252,270],[154,219,227,230,232,235,237,238,239,241,252,257],[154,219,227,232,235,237,238,239,243,252],[154,219,227,232,235,237,238,239,244,252],[154,219,227,230,232,235,237,238,239,247,252],[154,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278],[154,219,227,232,235,237,238,239,249,252],[154,219,227,232,235,237,238,239,250,252],[154,219,224,227,232,233,235,237,238,239,241,252,259,267],[154,219,227,230,232,235,237,238,239,252,253],[154,219,227,232,235,237,238,239,252,254,271,275],[154,219,227,230,232,235,237,238,239,252,257,259,260,261],[154,219,227,232,235,237,238,239,252,258,261],[154,219,227,230,232,235,237,238,239,252,257,259],[154,219,227,230,232,235,237,238,239,252,257,260,261],[154,219,227,232,235,237,238,239,252,261,271],[154,219,227,232,235,237,238,239,252,262],[154,216,219,227,232,235,237,238,239,252,257,264,270],[154,219,227,232,235,237,238,239,252,257,263],[154,219,227,230,232,235,237,238,239,252,265,266],[154,219,227,232,235,237,238,239,252,265,266],[154,219,224,227,232,235,237,238,239,241,252,257,267],[154,219,227,232,235,237,238,239,252,268],[154,219,227,232,235,237,238,239,241,252,269],[154,219,227,232,234,235,237,238,239,250,252,270],[154,219,227,232,235,237,238,239,252,271,272],[154,219,224,227,232,235,237,238,239,252,272],[154,219,227,232,235,237,238,239,252,257,273],[154,219,227,232,233,235,237,238,239,252],[154,219,227,232,235,237,238,239,240,252,275],[154,219,227,232,235,237,238,239,252,276],[154,219,222,227,232,235,237,238,239,252],[154,219,224,227,232,235,237,238,239,252],[154,219,227,232,235,237,238,239,252,271],[154,206,219,227,232,235,237,238,239,252],[154,219,227,232,235,237,238,239,252,270],[154,219,227,232,235,237,238,239,252,277],[154,219,227,232,235,237,238,239,247,252],[154,219,227,232,235,237,238,239,252,266],[154,206,219,227,230,232,233,235,237,238,239,241,247,252,257,261,270,273,275,277],[154,219,227,232,235,237,238,239,252,257,278],[154,219,227,232,235,237,238,239,252,259,279],[109,119,154,219,227,232,235,237,238,239,252],[118,154,219,227,232,235,237,238,239,252],[115,154,219,227,232,235,237,238,239,252],[114,154,219,227,232,235,237,238,239,252],[95,98,154,219,227,232,235,237,238,239,252],[98,154,219,227,232,235,237,238,239,252],[96,97,154,219,227,232,235,237,238,239,252],[142,143,144,145,146,147,148,149,150,154,219,227,232,235,237,238,239,252],[95,98,99,100,154,219,227,232,235,237,238,239,252],[123,154,219,227,232,235,237,238,239,252],[49,154,219,227,232,235,237,238,239,252],[154,169,172,175,176,219,227,232,235,237,238,239,252,270],[154,172,219,227,232,235,237,238,239,252,257,270],[154,172,176,219,227,232,235,237,238,239,252,270],[154,219,227,232,235,237,238,239,252,257],[154,166,219,227,232,235,237,238,239,252],[154,170,219,227,232,235,237,238,239,252],[154,168,169,172,219,227,232,235,237,238,239,252,270],[154,219,227,232,235,237,238,239,241,252,267],[154,219,227,232,235,237,238,239,252,280],[154,166,219,227,232,235,237,238,239,252,280],[154,168,172,219,227,232,235,237,238,239,241,252,270],[154,163,164,165,167,171,219,227,230,232,235,237,238,239,252,257,270],[154,172,219,227,232,235,237,238,239,252],[154,172,181,190,219,227,232,235,237,238,239,252],[154,164,170,219,227,232,235,237,238,239,252],[154,172,200,201,219,227,232,235,237,238,239,252],[154,164,167,172,219,227,232,235,237,238,239,252,261,270,280],[154,168,172,219,227,232,235,237,238,239,252,270],[154,163,219,227,232,235,237,238,239,252],[154,166,167,168,170,171,172,173,174,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,201,202,203,204,205,219,227,232,235,237,238,239,252],[154,172,193,196,219,227,232,235,237,238,239,252],[154,172,181,183,184,219,227,232,235,237,238,239,252],[154,170,172,183,185,219,227,232,235,237,238,239,252],[154,171,219,227,232,235,237,238,239,252],[154,164,166,172,219,227,232,235,237,238,239,252],[154,172,176,183,185,219,227,232,235,237,238,239,252],[154,176,219,227,232,235,237,238,239,252],[154,170,172,175,219,227,232,235,237,238,239,252,270],[154,164,168,172,181,219,227,232,235,237,238,239,252],[154,172,193,219,227,232,235,237,238,239,252],[154,185,219,227,232,235,237,238,239,252],[154,164,168,172,176,219,227,232,235,237,238,239,252],[154,166,172,200,219,227,232,235,237,238,239,252,261,277,280],[50,154,219,227,232,235,237,238,239,252],[50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,87,88,89,90,91,92,103,154,219,227,232,235,237,238,239,252],[50,106,107,154,219,227,232,235,237,238,239,252],[50,84,154,219,227,232,235,237,238,239,252],[50,102,154,219,227,232,235,237,238,239,252],[50,64,101,154,219,227,232,235,237,238,239,252],[50,85,86,154,219,227,232,235,237,238,239,252],[50,84,86,154,219,227,232,235,237,238,239,252],[50,70,85,154,219,227,232,235,237,238,239,252],[50,64,138,154,219,227,232,235,237,238,239,252],[50,105,138,154,219,227,232,235,237,238,239,252],[50,101,102,138,151,154,219,227,232,235,237,238,239,252]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"973ff19d4b21d528741d19ef8ae1a6192806e7fbe18e2b414dae6a5eb4ce1c18","signature":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d"},{"version":"3c004a51a1d43261e6411e7c6934185e3f2f66126c64c0817b5b9181870086e2","signature":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425"},{"version":"c65636fa3cea14ad6a96f3c01bcc30d9f83c6e6095864b5e20190fef7d0e30eb","signature":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534"},{"version":"e16b98f53c89fc764db968b0ef9dce28a0f0d039439851eea30fab962ca2cdeb","signature":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51"},{"version":"2c7cc07d4b9035ad31020a164295784fb2a0042263ea4384670f77a63f5d0977","signature":"b085d2f3c839ad9634c9b1ea8bb2d4e3a321af1392d8ac44a79b99c0d8d194aa"},{"version":"644c5f408a19dac2fb6e89eae85ff930d51a88414da6e762e572f49eecb81ab4","signature":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e"},{"version":"9796074435e67376d48ec509ef8249ac69caeedfb942a2cc6daf9a86b4335396","signature":"4f69dd36aa514494e2665a9dd1ecbb94f705c37f13554aa6f0c4b55d47dcfec1"},{"version":"8f09cc9e905cb1d54d2d863de2bafbb1c0c4f20e979a07e4edc2a29361798de7","signature":"642bd83dc8b11abc31785975f869fea5ab2dd84246acd13c6ad7e769fea95150"},{"version":"8e8f663fe7c4665c984072bb694c8bd5303afb5bc64ebc1edfb7637677dcc80d","signature":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb"},{"version":"69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","signature":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa"},{"version":"dd40099f356d530470a658ec27886f29fc679f27a2bd6fc0eef98e492596343c","signature":"d75490903da576f8fd0ee1c990858cb31e605d3db925593c12728bd0949eedfe"},{"version":"b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","signature":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f"},{"version":"ee87fbfa3a85b52bb5c846d4858c144f16229ae0fa4aafed002d0a0d4a9e3aa0","signature":"c5dbee891258a55a6f5f77c066373fe37f97f19d3a5adcda1e4c7cfb513c525d"},{"version":"ad64241d24f086fb4b8c916d28a02f892013652e0be945d661c957b74fc32f77","signature":"712dbb6cc6020b1dae2a2031b8a117717318652f73fd5042d508f7de416c47b7"},{"version":"d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","signature":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552"},{"version":"a1953ae5bbf52b027ed3044bf32024e21994345c8a05d0aaa3902e08c033c803","signature":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520"},{"version":"d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","signature":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303"},{"version":"f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","signature":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378"},{"version":"995abaa0980d5f0e01b0c4723c203194a3ea4b289ea814afdcc6ec9df478488c","signature":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8"},{"version":"2d95c27112bfd3344d29539192bbdd69996f276fb24e061932d8043f3a9ef26f","signature":"bc971f58cf8cef65c3e5a4d37539b96e1f8d19b5c662e9ab796b62c9a63cc0c0"},{"version":"380b919bfa0516118edaf25b99e45f855e7bc3fd75ce4163a1cfe4a666388804","impliedFormat":1},{"version":"40de86ced5175a6ffe84a52abe6ac59ac0efbc604a5975a8c6476c3ddc682ff1","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"5a0b15210129310cee9fa6af9200714bb4b12af4a04d890e15f34dbea1cf1852","impliedFormat":1},{"version":"0244119dbcbcf34faf3ffdae72dab1e9bc2bc9efc3c477b2240ffa94af3bca56","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e","impliedFormat":99},{"version":"ab6d552b25bf8d97fa25cba3ace2deab9dbf389d8bef2907eb318d6b5cc0a30c","signature":"637a5a32ea266fdaa0efa1c4d25ce2eed3b420dcd7836a6952374ddd95aaccaf"},{"version":"282bb5fbc00576c2aff9ba1e5e9ab9fc3872c4d962e95363e373e712e55d326e","signature":"145e598b9f835b46757263cf952af5b8735d0bfb08a6dff2187f7b5611e17578"},{"version":"b3725f31a113200e0a0266278f33e64ba879874b0acf6837054f9acd34719588","signature":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6"},{"version":"4d8db0ef58073a950c6a985b0d1313a358c888e491d5d9a4d5a0777d84351c9a","signature":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9"},{"version":"8e485e375afaab51fdf32972879fa40758471dc93fc9c2484ad16542fd9a8fdb","signature":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67"},{"version":"679a664272f576edc7a22e5d35e1a050634eac2f0a2564c704f380e653e4f4b7","signature":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31"},{"version":"9544dfae3085b4d978f768b14b591c75a2d811d28ea006075bfb1428ff9da82e","signature":"1cf02270a889fcc3fa5863734fcdbea410d3b4dd71e4678a894a48028f836f6e"},{"version":"b5f4fe468f9c21448d89e418e146ac473e5a7cb975e27720028a46a8c33ea0f1","signature":"3cb5734586224b2daa65a52cbe2428195e1542681ac85e4d7e9ca691e841db5e"},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"b039a6b9953703ced95fa9dde10bb12c5f18c49fe8c0b9e95659659ddab4fb3c","signature":"1ecf5de9c016d0b07533f2eef218c3771a013c38533824f96743092aa97c8377"},{"version":"8961b63c842af1026b9e1e6f67cba3cae570b0011168719c538d950f202b3689","signature":"51f3be4aa09529ea1ad83a3d66830075a49e3e630df25d9892ef5708bb00de55"},{"version":"e333274770e5a5c0f2ddb38d12c94f3d97f0cbe5e52ba2cfc11cf9c3b65373b5","signature":"e0289b150095e1e86a7a201aa8ca9df044922019fcb4d125fb69535ae375d6a7"},{"version":"cda21b897ebda4b6f632e087f3f250a205d3c3ed156b479a61760a86b318c4cb","signature":"bfb55ec2f9c08129f2bd551f7e7b1205f1fa2eb460fd202551845a3584a786c6"},{"version":"3bbb53998a74e51791c8f2e486c40c52673a959c1aedf69963158050b190c977","signature":"781817b4b8608d44ff997de12d83281c645c479826161d4790c9556c5e0b124f"},{"version":"1b15ed24f9e7bad93150b5d776fb8912fae837b963a618ac7b9a3294485d44f6","signature":"156f461ef172e70226132dc36df4b72f7e77ae88523aaad9f0440307a53bda36"},{"version":"1221a7ea8180d1043bfc5ef1b465557a4e6273332162496d6153f3d2464d5261","signature":"17d71b30f5026430a24d17f3461963d25b6ebee5a38d9effebc59d00cd93072d"},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"72bee526b949b9932edba50997ff3b9cdede7b314d790d5f0d94f3d2944930ea","impliedFormat":99},{"version":"2d412861573a672bd90fdcb1e48740593324565f3b3aaf6808c0e3e2f0d54ae8","affectsGlobalScope":true,"impliedFormat":99},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true,"impliedFormat":99},{"version":"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6","impliedFormat":99},{"version":"507e2131e89b515ce40c05c0c2fef6cc575ba8947703f92e8cdf36078747a9ff","affectsGlobalScope":true,"impliedFormat":99},{"version":"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","impliedFormat":99},{"version":"8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440","impliedFormat":99},{"version":"e7be17cfcbe98809c052f384c230ecea9e1cee045edac9db0659e997a988ff9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"baf3507287629018d38c88e2636dd041550c70620bb774127011eb6dc3b361c0","impliedFormat":1},{"version":"4738bc5d39ac01532d861967a4fe52769e3892fb8022d4524802ac1c7aed4934","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","impliedFormat":99},{"version":"04e3793f33c71ceae20a4719698c068b72c98cf925b3c5f8a33096c00ed44258","impliedFormat":99},{"version":"fa8ef3fb228e258f9508386e2056c95c959d1c1168301181313a5c978754ba70","impliedFormat":99},{"version":"15c9478a8a3d630ac5e738aca25fca15d0842aaeb97fb1a9c1e80eddc5a0e14c","impliedFormat":99},{"version":"cc46ce345c0e19e456388446733250527eead4ca557b5e5fdf0c2e30adc3c89f","impliedFormat":99},{"version":"88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a","impliedFormat":99},{"version":"5a2888a80ba9fae27aaa312464ab4b744ce4cfce573c105844ad8e94a39e2d7d","affectsGlobalScope":true,"impliedFormat":99},{"version":"260d1e9ec9c633c7ae90d8c17762e77924eef5d71357b27bfd351da698db4f6d","impliedFormat":99},{"version":"6168f8e0a5b354f8177bf0dee7c1a69c2afb6a155d5534221f3a1a2d86b84367","impliedFormat":99},{"version":"d7840fd94e6dfb5b0d9df5a20fe1e79c8dd72b1efdb74d2ef04c31e3588c6b5b","impliedFormat":99},{"version":"fa6d684e15fe6e99c7208a51b45c04f8e0147f1c8587871aac48fff55b7b1f24","impliedFormat":99},{"version":"d61a4b627c3e2e054616df905a25226f547dc0e821c2a2b6d5f13318b3fd7e78","impliedFormat":99},{"version":"1308479c593c3d337bd9c438ac1d7164006a9286638cec0b26e3331a978f91d4","impliedFormat":99},{"version":"cfad37dbd7cf27cc16758755847ad7c07ac52a01c466486e50f8f84d0f0ea9ce","impliedFormat":99},{"version":"0c4d3009672fd12d4d9a6505e769de9369c180dcfa8188d9fd850ec156245d87","impliedFormat":99},{"version":"793fca6322a14fa8fa6bc6a4fc694fd7bcc88922c4f9abcd48bf6908f8bf939b","impliedFormat":99},{"version":"be3e93b109deb44b925583674cc0706c0b3c2e7316bcf79631285a45c18ed0c8","impliedFormat":99},{"version":"50f63746fc2a779d1f9c5657fd78e292045dc98b540e026799e039ea629f2943","impliedFormat":99},{"version":"ece27268a9750b9b59d2c97e5ae8f95a78520eeae181902e7d2efa01dca3e328","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eaf8255e44ca79550a4fbf4827aace5ca34fd989c21fce506ac9a9f678d66d5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},{"version":"1af73d869e8bf379305daf83e07519a30070108c7ad58ad091f9407c9553a052","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1}],"root":[[51,70],[85,92],[102,108],139,140,152],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"referencedMap":[[93,1],[141,1],[142,2],[145,3],[143,3],[147,3],[150,4],[149,3],[148,3],[146,3],[144,5],[94,1],[95,6],[111,7],[112,8],[110,1],[113,9],[126,1],[128,10],[127,11],[137,12],[122,1],[129,13],[130,14],[131,1],[132,11],[135,15],[125,16],[134,17],[136,14],[138,18],[121,19],[117,20],[109,1],[84,21],[72,22],[73,23],[71,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[281,1],[216,35],[217,35],[218,36],[154,37],[219,38],[220,39],[221,40],[222,41],[223,42],[224,43],[225,44],[226,45],[227,46],[228,46],[229,47],[230,48],[231,1],[232,49],[233,50],[155,1],[153,1],[234,51],[235,52],[236,53],[280,54],[237,55],[238,56],[239,55],[240,57],[241,58],[243,59],[244,60],[245,60],[246,60],[247,61],[248,62],[249,63],[250,64],[251,65],[252,66],[253,66],[254,67],[255,1],[256,1],[257,68],[258,69],[259,70],[260,71],[261,72],[262,73],[263,74],[264,75],[265,76],[266,77],[267,78],[268,79],[269,80],[270,81],[271,82],[272,83],[273,84],[274,85],[275,86],[276,87],[156,55],[157,1],[158,88],[159,89],[160,1],[161,90],[162,1],[207,91],[208,92],[209,93],[210,93],[211,94],[212,1],[213,38],[214,95],[215,92],[277,96],[278,97],[279,98],[120,99],[119,100],[118,1],[97,1],[242,1],[114,20],[116,101],[115,102],[99,103],[96,104],[100,1],[98,105],[123,104],[151,106],[133,104],[101,107],[124,108],[50,109],[49,1],[47,1],[48,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[45,1],[46,1],[181,110],[195,111],[178,112],[196,113],[205,114],[169,115],[170,116],[168,117],[204,118],[199,119],[203,120],[172,121],[182,122],[192,123],[171,124],[202,125],[166,126],[167,119],[173,122],[174,1],[180,127],[177,122],[164,128],[206,129],[197,130],[185,131],[184,122],[186,132],[189,133],[183,134],[187,135],[200,118],[175,136],[176,137],[190,138],[165,113],[194,139],[193,122],[179,137],[188,140],[191,141],[198,1],[163,1],[201,142],[51,143],[52,143],[53,143],[54,143],[55,143],[56,143],[57,143],[58,143],[59,143],[60,143],[61,143],[62,143],[63,143],[64,143],[104,144],[88,143],[105,143],[70,143],[91,143],[106,143],[108,145],[107,146],[90,143],[66,143],[68,143],[69,143],[103,147],[102,148],[92,143],[65,143],[89,143],[67,143],[87,149],[85,150],[86,151],[139,152],[140,153],[152,154]],"version":"5.9.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/adjust-list-param.ts","../src/async-lock.ts","../src/clipboard.ts","../src/closest-element.ts","../src/context-path.ts","../src/cookie.ts","../src/decode-html.ts","../src/detect-overflow.ts","../src/encode-form-params.ts","../src/file-drop-helper.ts","../src/format.ts","../src/fullscreen.ts","../src/gesture-helper.ts","../src/has-overflow.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/logger.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/timecapsule/snapshot-taker.ts","../src/timecapsule/timecapsule.ts","../src/timecapsule/index.ts","../src/is-unvalued.ts","../src/stringify-bignum.ts","../src/number-parser.ts","../src/longpressable.ts","../src/script-loader.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit-html/development/is-server.d.ts","../../../node_modules/lit/development/index.d.ts","../src/reactive-controllers/tooltip-reactive-controller.ts","../src/reactive-controllers/index.ts","../src/index.ts","../src/list-state.ts","../src/when.ts","../src/mixins/gesture-mixin.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/get-diffable-html.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff-plugin.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/index.d.ts","../../../node_modules/chai-a11y-axe/chai-a11y-axe-plugin.d.ts","../../../node_modules/chai-a11y-axe/src/accessible.d.ts","../../../node_modules/chai-a11y-axe/index.d.ts","../../../node_modules/@types/chai-dom/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@open-wc/testing/register-chai-plugins.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/elementupdated.d.ts","../../../node_modules/lit-html/development/static.d.ts","../../../node_modules/lit/development/static-html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/renderable.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/dedupe-mixin/index.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/types.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/html-element.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture-no-side-effect.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixturewrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/helpers.d.ts","../../../node_modules/lit/development/html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/scopedelementswrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/litfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/stringfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/index.d.ts","../../../node_modules/@open-wc/testing/index.d.ts","../test/has-overflow.test.ts","../test/list-state.test.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/development/decorators.d.ts","../test/tooltip-reactive-controller.test.ts","../test/when.test.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileIdsList":[[156,221,229,234,237,239,240,241,254],[142,156,221,229,234,237,239,240,241,254],[95,142,156,221,229,234,237,239,240,241,254],[95,142,150,156,221,229,234,237,239,240,241,254],[144,156,221,229,234,237,239,240,241,254],[93,94,156,221,229,234,237,239,240,241,254],[110,111,156,221,229,234,237,239,240,241,254],[112,156,221,229,234,237,239,240,241,254],[111,113,156,221,229,234,237,239,240,241,254],[127,128,156,221,229,234,237,239,240,241,254],[127,156,221,229,234,237,239,240,241,254],[123,125,131,132,133,136,137,156,221,229,234,237,239,240,241,254],[126,129,156,221,229,234,237,239,240,241,254],[130,156,221,229,234,237,239,240,241,254],[126,130,135,156,221,229,234,237,239,240,241,254],[101,156,221,229,234,237,239,240,241,254],[126,129,134,156,221,229,234,237,239,240,241,254],[110,122,138,156,221,229,234,237,239,240,241,254],[114,117,118,121,156,221,229,234,237,239,240,241,254],[110,156,221,229,234,237,239,240,241,254],[83,156,221,229,234,237,239,240,241,254],[71,73,74,75,76,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,74,75,76,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[72,73,74,75,76,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,75,76,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,76,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,77,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,78,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,79,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,78,80,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,78,79,81,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,78,79,80,82,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,78,79,80,81,83,156,221,229,234,237,239,240,241,254],[71,72,73,74,75,76,77,78,79,80,81,82,156,221,229,234,237,239,240,241,254],[156,218,219,221,229,234,237,239,240,241,254],[156,220,221,229,234,237,239,240,241,254],[221,229,234,237,239,240,241,254],[156,221,229,234,237,239,240,241,254,263],[156,221,222,227,229,232,234,237,239,240,241,243,254,259,272],[156,221,222,223,229,232,234,237,239,240,241,254],[156,221,224,229,234,237,239,240,241,254,273],[156,221,225,226,229,234,237,239,240,241,245,254],[156,221,226,229,234,237,239,240,241,254,259,269],[156,221,227,229,232,234,237,239,240,241,243,254],[156,220,221,228,229,234,237,239,240,241,254],[156,221,229,230,234,237,239,240,241,254],[156,221,229,231,232,234,237,239,240,241,254],[156,220,221,229,232,234,237,239,240,241,254],[156,221,229,232,234,235,237,239,240,241,254,259,272],[156,221,229,232,234,235,237,239,240,241,254,261,263],[156,208,221,229,232,234,236,237,239,240,241,243,254,259,272],[156,221,229,232,234,236,237,239,240,241,243,254,259,269,272],[156,221,229,234,236,237,238,239,240,241,254,259,269,272],[155,156,157,158,159,160,161,162,163,164,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281],[156,221,229,232,234,237,239,240,241,254],[156,221,229,234,237,239,241,254],[156,221,229,234,237,239,240,241,242,254,272],[156,221,229,232,234,237,239,240,241,243,254,259],[156,221,229,234,237,239,240,241,245,254],[156,221,229,234,237,239,240,241,246,254],[156,221,229,232,234,237,239,240,241,249,254],[156,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280],[156,221,229,234,237,239,240,241,251,254],[156,221,229,234,237,239,240,241,252,254],[156,221,226,229,234,235,237,239,240,241,243,254,261,269],[156,221,229,232,234,237,239,240,241,254,255],[156,221,229,234,237,239,240,241,254,256,273,277],[156,221,229,232,234,237,239,240,241,254,259,261,262,263],[156,221,229,234,237,239,240,241,254,260,263],[156,221,229,232,234,237,239,240,241,254,259,261],[156,221,229,232,234,237,239,240,241,254,259,262,263],[156,221,229,234,237,239,240,241,254,263,273],[156,221,229,234,237,239,240,241,254,264],[156,218,221,229,234,237,239,240,241,254,259,266,272],[156,221,229,234,237,239,240,241,254,259,265],[156,221,229,232,234,237,239,240,241,254,267,268],[156,221,229,234,237,239,240,241,254,267,268],[156,221,226,229,234,237,239,240,241,243,254,259,269],[156,221,229,234,237,239,240,241,254,270],[156,221,229,234,237,239,240,241,243,254,271],[156,221,229,234,236,237,239,240,241,252,254,272],[156,221,229,234,237,239,240,241,254,273,274],[156,221,226,229,234,237,239,240,241,254,274],[156,221,229,234,237,239,240,241,254,259,275],[156,221,229,234,235,237,239,240,241,254],[156,221,229,234,237,239,240,241,242,254,277],[156,221,229,234,237,239,240,241,254,278],[156,221,224,229,234,237,239,240,241,254],[156,221,226,229,234,237,239,240,241,254],[156,221,229,234,237,239,240,241,254,273],[156,208,221,229,234,237,239,240,241,254],[156,221,229,234,237,239,240,241,254,272],[156,221,229,234,237,239,240,241,254,279],[156,221,229,234,237,239,240,241,249,254],[156,221,229,234,237,239,240,241,254,268],[156,208,221,229,232,234,235,237,239,240,241,243,249,254,259,263,272,275,277,279],[156,221,229,234,237,239,240,241,254,259,280],[156,221,229,234,237,239,240,241,254,261,281],[110,120,156,221,229,234,237,239,240,241,254],[119,156,221,229,234,237,239,240,241,254],[116,156,221,229,234,237,239,240,241,254],[115,156,221,229,234,237,239,240,241,254],[95,98,156,221,229,234,237,239,240,241,254],[98,156,221,229,234,237,239,240,241,254],[96,97,156,221,229,234,237,239,240,241,254],[143,144,145,146,147,148,149,150,151,156,221,229,234,237,239,240,241,254],[95,98,99,100,156,221,229,234,237,239,240,241,254],[124,156,221,229,234,237,239,240,241,254],[49,156,221,229,234,237,239,240,241,254],[156,171,174,177,178,221,229,234,237,239,240,241,254,272],[156,174,221,229,234,237,239,240,241,254,259,272],[156,174,178,221,229,234,237,239,240,241,254,272],[156,221,229,234,237,239,240,241,254,259],[156,168,221,229,234,237,239,240,241,254],[156,172,221,229,234,237,239,240,241,254],[156,170,171,174,221,229,234,237,239,240,241,254,272],[156,221,229,234,237,239,240,241,243,254,269],[156,221,229,234,237,239,240,241,254,282],[156,168,221,229,234,237,239,240,241,254,282],[156,170,174,221,229,234,237,239,240,241,243,254,272],[156,165,166,167,169,173,221,229,232,234,237,239,240,241,254,259,272],[156,174,221,229,234,237,239,240,241,254],[156,174,183,192,221,229,234,237,239,240,241,254],[156,166,172,221,229,234,237,239,240,241,254],[156,174,202,203,221,229,234,237,239,240,241,254],[156,166,169,174,221,229,234,237,239,240,241,254,263,272,282],[156,170,174,221,229,234,237,239,240,241,254,272],[156,165,221,229,234,237,239,240,241,254],[156,168,169,170,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,203,204,205,206,207,221,229,234,237,239,240,241,254],[156,174,195,198,221,229,234,237,239,240,241,254],[156,174,183,185,186,221,229,234,237,239,240,241,254],[156,172,174,185,187,221,229,234,237,239,240,241,254],[156,173,221,229,234,237,239,240,241,254],[156,166,168,174,221,229,234,237,239,240,241,254],[156,174,178,185,187,221,229,234,237,239,240,241,254],[156,178,221,229,234,237,239,240,241,254],[156,172,174,177,221,229,234,237,239,240,241,254,272],[156,166,170,174,183,221,229,234,237,239,240,241,254],[156,174,195,221,229,234,237,239,240,241,254],[156,187,221,229,234,237,239,240,241,254],[156,166,170,174,178,221,229,234,237,239,240,241,254],[156,168,174,202,221,229,234,237,239,240,241,254,263,279,282],[50,156,221,229,234,237,239,240,241,254],[50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,87,88,89,90,91,92,103,156,221,229,234,237,239,240,241,254],[50,107,108,156,221,229,234,237,239,240,241,254],[50,84,156,221,229,234,237,239,240,241,254],[50,102,156,221,229,234,237,239,240,241,254],[50,64,101,156,221,229,234,237,239,240,241,254],[50,85,86,156,221,229,234,237,239,240,241,254],[50,84,86,156,221,229,234,237,239,240,241,254],[50,70,85,156,221,229,234,237,239,240,241,254],[50,64,139,156,221,229,234,237,239,240,241,254],[50,105,139,156,221,229,234,237,239,240,241,254],[50,101,102,139,152,156,221,229,234,237,239,240,241,254],[50,106,139,156,221,229,234,237,239,240,241,254]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"973ff19d4b21d528741d19ef8ae1a6192806e7fbe18e2b414dae6a5eb4ce1c18","signature":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d"},{"version":"3c004a51a1d43261e6411e7c6934185e3f2f66126c64c0817b5b9181870086e2","signature":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425"},{"version":"c65636fa3cea14ad6a96f3c01bcc30d9f83c6e6095864b5e20190fef7d0e30eb","signature":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534"},{"version":"e16b98f53c89fc764db968b0ef9dce28a0f0d039439851eea30fab962ca2cdeb","signature":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51"},{"version":"2c7cc07d4b9035ad31020a164295784fb2a0042263ea4384670f77a63f5d0977","signature":"b085d2f3c839ad9634c9b1ea8bb2d4e3a321af1392d8ac44a79b99c0d8d194aa"},{"version":"644c5f408a19dac2fb6e89eae85ff930d51a88414da6e762e572f49eecb81ab4","signature":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e"},{"version":"9796074435e67376d48ec509ef8249ac69caeedfb942a2cc6daf9a86b4335396","signature":"4f69dd36aa514494e2665a9dd1ecbb94f705c37f13554aa6f0c4b55d47dcfec1"},{"version":"8f09cc9e905cb1d54d2d863de2bafbb1c0c4f20e979a07e4edc2a29361798de7","signature":"642bd83dc8b11abc31785975f869fea5ab2dd84246acd13c6ad7e769fea95150"},{"version":"8e8f663fe7c4665c984072bb694c8bd5303afb5bc64ebc1edfb7637677dcc80d","signature":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb"},{"version":"69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","signature":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa"},{"version":"dd40099f356d530470a658ec27886f29fc679f27a2bd6fc0eef98e492596343c","signature":"d75490903da576f8fd0ee1c990858cb31e605d3db925593c12728bd0949eedfe"},{"version":"b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","signature":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f"},{"version":"ee87fbfa3a85b52bb5c846d4858c144f16229ae0fa4aafed002d0a0d4a9e3aa0","signature":"c5dbee891258a55a6f5f77c066373fe37f97f19d3a5adcda1e4c7cfb513c525d"},{"version":"ad64241d24f086fb4b8c916d28a02f892013652e0be945d661c957b74fc32f77","signature":"712dbb6cc6020b1dae2a2031b8a117717318652f73fd5042d508f7de416c47b7"},{"version":"d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","signature":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552"},{"version":"a1953ae5bbf52b027ed3044bf32024e21994345c8a05d0aaa3902e08c033c803","signature":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520"},{"version":"d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","signature":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303"},{"version":"f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","signature":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378"},{"version":"995abaa0980d5f0e01b0c4723c203194a3ea4b289ea814afdcc6ec9df478488c","signature":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8"},{"version":"2d95c27112bfd3344d29539192bbdd69996f276fb24e061932d8043f3a9ef26f","signature":"bc971f58cf8cef65c3e5a4d37539b96e1f8d19b5c662e9ab796b62c9a63cc0c0"},{"version":"380b919bfa0516118edaf25b99e45f855e7bc3fd75ce4163a1cfe4a666388804","impliedFormat":1},{"version":"40de86ced5175a6ffe84a52abe6ac59ac0efbc604a5975a8c6476c3ddc682ff1","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"5a0b15210129310cee9fa6af9200714bb4b12af4a04d890e15f34dbea1cf1852","impliedFormat":1},{"version":"0244119dbcbcf34faf3ffdae72dab1e9bc2bc9efc3c477b2240ffa94af3bca56","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e","impliedFormat":99},{"version":"ab6d552b25bf8d97fa25cba3ace2deab9dbf389d8bef2907eb318d6b5cc0a30c","signature":"637a5a32ea266fdaa0efa1c4d25ce2eed3b420dcd7836a6952374ddd95aaccaf"},{"version":"282bb5fbc00576c2aff9ba1e5e9ab9fc3872c4d962e95363e373e712e55d326e","signature":"145e598b9f835b46757263cf952af5b8735d0bfb08a6dff2187f7b5611e17578"},{"version":"b3725f31a113200e0a0266278f33e64ba879874b0acf6837054f9acd34719588","signature":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6"},{"version":"4d8db0ef58073a950c6a985b0d1313a358c888e491d5d9a4d5a0777d84351c9a","signature":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9"},{"version":"8e485e375afaab51fdf32972879fa40758471dc93fc9c2484ad16542fd9a8fdb","signature":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67"},{"version":"679a664272f576edc7a22e5d35e1a050634eac2f0a2564c704f380e653e4f4b7","signature":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31"},{"version":"9544dfae3085b4d978f768b14b591c75a2d811d28ea006075bfb1428ff9da82e","signature":"1cf02270a889fcc3fa5863734fcdbea410d3b4dd71e4678a894a48028f836f6e"},{"version":"b5f4fe468f9c21448d89e418e146ac473e5a7cb975e27720028a46a8c33ea0f1","signature":"3cb5734586224b2daa65a52cbe2428195e1542681ac85e4d7e9ca691e841db5e"},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"b039a6b9953703ced95fa9dde10bb12c5f18c49fe8c0b9e95659659ddab4fb3c","signature":"1ecf5de9c016d0b07533f2eef218c3771a013c38533824f96743092aa97c8377"},{"version":"8961b63c842af1026b9e1e6f67cba3cae570b0011168719c538d950f202b3689","signature":"51f3be4aa09529ea1ad83a3d66830075a49e3e630df25d9892ef5708bb00de55"},{"version":"e333274770e5a5c0f2ddb38d12c94f3d97f0cbe5e52ba2cfc11cf9c3b65373b5","signature":"e0289b150095e1e86a7a201aa8ca9df044922019fcb4d125fb69535ae375d6a7"},{"version":"cda21b897ebda4b6f632e087f3f250a205d3c3ed156b479a61760a86b318c4cb","signature":"bfb55ec2f9c08129f2bd551f7e7b1205f1fa2eb460fd202551845a3584a786c6"},{"version":"5f8a1185fd53ae7131418287d21e002b33e892731c95dfff65bd868a38b6c25d","signature":"81731efa2212064c8f2d0d6a9af49efa357c9e677ec7946846188082095bbebf"},{"version":"3bbb53998a74e51791c8f2e486c40c52673a959c1aedf69963158050b190c977","signature":"781817b4b8608d44ff997de12d83281c645c479826161d4790c9556c5e0b124f"},{"version":"1b15ed24f9e7bad93150b5d776fb8912fae837b963a618ac7b9a3294485d44f6","signature":"156f461ef172e70226132dc36df4b72f7e77ae88523aaad9f0440307a53bda36"},{"version":"1221a7ea8180d1043bfc5ef1b465557a4e6273332162496d6153f3d2464d5261","signature":"17d71b30f5026430a24d17f3461963d25b6ebee5a38d9effebc59d00cd93072d"},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"72bee526b949b9932edba50997ff3b9cdede7b314d790d5f0d94f3d2944930ea","impliedFormat":99},{"version":"2d412861573a672bd90fdcb1e48740593324565f3b3aaf6808c0e3e2f0d54ae8","affectsGlobalScope":true,"impliedFormat":99},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true,"impliedFormat":99},{"version":"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6","impliedFormat":99},{"version":"507e2131e89b515ce40c05c0c2fef6cc575ba8947703f92e8cdf36078747a9ff","affectsGlobalScope":true,"impliedFormat":99},{"version":"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","impliedFormat":99},{"version":"8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440","impliedFormat":99},{"version":"e7be17cfcbe98809c052f384c230ecea9e1cee045edac9db0659e997a988ff9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"baf3507287629018d38c88e2636dd041550c70620bb774127011eb6dc3b361c0","impliedFormat":1},{"version":"4738bc5d39ac01532d861967a4fe52769e3892fb8022d4524802ac1c7aed4934","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","impliedFormat":99},{"version":"04e3793f33c71ceae20a4719698c068b72c98cf925b3c5f8a33096c00ed44258","impliedFormat":99},{"version":"fa8ef3fb228e258f9508386e2056c95c959d1c1168301181313a5c978754ba70","impliedFormat":99},{"version":"15c9478a8a3d630ac5e738aca25fca15d0842aaeb97fb1a9c1e80eddc5a0e14c","impliedFormat":99},{"version":"cc46ce345c0e19e456388446733250527eead4ca557b5e5fdf0c2e30adc3c89f","impliedFormat":99},{"version":"88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a","impliedFormat":99},{"version":"5a2888a80ba9fae27aaa312464ab4b744ce4cfce573c105844ad8e94a39e2d7d","affectsGlobalScope":true,"impliedFormat":99},{"version":"260d1e9ec9c633c7ae90d8c17762e77924eef5d71357b27bfd351da698db4f6d","impliedFormat":99},{"version":"6168f8e0a5b354f8177bf0dee7c1a69c2afb6a155d5534221f3a1a2d86b84367","impliedFormat":99},{"version":"d7840fd94e6dfb5b0d9df5a20fe1e79c8dd72b1efdb74d2ef04c31e3588c6b5b","impliedFormat":99},{"version":"fa6d684e15fe6e99c7208a51b45c04f8e0147f1c8587871aac48fff55b7b1f24","impliedFormat":99},{"version":"d61a4b627c3e2e054616df905a25226f547dc0e821c2a2b6d5f13318b3fd7e78","impliedFormat":99},{"version":"1308479c593c3d337bd9c438ac1d7164006a9286638cec0b26e3331a978f91d4","impliedFormat":99},{"version":"cfad37dbd7cf27cc16758755847ad7c07ac52a01c466486e50f8f84d0f0ea9ce","impliedFormat":99},{"version":"0c4d3009672fd12d4d9a6505e769de9369c180dcfa8188d9fd850ec156245d87","impliedFormat":99},{"version":"793fca6322a14fa8fa6bc6a4fc694fd7bcc88922c4f9abcd48bf6908f8bf939b","impliedFormat":99},{"version":"be3e93b109deb44b925583674cc0706c0b3c2e7316bcf79631285a45c18ed0c8","impliedFormat":99},{"version":"50f63746fc2a779d1f9c5657fd78e292045dc98b540e026799e039ea629f2943","impliedFormat":99},{"version":"ece27268a9750b9b59d2c97e5ae8f95a78520eeae181902e7d2efa01dca3e328","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"eaf8255e44ca79550a4fbf4827aace5ca34fd989c21fce506ac9a9f678d66d5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},{"version":"1af73d869e8bf379305daf83e07519a30070108c7ad58ad091f9407c9553a052","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"d04afc99e235ce28eae85fdfef43785894934109ae489e18e77b55c20f073b18","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1}],"root":[[51,70],[85,92],[102,109],140,141,153,154],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"referencedMap":[[93,1],[142,1],[143,2],[146,3],[144,3],[148,3],[151,4],[150,3],[149,3],[147,3],[145,5],[94,1],[95,6],[112,7],[113,8],[111,1],[114,9],[127,1],[129,10],[128,11],[138,12],[123,1],[130,13],[131,14],[132,1],[133,11],[136,15],[126,16],[135,17],[137,14],[139,18],[122,19],[118,20],[110,1],[84,21],[72,22],[73,23],[71,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[283,1],[218,35],[219,35],[220,36],[156,37],[221,38],[222,39],[223,40],[224,41],[225,42],[226,43],[227,44],[228,45],[229,46],[230,46],[231,47],[232,48],[233,1],[234,49],[235,50],[157,1],[155,1],[236,51],[237,52],[238,53],[282,54],[239,55],[240,56],[241,55],[242,57],[243,58],[245,59],[246,60],[247,60],[248,60],[249,61],[250,62],[251,63],[252,64],[253,65],[254,66],[255,66],[256,67],[257,1],[258,1],[259,68],[260,69],[261,70],[262,71],[263,72],[264,73],[265,74],[266,75],[267,76],[268,77],[269,78],[270,79],[271,80],[272,81],[273,82],[274,83],[275,84],[276,85],[277,86],[278,87],[158,55],[159,1],[160,88],[161,89],[162,1],[163,90],[164,1],[209,91],[210,92],[211,93],[212,93],[213,94],[214,1],[215,38],[216,95],[217,92],[279,96],[280,97],[281,98],[121,99],[120,100],[119,1],[97,1],[244,1],[115,20],[117,101],[116,102],[99,103],[96,104],[100,1],[98,105],[124,104],[152,106],[134,104],[101,107],[125,108],[50,109],[49,1],[47,1],[48,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[45,1],[46,1],[183,110],[197,111],[180,112],[198,113],[207,114],[171,115],[172,116],[170,117],[206,118],[201,119],[205,120],[174,121],[184,122],[194,123],[173,124],[204,125],[168,126],[169,119],[175,122],[176,1],[182,127],[179,122],[166,128],[208,129],[199,130],[187,131],[186,122],[188,132],[191,133],[185,134],[189,135],[202,118],[177,136],[178,137],[192,138],[167,113],[196,139],[195,122],[181,137],[190,140],[193,141],[200,1],[165,1],[203,142],[51,143],[52,143],[53,143],[54,143],[55,143],[56,143],[57,143],[58,143],[59,143],[60,143],[61,143],[62,143],[63,143],[64,143],[104,144],[88,143],[105,143],[70,143],[91,143],[107,143],[109,145],[108,146],[90,143],[66,143],[68,143],[69,143],[103,147],[102,148],[92,143],[65,143],[89,143],[67,143],[87,149],[85,150],[86,151],[106,143],[140,152],[141,153],[153,154],[154,155]],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/utils",
|
|
3
3
|
"description": "Webcomponent utils following open-wc recommendations",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "10.
|
|
5
|
+
"version": "10.22.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"module": "dist/src/index.js",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"./gesture-helper.js": "./dist/src/gesture-helper.js",
|
|
25
25
|
"./is-unvalued.js": "./dist/src/is-unvalued.js",
|
|
26
26
|
"./script-loader.js": "./dist/src/script-loader.js",
|
|
27
|
-
"./list-state.js": "./dist/src/list-state.js"
|
|
27
|
+
"./list-state.js": "./dist/src/list-state.js",
|
|
28
|
+
"./when.js": "./dist/src/when.js"
|
|
28
29
|
},
|
|
29
30
|
"typesVersions": {
|
|
30
31
|
"*": {
|
|
@@ -75,6 +76,9 @@
|
|
|
75
76
|
],
|
|
76
77
|
"list-state.js": [
|
|
77
78
|
"dist/src/list-state.d.ts"
|
|
79
|
+
],
|
|
80
|
+
"when.js": [
|
|
81
|
+
"dist/src/when.d.ts"
|
|
78
82
|
]
|
|
79
83
|
}
|
|
80
84
|
},
|
|
@@ -136,5 +140,5 @@
|
|
|
136
140
|
"dependencies": {
|
|
137
141
|
"lodash-es": "^4.17.21"
|
|
138
142
|
},
|
|
139
|
-
"gitHead": "
|
|
143
|
+
"gitHead": "1da01ac5d48c0b60ec27286d5f9f08d3ad6b971a"
|
|
140
144
|
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { expect } from '@open-wc/testing'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
availableZones,
|
|
5
|
+
dayHeadings,
|
|
6
|
+
formatWhen,
|
|
7
|
+
msOf,
|
|
8
|
+
nextZone,
|
|
9
|
+
resolveZone,
|
|
10
|
+
zoneAbbr,
|
|
11
|
+
ZONE_ORDER
|
|
12
|
+
} from '../src/when.js'
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The moment rule, carried over from operato-twin (test/when-core.test.ts) with its cases: follow the
|
|
16
|
+
* screen's language, read the zone given, and never make up a zone that is not there.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** 2026-08-22 08:23 UTC - 17:23 the same day in Seoul, 01:23 the same day in Los Angeles. */
|
|
20
|
+
const AT = Date.UTC(2026, 7, 22, 8, 23, 0)
|
|
21
|
+
|
|
22
|
+
describe('formatWhen', () => {
|
|
23
|
+
it('draws in the language it is given, not the browser setting', () => {
|
|
24
|
+
const ko = formatWhen(AT, { lang: 'ko', zone: 'Asia/Seoul' })!
|
|
25
|
+
const en = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' })!
|
|
26
|
+
expect(ko).to.include('2026년')
|
|
27
|
+
expect(ko).to.not.equal(en)
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it('writes a 24-hour clock in all five languages', () => {
|
|
31
|
+
for (const lang of ['ko', 'en-US', 'ja', 'zh', 'es']) {
|
|
32
|
+
const out = formatWhen(AT, { lang, zone: 'Asia/Seoul' })!
|
|
33
|
+
expect(out, lang).to.include('17:23')
|
|
34
|
+
expect(/AM|PM|오전|오후/.test(out), `${lang}: ${out}`).to.equal(false)
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
it('reads the zone it is given', () => {
|
|
39
|
+
const seoul = formatWhen(AT, { lang: 'en-US', zone: 'Asia/Seoul' })!
|
|
40
|
+
const la = formatWhen(AT, { lang: 'en-US', zone: 'America/Los_Angeles' })!
|
|
41
|
+
expect(seoul).to.not.equal(la)
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
it('does not draw on another clock when the zone is unknown or missing', () => {
|
|
45
|
+
expect(formatWhen(AT, { lang: 'ko', zone: 'Mars/Olympus' })).to.equal(null)
|
|
46
|
+
expect(formatWhen(AT, { lang: 'ko', zone: resolveZone('domain', null) })).to.equal(null)
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
it('lets the caller choose how much to write', () => {
|
|
50
|
+
const opts = { lang: 'en-US', zone: 'UTC' }
|
|
51
|
+
expect(/:/.test(formatWhen(AT, { ...opts, style: 'date' })!)).to.equal(false)
|
|
52
|
+
expect(formatWhen(AT, { ...opts, style: 'time' })).to.match(/08:23/)
|
|
53
|
+
expect(formatWhen(AT, { ...opts, style: 'precise' })).to.match(/:00/)
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
describe('zones', () => {
|
|
58
|
+
it('without a domain zone, that choice cannot be made', () => {
|
|
59
|
+
expect(availableZones(null)).to.deep.equal(['local', 'utc'])
|
|
60
|
+
expect(availableZones('')).to.deep.equal(['local', 'utc'])
|
|
61
|
+
expect(availableZones('Asia/Seoul')).to.deep.equal([...ZONE_ORDER])
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
it("does not swap a missing domain zone for the viewer's own", () => {
|
|
65
|
+
expect(resolveZone('domain', null)).to.equal(null)
|
|
66
|
+
expect(resolveZone('local', null)).to.equal(undefined)
|
|
67
|
+
expect(resolveZone('utc', null)).to.equal('UTC')
|
|
68
|
+
expect(resolveZone('domain', 'Asia/Seoul')).to.equal('Asia/Seoul')
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
it('steps round and skips what cannot be chosen', () => {
|
|
72
|
+
expect(nextZone('local', 'Asia/Seoul')).to.equal('utc')
|
|
73
|
+
expect(nextZone('utc', 'Asia/Seoul')).to.equal('domain')
|
|
74
|
+
expect(nextZone('domain', 'Asia/Seoul')).to.equal('local')
|
|
75
|
+
expect(nextZone('utc', null)).to.equal('local')
|
|
76
|
+
expect(nextZone('domain', null)).to.equal('local')
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
it('names a zone as it is on that date - summer time included', () => {
|
|
80
|
+
expect(zoneAbbr('UTC', 'en-US', AT)).to.equal('UTC')
|
|
81
|
+
expect(zoneAbbr(null, 'en-US', AT)).to.equal(null)
|
|
82
|
+
expect(zoneAbbr('Mars/Olympus', 'en-US', AT)).to.equal(null)
|
|
83
|
+
const winter = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 0, 15, 12))
|
|
84
|
+
const summer = zoneAbbr('America/Los_Angeles', 'en-US', Date.UTC(2026, 6, 15, 12))
|
|
85
|
+
expect(winter).to.not.equal(summer)
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
describe('msOf', () => {
|
|
90
|
+
it('unreadable is null, never "Invalid Date"', () => {
|
|
91
|
+
for (const value of [null, undefined, '', 'yesterday', Number.NaN, new Date('x')]) {
|
|
92
|
+
expect(msOf(value), String(value)).to.equal(null)
|
|
93
|
+
}
|
|
94
|
+
expect(formatWhen('yesterday', { lang: 'ko' })).to.equal(null)
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
it('takes a number, a string or a Date', () => {
|
|
98
|
+
expect(msOf(AT)).to.equal(AT)
|
|
99
|
+
expect(msOf(new Date(AT).toISOString())).to.equal(AT)
|
|
100
|
+
expect(msOf(new Date(AT))).to.equal(AT)
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
describe('dayHeadings', () => {
|
|
105
|
+
it('puts the date on the first row even when there is one day', () => {
|
|
106
|
+
expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 27'])).to.deep.equal(['Aug 27', '', ''])
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
it('and only where the date changes', () => {
|
|
110
|
+
expect(dayHeadings(['Aug 27', 'Aug 27', 'Aug 26', 'Aug 26', 'Aug 25'])).to.deep.equal([
|
|
111
|
+
'Aug 27',
|
|
112
|
+
'',
|
|
113
|
+
'Aug 26',
|
|
114
|
+
'',
|
|
115
|
+
'Aug 25'
|
|
116
|
+
])
|
|
117
|
+
})
|
|
118
|
+
|
|
119
|
+
it('a row with no date does not clear the one before it', () => {
|
|
120
|
+
expect(dayHeadings(['Aug 27', '', 'Aug 27', 'Aug 26'])).to.deep.equal(['Aug 27', '', '', 'Aug 26'])
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
it('a date that comes back is said again - a broken sort is not hidden', () => {
|
|
124
|
+
expect(dayHeadings(['Aug 27', 'Aug 26', 'Aug 27'])).to.deep.equal(['Aug 27', 'Aug 26', 'Aug 27'])
|
|
125
|
+
expect(dayHeadings([])).to.deep.equal([])
|
|
126
|
+
})
|
|
127
|
+
})
|