Skip to main content

tempoch_time_data/generated/
time_data.rs

1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 Valles Puig, Ramon
3//
4// @generated by tempoch-time-data-updater
5// Do not edit this file manually.
6//
7// Provenance (run `cargo run -p tempoch-time-data-updater -- --check` to verify):
8//   UTC-TAI history  SHA-256: 54e702abdc388ae3bf8cfc5f126900a5277829ad90e80f6773df6e714a133642
9//   ΔT observed      SHA-256: 9f88e53593495a09219fe956eeadea0fa9f8e3e02c310b2aa2b70852383cdf6f
10//   ΔT predictions   SHA-256: 5d864fddd30b2c64d2a86d3debbb25604eb5de44370c96bccf2abd5463f3db08
11//
12// The modern ΔT series is a *derived* product: observed USNO monthly points
13// are concatenated with C0-adjusted prediction points.  The boundary MJD
14// between observed and predicted data is MODERN_DELTA_T_OBSERVED_END_MJD.
15
16#[derive(Debug, Clone, Copy, PartialEq)]
17pub struct UtcTaiSegment {
18    pub start_mjd: i32,
19    pub end_mjd: Option<i32>,
20    pub base_seconds: f64,
21    pub reference_mjd: f64,
22    pub slope_seconds_per_day: f64,
23}
24
25pub const PRE_1961_TAI_MINUS_UTC_APPROX: f64 = 10.0;
26pub const UTC_TAI_HISTORY_URL: &str = "https://hpiers.obspm.fr/eoppc/bul/bulc/UTC-TAI.history";
27pub const DELTA_T_OBSERVED_URL: &str = "https://maia.usno.navy.mil/ser7/deltat.data";
28pub const DELTA_T_PREDICTIONS_URL: &str = "https://maia.usno.navy.mil/ser7/deltat.preds";
29pub const UTC_TAI_HISTORY_START_MJD: i32 = 37300;
30pub const MODERN_DELTA_T_START_MJD: f64 = 41714.000;
31/// Last MJD with an *observed* (non-predicted) ΔT value in [`MODERN_DELTA_T_POINTS`].
32/// Points after this MJD are C0-adjusted USNO predictions, not confirmed observations.
33pub const MODERN_DELTA_T_OBSERVED_END_MJD: f64 = 61131.000;
34pub const MODERN_DELTA_T_END_MJD: f64 = 63871.000;
35
36#[rustfmt::skip]
37pub const UTC_TAI_SEGMENTS: [UtcTaiSegment; 41] = [
38    UtcTaiSegment {
39        start_mjd: 37300,
40        end_mjd: Some(37512),
41        base_seconds: 1.4228180,
42        reference_mjd: 37300.0,
43        slope_seconds_per_day: 0.0012960,
44    },
45    UtcTaiSegment {
46        start_mjd: 37512,
47        end_mjd: Some(37665),
48        base_seconds: 1.3728180,
49        reference_mjd: 37300.0,
50        slope_seconds_per_day: 0.0012960,
51    },
52    UtcTaiSegment {
53        start_mjd: 37665,
54        end_mjd: Some(38334),
55        base_seconds: 1.8458580,
56        reference_mjd: 37665.0,
57        slope_seconds_per_day: 0.0011232,
58    },
59    UtcTaiSegment {
60        start_mjd: 38334,
61        end_mjd: Some(38395),
62        base_seconds: 1.9458580,
63        reference_mjd: 37665.0,
64        slope_seconds_per_day: 0.0011232,
65    },
66    UtcTaiSegment {
67        start_mjd: 38395,
68        end_mjd: Some(38486),
69        base_seconds: 3.2401300,
70        reference_mjd: 38761.0,
71        slope_seconds_per_day: 0.0012960,
72    },
73    UtcTaiSegment {
74        start_mjd: 38486,
75        end_mjd: Some(38639),
76        base_seconds: 3.3401300,
77        reference_mjd: 38761.0,
78        slope_seconds_per_day: 0.0012960,
79    },
80    UtcTaiSegment {
81        start_mjd: 38639,
82        end_mjd: Some(38761),
83        base_seconds: 3.4401300,
84        reference_mjd: 38761.0,
85        slope_seconds_per_day: 0.0012960,
86    },
87    UtcTaiSegment {
88        start_mjd: 38761,
89        end_mjd: Some(38820),
90        base_seconds: 3.5401300,
91        reference_mjd: 38761.0,
92        slope_seconds_per_day: 0.0012960,
93    },
94    UtcTaiSegment {
95        start_mjd: 38820,
96        end_mjd: Some(38942),
97        base_seconds: 3.6401300,
98        reference_mjd: 38761.0,
99        slope_seconds_per_day: 0.0012960,
100    },
101    UtcTaiSegment {
102        start_mjd: 38942,
103        end_mjd: Some(39004),
104        base_seconds: 3.7401300,
105        reference_mjd: 38761.0,
106        slope_seconds_per_day: 0.0012960,
107    },
108    UtcTaiSegment {
109        start_mjd: 39004,
110        end_mjd: Some(39126),
111        base_seconds: 3.8401300,
112        reference_mjd: 38761.0,
113        slope_seconds_per_day: 0.0012960,
114    },
115    UtcTaiSegment {
116        start_mjd: 39126,
117        end_mjd: Some(39887),
118        base_seconds: 4.3131700,
119        reference_mjd: 39126.0,
120        slope_seconds_per_day: 0.0025920,
121    },
122    UtcTaiSegment {
123        start_mjd: 39887,
124        end_mjd: Some(41317),
125        base_seconds: 4.2131700,
126        reference_mjd: 39126.0,
127        slope_seconds_per_day: 0.0025920,
128    },
129    UtcTaiSegment {
130        start_mjd: 41317,
131        end_mjd: Some(41499),
132        base_seconds: 10.0000000,
133        reference_mjd: 41317.0,
134        slope_seconds_per_day: 0.0000000,
135    },
136    UtcTaiSegment {
137        start_mjd: 41499,
138        end_mjd: Some(41683),
139        base_seconds: 11.0000000,
140        reference_mjd: 41499.0,
141        slope_seconds_per_day: 0.0000000,
142    },
143    UtcTaiSegment {
144        start_mjd: 41683,
145        end_mjd: Some(42048),
146        base_seconds: 12.0000000,
147        reference_mjd: 41683.0,
148        slope_seconds_per_day: 0.0000000,
149    },
150    UtcTaiSegment {
151        start_mjd: 42048,
152        end_mjd: Some(42413),
153        base_seconds: 13.0000000,
154        reference_mjd: 42048.0,
155        slope_seconds_per_day: 0.0000000,
156    },
157    UtcTaiSegment {
158        start_mjd: 42413,
159        end_mjd: Some(42778),
160        base_seconds: 14.0000000,
161        reference_mjd: 42413.0,
162        slope_seconds_per_day: 0.0000000,
163    },
164    UtcTaiSegment {
165        start_mjd: 42778,
166        end_mjd: Some(43144),
167        base_seconds: 15.0000000,
168        reference_mjd: 42778.0,
169        slope_seconds_per_day: 0.0000000,
170    },
171    UtcTaiSegment {
172        start_mjd: 43144,
173        end_mjd: Some(43509),
174        base_seconds: 16.0000000,
175        reference_mjd: 43144.0,
176        slope_seconds_per_day: 0.0000000,
177    },
178    UtcTaiSegment {
179        start_mjd: 43509,
180        end_mjd: Some(43874),
181        base_seconds: 17.0000000,
182        reference_mjd: 43509.0,
183        slope_seconds_per_day: 0.0000000,
184    },
185    UtcTaiSegment {
186        start_mjd: 43874,
187        end_mjd: Some(44239),
188        base_seconds: 18.0000000,
189        reference_mjd: 43874.0,
190        slope_seconds_per_day: 0.0000000,
191    },
192    UtcTaiSegment {
193        start_mjd: 44239,
194        end_mjd: Some(44786),
195        base_seconds: 19.0000000,
196        reference_mjd: 44239.0,
197        slope_seconds_per_day: 0.0000000,
198    },
199    UtcTaiSegment {
200        start_mjd: 44786,
201        end_mjd: Some(45151),
202        base_seconds: 20.0000000,
203        reference_mjd: 44786.0,
204        slope_seconds_per_day: 0.0000000,
205    },
206    UtcTaiSegment {
207        start_mjd: 45151,
208        end_mjd: Some(45516),
209        base_seconds: 21.0000000,
210        reference_mjd: 45151.0,
211        slope_seconds_per_day: 0.0000000,
212    },
213    UtcTaiSegment {
214        start_mjd: 45516,
215        end_mjd: Some(46247),
216        base_seconds: 22.0000000,
217        reference_mjd: 45516.0,
218        slope_seconds_per_day: 0.0000000,
219    },
220    UtcTaiSegment {
221        start_mjd: 46247,
222        end_mjd: Some(47161),
223        base_seconds: 23.0000000,
224        reference_mjd: 46247.0,
225        slope_seconds_per_day: 0.0000000,
226    },
227    UtcTaiSegment {
228        start_mjd: 47161,
229        end_mjd: Some(47892),
230        base_seconds: 24.0000000,
231        reference_mjd: 47161.0,
232        slope_seconds_per_day: 0.0000000,
233    },
234    UtcTaiSegment {
235        start_mjd: 47892,
236        end_mjd: Some(48257),
237        base_seconds: 25.0000000,
238        reference_mjd: 47892.0,
239        slope_seconds_per_day: 0.0000000,
240    },
241    UtcTaiSegment {
242        start_mjd: 48257,
243        end_mjd: Some(48804),
244        base_seconds: 26.0000000,
245        reference_mjd: 48257.0,
246        slope_seconds_per_day: 0.0000000,
247    },
248    UtcTaiSegment {
249        start_mjd: 48804,
250        end_mjd: Some(49169),
251        base_seconds: 27.0000000,
252        reference_mjd: 48804.0,
253        slope_seconds_per_day: 0.0000000,
254    },
255    UtcTaiSegment {
256        start_mjd: 49169,
257        end_mjd: Some(49534),
258        base_seconds: 28.0000000,
259        reference_mjd: 49169.0,
260        slope_seconds_per_day: 0.0000000,
261    },
262    UtcTaiSegment {
263        start_mjd: 49534,
264        end_mjd: Some(50083),
265        base_seconds: 29.0000000,
266        reference_mjd: 49534.0,
267        slope_seconds_per_day: 0.0000000,
268    },
269    UtcTaiSegment {
270        start_mjd: 50083,
271        end_mjd: Some(50630),
272        base_seconds: 30.0000000,
273        reference_mjd: 50083.0,
274        slope_seconds_per_day: 0.0000000,
275    },
276    UtcTaiSegment {
277        start_mjd: 50630,
278        end_mjd: Some(51179),
279        base_seconds: 31.0000000,
280        reference_mjd: 50630.0,
281        slope_seconds_per_day: 0.0000000,
282    },
283    UtcTaiSegment {
284        start_mjd: 51179,
285        end_mjd: Some(53736),
286        base_seconds: 32.0000000,
287        reference_mjd: 51179.0,
288        slope_seconds_per_day: 0.0000000,
289    },
290    UtcTaiSegment {
291        start_mjd: 53736,
292        end_mjd: Some(54832),
293        base_seconds: 33.0000000,
294        reference_mjd: 53736.0,
295        slope_seconds_per_day: 0.0000000,
296    },
297    UtcTaiSegment {
298        start_mjd: 54832,
299        end_mjd: Some(56109),
300        base_seconds: 34.0000000,
301        reference_mjd: 54832.0,
302        slope_seconds_per_day: 0.0000000,
303    },
304    UtcTaiSegment {
305        start_mjd: 56109,
306        end_mjd: Some(57204),
307        base_seconds: 35.0000000,
308        reference_mjd: 56109.0,
309        slope_seconds_per_day: 0.0000000,
310    },
311    UtcTaiSegment {
312        start_mjd: 57204,
313        end_mjd: Some(57754),
314        base_seconds: 36.0000000,
315        reference_mjd: 57204.0,
316        slope_seconds_per_day: 0.0000000,
317    },
318    UtcTaiSegment {
319        start_mjd: 57754,
320        end_mjd: None,
321        base_seconds: 37.0000000,
322        reference_mjd: 57754.0,
323        slope_seconds_per_day: 0.0000000,
324    },
325];
326
327#[rustfmt::skip]
328pub const MODERN_DELTA_T_POINTS: [(f64, f64); 670] = [
329    (41714.000, 43.4724),
330    (41742.000, 43.5648),
331    (41773.000, 43.6737),
332    (41803.000, 43.7782),
333    (41834.000, 43.8763),
334    (41864.000, 43.9562),
335    (41895.000, 44.0315),
336    (41926.000, 44.1132),
337    (41956.000, 44.1982),
338    (41987.000, 44.2952),
339    (42017.000, 44.3936),
340    (42048.000, 44.4841),
341    (42079.000, 44.5646),
342    (42107.000, 44.6425),
343    (42138.000, 44.7386),
344    (42168.000, 44.8370),
345    (42199.000, 44.9302),
346    (42229.000, 44.9986),
347    (42260.000, 45.0584),
348    (42291.000, 45.1284),
349    (42321.000, 45.2064),
350    (42352.000, 45.2980),
351    (42382.000, 45.3897),
352    (42413.000, 45.4761),
353    (42444.000, 45.5632),
354    (42472.000, 45.6450),
355    (42503.000, 45.7375),
356    (42533.000, 45.8284),
357    (42564.000, 45.9133),
358    (42594.000, 45.9820),
359    (42625.000, 46.0407),
360    (42656.000, 46.1067),
361    (42686.000, 46.1825),
362    (42717.000, 46.2789),
363    (42747.000, 46.3713),
364    (42778.000, 46.4567),
365    (42809.000, 46.5445),
366    (42838.000, 46.6311),
367    (42869.000, 46.7302),
368    (42899.000, 46.8284),
369    (42930.000, 46.9247),
370    (42960.000, 46.9970),
371    (42991.000, 47.0709),
372    (43022.000, 47.1451),
373    (43052.000, 47.2362),
374    (43083.000, 47.3413),
375    (43113.000, 47.4319),
376    (43144.000, 47.5214),
377    (43175.000, 47.6049),
378    (43203.000, 47.6837),
379    (43234.000, 47.7781),
380    (43264.000, 47.8771),
381    (43295.000, 47.9687),
382    (43325.000, 48.0348),
383    (43356.000, 48.0942),
384    (43387.000, 48.1608),
385    (43417.000, 48.2460),
386    (43448.000, 48.3439),
387    (43478.000, 48.4355),
388    (43509.000, 48.5344),
389    (43540.000, 48.6325),
390    (43568.000, 48.7294),
391    (43599.000, 48.8365),
392    (43629.000, 48.9353),
393    (43660.000, 49.0319),
394    (43690.000, 49.1013),
395    (43721.000, 49.1591),
396    (43752.000, 49.2286),
397    (43782.000, 49.3070),
398    (43813.000, 49.4018),
399    (43843.000, 49.4945),
400    (43874.000, 49.5861),
401    (43905.000, 49.6805),
402    (43933.000, 49.7602),
403    (43964.000, 49.8556),
404    (43994.000, 49.9489),
405    (44025.000, 50.0347),
406    (44055.000, 50.1019),
407    (44086.000, 50.1622),
408    (44117.000, 50.2260),
409    (44147.000, 50.2968),
410    (44178.000, 50.3831),
411    (44208.000, 50.4599),
412    (44239.000, 50.5387),
413    (44270.000, 50.6160),
414    (44299.000, 50.6866),
415    (44330.000, 50.7658),
416    (44360.000, 50.8454),
417    (44391.000, 50.9187),
418    (44421.000, 50.9761),
419    (44452.000, 51.0278),
420    (44483.000, 51.0843),
421    (44513.000, 51.1538),
422    (44544.000, 51.2319),
423    (44574.000, 51.3063),
424    (44605.000, 51.3808),
425    (44636.000, 51.4526),
426    (44664.000, 51.5160),
427    (44695.000, 51.5985),
428    (44725.000, 51.6809),
429    (44756.000, 51.7573),
430    (44786.000, 51.8133),
431    (44817.000, 51.8532),
432    (44848.000, 51.9014),
433    (44878.000, 51.9603),
434    (44909.000, 52.0328),
435    (44939.000, 52.0985),
436    (44970.000, 52.1668),
437    (45001.000, 52.2316),
438    (45029.000, 52.2938),
439    (45060.000, 52.3680),
440    (45090.000, 52.4465),
441    (45121.000, 52.5180),
442    (45151.000, 52.5751),
443    (45182.000, 52.6178),
444    (45213.000, 52.6668),
445    (45243.000, 52.7340),
446    (45274.000, 52.8056),
447    (45304.000, 52.8792),
448    (45335.000, 52.9565),
449    (45366.000, 53.0445),
450    (45394.000, 53.1268),
451    (45425.000, 53.2197),
452    (45455.000, 53.3024),
453    (45486.000, 53.3747),
454    (45516.000, 53.4335),
455    (45547.000, 53.4778),
456    (45578.000, 53.5300),
457    (45608.000, 53.5845),
458    (45639.000, 53.6523),
459    (45669.000, 53.7256),
460    (45700.000, 53.7882),
461    (45731.000, 53.8367),
462    (45760.000, 53.8830),
463    (45791.000, 53.9443),
464    (45821.000, 54.0042),
465    (45852.000, 54.0536),
466    (45882.000, 54.0856),
467    (45913.000, 54.1084),
468    (45944.000, 54.1463),
469    (45974.000, 54.1914),
470    (46005.000, 54.2452),
471    (46035.000, 54.2958),
472    (46066.000, 54.3427),
473    (46097.000, 54.3911),
474    (46125.000, 54.4320),
475    (46156.000, 54.4898),
476    (46186.000, 54.5456),
477    (46217.000, 54.5977),
478    (46247.000, 54.6355),
479    (46278.000, 54.6532),
480    (46309.000, 54.6776),
481    (46339.000, 54.7174),
482    (46370.000, 54.7741),
483    (46400.000, 54.8253),
484    (46431.000, 54.8713),
485    (46462.000, 54.9161),
486    (46490.000, 54.9581),
487    (46521.000, 54.9997),
488    (46551.000, 55.0476),
489    (46582.000, 55.0912),
490    (46612.000, 55.1132),
491    (46643.000, 55.1328),
492    (46674.000, 55.1532),
493    (46704.000, 55.1898),
494    (46735.000, 55.2416),
495    (46765.000, 55.2838),
496    (46796.000, 55.3222),
497    (46827.000, 55.3613),
498    (46855.000, 55.4063),
499    (46886.000, 55.4629),
500    (46916.000, 55.5111),
501    (46947.000, 55.5524),
502    (46977.000, 55.5812),
503    (47008.000, 55.6004),
504    (47039.000, 55.6262),
505    (47069.000, 55.6656),
506    (47100.000, 55.7168),
507    (47130.000, 55.7698),
508    (47161.000, 55.8197),
509    (47192.000, 55.8615),
510    (47221.000, 55.9130),
511    (47252.000, 55.9663),
512    (47282.000, 56.0220),
513    (47313.000, 56.0700),
514    (47343.000, 56.0939),
515    (47374.000, 56.1105),
516    (47405.000, 56.1314),
517    (47435.000, 56.1611),
518    (47466.000, 56.2068),
519    (47496.000, 56.2583),
520    (47527.000, 56.3000),
521    (47558.000, 56.3399),
522    (47586.000, 56.3790),
523    (47617.000, 56.4283),
524    (47647.000, 56.4804),
525    (47678.000, 56.5352),
526    (47708.000, 56.5697),
527    (47739.000, 56.5983),
528    (47770.000, 56.6328),
529    (47800.000, 56.6739),
530    (47831.000, 56.7332),
531    (47861.000, 56.7972),
532    (47892.000, 56.8553),
533    (47923.000, 56.9111),
534    (47951.000, 56.9755),
535    (47982.000, 57.0471),
536    (48012.000, 57.1136),
537    (48043.000, 57.1738),
538    (48073.000, 57.2226),
539    (48104.000, 57.2597),
540    (48135.000, 57.3073),
541    (48165.000, 57.3643),
542    (48196.000, 57.4334),
543    (48226.000, 57.5016),
544    (48257.000, 57.5653),
545    (48288.000, 57.6333),
546    (48316.000, 57.6973),
547    (48347.000, 57.7711),
548    (48377.000, 57.8407),
549    (48408.000, 57.9058),
550    (48438.000, 57.9576),
551    (48469.000, 57.9975),
552    (48500.000, 58.0426),
553    (48530.000, 58.1043),
554    (48561.000, 58.1679),
555    (48591.000, 58.2389),
556    (48622.000, 58.3092),
557    (48653.000, 58.3833),
558    (48682.000, 58.4537),
559    (48713.000, 58.5401),
560    (48743.000, 58.6228),
561    (48774.000, 58.6917),
562    (48804.000, 58.7410),
563    (48835.000, 58.7836),
564    (48866.000, 58.8406),
565    (48896.000, 58.8986),
566    (48927.000, 58.9714),
567    (48957.000, 59.0438),
568    (48988.000, 59.1218),
569    (49019.000, 59.2003),
570    (49047.000, 59.2747),
571    (49078.000, 59.3574),
572    (49108.000, 59.4434),
573    (49139.000, 59.5242),
574    (49169.000, 59.5850),
575    (49200.000, 59.6343),
576    (49231.000, 59.6928),
577    (49261.000, 59.7588),
578    (49292.000, 59.8386),
579    (49322.000, 59.9111),
580    (49353.000, 59.9845),
581    (49384.000, 60.0564),
582    (49412.000, 60.1231),
583    (49443.000, 60.2042),
584    (49473.000, 60.2804),
585    (49504.000, 60.3530),
586    (49534.000, 60.4012),
587    (49565.000, 60.4440),
588    (49596.000, 60.4900),
589    (49626.000, 60.5578),
590    (49657.000, 60.6324),
591    (49687.000, 60.7059),
592    (49718.000, 60.7853),
593    (49749.000, 60.8664),
594    (49777.000, 60.9387),
595    (49808.000, 61.0277),
596    (49838.000, 61.1103),
597    (49869.000, 61.1870),
598    (49899.000, 61.2454),
599    (49930.000, 61.2881),
600    (49961.000, 61.3378),
601    (49991.000, 61.4036),
602    (50022.000, 61.4760),
603    (50052.000, 61.5525),
604    (50083.000, 61.6287),
605    (50114.000, 61.6846),
606    (50143.000, 61.7433),
607    (50174.000, 61.8132),
608    (50204.000, 61.8823),
609    (50235.000, 61.9497),
610    (50265.000, 61.9969),
611    (50296.000, 62.0343),
612    (50327.000, 62.0714),
613    (50357.000, 62.1202),
614    (50388.000, 62.1810),
615    (50418.000, 62.2382),
616    (50449.000, 62.2950),
617    (50480.000, 62.3506),
618    (50508.000, 62.3995),
619    (50539.000, 62.4754),
620    (50569.000, 62.5463),
621    (50600.000, 62.6136),
622    (50630.000, 62.6571),
623    (50661.000, 62.6942),
624    (50692.000, 62.7383),
625    (50722.000, 62.7926),
626    (50753.000, 62.8567),
627    (50783.000, 62.9146),
628    (50814.000, 62.9659),
629    (50845.000, 63.0217),
630    (50873.000, 63.0807),
631    (50904.000, 63.1462),
632    (50934.000, 63.2053),
633    (50965.000, 63.2599),
634    (50995.000, 63.2844),
635    (51026.000, 63.2961),
636    (51057.000, 63.3126),
637    (51087.000, 63.3422),
638    (51118.000, 63.3871),
639    (51148.000, 63.4339),
640    (51179.000, 63.4673),
641    (51210.000, 63.4979),
642    (51238.000, 63.5319),
643    (51269.000, 63.5679),
644    (51299.000, 63.6104),
645    (51330.000, 63.6444),
646    (51360.000, 63.6642),
647    (51391.000, 63.6739),
648    (51422.000, 63.6926),
649    (51452.000, 63.7147),
650    (51483.000, 63.7518),
651    (51513.000, 63.7927),
652    (51544.000, 63.8285),
653    (51575.000, 63.8557),
654    (51604.000, 63.8804),
655    (51635.000, 63.9075),
656    (51665.000, 63.9393),
657    (51696.000, 63.9691),
658    (51726.000, 63.9799),
659    (51757.000, 63.9833),
660    (51788.000, 63.9938),
661    (51818.000, 64.0093),
662    (51849.000, 64.0400),
663    (51879.000, 64.0670),
664    (51910.000, 64.0908),
665    (51941.000, 64.1068),
666    (51969.000, 64.1282),
667    (52000.000, 64.1584),
668    (52030.000, 64.1833),
669    (52061.000, 64.2094),
670    (52091.000, 64.2117),
671    (52122.000, 64.2073),
672    (52153.000, 64.2116),
673    (52183.000, 64.2223),
674    (52214.000, 64.2500),
675    (52244.000, 64.2761),
676    (52275.000, 64.2998),
677    (52306.000, 64.3192),
678    (52334.000, 64.3450),
679    (52365.000, 64.3735),
680    (52395.000, 64.3943),
681    (52426.000, 64.4151),
682    (52456.000, 64.4132),
683    (52487.000, 64.4118),
684    (52518.000, 64.4097),
685    (52548.000, 64.4168),
686    (52579.000, 64.4329),
687    (52609.000, 64.4511),
688    (52640.000, 64.4734),
689    (52671.000, 64.4893),
690    (52699.000, 64.5053),
691    (52730.000, 64.5269),
692    (52760.000, 64.5471),
693    (52791.000, 64.5597),
694    (52821.000, 64.5512),
695    (52852.000, 64.5371),
696    (52883.000, 64.5359),
697    (52913.000, 64.5415),
698    (52944.000, 64.5544),
699    (52974.000, 64.5654),
700    (53005.000, 64.5736),
701    (53036.000, 64.5891),
702    (53065.000, 64.6015),
703    (53096.000, 64.6176),
704    (53126.000, 64.6374),
705    (53157.000, 64.6549),
706    (53187.000, 64.6530),
707    (53218.000, 64.6379),
708    (53249.000, 64.6372),
709    (53279.000, 64.6400),
710    (53310.000, 64.6543),
711    (53340.000, 64.6723),
712    (53371.000, 64.6876),
713    (53402.000, 64.7052),
714    (53430.000, 64.7313),
715    (53461.000, 64.7575),
716    (53491.000, 64.7811),
717    (53522.000, 64.8001),
718    (53552.000, 64.7995),
719    (53583.000, 64.7876),
720    (53614.000, 64.7831),
721    (53644.000, 64.7921),
722    (53675.000, 64.8096),
723    (53705.000, 64.8311),
724    (53736.000, 64.8452),
725    (53767.000, 64.8597),
726    (53795.000, 64.8850),
727    (53826.000, 64.9175),
728    (53856.000, 64.9480),
729    (53887.000, 64.9794),
730    (53917.000, 64.9895),
731    (53948.000, 65.0028),
732    (53979.000, 65.0138),
733    (54009.000, 65.0371),
734    (54040.000, 65.0773),
735    (54070.000, 65.1122),
736    (54101.000, 65.1464),
737    (54132.000, 65.1833),
738    (54160.000, 65.2145),
739    (54191.000, 65.2494),
740    (54221.000, 65.2921),
741    (54252.000, 65.3279),
742    (54282.000, 65.3413),
743    (54313.000, 65.3452),
744    (54344.000, 65.3496),
745    (54374.000, 65.3711),
746    (54405.000, 65.3972),
747    (54435.000, 65.4296),
748    (54466.000, 65.4573),
749    (54497.000, 65.4868),
750    (54526.000, 65.5152),
751    (54557.000, 65.5450),
752    (54587.000, 65.5781),
753    (54618.000, 65.6127),
754    (54648.000, 65.6288),
755    (54679.000, 65.6370),
756    (54710.000, 65.6493),
757    (54740.000, 65.6760),
758    (54771.000, 65.7097),
759    (54801.000, 65.7461),
760    (54832.000, 65.7768),
761    (54863.000, 65.8025),
762    (54891.000, 65.8237),
763    (54922.000, 65.8595),
764    (54952.000, 65.8973),
765    (54983.000, 65.9323),
766    (55013.000, 65.9509),
767    (55044.000, 65.9534),
768    (55075.000, 65.9628),
769    (55105.000, 65.9839),
770    (55136.000, 66.0147),
771    (55166.000, 66.0420),
772    (55197.000, 66.0699),
773    (55228.000, 66.0961),
774    (55256.000, 66.1310),
775    (55287.000, 66.1683),
776    (55317.000, 66.2072),
777    (55348.000, 66.2356),
778    (55378.000, 66.2409),
779    (55409.000, 66.2335),
780    (55440.000, 66.2349),
781    (55470.000, 66.2441),
782    (55501.000, 66.2751),
783    (55531.000, 66.3054),
784    (55562.000, 66.3246),
785    (55593.000, 66.3406),
786    (55621.000, 66.3624),
787    (55652.000, 66.3957),
788    (55682.000, 66.4289),
789    (55713.000, 66.4619),
790    (55743.000, 66.4749),
791    (55774.000, 66.4751),
792    (55805.000, 66.4829),
793    (55835.000, 66.5056),
794    (55866.000, 66.5383),
795    (55896.000, 66.5706),
796    (55927.000, 66.6030),
797    (55958.000, 66.6340),
798    (55987.000, 66.6569),
799    (56018.000, 66.6925),
800    (56048.000, 66.7289),
801    (56079.000, 66.7579),
802    (56109.000, 66.7708),
803    (56140.000, 66.7740),
804    (56171.000, 66.7846),
805    (56201.000, 66.8103),
806    (56232.000, 66.8400),
807    (56262.000, 66.8779),
808    (56293.000, 66.9069),
809    (56324.000, 66.9443),
810    (56352.000, 66.9763),
811    (56383.000, 67.0258),
812    (56413.000, 67.0716),
813    (56444.000, 67.1100),
814    (56474.000, 67.1266),
815    (56505.000, 67.1331),
816    (56536.000, 67.1458),
817    (56566.000, 67.1717),
818    (56597.000, 67.2091),
819    (56627.000, 67.2460),
820    (56658.000, 67.2810),
821    (56689.000, 67.3136),
822    (56717.000, 67.3457),
823    (56748.000, 67.3890),
824    (56778.000, 67.4318),
825    (56809.000, 67.4666),
826    (56839.000, 67.4858),
827    (56870.000, 67.4989),
828    (56901.000, 67.5111),
829    (56931.000, 67.5353),
830    (56962.000, 67.5711),
831    (56992.000, 67.6070),
832    (57023.000, 67.6439),
833    (57054.000, 67.6765),
834    (57082.000, 67.7117),
835    (57113.000, 67.7591),
836    (57143.000, 67.8012),
837    (57174.000, 67.8402),
838    (57204.000, 67.8606),
839    (57235.000, 67.8822),
840    (57266.000, 67.9120),
841    (57296.000, 67.9546),
842    (57327.000, 68.0055),
843    (57357.000, 68.0514),
844    (57388.000, 68.1024),
845    (57419.000, 68.1577),
846    (57448.000, 68.2044),
847    (57479.000, 68.2665),
848    (57509.000, 68.3188),
849    (57540.000, 68.3704),
850    (57570.000, 68.3964),
851    (57601.000, 68.4094),
852    (57632.000, 68.4305),
853    (57662.000, 68.4630),
854    (57693.000, 68.5078),
855    (57723.000, 68.5537),
856    (57754.000, 68.5927),
857    (57785.000, 68.6298),
858    (57813.000, 68.6671),
859    (57844.000, 68.7135),
860    (57874.000, 68.7623),
861    (57905.000, 68.8033),
862    (57935.000, 68.8245),
863    (57966.000, 68.8373),
864    (57997.000, 68.8477),
865    (58027.000, 68.8689),
866    (58058.000, 68.9006),
867    (58088.000, 68.9355),
868    (58119.000, 68.9676),
869    (58150.000, 68.9875),
870    (58178.000, 69.0176),
871    (58209.000, 69.0499),
872    (58239.000, 69.0823),
873    (58270.000, 69.1070),
874    (58300.000, 69.1134),
875    (58331.000, 69.1142),
876    (58362.000, 69.1207),
877    (58392.000, 69.1356),
878    (58423.000, 69.1646),
879    (58453.000, 69.1964),
880    (58484.000, 69.2202),
881    (58515.000, 69.2452),
882    (58543.000, 69.2733),
883    (58574.000, 69.3032),
884    (58604.000, 69.3326),
885    (58635.000, 69.3541),
886    (58665.000, 69.3582),
887    (58696.000, 69.3442),
888    (58727.000, 69.3376),
889    (58757.000, 69.3377),
890    (58788.000, 69.3432),
891    (58818.000, 69.3540),
892    (58849.000, 69.3612),
893    (58880.000, 69.3752),
894    (58909.000, 69.3890),
895    (58940.000, 69.4092),
896    (58970.000, 69.4265),
897    (59001.000, 69.4386),
898    (59031.000, 69.4241),
899    (59062.000, 69.3921),
900    (59093.000, 69.3693),
901    (59123.000, 69.3575),
902    (59154.000, 69.3593),
903    (59184.000, 69.3630),
904    (59215.000, 69.3594),
905    (59246.000, 69.3510),
906    (59274.000, 69.3538),
907    (59305.000, 69.3582),
908    (59335.000, 69.3673),
909    (59366.000, 69.3679),
910    (59396.000, 69.3514),
911    (59427.000, 69.3273),
912    (59458.000, 69.3033),
913    (59488.000, 69.2892),
914    (59519.000, 69.2881),
915    (59549.000, 69.2908),
916    (59580.000, 69.2945),
917    (59611.000, 69.2914),
918    (59639.000, 69.2861),
919    (59670.000, 69.2835),
920    (59700.000, 69.2816),
921    (59731.000, 69.2799),
922    (59761.000, 69.2527),
923    (59792.000, 69.2213),
924    (59823.000, 69.1975),
925    (59853.000, 69.1891),
926    (59884.000, 69.1942),
927    (59914.000, 69.2036),
928    (59945.000, 69.2039),
929    (59976.000, 69.1986),
930    (60004.000, 69.1993),
931    (60035.000, 69.2084),
932    (60065.000, 69.2183),
933    (60096.000, 69.2300),
934    (60126.000, 69.2201),
935    (60157.000, 69.1988),
936    (60188.000, 69.1814),
937    (60218.000, 69.1723),
938    (60249.000, 69.1727),
939    (60279.000, 69.1724),
940    (60310.000, 69.1752),
941    (60341.000, 69.1797),
942    (60370.000, 69.1874),
943    (60401.000, 69.1983),
944    (60431.000, 69.2018),
945    (60462.000, 69.2044),
946    (60492.000, 69.1879),
947    (60523.000, 69.1588),
948    (60554.000, 69.1322),
949    (60584.000, 69.1250),
950    (60615.000, 69.1304),
951    (60645.000, 69.1345),
952    (60676.000, 69.1377),
953    (60707.000, 69.1366),
954    (60735.000, 69.1384),
955    (60766.000, 69.1471),
956    (60796.000, 69.1542),
957    (60827.000, 69.1550),
958    (60857.000, 69.1406),
959    (60888.000, 69.1219),
960    (60919.000, 69.0994),
961    (60949.000, 69.0909),
962    (60980.000, 69.0909),
963    (61010.000, 69.1042),
964    (61041.000, 69.1099),
965    (61072.000, 69.1133),
966    (61100.000, 69.1168),
967    (61131.000, 69.1330),
968    (61132.000, 69.1332),
969    (61223.000, 69.1532),
970    (61314.000, 69.1332),
971    (61406.000, 69.1832),
972    (61497.000, 69.2532),
973    (61588.000, 69.3032),
974    (61680.000, 69.3032),
975    (61771.000, 69.3832),
976    (61862.000, 69.4832),
977    (61954.000, 69.5532),
978    (62045.000, 69.5832),
979    (62136.000, 69.6732),
980    (62228.000, 69.7932),
981    (62319.000, 69.8732),
982    (62410.000, 69.9132),
983    (62502.000, 70.0132),
984    (62593.000, 70.1232),
985    (62684.000, 70.2132),
986    (62775.000, 70.2532),
987    (62867.000, 70.3632),
988    (62958.000, 70.4632),
989    (63049.000, 70.5532),
990    (63141.000, 70.5732),
991    (63232.000, 70.6632),
992    (63323.000, 70.7632),
993    (63415.000, 70.8632),
994    (63506.000, 70.9032),
995    (63597.000, 71.0232),
996    (63689.000, 71.1432),
997    (63780.000, 71.2432),
998    (63871.000, 71.2932),
999];