@idm-plugin/geo 1.8.8 → 1.9.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/dist/index.js CHANGED
@@ -24,14 +24,14 @@ var j = { exports: {} };
24
24
  return W > 96 ? W - 87 : W > 64 ? W - 29 : W - 48;
25
25
  }
26
26
  function T(W) {
27
- var a = 0, n = W.split("."), R = n[0], i = n[1] || "", B = 1, l, u = 0, V = 1;
27
+ var a = 0, n = W.split("."), R = n[0], i = n[1] || "", r = 1, l, u = 0, V = 1;
28
28
  for (W.charCodeAt(0) === 45 && (a = 1, V = -1), a; a < R.length; a++)
29
29
  l = L(R.charCodeAt(a)), u = 60 * u + l;
30
30
  for (a = 0; a < i.length; a++)
31
- B = B / 60, l = L(i.charCodeAt(a)), u += l * B;
31
+ r = r / 60, l = L(i.charCodeAt(a)), u += l * r;
32
32
  return u * V;
33
33
  }
34
- function S(W) {
34
+ function B(W) {
35
35
  for (var a = 0; a < W.length; a++)
36
36
  W[a] = T(W[a]);
37
37
  }
@@ -40,7 +40,7 @@ var j = { exports: {} };
40
40
  W[n] = Math.round((W[n - 1] || 0) + W[n] * 6e4);
41
41
  W[a - 1] = 1 / 0;
42
42
  }
43
- function r(W, a) {
43
+ function S(W, a) {
44
44
  var n = [], R;
45
45
  for (R = 0; R < a.length; R++)
46
46
  n[R] = W[a[R]];
@@ -48,10 +48,10 @@ var j = { exports: {} };
48
48
  }
49
49
  function s(W) {
50
50
  var a = W.split("|"), n = a[2].split(" "), R = a[3].split(""), i = a[4].split(" ");
51
- return S(n), S(R), S(i), e(i, R.length), {
51
+ return B(n), B(R), B(i), e(i, R.length), {
52
52
  name: a[0],
53
- abbrs: r(a[1].split(" "), R),
54
- offsets: r(n, R),
53
+ abbrs: S(a[1].split(" "), R),
54
+ offsets: S(n, R),
55
55
  untils: i,
56
56
  population: a[5] | 0
57
57
  };
@@ -67,9 +67,9 @@ var j = { exports: {} };
67
67
  return n - 1;
68
68
  if (W >= a[n - 1])
69
69
  return -1;
70
- for (var R, i = 0, B = n - 1; B - i > 1; )
71
- R = Math.floor((i + B) / 2), a[R] <= W ? i = R : B = R;
72
- return B;
70
+ for (var R, i = 0, r = n - 1; r - i > 1; )
71
+ R = Math.floor((i + r) / 2), a[R] <= W ? i = R : r = R;
72
+ return r;
73
73
  }
74
74
  Z.prototype = {
75
75
  _set: function(W) {
@@ -87,9 +87,9 @@ var j = { exports: {} };
87
87
  });
88
88
  },
89
89
  parse: function(W) {
90
- var a = +W, n = this.offsets, R = this.untils, i = R.length - 1, B, l, u, V;
90
+ var a = +W, n = this.offsets, R = this.untils, i = R.length - 1, r, l, u, V;
91
91
  for (V = 0; V < i; V++)
92
- if (B = n[V], l = n[V + 1], u = n[V && V - 1], B < l && t.moveAmbiguousForward ? B = l : B > u && t.moveInvalidForward && (B = u), a < R[V] - B * 6e4)
92
+ if (r = n[V], l = n[V + 1], u = n[V && V - 1], r < l && t.moveAmbiguousForward ? r = l : r > u && t.moveInvalidForward && (r = u), a < R[V] - r * 6e4)
93
93
  return n[V];
94
94
  return n[i];
95
95
  },
@@ -122,9 +122,9 @@ var j = { exports: {} };
122
122
  return W;
123
123
  }
124
124
  function F() {
125
- var W = (/* @__PURE__ */ new Date()).getFullYear() - 2, a = new m(new Date(W, 0, 1)), n = a.offset, R = [a], i, B, l, u;
125
+ var W = (/* @__PURE__ */ new Date()).getFullYear() - 2, a = new m(new Date(W, 0, 1)), n = a.offset, R = [a], i, r, l, u;
126
126
  for (u = 1; u < 48; u++)
127
- l = new Date(W, u, 1).getTimezoneOffset(), l !== n && (B = new m(new Date(W, u, 1)), i = Q(a, B), R.push(i), R.push(new m(new Date(i.at + 6e4))), a = B, n = l);
127
+ l = new Date(W, u, 1).getTimezoneOffset(), l !== n && (r = new m(new Date(W, u, 1)), i = Q(a, r), R.push(i), R.push(new m(new Date(i.at + 6e4))), a = r, n = l);
128
128
  for (u = 0; u < 4; u++)
129
129
  R.push(new m(new Date(W + u, 0, 1))), R.push(new m(new Date(W + u, 6, 1)));
130
130
  return R;
@@ -134,20 +134,20 @@ var j = { exports: {} };
134
134
  }
135
135
  function z0(W, a) {
136
136
  var n, R;
137
- for (S(a), n = 0; n < a.length; n++)
137
+ for (B(a), n = 0; n < a.length; n++)
138
138
  R = a[n], A[R] = A[R] || {}, A[R][W] = !0;
139
139
  }
140
140
  function b0(W) {
141
- var a = W.length, n = {}, R = [], i = {}, B, l, u, V;
142
- for (B = 0; B < a; B++)
143
- if (u = W[B].offset, !i.hasOwnProperty(u)) {
141
+ var a = W.length, n = {}, R = [], i = {}, r, l, u, V;
142
+ for (r = 0; r < a; r++)
143
+ if (u = W[r].offset, !i.hasOwnProperty(u)) {
144
144
  V = A[u] || {};
145
145
  for (l in V)
146
146
  V.hasOwnProperty(l) && (n[l] = !0);
147
147
  i[u] = !0;
148
148
  }
149
- for (B in n)
150
- n.hasOwnProperty(B) && R.push(O[B]);
149
+ for (r in n)
150
+ n.hasOwnProperty(r) && R.push(O[r]);
151
151
  return R;
152
152
  }
153
153
  function p0() {
@@ -161,13 +161,13 @@ var j = { exports: {} };
161
161
  }
162
162
  } catch {
163
163
  }
164
- var n = F(), R = n.length, i = b0(n), B = [], l, u, V;
164
+ var n = F(), R = n.length, i = b0(n), r = [], l, u, V;
165
165
  for (u = 0; u < i.length; u++) {
166
166
  for (l = new H(g(i[u])), V = 0; V < R; V++)
167
167
  l.scoreOffsetAt(n[V]);
168
- B.push(l);
168
+ r.push(l);
169
169
  }
170
- return B.sort(M0), B.length > 0 ? B[0].zone.name : void 0;
170
+ return r.sort(M0), r.length > 0 ? r[0].zone.name : void 0;
171
171
  }
172
172
  function O0(W) {
173
173
  return (!o || W) && (o = p0()), o;
@@ -1431,8 +1431,8 @@ class f {
1431
1431
  const L = N.lineIntersect(Y, d);
1432
1432
  let T;
1433
1433
  if (L.features.length) {
1434
- const S = N.getCoord(L.features[0]);
1435
- T = X.roundPrecision(S[1], 8);
1434
+ const B = N.getCoord(L.features[0]);
1435
+ T = X.roundPrecision(B[1], 8);
1436
1436
  } else
1437
1437
  T = M[A].lat;
1438
1438
  o > 0 ? (b.push([180 - 1e-6, T]), p.push([...b]), b = [], b.push([-(180 - 1e-6), T])) : (b.push([-(180 - 1e-6), T]), p.push([...b]), b = [], b.push([180 - 1e-6, T]));
@@ -1697,7 +1697,7 @@ class f {
1697
1697
  const q = { lng: z[o].lng, lat: z[o].lat }, Y = { lng: z[o + 1].lng, lat: z[o + 1].lat }, d = this.calculatePointToLineDistance(M, q, Y);
1698
1698
  p >= d && (p = d, c = o, O = this.calculateDistance(q, M, !1, 6), A = this.calculateDistance(Y, M, !1, 6));
1699
1699
  }
1700
- O !== 0 && A !== 0 ? O < p || O === p && c === 0 ? z.unshift(M) : A < p || A === p && c === z.length - 2 ? z.push(M) : z.splice(c + 1, 0, M) : O === 0 ? b ? z.splice(c, 1, M) : z.splice(c + 1, 0, M) : A === 0 && (b ? z.splice(c + 1, 1, M) : z.splice(c + 1, 0, M));
1700
+ O !== 0 && A !== 0 ? O <= p && c === 0 ? z.unshift(M) : A <= p && c === z.length - 2 ? z.push(M) : z.splice(c + 1, 0, M) : O === 0 ? b ? z.splice(c, 1, M) : z.splice(c + 1, 0, M) : A === 0 && (b ? z.splice(c + 1, 1, M) : z.splice(c + 1, 0, M));
1701
1701
  }
1702
1702
  return z.map((o, q) => {
1703
1703
  o.lng = X.convertToStdLng(o.lng);
@@ -1768,31 +1768,31 @@ class f {
1768
1768
  var L;
1769
1769
  const c = M.speed || 12, O = [];
1770
1770
  let A = [], o = !1, q = 0, Y = 0, d;
1771
- if (z && b.length ? (O.push(M), b.forEach((T, S) => {
1771
+ if (z && b.length ? (O.push(M), b.forEach((T, B) => {
1772
1772
  if (o)
1773
1773
  A.push(T);
1774
1774
  else {
1775
1775
  const e = [];
1776
- let r;
1776
+ let S;
1777
1777
  for (let s = 0; s < T.length; s++)
1778
1778
  if (d)
1779
1779
  e.push(T[s]);
1780
1780
  else {
1781
- r = { lng: T[s][0], lat: T[s][1] };
1782
- const Z = this.calculateDistance(M, r, !0, 8, p);
1781
+ S = { lng: T[s][0], lat: T[s][1] };
1782
+ const Z = this.calculateDistance(M, S, !0, 8, p);
1783
1783
  if (q += Z, q < z)
1784
- Y += Z, Z && O.push(r), M = r;
1784
+ Y += Z, Z && O.push(S), M = S;
1785
1785
  else {
1786
1786
  if (Y = z, q === z)
1787
- d = r, e.push([d.lng, d.lat]);
1787
+ d = S, e.push([d.lng, d.lat]);
1788
1788
  else {
1789
- const P = q - z, U = this.calculateBearing(r, M);
1790
- d = this.calculateCoordinate(r, U, P, p), e.push([d.lng, d.lat]), e.push([r.lng, r.lat]);
1789
+ const P = q - z, U = this.calculateBearing(S, M);
1790
+ d = this.calculateCoordinate(S, U, P, p), e.push([d.lng, d.lat]), e.push([S.lng, S.lat]);
1791
1791
  }
1792
1792
  o = !0;
1793
1793
  }
1794
1794
  }
1795
- e.length && A.push(e), S === b.length - 1 && !d && (d = r);
1795
+ e.length && A.push(e), B === b.length - 1 && !d && (d = S);
1796
1796
  }
1797
1797
  })) : (A = b, d = { ...M }), d)
1798
1798
  if (O.push(d), d.distanceFromPrevious = Y, d.hourFromPrevious = Math.round(Y / c * 1e4) / 1e4, ((L = A[0]) == null ? void 0 : L.length) > 1) {
@@ -1927,8 +1927,8 @@ class f {
1927
1927
  const O = M[c - 1], A = M[c], o = M[c + 1];
1928
1928
  let q = !1, Y = !1;
1929
1929
  if ((O.velocity || O.suspend || O.important || O.pilot || c === 1) && (q = !0, p.push(O)), A.gcToPrevious && (q || (q = !0, p.push(O)), Y = !0, p.push(A), c++), o) {
1930
- const d = f.calculateDistance(O, A, !0), L = f.calculateDistance(A, o, !0), T = f.calculateDistance(O, o, !0), S = (Math.pow(d, 2) + Math.pow(L, 2) - Math.pow(T, 2)) / (2 * d * L);
1931
- Math.round(Math.acos(S) * 180 / Math.PI) < b && T > z && !Y && (p.push(A), c++);
1930
+ const d = f.calculateDistance(O, A, !0), L = f.calculateDistance(A, o, !0), T = f.calculateDistance(O, o, !0), B = (Math.pow(d, 2) + Math.pow(L, 2) - Math.pow(T, 2)) / (2 * d * L);
1931
+ Math.round(Math.acos(B) * 180 / Math.PI) < b && T > z && !Y && (p.push(A), c++);
1932
1932
  }
1933
1933
  if (c >= M.length - 1) {
1934
1934
  const d = M.at(-1);
@@ -1987,8 +1987,8 @@ class f {
1987
1987
  else if (o === 0)
1988
1988
  M = O;
1989
1989
  else {
1990
- const q = f.nearestCoordinateInLine(M, c, O), Y = c.positionTime, d = O.positionTime, L = f.calculateDistance(c, q), T = f.calculateDistance(c, O), S = Math.round(Y + (d - Y) * (L / T));
1991
- M.positionTime = S;
1990
+ const q = c.positionTime, Y = O.positionTime, d = f.calculateDistance(c, O), L = Math.round(q + (Y - q) * (A / d));
1991
+ M.positionTime = L;
1992
1992
  }
1993
1993
  return M.utc = M.positionTime ? I.unix(M.positionTime).utc().format() : void 0, M.positionTime ? M : void 0;
1994
1994
  }
@@ -2042,24 +2042,24 @@ class t0 {
2042
2042
  let q;
2043
2043
  const Y = [], d = [], L = I(o.date).utc(), T = `${O.name}-${o.model}`;
2044
2044
  for (const e in o == null ? void 0 : o.hours) {
2045
- const r = o.hours[e];
2046
- q = q || r;
2047
- const s = L.clone().add(Number(e), "hour"), Z = N.point([r.lng, r.lat], {
2045
+ const S = o.hours[e];
2046
+ q = q || S;
2047
+ const s = L.clone().add(Number(e), "hour"), Z = N.point([S.lng, S.lat], {
2048
2048
  model: o.model,
2049
2049
  name: O.name,
2050
2050
  date: s.format(),
2051
2051
  hour: Number(e),
2052
2052
  format: s.format("MMM-DD/HHmm[Z]"),
2053
- pressure: r.pressure > 1e4 ? X.roundPrecision(r.pressure / 100, 0) : X.roundPrecision(r.pressure, 0),
2054
- gusts: r.gusts,
2055
- wind: r.wind || {},
2056
- movement: r.movement,
2053
+ pressure: S.pressure > 1e4 ? X.roundPrecision(S.pressure / 100, 0) : X.roundPrecision(S.pressure, 0),
2054
+ gusts: S.gusts,
2055
+ wind: S.wind || {},
2056
+ movement: S.movement,
2057
2057
  category: T,
2058
2058
  type: "forecast"
2059
2059
  });
2060
2060
  d.push(Z), Y.push(Z.geometry.coordinates);
2061
2061
  }
2062
- const S = {
2062
+ const B = {
2063
2063
  kts: void 0,
2064
2064
  deg: void 0
2065
2065
  };
@@ -2067,9 +2067,9 @@ class t0 {
2067
2067
  const e = I(A.updated).utc();
2068
2068
  if (q) {
2069
2069
  const s = f.calculateDistance(A, q), Z = I(q.utc || q.updated).diff(e, "h", !0);
2070
- S.kts = Math.round(s / Z * 100) / 100, S.deg = f.calculateBearing(A, q, !0, 0);
2070
+ B.kts = Math.round(s / Z * 100) / 100, B.deg = f.calculateBearing(A, q, !0, 0);
2071
2071
  }
2072
- const r = N.point([A.lng, A.lat], {
2072
+ const S = N.point([A.lng, A.lat], {
2073
2073
  model: o.model,
2074
2074
  name: O.name,
2075
2075
  date: e.format(),
@@ -2077,13 +2077,13 @@ class t0 {
2077
2077
  format: e.format("MMM-DD/HHmm[Z]"),
2078
2078
  pressure: A.pressure > 1e4 ? X.roundPrecision((A == null ? void 0 : A.pressure) / 100, 0) : X.roundPrecision(A.pressure, 0),
2079
2079
  wind: A.wind,
2080
- movement: S,
2080
+ movement: B,
2081
2081
  category: T,
2082
2082
  type: "forecast",
2083
2083
  important: !0
2084
2084
  // 第一个预报点为重要点
2085
2085
  });
2086
- d.unshift(r), Y.unshift(r.geometry.coordinates);
2086
+ d.unshift(S), Y.unshift(S.geometry.coordinates);
2087
2087
  }
2088
2088
  if (z.features.push(...d), (Y == null ? void 0 : Y.length) > 1) {
2089
2089
  const e = N.lineString(X.convertToMonotonicLng2(Y), {
@@ -2093,7 +2093,7 @@ class t0 {
2093
2093
  name: O.name,
2094
2094
  category: T,
2095
2095
  type: "forecast",
2096
- movement: S
2096
+ movement: B
2097
2097
  });
2098
2098
  z.features.push(e);
2099
2099
  }
@@ -2102,8 +2102,8 @@ class t0 {
2102
2102
  if (z.features.sort((o, q) => o.properties.type === "forecast" && q.properties.type === "forecast" && o.geometry.type === "Point" && q.geometry.type === "Point" ? I(o.properties.date).valueOf() - I(q.properties.date).valueOf() : 0), (p = O.history) != null && p.length) {
2103
2103
  const o = [], q = I(A == null ? void 0 : A.updated).utc(), Y = I((c = O.history) == null ? void 0 : c.at(-1).updated).utc(), d = q.diff(Y, "h") % 24 > 2 ? 24 : 12;
2104
2104
  for (const L of O.history) {
2105
- const T = I(L.updated).utc(), S = T.isSameOrBefore(q) || T.isSame(Y);
2106
- S && q.add(-d, "h");
2105
+ const T = I(L.updated).utc(), B = T.isSameOrBefore(q) || T.isSame(Y);
2106
+ B && q.add(-d, "h");
2107
2107
  const e = N.point([L.lng, L.lat], {
2108
2108
  name: O.name,
2109
2109
  date: T.format(),
@@ -2115,7 +2115,7 @@ class t0 {
2115
2115
  category: `${O.name}-history`,
2116
2116
  wind: L.wind,
2117
2117
  movement: L.movement,
2118
- important: S
2118
+ important: B
2119
2119
  });
2120
2120
  z.features.push(e), o.push(e.geometry.coordinates);
2121
2121
  }
@@ -2143,15 +2143,15 @@ class t0 {
2143
2143
  var c, O, A, o;
2144
2144
  const b = (c = M == null ? void 0 : M.data) == null ? void 0 : c.features.filter((q) => q.geometry.type === "LineString" && q.properties.type === "forecast"), p = [];
2145
2145
  for (const q of b) {
2146
- const Y = q.properties.name, d = q.properties.model, L = q.properties.showCircle, T = q.properties.disabled, S = I(q.properties.date).utc();
2146
+ const Y = q.properties.name, d = q.properties.model, L = q.properties.showCircle, T = q.properties.disabled, B = I(q.properties.date).utc();
2147
2147
  let e = z * 60;
2148
- const r = (O = M == null ? void 0 : M.data) == null ? void 0 : O.features.filter(
2148
+ const S = (O = M == null ? void 0 : M.data) == null ? void 0 : O.features.filter(
2149
2149
  (P) => P.geometry.type === "Point" && P.properties.type === "forecast" && P.properties.category === `${Y}-${d}`
2150
2150
  );
2151
- let s, Z = S.clone().add(e, "minute").set({ minute: 0, second: 0, millisecond: 0 });
2152
- for (; s = this.pickIndex(r, Z), s <= r.length - 1; ) {
2151
+ let s, Z = B.clone().add(e, "minute").set({ minute: 0, second: 0, millisecond: 0 });
2152
+ for (; s = this.pickIndex(S, Z), s <= S.length - 1; ) {
2153
2153
  if (s > 0) {
2154
- const P = r[s], U = s === 0 ? void 0 : r[s - 1], m = (e / 60 - ((A = U == null ? void 0 : U.properties) == null ? void 0 : A.hour)) / (P.properties.hour - ((o = U == null ? void 0 : U.properties) == null ? void 0 : o.hour)), H = this.computeNumber(U == null ? void 0 : U.geometry.coordinates[0], P.geometry.coordinates[0], m), Q = this.computeNumber(U == null ? void 0 : U.geometry.coordinates[1], P.geometry.coordinates[1], m), F = N.point([H, Q], {
2154
+ const P = S[s], U = s === 0 ? void 0 : S[s - 1], m = (e / 60 - ((A = U == null ? void 0 : U.properties) == null ? void 0 : A.hour)) / (P.properties.hour - ((o = U == null ? void 0 : U.properties) == null ? void 0 : o.hour)), H = this.computeNumber(U == null ? void 0 : U.geometry.coordinates[0], P.geometry.coordinates[0], m), Q = this.computeNumber(U == null ? void 0 : U.geometry.coordinates[1], P.geometry.coordinates[1], m), F = N.point([H, Q], {
2155
2155
  name: Y,
2156
2156
  model: d,
2157
2157
  category: P == null ? void 0 : P.properties.category,
@@ -2168,7 +2168,7 @@ class t0 {
2168
2168
  });
2169
2169
  p.push(F);
2170
2170
  }
2171
- e += z * 60, Z = S.clone().add(e, "minute").set({ minute: 0, second: 0, millisecond: 0 });
2171
+ e += z * 60, Z = B.clone().add(e, "minute").set({ minute: 0, second: 0, millisecond: 0 });
2172
2172
  }
2173
2173
  }
2174
2174
  return p;
@@ -2198,9 +2198,9 @@ class t0 {
2198
2198
  const { t1: c, t2: O, hr: A, hours: o } = this.tropicalCenterTwin(z, 24, p);
2199
2199
  if (c && O) {
2200
2200
  if (!p.debug) {
2201
- const S = f.calculateDistance(M, c), e = f.calculateDistance(M, O);
2202
- if (S > 2 * b && e > 2 * b)
2203
- return E == null || E.info("[%s] the distance between from and t1(%d) and t2(%d) is enough, no need diversion: %j", p.requestId, S, e, {
2201
+ const B = f.calculateDistance(M, c), e = f.calculateDistance(M, O);
2202
+ if (B > 2 * b && e > 2 * b)
2203
+ return E == null || E.info("[%s] the distance between from and t1(%d) and t2(%d) is enough, no need diversion: %j", p.requestId, B, e, {
2204
2204
  from: M,
2205
2205
  t1: c,
2206
2206
  t2: O,
@@ -2237,9 +2237,9 @@ class t0 {
2237
2237
  const { t1: c, t2: O, hr: A, hours: o } = this.tropicalCenterTwin(z, 24, p);
2238
2238
  if (c && O) {
2239
2239
  if (!p.debug) {
2240
- const T = f.calculateDistance(M, c), S = f.calculateDistance(M, O);
2241
- if (T > 2 * b && S > 2 * b)
2242
- return E == null || E.info("[%s] the distance between from and t1(%d) and t2(%d) is enough, no need drifting: %j", p.requestId, T, S, {
2240
+ const T = f.calculateDistance(M, c), B = f.calculateDistance(M, O);
2241
+ if (T > 2 * b && B > 2 * b)
2242
+ return E == null || E.info("[%s] the distance between from and t1(%d) and t2(%d) is enough, no need drifting: %j", p.requestId, T, B, {
2243
2243
  from: M,
2244
2244
  t1: c,
2245
2245
  t2: O,
@@ -2260,7 +2260,7 @@ class t0 {
2260
2260
  * @private
2261
2261
  */
2262
2262
  static tropicalCenterTwin(M, z = 24, b = {}) {
2263
- var Y, d, L, T, S;
2263
+ var Y, d, L, T, B;
2264
2264
  let p = {};
2265
2265
  (Y = M.forecasts) == null || Y.forEach((e) => {
2266
2266
  p = { ...e.hours, ...p };
@@ -2268,7 +2268,7 @@ class t0 {
2268
2268
  const c = ((d = M == null ? void 0 : M.history) == null ? void 0 : d[0]) || (p == null ? void 0 : p[(L = Object.keys(p)) == null ? void 0 : L[0]]);
2269
2269
  E == null || E.info("[%s] the first tropical center: %j", b.requestId, c);
2270
2270
  let O = (T = Object.keys(p || {}).filter((e) => Number(e) <= (z < 0 ? 24 : z))) == null ? void 0 : T.at(-1);
2271
- O || (O = (S = Object.keys(p || {}).filter((e) => Number(e) <= (z < 0 ? 24 : 2 * z))) == null ? void 0 : S.at(-1));
2271
+ O || (O = (B = Object.keys(p || {}).filter((e) => Number(e) <= (z < 0 ? 24 : 2 * z))) == null ? void 0 : B.at(-1));
2272
2272
  const A = p == null ? void 0 : p[O || -1];
2273
2273
  E == null || E.info("[%s] the second tropical center: %j in %d hrs", b.requestId, A, O);
2274
2274
  const o = Object.keys(p || {}).filter((e) => Number(e) <= Number(O)), q = { 0: c };