mostlyright 1.2.0 → 1.4.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/README.md +16 -0
- package/dist/{chunk-WKPNA46C.mjs → chunk-7XWX6QZG.mjs} +581 -175
- package/dist/chunk-7XWX6QZG.mjs.map +1 -0
- package/dist/{chunk-64FNXDHG.mjs → chunk-TT6J2BKH.mjs} +2 -2
- package/dist/{chunk-64FNXDHG.mjs.map → chunk-TT6J2BKH.mjs.map} +1 -1
- package/dist/{iem-asos-2D5EP2FT.mjs → iem-asos-OLJNQPEM.mjs} +3 -3
- package/dist/index.bundle.mjs +1231 -327
- package/dist/index.bundle.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.global.js +1819 -497
- package/dist/index.global.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/{src-BBELB6SP.mjs → src-JXVFCGSQ.mjs} +14 -4
- package/package.json +4 -4
- package/dist/chunk-WKPNA46C.mjs.map +0 -1
- /package/dist/{iem-asos-2D5EP2FT.mjs.map → iem-asos-OLJNQPEM.mjs.map} +0 -0
- /package/dist/{src-BBELB6SP.mjs.map → src-JXVFCGSQ.mjs.map} +0 -0
package/dist/index.bundle.mjs
CHANGED
|
@@ -4,13 +4,15 @@ import {
|
|
|
4
4
|
buildIemUrl,
|
|
5
5
|
downloadIemAsos,
|
|
6
6
|
yearlyChunksExclusiveEnd
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TT6J2BKH.mjs";
|
|
8
8
|
import {
|
|
9
9
|
CLIMATE_REPORT_TYPE_PRIORITY,
|
|
10
10
|
DataAvailabilityError,
|
|
11
11
|
LiveStreamError,
|
|
12
12
|
NoLiveDataError,
|
|
13
13
|
NotFoundError,
|
|
14
|
+
NwpNotAvailableError,
|
|
15
|
+
OpenMeteoSeamlessLeakageError,
|
|
14
16
|
STATIONS,
|
|
15
17
|
STATION_BY_CODE,
|
|
16
18
|
STATION_BY_ICAO,
|
|
@@ -20,7 +22,7 @@ import {
|
|
|
20
22
|
helloCore,
|
|
21
23
|
settlementDateFor,
|
|
22
24
|
src_exports
|
|
23
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-7XWX6QZG.mjs";
|
|
24
26
|
import {
|
|
25
27
|
awcToObservation,
|
|
26
28
|
celsiusToFahrenheit,
|
|
@@ -68,6 +70,11 @@ __export(src_exports2, {
|
|
|
68
70
|
LiveStreamError: () => LiveStreamError,
|
|
69
71
|
NCEI_POLITE_DELAY_MS: () => NCEI_POLITE_DELAY_MS,
|
|
70
72
|
NoLiveDataError: () => NoLiveDataError,
|
|
73
|
+
OPEN_METEO_LIVE_URL: () => OPEN_METEO_LIVE_URL,
|
|
74
|
+
OPEN_METEO_MODELS: () => OPEN_METEO_MODELS,
|
|
75
|
+
OPEN_METEO_PREVIOUS_RUNS_URL: () => OPEN_METEO_PREVIOUS_RUNS_URL,
|
|
76
|
+
OPEN_METEO_SEAMLESS_URL: () => OPEN_METEO_SEAMLESS_URL,
|
|
77
|
+
OPEN_METEO_SINGLE_RUNS_URL: () => OPEN_METEO_SINGLE_RUNS_URL,
|
|
71
78
|
POLITE_FLOORS_S: () => POLITE_FLOORS_S,
|
|
72
79
|
SOURCE_IDENTITY_TAGS: () => SOURCE_IDENTITY_TAGS,
|
|
73
80
|
SSID_COLUMNS: () => SSID_COLUMNS,
|
|
@@ -94,6 +101,7 @@ __export(src_exports2, {
|
|
|
94
101
|
mapCloudCover: () => mapCloudCover,
|
|
95
102
|
mergeClimate: () => mergeClimate,
|
|
96
103
|
obs: () => obs,
|
|
104
|
+
openMeteoForecasts: () => openMeteoForecasts,
|
|
97
105
|
parseAwcVisibility: () => parseAwcVisibility,
|
|
98
106
|
parseCliRecord: () => parseCliRecord,
|
|
99
107
|
parseCliResponse: () => parseCliResponse,
|
|
@@ -767,9 +775,9 @@ function previousDayIso(iso) {
|
|
|
767
775
|
}
|
|
768
776
|
async function fetchIemLatest(station) {
|
|
769
777
|
const [{ fetchWithRetry: fetchWithRetry2 }, { STATION_CODE_RE: STATION_CODE_RE3 }, { buildIemUrl: buildIemUrl2 }, { parseIemCsv: parseIemCsv2 }] = await Promise.all([
|
|
770
|
-
import("./src-
|
|
778
|
+
import("./src-JXVFCGSQ.mjs"),
|
|
771
779
|
import("./bounds-KSTXL77E.mjs"),
|
|
772
|
-
import("./iem-asos-
|
|
780
|
+
import("./iem-asos-OLJNQPEM.mjs"),
|
|
773
781
|
import("./iem-IO2HIL5V.mjs")
|
|
774
782
|
]);
|
|
775
783
|
const icao = normalizeStation(station);
|
|
@@ -1017,16 +1025,378 @@ var IEM_MOS_COVERED_STATIONS = /* @__PURE__ */ new Set([
|
|
|
1017
1025
|
function buildHint(station, model) {
|
|
1018
1026
|
const hasMosCoverage = IEM_MOS_COVERED_STATIONS.has(station.toUpperCase());
|
|
1019
1027
|
const mosLine = hasMosCoverage ? `Workaround for ${station}: iemMosForecasts("${station}", ...) is available (IEM MOS catalog covers this station).` : `Workaround: this station has no IEM MOS coverage; use the Python SDK's mostlyright.forecast_nwp() in v1.x.`;
|
|
1020
|
-
return `forecastNwp(${station}, "${model}") is a v1.x stub. Browser GRIB2 decode is not production-ready in May 2026 (no eccodes / cfgrib equivalent for the browser; WASM compile time + bundle size make it impractical for v1.x). ${mosLine} See https://mostlyright.md/docs/sdk/typescript/forecasts
|
|
1028
|
+
return `forecastNwp(${station}, "${model}") is a v1.x stub. Browser GRIB2 decode is not production-ready in May 2026 (no eccodes / cfgrib equivalent for the browser; WASM compile time + bundle size make it impractical for v1.x). ${mosLine} See https://mostlyright.md/docs/sdk/typescript/nwp-forecasts/ for the architectural reason + v2.0+ tracking.`;
|
|
1021
1029
|
}
|
|
1022
1030
|
async function forecastNwp(station, model, _opts = {}) {
|
|
1023
|
-
throw new
|
|
1024
|
-
|
|
1025
|
-
|
|
1031
|
+
throw new NwpNotAvailableError({
|
|
1032
|
+
station,
|
|
1033
|
+
model,
|
|
1026
1034
|
hint: buildHint(station, model)
|
|
1027
1035
|
});
|
|
1028
1036
|
}
|
|
1029
1037
|
|
|
1038
|
+
// ../weather/src/forecasts/open-meteo-models.ts
|
|
1039
|
+
var OPEN_METEO_MODELS = /* @__PURE__ */ new Set([
|
|
1040
|
+
// NCEP (8)
|
|
1041
|
+
"gfs_seamless",
|
|
1042
|
+
"gfs_global",
|
|
1043
|
+
"gfs_graphcast025",
|
|
1044
|
+
"aigfs025",
|
|
1045
|
+
"hgefs025",
|
|
1046
|
+
"ncep_hrrr_conus",
|
|
1047
|
+
"ncep_nbm_conus",
|
|
1048
|
+
"ncep_nam_conus",
|
|
1049
|
+
// ECMWF (3)
|
|
1050
|
+
"ecmwf_ifs025",
|
|
1051
|
+
"ecmwf_ifs_hres",
|
|
1052
|
+
"ecmwf_aifs025_single",
|
|
1053
|
+
// DWD (5)
|
|
1054
|
+
"dwd_icon_seamless",
|
|
1055
|
+
"dwd_icon_global",
|
|
1056
|
+
"dwd_icon_eu",
|
|
1057
|
+
"dwd_icon_d2",
|
|
1058
|
+
"dwd_icon_d2_15min",
|
|
1059
|
+
// Météo-France (6)
|
|
1060
|
+
"meteofrance_seamless",
|
|
1061
|
+
"meteofrance_arpege_world025",
|
|
1062
|
+
"meteofrance_arpege_europe",
|
|
1063
|
+
"meteofrance_arome_france0025",
|
|
1064
|
+
"meteofrance_arome_france_hd",
|
|
1065
|
+
"meteofrance_arome_france_hd_15min",
|
|
1066
|
+
// Asia + Oceania (8)
|
|
1067
|
+
"jma_seamless",
|
|
1068
|
+
"jma_gsm",
|
|
1069
|
+
"jma_msm",
|
|
1070
|
+
"kma_seamless",
|
|
1071
|
+
"kma_gdps",
|
|
1072
|
+
"kma_ldps",
|
|
1073
|
+
"cma_grapes_global",
|
|
1074
|
+
"bom_access_global",
|
|
1075
|
+
// Europe (3)
|
|
1076
|
+
"ukmo_global_deterministic_10km",
|
|
1077
|
+
"ukmo_uk_deterministic_2km",
|
|
1078
|
+
"metno_nordic_pp",
|
|
1079
|
+
// GEM Canada (3)
|
|
1080
|
+
"cmc_gem_gdps",
|
|
1081
|
+
"cmc_gem_rdps",
|
|
1082
|
+
"cmc_gem_hrdps"
|
|
1083
|
+
]);
|
|
1084
|
+
var SIX_HOURLY = [0, 6, 12, 18];
|
|
1085
|
+
var THREE_HOURLY = [0, 3, 6, 9, 12, 15, 18, 21];
|
|
1086
|
+
var HOURLY = Array.from({ length: 24 }, (_, i) => i);
|
|
1087
|
+
var TWELVE_HOURLY = [0, 12];
|
|
1088
|
+
var CYCLE_HOURS = /* @__PURE__ */ new Map([
|
|
1089
|
+
// NCEP
|
|
1090
|
+
["gfs_seamless", SIX_HOURLY],
|
|
1091
|
+
["gfs_global", SIX_HOURLY],
|
|
1092
|
+
["gfs_graphcast025", SIX_HOURLY],
|
|
1093
|
+
["aigfs025", SIX_HOURLY],
|
|
1094
|
+
["hgefs025", SIX_HOURLY],
|
|
1095
|
+
["ncep_hrrr_conus", HOURLY],
|
|
1096
|
+
["ncep_nbm_conus", HOURLY],
|
|
1097
|
+
["ncep_nam_conus", SIX_HOURLY],
|
|
1098
|
+
// ECMWF
|
|
1099
|
+
["ecmwf_ifs025", SIX_HOURLY],
|
|
1100
|
+
["ecmwf_ifs_hres", SIX_HOURLY],
|
|
1101
|
+
["ecmwf_aifs025_single", SIX_HOURLY],
|
|
1102
|
+
// DWD
|
|
1103
|
+
["dwd_icon_seamless", SIX_HOURLY],
|
|
1104
|
+
["dwd_icon_global", SIX_HOURLY],
|
|
1105
|
+
["dwd_icon_eu", SIX_HOURLY],
|
|
1106
|
+
["dwd_icon_d2", THREE_HOURLY],
|
|
1107
|
+
["dwd_icon_d2_15min", THREE_HOURLY],
|
|
1108
|
+
// Météo-France
|
|
1109
|
+
["meteofrance_seamless", SIX_HOURLY],
|
|
1110
|
+
["meteofrance_arpege_world025", SIX_HOURLY],
|
|
1111
|
+
["meteofrance_arpege_europe", SIX_HOURLY],
|
|
1112
|
+
["meteofrance_arome_france0025", THREE_HOURLY],
|
|
1113
|
+
["meteofrance_arome_france_hd", THREE_HOURLY],
|
|
1114
|
+
["meteofrance_arome_france_hd_15min", THREE_HOURLY],
|
|
1115
|
+
// Asia + Oceania
|
|
1116
|
+
["jma_seamless", SIX_HOURLY],
|
|
1117
|
+
["jma_gsm", SIX_HOURLY],
|
|
1118
|
+
["jma_msm", THREE_HOURLY],
|
|
1119
|
+
["kma_seamless", SIX_HOURLY],
|
|
1120
|
+
["kma_gdps", SIX_HOURLY],
|
|
1121
|
+
["kma_ldps", THREE_HOURLY],
|
|
1122
|
+
["cma_grapes_global", SIX_HOURLY],
|
|
1123
|
+
["bom_access_global", SIX_HOURLY],
|
|
1124
|
+
// Europe
|
|
1125
|
+
["ukmo_global_deterministic_10km", SIX_HOURLY],
|
|
1126
|
+
["ukmo_uk_deterministic_2km", THREE_HOURLY],
|
|
1127
|
+
["metno_nordic_pp", HOURLY],
|
|
1128
|
+
// GEM Canada
|
|
1129
|
+
["cmc_gem_gdps", TWELVE_HOURLY],
|
|
1130
|
+
["cmc_gem_rdps", SIX_HOURLY],
|
|
1131
|
+
["cmc_gem_hrdps", SIX_HOURLY]
|
|
1132
|
+
]);
|
|
1133
|
+
var PUBLISH_LAG_HOURS = /* @__PURE__ */ new Map([
|
|
1134
|
+
// NCEP — global 6h, regional/mesoscale 2h
|
|
1135
|
+
["gfs_seamless", 6],
|
|
1136
|
+
["gfs_global", 6],
|
|
1137
|
+
["gfs_graphcast025", 6],
|
|
1138
|
+
["aigfs025", 6],
|
|
1139
|
+
["hgefs025", 6],
|
|
1140
|
+
["ncep_hrrr_conus", 2],
|
|
1141
|
+
["ncep_nbm_conus", 2],
|
|
1142
|
+
["ncep_nam_conus", 2],
|
|
1143
|
+
// ECMWF — global 6h
|
|
1144
|
+
["ecmwf_ifs025", 6],
|
|
1145
|
+
["ecmwf_ifs_hres", 6],
|
|
1146
|
+
["ecmwf_aifs025_single", 6],
|
|
1147
|
+
// DWD
|
|
1148
|
+
["dwd_icon_seamless", 4],
|
|
1149
|
+
["dwd_icon_global", 4],
|
|
1150
|
+
["dwd_icon_eu", 4],
|
|
1151
|
+
["dwd_icon_d2", 2],
|
|
1152
|
+
["dwd_icon_d2_15min", 2],
|
|
1153
|
+
// Météo-France
|
|
1154
|
+
["meteofrance_seamless", 4],
|
|
1155
|
+
["meteofrance_arpege_world025", 6],
|
|
1156
|
+
["meteofrance_arpege_europe", 4],
|
|
1157
|
+
["meteofrance_arome_france0025", 2],
|
|
1158
|
+
["meteofrance_arome_france_hd", 2],
|
|
1159
|
+
["meteofrance_arome_france_hd_15min", 2],
|
|
1160
|
+
// Asia + Oceania
|
|
1161
|
+
["jma_seamless", 6],
|
|
1162
|
+
["jma_gsm", 6],
|
|
1163
|
+
["jma_msm", 2],
|
|
1164
|
+
["kma_seamless", 6],
|
|
1165
|
+
["kma_gdps", 6],
|
|
1166
|
+
["kma_ldps", 2],
|
|
1167
|
+
["cma_grapes_global", 6],
|
|
1168
|
+
["bom_access_global", 6],
|
|
1169
|
+
// Europe
|
|
1170
|
+
["ukmo_global_deterministic_10km", 6],
|
|
1171
|
+
["ukmo_uk_deterministic_2km", 2],
|
|
1172
|
+
["metno_nordic_pp", 2],
|
|
1173
|
+
// GEM Canada
|
|
1174
|
+
["cmc_gem_gdps", 6],
|
|
1175
|
+
["cmc_gem_rdps", 4],
|
|
1176
|
+
["cmc_gem_hrdps", 2]
|
|
1177
|
+
]);
|
|
1178
|
+
function floorToCycleMs(valueUtcMs, cycleHours) {
|
|
1179
|
+
if (cycleHours.length === 0) {
|
|
1180
|
+
throw new Error("cycleHours must be non-empty");
|
|
1181
|
+
}
|
|
1182
|
+
const d = new Date(valueUtcMs);
|
|
1183
|
+
const hour = d.getUTCHours();
|
|
1184
|
+
const sorted = [...cycleHours].sort((a, b) => a - b);
|
|
1185
|
+
const candidates = sorted.filter((h) => h <= hour);
|
|
1186
|
+
if (candidates.length > 0) {
|
|
1187
|
+
const targetHour = candidates[candidates.length - 1];
|
|
1188
|
+
return Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), targetHour, 0, 0, 0);
|
|
1189
|
+
}
|
|
1190
|
+
const lastCycle = sorted[sorted.length - 1];
|
|
1191
|
+
const prior = new Date(valueUtcMs - 864e5);
|
|
1192
|
+
return Date.UTC(
|
|
1193
|
+
prior.getUTCFullYear(),
|
|
1194
|
+
prior.getUTCMonth(),
|
|
1195
|
+
prior.getUTCDate(),
|
|
1196
|
+
lastCycle,
|
|
1197
|
+
0,
|
|
1198
|
+
0,
|
|
1199
|
+
0
|
|
1200
|
+
);
|
|
1201
|
+
}
|
|
1202
|
+
function issuedAtFromPreviousDayMs(validAtUtcMs, N, cycleHours) {
|
|
1203
|
+
if (N < 1 || N > 7) {
|
|
1204
|
+
throw new Error(`N must be in 1..7 (Open-Meteo previous_dayN limit); got ${N}`);
|
|
1205
|
+
}
|
|
1206
|
+
return floorToCycleMs(validAtUtcMs - N * 864e5, cycleHours);
|
|
1207
|
+
}
|
|
1208
|
+
function issuedAtFromLiveCycleMathMs(nowUtcMs, publishLagHours, cycleHours) {
|
|
1209
|
+
return floorToCycleMs(nowUtcMs - publishLagHours * 36e5, cycleHours);
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
// ../weather/src/forecasts/open-meteo.ts
|
|
1213
|
+
var OPEN_METEO_PREVIOUS_RUNS_URL = "https://previous-runs-api.open-meteo.com/v1/forecast";
|
|
1214
|
+
var OPEN_METEO_SINGLE_RUNS_URL = "https://single-runs-api.open-meteo.com/v1/forecast";
|
|
1215
|
+
var OPEN_METEO_LIVE_URL = "https://api.open-meteo.com/v1/forecast";
|
|
1216
|
+
var OPEN_METEO_SEAMLESS_URL = "https://historical-forecast-api.open-meteo.com/v1/forecast";
|
|
1217
|
+
var VALID_MODES = /* @__PURE__ */ new Set(["training", "live", "seamless"]);
|
|
1218
|
+
var HOURLY_VARIABLES = [
|
|
1219
|
+
"temperature_2m",
|
|
1220
|
+
"dew_point_2m",
|
|
1221
|
+
"apparent_temperature",
|
|
1222
|
+
"wind_speed_10m",
|
|
1223
|
+
"wind_direction_10m",
|
|
1224
|
+
"wind_gusts_10m",
|
|
1225
|
+
"precipitation",
|
|
1226
|
+
"precipitation_probability",
|
|
1227
|
+
"cloud_cover",
|
|
1228
|
+
"surface_pressure",
|
|
1229
|
+
"pressure_msl",
|
|
1230
|
+
"shortwave_radiation",
|
|
1231
|
+
"direct_radiation",
|
|
1232
|
+
"cape",
|
|
1233
|
+
"freezing_level_height",
|
|
1234
|
+
"snow_depth",
|
|
1235
|
+
"visibility",
|
|
1236
|
+
"weather_code"
|
|
1237
|
+
];
|
|
1238
|
+
var STATION_COORDS = /* @__PURE__ */ new Map([
|
|
1239
|
+
["KNYC", { lat: 40.78, lon: -73.97 }],
|
|
1240
|
+
["KORD", { lat: 41.98, lon: -87.9 }],
|
|
1241
|
+
["KDEN", { lat: 39.86, lon: -104.67 }],
|
|
1242
|
+
["KMIA", { lat: 25.79, lon: -80.29 }],
|
|
1243
|
+
["KSEA", { lat: 47.45, lon: -122.31 }]
|
|
1244
|
+
]);
|
|
1245
|
+
function resolveCoords(station) {
|
|
1246
|
+
const coords = STATION_COORDS.get(station);
|
|
1247
|
+
if (coords) return coords;
|
|
1248
|
+
throw new Error(
|
|
1249
|
+
`openMeteoForecasts: station=${JSON.stringify(station)} not in built-in coords table; add to STATION_COORDS`
|
|
1250
|
+
);
|
|
1251
|
+
}
|
|
1252
|
+
function buildHourlyParam(endpoint) {
|
|
1253
|
+
if (endpoint === OPEN_METEO_PREVIOUS_RUNS_URL) {
|
|
1254
|
+
return HOURLY_VARIABLES.map((v) => `${v}_previous_day1`).join(",");
|
|
1255
|
+
}
|
|
1256
|
+
return HOURLY_VARIABLES.join(",");
|
|
1257
|
+
}
|
|
1258
|
+
function dispatchEndpoint(mode, opts) {
|
|
1259
|
+
if (mode === "training") {
|
|
1260
|
+
return opts.issuedAt ? OPEN_METEO_SINGLE_RUNS_URL : OPEN_METEO_PREVIOUS_RUNS_URL;
|
|
1261
|
+
}
|
|
1262
|
+
if (mode === "live") {
|
|
1263
|
+
return OPEN_METEO_LIVE_URL;
|
|
1264
|
+
}
|
|
1265
|
+
if (mode === "seamless") {
|
|
1266
|
+
if (!opts.allowLeakage) {
|
|
1267
|
+
throw new OpenMeteoSeamlessLeakageError(
|
|
1268
|
+
"Open-Meteo seamless endpoint is banned for training data (see Tarabcak/mostlyright#70). Pass allowLeakage: true to opt in; LeakageDetector will still reject these rows when asOf is asserted.",
|
|
1269
|
+
{
|
|
1270
|
+
model: opts.model,
|
|
1271
|
+
endpointUrl: OPEN_METEO_SEAMLESS_URL
|
|
1272
|
+
}
|
|
1273
|
+
);
|
|
1274
|
+
}
|
|
1275
|
+
return OPEN_METEO_SEAMLESS_URL;
|
|
1276
|
+
}
|
|
1277
|
+
throw new Error(`openMeteoForecasts: unknown mode ${JSON.stringify(mode)}`);
|
|
1278
|
+
}
|
|
1279
|
+
function isoIfNotNull(ms) {
|
|
1280
|
+
return ms === null ? null : new Date(ms).toISOString();
|
|
1281
|
+
}
|
|
1282
|
+
function maybeNumber2(value) {
|
|
1283
|
+
if (value === null || value === void 0) return null;
|
|
1284
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
1285
|
+
return Number.isFinite(n) ? n : null;
|
|
1286
|
+
}
|
|
1287
|
+
function pickHourlyValue(hourly, key, isPreviousRuns, idx) {
|
|
1288
|
+
const arr = isPreviousRuns ? hourly[`${key}_previous_day1`] ?? hourly[key] : hourly[key];
|
|
1289
|
+
if (!Array.isArray(arr) || idx >= arr.length) return null;
|
|
1290
|
+
return arr[idx];
|
|
1291
|
+
}
|
|
1292
|
+
async function openMeteoForecasts(station, fromDate, toDate, opts = {}) {
|
|
1293
|
+
const model = opts.model ?? "gfs_global";
|
|
1294
|
+
if (!OPEN_METEO_MODELS.has(model)) {
|
|
1295
|
+
throw new Error(
|
|
1296
|
+
`openMeteoForecasts: model must be one of OPEN_METEO_MODELS (36 keys); got ${JSON.stringify(model)}`
|
|
1297
|
+
);
|
|
1298
|
+
}
|
|
1299
|
+
const mode = opts.mode ?? "training";
|
|
1300
|
+
if (!VALID_MODES.has(mode)) {
|
|
1301
|
+
throw new Error(
|
|
1302
|
+
`openMeteoForecasts: mode must be one of training,live,seamless; got ${JSON.stringify(mode)}`
|
|
1303
|
+
);
|
|
1304
|
+
}
|
|
1305
|
+
const endpoint = dispatchEndpoint(mode, {
|
|
1306
|
+
allowLeakage: opts.allowLeakage ?? false,
|
|
1307
|
+
model,
|
|
1308
|
+
issuedAt: opts.issuedAt
|
|
1309
|
+
});
|
|
1310
|
+
const { lat, lon } = resolveCoords(station);
|
|
1311
|
+
const params = new URLSearchParams();
|
|
1312
|
+
params.set("latitude", String(lat));
|
|
1313
|
+
params.set("longitude", String(lon));
|
|
1314
|
+
params.set("start_date", fromDate);
|
|
1315
|
+
params.set("end_date", toDate);
|
|
1316
|
+
params.set("hourly", buildHourlyParam(endpoint));
|
|
1317
|
+
params.set("models", model);
|
|
1318
|
+
params.set("timezone", "UTC");
|
|
1319
|
+
if (endpoint === OPEN_METEO_SINGLE_RUNS_URL && opts.issuedAt) {
|
|
1320
|
+
params.set("run", opts.issuedAt);
|
|
1321
|
+
}
|
|
1322
|
+
const fetchFn = opts.fetchFn ?? fetch;
|
|
1323
|
+
const url = `${endpoint}?${params.toString()}`;
|
|
1324
|
+
const resp = await fetchFn(url);
|
|
1325
|
+
if (resp.status === 404) return [];
|
|
1326
|
+
if (!resp.ok) {
|
|
1327
|
+
throw new Error(`openMeteoForecasts: HTTP ${resp.status} on ${url}`);
|
|
1328
|
+
}
|
|
1329
|
+
const payload = await resp.json();
|
|
1330
|
+
const hourly = payload.hourly ?? {};
|
|
1331
|
+
const times = hourly.time ?? [];
|
|
1332
|
+
if (times.length === 0) return [];
|
|
1333
|
+
let source;
|
|
1334
|
+
if (endpoint === OPEN_METEO_PREVIOUS_RUNS_URL) {
|
|
1335
|
+
source = "open_meteo.previous_runs";
|
|
1336
|
+
} else if (endpoint === OPEN_METEO_SINGLE_RUNS_URL) {
|
|
1337
|
+
source = "open_meteo.single_run";
|
|
1338
|
+
} else if (endpoint === OPEN_METEO_LIVE_URL) {
|
|
1339
|
+
source = "open_meteo.live";
|
|
1340
|
+
} else {
|
|
1341
|
+
source = "open_meteo.seamless";
|
|
1342
|
+
}
|
|
1343
|
+
const cycleHours = CYCLE_HOURS.get(model) ?? [0, 6, 12, 18];
|
|
1344
|
+
const publishLag = PUBLISH_LAG_HOURS.get(model) ?? 6;
|
|
1345
|
+
const retrievedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1346
|
+
const nowMs = Date.now();
|
|
1347
|
+
const rows = [];
|
|
1348
|
+
for (let i = 0; i < times.length; i++) {
|
|
1349
|
+
const tIso = times[i] ?? "";
|
|
1350
|
+
if (!tIso) continue;
|
|
1351
|
+
const validAtMs = Date.parse(tIso.endsWith("Z") || tIso.includes("+") ? tIso : `${tIso}Z`);
|
|
1352
|
+
let issuedAtMs;
|
|
1353
|
+
if (source === "open_meteo.previous_runs") {
|
|
1354
|
+
issuedAtMs = issuedAtFromPreviousDayMs(validAtMs, 1, cycleHours);
|
|
1355
|
+
} else if (source === "open_meteo.single_run") {
|
|
1356
|
+
issuedAtMs = opts.issuedAt ? Date.parse(
|
|
1357
|
+
opts.issuedAt.endsWith("Z") || opts.issuedAt.includes("+") ? opts.issuedAt : `${opts.issuedAt}Z`
|
|
1358
|
+
) : null;
|
|
1359
|
+
} else if (source === "open_meteo.live") {
|
|
1360
|
+
issuedAtMs = issuedAtFromLiveCycleMathMs(nowMs, publishLag, cycleHours);
|
|
1361
|
+
} else {
|
|
1362
|
+
issuedAtMs = null;
|
|
1363
|
+
}
|
|
1364
|
+
const validAtIso = new Date(validAtMs).toISOString();
|
|
1365
|
+
const forecastHour = issuedAtMs === null ? null : Math.round((validAtMs - issuedAtMs) / 36e5);
|
|
1366
|
+
const isPrev = source === "open_meteo.previous_runs";
|
|
1367
|
+
const h = hourly;
|
|
1368
|
+
const popPct = maybeNumber2(pickHourlyValue(h, "precipitation_probability", isPrev, i));
|
|
1369
|
+
rows.push({
|
|
1370
|
+
station,
|
|
1371
|
+
model,
|
|
1372
|
+
issuedAt: isoIfNotNull(issuedAtMs),
|
|
1373
|
+
validAt: validAtIso,
|
|
1374
|
+
forecastHour,
|
|
1375
|
+
tempC: maybeNumber2(pickHourlyValue(h, "temperature_2m", isPrev, i)),
|
|
1376
|
+
dewPointC: maybeNumber2(pickHourlyValue(h, "dew_point_2m", isPrev, i)),
|
|
1377
|
+
apparentTempC: maybeNumber2(pickHourlyValue(h, "apparent_temperature", isPrev, i)),
|
|
1378
|
+
windSpeedMs: maybeNumber2(pickHourlyValue(h, "wind_speed_10m", isPrev, i)),
|
|
1379
|
+
windDirDeg: maybeNumber2(pickHourlyValue(h, "wind_direction_10m", isPrev, i)),
|
|
1380
|
+
windGustsMs: maybeNumber2(pickHourlyValue(h, "wind_gusts_10m", isPrev, i)),
|
|
1381
|
+
precipProbability: popPct === null ? null : popPct / 100,
|
|
1382
|
+
precipitationMm: maybeNumber2(pickHourlyValue(h, "precipitation", isPrev, i)),
|
|
1383
|
+
cloudCoverPct: maybeNumber2(pickHourlyValue(h, "cloud_cover", isPrev, i)),
|
|
1384
|
+
surfacePressureHpa: maybeNumber2(pickHourlyValue(h, "surface_pressure", isPrev, i)),
|
|
1385
|
+
pressureMslHpa: maybeNumber2(pickHourlyValue(h, "pressure_msl", isPrev, i)),
|
|
1386
|
+
shortwaveRadiationWm2: maybeNumber2(pickHourlyValue(h, "shortwave_radiation", isPrev, i)),
|
|
1387
|
+
directRadiationWm2: maybeNumber2(pickHourlyValue(h, "direct_radiation", isPrev, i)),
|
|
1388
|
+
capeJkg: maybeNumber2(pickHourlyValue(h, "cape", isPrev, i)),
|
|
1389
|
+
freezingLevelM: maybeNumber2(pickHourlyValue(h, "freezing_level_height", isPrev, i)),
|
|
1390
|
+
snowDepthM: maybeNumber2(pickHourlyValue(h, "snow_depth", isPrev, i)),
|
|
1391
|
+
visibilityM: maybeNumber2(pickHourlyValue(h, "visibility", isPrev, i)),
|
|
1392
|
+
weatherCode: maybeNumber2(pickHourlyValue(h, "weather_code", isPrev, i)),
|
|
1393
|
+
source,
|
|
1394
|
+
retrievedAt
|
|
1395
|
+
});
|
|
1396
|
+
}
|
|
1397
|
+
return rows;
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1030
1400
|
// ../core/dist/discovery/index.mjs
|
|
1031
1401
|
var STATIONS2 = [
|
|
1032
1402
|
{
|
|
@@ -1037,7 +1407,10 @@ var STATIONS2 = [
|
|
|
1037
1407
|
latitude: 52.3667,
|
|
1038
1408
|
longitude: 13.5033,
|
|
1039
1409
|
name: "Berlin Brandenburg",
|
|
1040
|
-
tz: "Europe/Berlin"
|
|
1410
|
+
tz: "Europe/Berlin",
|
|
1411
|
+
venues: [
|
|
1412
|
+
"polymarket"
|
|
1413
|
+
]
|
|
1041
1414
|
},
|
|
1042
1415
|
{
|
|
1043
1416
|
code: "EDDF",
|
|
@@ -1047,7 +1420,10 @@ var STATIONS2 = [
|
|
|
1047
1420
|
latitude: 50.0379,
|
|
1048
1421
|
longitude: 8.5622,
|
|
1049
1422
|
name: "Frankfurt am Main",
|
|
1050
|
-
tz: "Europe/Berlin"
|
|
1423
|
+
tz: "Europe/Berlin",
|
|
1424
|
+
venues: [
|
|
1425
|
+
"polymarket"
|
|
1426
|
+
]
|
|
1051
1427
|
},
|
|
1052
1428
|
{
|
|
1053
1429
|
code: "EDDM",
|
|
@@ -1057,7 +1433,10 @@ var STATIONS2 = [
|
|
|
1057
1433
|
latitude: 48.3538,
|
|
1058
1434
|
longitude: 11.7861,
|
|
1059
1435
|
name: "Munich Franz Josef Strauss",
|
|
1060
|
-
tz: "Europe/Berlin"
|
|
1436
|
+
tz: "Europe/Berlin",
|
|
1437
|
+
venues: [
|
|
1438
|
+
"polymarket"
|
|
1439
|
+
]
|
|
1061
1440
|
},
|
|
1062
1441
|
{
|
|
1063
1442
|
code: "EFHK",
|
|
@@ -1067,7 +1446,10 @@ var STATIONS2 = [
|
|
|
1067
1446
|
latitude: 60.3172,
|
|
1068
1447
|
longitude: 24.9633,
|
|
1069
1448
|
name: "Helsinki-Vantaa",
|
|
1070
|
-
tz: "Europe/Helsinki"
|
|
1449
|
+
tz: "Europe/Helsinki",
|
|
1450
|
+
venues: [
|
|
1451
|
+
"polymarket"
|
|
1452
|
+
]
|
|
1071
1453
|
},
|
|
1072
1454
|
{
|
|
1073
1455
|
code: "EGKK",
|
|
@@ -1077,7 +1459,10 @@ var STATIONS2 = [
|
|
|
1077
1459
|
latitude: 51.1481,
|
|
1078
1460
|
longitude: -0.1903,
|
|
1079
1461
|
name: "London Gatwick",
|
|
1080
|
-
tz: "Europe/London"
|
|
1462
|
+
tz: "Europe/London",
|
|
1463
|
+
venues: [
|
|
1464
|
+
"polymarket"
|
|
1465
|
+
]
|
|
1081
1466
|
},
|
|
1082
1467
|
{
|
|
1083
1468
|
code: "EGLL",
|
|
@@ -1087,7 +1472,10 @@ var STATIONS2 = [
|
|
|
1087
1472
|
latitude: 51.4706,
|
|
1088
1473
|
longitude: -0.4619,
|
|
1089
1474
|
name: "London Heathrow",
|
|
1090
|
-
tz: "Europe/London"
|
|
1475
|
+
tz: "Europe/London",
|
|
1476
|
+
venues: [
|
|
1477
|
+
"polymarket"
|
|
1478
|
+
]
|
|
1091
1479
|
},
|
|
1092
1480
|
{
|
|
1093
1481
|
code: "EHAM",
|
|
@@ -1097,7 +1485,10 @@ var STATIONS2 = [
|
|
|
1097
1485
|
latitude: 52.3086,
|
|
1098
1486
|
longitude: 4.7639,
|
|
1099
1487
|
name: "Amsterdam Schiphol",
|
|
1100
|
-
tz: "Europe/Amsterdam"
|
|
1488
|
+
tz: "Europe/Amsterdam",
|
|
1489
|
+
venues: [
|
|
1490
|
+
"polymarket"
|
|
1491
|
+
]
|
|
1101
1492
|
},
|
|
1102
1493
|
{
|
|
1103
1494
|
code: "EKCH",
|
|
@@ -1107,7 +1498,10 @@ var STATIONS2 = [
|
|
|
1107
1498
|
latitude: 55.6181,
|
|
1108
1499
|
longitude: 12.6561,
|
|
1109
1500
|
name: "Copenhagen Kastrup",
|
|
1110
|
-
tz: "Europe/Copenhagen"
|
|
1501
|
+
tz: "Europe/Copenhagen",
|
|
1502
|
+
venues: [
|
|
1503
|
+
"polymarket"
|
|
1504
|
+
]
|
|
1111
1505
|
},
|
|
1112
1506
|
{
|
|
1113
1507
|
code: "EPWA",
|
|
@@ -1117,7 +1511,10 @@ var STATIONS2 = [
|
|
|
1117
1511
|
latitude: 52.1657,
|
|
1118
1512
|
longitude: 20.9671,
|
|
1119
1513
|
name: "Warsaw Chopin",
|
|
1120
|
-
tz: "Europe/Warsaw"
|
|
1514
|
+
tz: "Europe/Warsaw",
|
|
1515
|
+
venues: [
|
|
1516
|
+
"polymarket"
|
|
1517
|
+
]
|
|
1121
1518
|
},
|
|
1122
1519
|
{
|
|
1123
1520
|
code: "ESSA",
|
|
@@ -1127,7 +1524,10 @@ var STATIONS2 = [
|
|
|
1127
1524
|
latitude: 59.6519,
|
|
1128
1525
|
longitude: 17.9186,
|
|
1129
1526
|
name: "Stockholm Arlanda",
|
|
1130
|
-
tz: "Europe/Stockholm"
|
|
1527
|
+
tz: "Europe/Stockholm",
|
|
1528
|
+
venues: [
|
|
1529
|
+
"polymarket"
|
|
1530
|
+
]
|
|
1131
1531
|
},
|
|
1132
1532
|
{
|
|
1133
1533
|
code: "ATL",
|
|
@@ -1137,7 +1537,11 @@ var STATIONS2 = [
|
|
|
1137
1537
|
latitude: 33.6407,
|
|
1138
1538
|
longitude: -84.4277,
|
|
1139
1539
|
name: "Hartsfield-Jackson Atlanta International",
|
|
1140
|
-
tz: "America/New_York"
|
|
1540
|
+
tz: "America/New_York",
|
|
1541
|
+
venues: [
|
|
1542
|
+
"kalshi",
|
|
1543
|
+
"polymarket"
|
|
1544
|
+
]
|
|
1141
1545
|
},
|
|
1142
1546
|
{
|
|
1143
1547
|
code: "AUS",
|
|
@@ -1147,7 +1551,24 @@ var STATIONS2 = [
|
|
|
1147
1551
|
latitude: 30.1975,
|
|
1148
1552
|
longitude: -97.6664,
|
|
1149
1553
|
name: "Austin-Bergstrom International",
|
|
1150
|
-
tz: "America/Chicago"
|
|
1554
|
+
tz: "America/Chicago",
|
|
1555
|
+
venues: [
|
|
1556
|
+
"kalshi",
|
|
1557
|
+
"polymarket"
|
|
1558
|
+
]
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
code: "BNA",
|
|
1562
|
+
country: "US",
|
|
1563
|
+
ghcnh_id: "USW00013897",
|
|
1564
|
+
icao: "KBNA",
|
|
1565
|
+
latitude: 36.1245,
|
|
1566
|
+
longitude: -86.6782,
|
|
1567
|
+
name: "Nashville International",
|
|
1568
|
+
tz: "America/Chicago",
|
|
1569
|
+
venues: [
|
|
1570
|
+
"kalshi"
|
|
1571
|
+
]
|
|
1151
1572
|
},
|
|
1152
1573
|
{
|
|
1153
1574
|
code: "BOS",
|
|
@@ -1157,7 +1578,24 @@ var STATIONS2 = [
|
|
|
1157
1578
|
latitude: 42.3656,
|
|
1158
1579
|
longitude: -71.0096,
|
|
1159
1580
|
name: "Boston Logan International",
|
|
1160
|
-
tz: "America/New_York"
|
|
1581
|
+
tz: "America/New_York",
|
|
1582
|
+
venues: [
|
|
1583
|
+
"kalshi",
|
|
1584
|
+
"polymarket"
|
|
1585
|
+
]
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
code: "CVG",
|
|
1589
|
+
country: "US",
|
|
1590
|
+
ghcnh_id: "USW00093814",
|
|
1591
|
+
icao: "KCVG",
|
|
1592
|
+
latitude: 39.0488,
|
|
1593
|
+
longitude: -84.6678,
|
|
1594
|
+
name: "Cincinnati/Northern Kentucky International",
|
|
1595
|
+
tz: "America/New_York",
|
|
1596
|
+
venues: [
|
|
1597
|
+
"kalshi"
|
|
1598
|
+
]
|
|
1161
1599
|
},
|
|
1162
1600
|
{
|
|
1163
1601
|
code: "DCA",
|
|
@@ -1167,7 +1605,11 @@ var STATIONS2 = [
|
|
|
1167
1605
|
latitude: 38.8512,
|
|
1168
1606
|
longitude: -77.0402,
|
|
1169
1607
|
name: "Washington Reagan National",
|
|
1170
|
-
tz: "America/New_York"
|
|
1608
|
+
tz: "America/New_York",
|
|
1609
|
+
venues: [
|
|
1610
|
+
"kalshi",
|
|
1611
|
+
"polymarket"
|
|
1612
|
+
]
|
|
1171
1613
|
},
|
|
1172
1614
|
{
|
|
1173
1615
|
code: "DEN",
|
|
@@ -1177,7 +1619,11 @@ var STATIONS2 = [
|
|
|
1177
1619
|
latitude: 39.8561,
|
|
1178
1620
|
longitude: -104.6737,
|
|
1179
1621
|
name: "Denver International",
|
|
1180
|
-
tz: "America/Denver"
|
|
1622
|
+
tz: "America/Denver",
|
|
1623
|
+
venues: [
|
|
1624
|
+
"kalshi",
|
|
1625
|
+
"polymarket"
|
|
1626
|
+
]
|
|
1181
1627
|
},
|
|
1182
1628
|
{
|
|
1183
1629
|
code: "DFW",
|
|
@@ -1187,7 +1633,25 @@ var STATIONS2 = [
|
|
|
1187
1633
|
latitude: 32.8998,
|
|
1188
1634
|
longitude: -97.0403,
|
|
1189
1635
|
name: "Dallas-Fort Worth International",
|
|
1190
|
-
tz: "America/Chicago"
|
|
1636
|
+
tz: "America/Chicago",
|
|
1637
|
+
venues: [
|
|
1638
|
+
"kalshi",
|
|
1639
|
+
"polymarket"
|
|
1640
|
+
]
|
|
1641
|
+
},
|
|
1642
|
+
{
|
|
1643
|
+
code: "DTW",
|
|
1644
|
+
country: "US",
|
|
1645
|
+
ghcnh_id: "USW00094847",
|
|
1646
|
+
icao: "KDTW",
|
|
1647
|
+
latitude: 42.2124,
|
|
1648
|
+
longitude: -83.3534,
|
|
1649
|
+
name: "Detroit Metropolitan Wayne County",
|
|
1650
|
+
tz: "America/New_York",
|
|
1651
|
+
venues: [
|
|
1652
|
+
"kalshi",
|
|
1653
|
+
"polymarket"
|
|
1654
|
+
]
|
|
1191
1655
|
},
|
|
1192
1656
|
{
|
|
1193
1657
|
code: "HOU",
|
|
@@ -1197,7 +1661,22 @@ var STATIONS2 = [
|
|
|
1197
1661
|
latitude: 29.6454,
|
|
1198
1662
|
longitude: -95.2789,
|
|
1199
1663
|
name: "Houston Hobby",
|
|
1200
|
-
tz: "America/Chicago"
|
|
1664
|
+
tz: "America/Chicago",
|
|
1665
|
+
venues: []
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
code: "IAH",
|
|
1669
|
+
country: "US",
|
|
1670
|
+
ghcnh_id: "USW00012960",
|
|
1671
|
+
icao: "KIAH",
|
|
1672
|
+
latitude: 29.9844,
|
|
1673
|
+
longitude: -95.3414,
|
|
1674
|
+
name: "Houston George Bush Intercontinental",
|
|
1675
|
+
tz: "America/Chicago",
|
|
1676
|
+
venues: [
|
|
1677
|
+
"kalshi",
|
|
1678
|
+
"polymarket"
|
|
1679
|
+
]
|
|
1201
1680
|
},
|
|
1202
1681
|
{
|
|
1203
1682
|
code: "LAS",
|
|
@@ -1207,7 +1686,10 @@ var STATIONS2 = [
|
|
|
1207
1686
|
latitude: 36.084,
|
|
1208
1687
|
longitude: -115.1537,
|
|
1209
1688
|
name: "Harry Reid (McCarran) International",
|
|
1210
|
-
tz: "America/Los_Angeles"
|
|
1689
|
+
tz: "America/Los_Angeles",
|
|
1690
|
+
venues: [
|
|
1691
|
+
"kalshi"
|
|
1692
|
+
]
|
|
1211
1693
|
},
|
|
1212
1694
|
{
|
|
1213
1695
|
code: "LAX",
|
|
@@ -1217,7 +1699,11 @@ var STATIONS2 = [
|
|
|
1217
1699
|
latitude: 33.9425,
|
|
1218
1700
|
longitude: -118.4081,
|
|
1219
1701
|
name: "Los Angeles International",
|
|
1220
|
-
tz: "America/Los_Angeles"
|
|
1702
|
+
tz: "America/Los_Angeles",
|
|
1703
|
+
venues: [
|
|
1704
|
+
"kalshi",
|
|
1705
|
+
"polymarket"
|
|
1706
|
+
]
|
|
1221
1707
|
},
|
|
1222
1708
|
{
|
|
1223
1709
|
code: "MDW",
|
|
@@ -1227,7 +1713,10 @@ var STATIONS2 = [
|
|
|
1227
1713
|
latitude: 41.7868,
|
|
1228
1714
|
longitude: -87.7522,
|
|
1229
1715
|
name: "Chicago Midway International",
|
|
1230
|
-
tz: "America/Chicago"
|
|
1716
|
+
tz: "America/Chicago",
|
|
1717
|
+
venues: [
|
|
1718
|
+
"kalshi"
|
|
1719
|
+
]
|
|
1231
1720
|
},
|
|
1232
1721
|
{
|
|
1233
1722
|
code: "MIA",
|
|
@@ -1237,7 +1726,11 @@ var STATIONS2 = [
|
|
|
1237
1726
|
latitude: 25.7959,
|
|
1238
1727
|
longitude: -80.287,
|
|
1239
1728
|
name: "Miami International",
|
|
1240
|
-
tz: "America/New_York"
|
|
1729
|
+
tz: "America/New_York",
|
|
1730
|
+
venues: [
|
|
1731
|
+
"kalshi",
|
|
1732
|
+
"polymarket"
|
|
1733
|
+
]
|
|
1241
1734
|
},
|
|
1242
1735
|
{
|
|
1243
1736
|
code: "MSP",
|
|
@@ -1247,7 +1740,11 @@ var STATIONS2 = [
|
|
|
1247
1740
|
latitude: 44.8848,
|
|
1248
1741
|
longitude: -93.2223,
|
|
1249
1742
|
name: "Minneapolis-St Paul International",
|
|
1250
|
-
tz: "America/Chicago"
|
|
1743
|
+
tz: "America/Chicago",
|
|
1744
|
+
venues: [
|
|
1745
|
+
"kalshi",
|
|
1746
|
+
"polymarket"
|
|
1747
|
+
]
|
|
1251
1748
|
},
|
|
1252
1749
|
{
|
|
1253
1750
|
code: "MSY",
|
|
@@ -1257,7 +1754,8 @@ var STATIONS2 = [
|
|
|
1257
1754
|
latitude: 29.9934,
|
|
1258
1755
|
longitude: -90.258,
|
|
1259
1756
|
name: "New Orleans Louis Armstrong International",
|
|
1260
|
-
tz: "America/Chicago"
|
|
1757
|
+
tz: "America/Chicago",
|
|
1758
|
+
venues: []
|
|
1261
1759
|
},
|
|
1262
1760
|
{
|
|
1263
1761
|
code: "NYC",
|
|
@@ -1267,7 +1765,10 @@ var STATIONS2 = [
|
|
|
1267
1765
|
latitude: 40.7789,
|
|
1268
1766
|
longitude: -73.9692,
|
|
1269
1767
|
name: "Central Park, New York",
|
|
1270
|
-
tz: "America/New_York"
|
|
1768
|
+
tz: "America/New_York",
|
|
1769
|
+
venues: [
|
|
1770
|
+
"kalshi"
|
|
1771
|
+
]
|
|
1271
1772
|
},
|
|
1272
1773
|
{
|
|
1273
1774
|
code: "OKC",
|
|
@@ -1277,7 +1778,8 @@ var STATIONS2 = [
|
|
|
1277
1778
|
latitude: 35.3931,
|
|
1278
1779
|
longitude: -97.6007,
|
|
1279
1780
|
name: "Oklahoma City Will Rogers World",
|
|
1280
|
-
tz: "America/Chicago"
|
|
1781
|
+
tz: "America/Chicago",
|
|
1782
|
+
venues: []
|
|
1281
1783
|
},
|
|
1282
1784
|
{
|
|
1283
1785
|
code: "PHL",
|
|
@@ -1287,7 +1789,11 @@ var STATIONS2 = [
|
|
|
1287
1789
|
latitude: 39.8721,
|
|
1288
1790
|
longitude: -75.2411,
|
|
1289
1791
|
name: "Philadelphia International",
|
|
1290
|
-
tz: "America/New_York"
|
|
1792
|
+
tz: "America/New_York",
|
|
1793
|
+
venues: [
|
|
1794
|
+
"kalshi",
|
|
1795
|
+
"polymarket"
|
|
1796
|
+
]
|
|
1291
1797
|
},
|
|
1292
1798
|
{
|
|
1293
1799
|
code: "PHX",
|
|
@@ -1297,7 +1803,11 @@ var STATIONS2 = [
|
|
|
1297
1803
|
latitude: 33.4373,
|
|
1298
1804
|
longitude: -112.0078,
|
|
1299
1805
|
name: "Phoenix Sky Harbor International",
|
|
1300
|
-
tz: "America/Phoenix"
|
|
1806
|
+
tz: "America/Phoenix",
|
|
1807
|
+
venues: [
|
|
1808
|
+
"kalshi",
|
|
1809
|
+
"polymarket"
|
|
1810
|
+
]
|
|
1301
1811
|
},
|
|
1302
1812
|
{
|
|
1303
1813
|
code: "SAT",
|
|
@@ -1307,7 +1817,8 @@ var STATIONS2 = [
|
|
|
1307
1817
|
latitude: 29.5337,
|
|
1308
1818
|
longitude: -98.4698,
|
|
1309
1819
|
name: "San Antonio International",
|
|
1310
|
-
tz: "America/Chicago"
|
|
1820
|
+
tz: "America/Chicago",
|
|
1821
|
+
venues: []
|
|
1311
1822
|
},
|
|
1312
1823
|
{
|
|
1313
1824
|
code: "SEA",
|
|
@@ -1317,7 +1828,11 @@ var STATIONS2 = [
|
|
|
1317
1828
|
latitude: 47.4502,
|
|
1318
1829
|
longitude: -122.3088,
|
|
1319
1830
|
name: "Seattle-Tacoma International",
|
|
1320
|
-
tz: "America/Los_Angeles"
|
|
1831
|
+
tz: "America/Los_Angeles",
|
|
1832
|
+
venues: [
|
|
1833
|
+
"kalshi",
|
|
1834
|
+
"polymarket"
|
|
1835
|
+
]
|
|
1321
1836
|
},
|
|
1322
1837
|
{
|
|
1323
1838
|
code: "SFO",
|
|
@@ -1327,7 +1842,24 @@ var STATIONS2 = [
|
|
|
1327
1842
|
latitude: 37.6213,
|
|
1328
1843
|
longitude: -122.379,
|
|
1329
1844
|
name: "San Francisco International",
|
|
1330
|
-
tz: "America/Los_Angeles"
|
|
1845
|
+
tz: "America/Los_Angeles",
|
|
1846
|
+
venues: [
|
|
1847
|
+
"kalshi",
|
|
1848
|
+
"polymarket"
|
|
1849
|
+
]
|
|
1850
|
+
},
|
|
1851
|
+
{
|
|
1852
|
+
code: "SLC",
|
|
1853
|
+
country: "US",
|
|
1854
|
+
ghcnh_id: "USW00024127",
|
|
1855
|
+
icao: "KSLC",
|
|
1856
|
+
latitude: 40.7884,
|
|
1857
|
+
longitude: -111.9778,
|
|
1858
|
+
name: "Salt Lake City International",
|
|
1859
|
+
tz: "America/Denver",
|
|
1860
|
+
venues: [
|
|
1861
|
+
"kalshi"
|
|
1862
|
+
]
|
|
1331
1863
|
},
|
|
1332
1864
|
{
|
|
1333
1865
|
code: "LEBL",
|
|
@@ -1337,7 +1869,10 @@ var STATIONS2 = [
|
|
|
1337
1869
|
latitude: 41.2974,
|
|
1338
1870
|
longitude: 2.0833,
|
|
1339
1871
|
name: "Barcelona El Prat",
|
|
1340
|
-
tz: "Europe/Madrid"
|
|
1872
|
+
tz: "Europe/Madrid",
|
|
1873
|
+
venues: [
|
|
1874
|
+
"polymarket"
|
|
1875
|
+
]
|
|
1341
1876
|
},
|
|
1342
1877
|
{
|
|
1343
1878
|
code: "LEMD",
|
|
@@ -1347,7 +1882,10 @@ var STATIONS2 = [
|
|
|
1347
1882
|
latitude: 40.4719,
|
|
1348
1883
|
longitude: -3.5626,
|
|
1349
1884
|
name: "Madrid Barajas",
|
|
1350
|
-
tz: "Europe/Madrid"
|
|
1885
|
+
tz: "Europe/Madrid",
|
|
1886
|
+
venues: [
|
|
1887
|
+
"polymarket"
|
|
1888
|
+
]
|
|
1351
1889
|
},
|
|
1352
1890
|
{
|
|
1353
1891
|
code: "LFPB",
|
|
@@ -1357,7 +1895,10 @@ var STATIONS2 = [
|
|
|
1357
1895
|
latitude: 48.9694,
|
|
1358
1896
|
longitude: 2.4414,
|
|
1359
1897
|
name: "Paris Le Bourget",
|
|
1360
|
-
tz: "Europe/Paris"
|
|
1898
|
+
tz: "Europe/Paris",
|
|
1899
|
+
venues: [
|
|
1900
|
+
"polymarket"
|
|
1901
|
+
]
|
|
1361
1902
|
},
|
|
1362
1903
|
{
|
|
1363
1904
|
code: "LFPG",
|
|
@@ -1367,7 +1908,10 @@ var STATIONS2 = [
|
|
|
1367
1908
|
latitude: 49.0097,
|
|
1368
1909
|
longitude: 2.5479,
|
|
1369
1910
|
name: "Paris Charles de Gaulle",
|
|
1370
|
-
tz: "Europe/Paris"
|
|
1911
|
+
tz: "Europe/Paris",
|
|
1912
|
+
venues: [
|
|
1913
|
+
"polymarket"
|
|
1914
|
+
]
|
|
1371
1915
|
},
|
|
1372
1916
|
{
|
|
1373
1917
|
code: "LFPO",
|
|
@@ -1377,7 +1921,10 @@ var STATIONS2 = [
|
|
|
1377
1921
|
latitude: 48.7233,
|
|
1378
1922
|
longitude: 2.3794,
|
|
1379
1923
|
name: "Paris Orly",
|
|
1380
|
-
tz: "Europe/Paris"
|
|
1924
|
+
tz: "Europe/Paris",
|
|
1925
|
+
venues: [
|
|
1926
|
+
"polymarket"
|
|
1927
|
+
]
|
|
1381
1928
|
},
|
|
1382
1929
|
{
|
|
1383
1930
|
code: "LIMC",
|
|
@@ -1387,7 +1934,10 @@ var STATIONS2 = [
|
|
|
1387
1934
|
latitude: 45.6306,
|
|
1388
1935
|
longitude: 8.7281,
|
|
1389
1936
|
name: "Milan Malpensa",
|
|
1390
|
-
tz: "Europe/Rome"
|
|
1937
|
+
tz: "Europe/Rome",
|
|
1938
|
+
venues: [
|
|
1939
|
+
"polymarket"
|
|
1940
|
+
]
|
|
1391
1941
|
},
|
|
1392
1942
|
{
|
|
1393
1943
|
code: "LIRF",
|
|
@@ -1397,7 +1947,10 @@ var STATIONS2 = [
|
|
|
1397
1947
|
latitude: 41.8003,
|
|
1398
1948
|
longitude: 12.2389,
|
|
1399
1949
|
name: "Rome Fiumicino",
|
|
1400
|
-
tz: "Europe/Rome"
|
|
1950
|
+
tz: "Europe/Rome",
|
|
1951
|
+
venues: [
|
|
1952
|
+
"polymarket"
|
|
1953
|
+
]
|
|
1401
1954
|
},
|
|
1402
1955
|
{
|
|
1403
1956
|
code: "LOWW",
|
|
@@ -1407,7 +1960,10 @@ var STATIONS2 = [
|
|
|
1407
1960
|
latitude: 48.1103,
|
|
1408
1961
|
longitude: 16.5697,
|
|
1409
1962
|
name: "Vienna International",
|
|
1410
|
-
tz: "Europe/Vienna"
|
|
1963
|
+
tz: "Europe/Vienna",
|
|
1964
|
+
venues: [
|
|
1965
|
+
"polymarket"
|
|
1966
|
+
]
|
|
1411
1967
|
},
|
|
1412
1968
|
{
|
|
1413
1969
|
code: "LSZH",
|
|
@@ -1417,7 +1973,10 @@ var STATIONS2 = [
|
|
|
1417
1973
|
latitude: 47.4647,
|
|
1418
1974
|
longitude: 8.5492,
|
|
1419
1975
|
name: "Zurich",
|
|
1420
|
-
tz: "Europe/Zurich"
|
|
1976
|
+
tz: "Europe/Zurich",
|
|
1977
|
+
venues: [
|
|
1978
|
+
"polymarket"
|
|
1979
|
+
]
|
|
1421
1980
|
},
|
|
1422
1981
|
{
|
|
1423
1982
|
code: "NZAA",
|
|
@@ -1427,7 +1986,10 @@ var STATIONS2 = [
|
|
|
1427
1986
|
latitude: -37.0081,
|
|
1428
1987
|
longitude: 174.7917,
|
|
1429
1988
|
name: "Auckland",
|
|
1430
|
-
tz: "Pacific/Auckland"
|
|
1989
|
+
tz: "Pacific/Auckland",
|
|
1990
|
+
venues: [
|
|
1991
|
+
"polymarket"
|
|
1992
|
+
]
|
|
1431
1993
|
},
|
|
1432
1994
|
{
|
|
1433
1995
|
code: "NZWN",
|
|
@@ -1437,7 +1999,10 @@ var STATIONS2 = [
|
|
|
1437
1999
|
latitude: -41.3272,
|
|
1438
2000
|
longitude: 174.8053,
|
|
1439
2001
|
name: "Wellington",
|
|
1440
|
-
tz: "Pacific/Auckland"
|
|
2002
|
+
tz: "Pacific/Auckland",
|
|
2003
|
+
venues: [
|
|
2004
|
+
"polymarket"
|
|
2005
|
+
]
|
|
1441
2006
|
},
|
|
1442
2007
|
{
|
|
1443
2008
|
code: "OERK",
|
|
@@ -1447,7 +2012,10 @@ var STATIONS2 = [
|
|
|
1447
2012
|
latitude: 24.9576,
|
|
1448
2013
|
longitude: 46.6988,
|
|
1449
2014
|
name: "Riyadh King Khalid International",
|
|
1450
|
-
tz: "Asia/Riyadh"
|
|
2015
|
+
tz: "Asia/Riyadh",
|
|
2016
|
+
venues: [
|
|
2017
|
+
"polymarket"
|
|
2018
|
+
]
|
|
1451
2019
|
},
|
|
1452
2020
|
{
|
|
1453
2021
|
code: "OMDB",
|
|
@@ -1457,7 +2025,10 @@ var STATIONS2 = [
|
|
|
1457
2025
|
latitude: 25.2532,
|
|
1458
2026
|
longitude: 55.3657,
|
|
1459
2027
|
name: "Dubai International",
|
|
1460
|
-
tz: "Asia/Dubai"
|
|
2028
|
+
tz: "Asia/Dubai",
|
|
2029
|
+
venues: [
|
|
2030
|
+
"polymarket"
|
|
2031
|
+
]
|
|
1461
2032
|
},
|
|
1462
2033
|
{
|
|
1463
2034
|
code: "OTHH",
|
|
@@ -1467,7 +2038,10 @@ var STATIONS2 = [
|
|
|
1467
2038
|
latitude: 25.2731,
|
|
1468
2039
|
longitude: 51.608,
|
|
1469
2040
|
name: "Doha Hamad International",
|
|
1470
|
-
tz: "Asia/Qatar"
|
|
2041
|
+
tz: "Asia/Qatar",
|
|
2042
|
+
venues: [
|
|
2043
|
+
"polymarket"
|
|
2044
|
+
]
|
|
1471
2045
|
},
|
|
1472
2046
|
{
|
|
1473
2047
|
code: "RCTP",
|
|
@@ -1477,7 +2051,10 @@ var STATIONS2 = [
|
|
|
1477
2051
|
latitude: 25.0777,
|
|
1478
2052
|
longitude: 121.2328,
|
|
1479
2053
|
name: "Taipei Taoyuan",
|
|
1480
|
-
tz: "Asia/Taipei"
|
|
2054
|
+
tz: "Asia/Taipei",
|
|
2055
|
+
venues: [
|
|
2056
|
+
"polymarket"
|
|
2057
|
+
]
|
|
1481
2058
|
},
|
|
1482
2059
|
{
|
|
1483
2060
|
code: "RJAA",
|
|
@@ -1487,7 +2064,10 @@ var STATIONS2 = [
|
|
|
1487
2064
|
latitude: 35.7647,
|
|
1488
2065
|
longitude: 140.3864,
|
|
1489
2066
|
name: "Tokyo Narita",
|
|
1490
|
-
tz: "Asia/Tokyo"
|
|
2067
|
+
tz: "Asia/Tokyo",
|
|
2068
|
+
venues: [
|
|
2069
|
+
"polymarket"
|
|
2070
|
+
]
|
|
1491
2071
|
},
|
|
1492
2072
|
{
|
|
1493
2073
|
code: "RJTT",
|
|
@@ -1497,7 +2077,10 @@ var STATIONS2 = [
|
|
|
1497
2077
|
latitude: 35.5522,
|
|
1498
2078
|
longitude: 139.78,
|
|
1499
2079
|
name: "Tokyo Haneda",
|
|
1500
|
-
tz: "Asia/Tokyo"
|
|
2080
|
+
tz: "Asia/Tokyo",
|
|
2081
|
+
venues: [
|
|
2082
|
+
"polymarket"
|
|
2083
|
+
]
|
|
1501
2084
|
},
|
|
1502
2085
|
{
|
|
1503
2086
|
code: "RKSI",
|
|
@@ -1507,7 +2090,10 @@ var STATIONS2 = [
|
|
|
1507
2090
|
latitude: 37.4691,
|
|
1508
2091
|
longitude: 126.4505,
|
|
1509
2092
|
name: "Seoul Incheon",
|
|
1510
|
-
tz: "Asia/Seoul"
|
|
2093
|
+
tz: "Asia/Seoul",
|
|
2094
|
+
venues: [
|
|
2095
|
+
"polymarket"
|
|
2096
|
+
]
|
|
1511
2097
|
},
|
|
1512
2098
|
{
|
|
1513
2099
|
code: "SAEZ",
|
|
@@ -1517,7 +2103,10 @@ var STATIONS2 = [
|
|
|
1517
2103
|
latitude: -34.8222,
|
|
1518
2104
|
longitude: -58.5358,
|
|
1519
2105
|
name: "Buenos Aires Ezeiza",
|
|
1520
|
-
tz: "America/Argentina/Buenos_Aires"
|
|
2106
|
+
tz: "America/Argentina/Buenos_Aires",
|
|
2107
|
+
venues: [
|
|
2108
|
+
"polymarket"
|
|
2109
|
+
]
|
|
1521
2110
|
},
|
|
1522
2111
|
{
|
|
1523
2112
|
code: "SBGR",
|
|
@@ -1527,7 +2116,10 @@ var STATIONS2 = [
|
|
|
1527
2116
|
latitude: -23.4356,
|
|
1528
2117
|
longitude: -46.4731,
|
|
1529
2118
|
name: "S\xE3o Paulo Guarulhos",
|
|
1530
|
-
tz: "America/Sao_Paulo"
|
|
2119
|
+
tz: "America/Sao_Paulo",
|
|
2120
|
+
venues: [
|
|
2121
|
+
"polymarket"
|
|
2122
|
+
]
|
|
1531
2123
|
},
|
|
1532
2124
|
{
|
|
1533
2125
|
code: "UUEE",
|
|
@@ -1537,7 +2129,10 @@ var STATIONS2 = [
|
|
|
1537
2129
|
latitude: 55.9728,
|
|
1538
2130
|
longitude: 37.4147,
|
|
1539
2131
|
name: "Moscow Sheremetyevo",
|
|
1540
|
-
tz: "Europe/Moscow"
|
|
2132
|
+
tz: "Europe/Moscow",
|
|
2133
|
+
venues: [
|
|
2134
|
+
"polymarket"
|
|
2135
|
+
]
|
|
1541
2136
|
},
|
|
1542
2137
|
{
|
|
1543
2138
|
code: "VABB",
|
|
@@ -1547,7 +2142,10 @@ var STATIONS2 = [
|
|
|
1547
2142
|
latitude: 19.0887,
|
|
1548
2143
|
longitude: 72.8679,
|
|
1549
2144
|
name: "Mumbai Chhatrapati Shivaji",
|
|
1550
|
-
tz: "Asia/Kolkata"
|
|
2145
|
+
tz: "Asia/Kolkata",
|
|
2146
|
+
venues: [
|
|
2147
|
+
"polymarket"
|
|
2148
|
+
]
|
|
1551
2149
|
},
|
|
1552
2150
|
{
|
|
1553
2151
|
code: "VHHH",
|
|
@@ -1557,7 +2155,10 @@ var STATIONS2 = [
|
|
|
1557
2155
|
latitude: 22.308,
|
|
1558
2156
|
longitude: 113.9185,
|
|
1559
2157
|
name: "Hong Kong International",
|
|
1560
|
-
tz: "Asia/Hong_Kong"
|
|
2158
|
+
tz: "Asia/Hong_Kong",
|
|
2159
|
+
venues: [
|
|
2160
|
+
"polymarket"
|
|
2161
|
+
]
|
|
1561
2162
|
},
|
|
1562
2163
|
{
|
|
1563
2164
|
code: "VIDP",
|
|
@@ -1567,7 +2168,10 @@ var STATIONS2 = [
|
|
|
1567
2168
|
latitude: 28.5562,
|
|
1568
2169
|
longitude: 77.1,
|
|
1569
2170
|
name: "Delhi Indira Gandhi",
|
|
1570
|
-
tz: "Asia/Kolkata"
|
|
2171
|
+
tz: "Asia/Kolkata",
|
|
2172
|
+
venues: [
|
|
2173
|
+
"polymarket"
|
|
2174
|
+
]
|
|
1571
2175
|
},
|
|
1572
2176
|
{
|
|
1573
2177
|
code: "VTBS",
|
|
@@ -1577,7 +2181,10 @@ var STATIONS2 = [
|
|
|
1577
2181
|
latitude: 13.69,
|
|
1578
2182
|
longitude: 100.7501,
|
|
1579
2183
|
name: "Bangkok Suvarnabhumi",
|
|
1580
|
-
tz: "Asia/Bangkok"
|
|
2184
|
+
tz: "Asia/Bangkok",
|
|
2185
|
+
venues: [
|
|
2186
|
+
"polymarket"
|
|
2187
|
+
]
|
|
1581
2188
|
},
|
|
1582
2189
|
{
|
|
1583
2190
|
code: "WSSS",
|
|
@@ -1587,7 +2194,10 @@ var STATIONS2 = [
|
|
|
1587
2194
|
latitude: 1.3644,
|
|
1588
2195
|
longitude: 103.9915,
|
|
1589
2196
|
name: "Singapore Changi",
|
|
1590
|
-
tz: "Asia/Singapore"
|
|
2197
|
+
tz: "Asia/Singapore",
|
|
2198
|
+
venues: [
|
|
2199
|
+
"polymarket"
|
|
2200
|
+
]
|
|
1591
2201
|
},
|
|
1592
2202
|
{
|
|
1593
2203
|
code: "YBBN",
|
|
@@ -1597,7 +2207,10 @@ var STATIONS2 = [
|
|
|
1597
2207
|
latitude: -27.3842,
|
|
1598
2208
|
longitude: 153.1175,
|
|
1599
2209
|
name: "Brisbane",
|
|
1600
|
-
tz: "Australia/Brisbane"
|
|
2210
|
+
tz: "Australia/Brisbane",
|
|
2211
|
+
venues: [
|
|
2212
|
+
"polymarket"
|
|
2213
|
+
]
|
|
1601
2214
|
},
|
|
1602
2215
|
{
|
|
1603
2216
|
code: "YMML",
|
|
@@ -1607,7 +2220,10 @@ var STATIONS2 = [
|
|
|
1607
2220
|
latitude: -37.6733,
|
|
1608
2221
|
longitude: 144.8433,
|
|
1609
2222
|
name: "Melbourne Tullamarine",
|
|
1610
|
-
tz: "Australia/Melbourne"
|
|
2223
|
+
tz: "Australia/Melbourne",
|
|
2224
|
+
venues: [
|
|
2225
|
+
"polymarket"
|
|
2226
|
+
]
|
|
1611
2227
|
},
|
|
1612
2228
|
{
|
|
1613
2229
|
code: "YSSY",
|
|
@@ -1617,7 +2233,10 @@ var STATIONS2 = [
|
|
|
1617
2233
|
latitude: -33.9461,
|
|
1618
2234
|
longitude: 151.1772,
|
|
1619
2235
|
name: "Sydney Kingsford Smith",
|
|
1620
|
-
tz: "Australia/Sydney"
|
|
2236
|
+
tz: "Australia/Sydney",
|
|
2237
|
+
venues: [
|
|
2238
|
+
"polymarket"
|
|
2239
|
+
]
|
|
1621
2240
|
},
|
|
1622
2241
|
{
|
|
1623
2242
|
code: "ZBAA",
|
|
@@ -1627,7 +2246,10 @@ var STATIONS2 = [
|
|
|
1627
2246
|
latitude: 40.0801,
|
|
1628
2247
|
longitude: 116.5846,
|
|
1629
2248
|
name: "Beijing Capital",
|
|
1630
|
-
tz: "Asia/Shanghai"
|
|
2249
|
+
tz: "Asia/Shanghai",
|
|
2250
|
+
venues: [
|
|
2251
|
+
"polymarket"
|
|
2252
|
+
]
|
|
1631
2253
|
},
|
|
1632
2254
|
{
|
|
1633
2255
|
code: "ZSPD",
|
|
@@ -1637,16 +2259,22 @@ var STATIONS2 = [
|
|
|
1637
2259
|
latitude: 31.1443,
|
|
1638
2260
|
longitude: 121.8083,
|
|
1639
2261
|
name: "Shanghai Pudong",
|
|
1640
|
-
tz: "Asia/Shanghai"
|
|
2262
|
+
tz: "Asia/Shanghai",
|
|
2263
|
+
venues: [
|
|
2264
|
+
"polymarket"
|
|
2265
|
+
]
|
|
1641
2266
|
}
|
|
1642
2267
|
];
|
|
1643
2268
|
var STATION_BY_CODE2 = /* @__PURE__ */ new Map([
|
|
1644
2269
|
["ATL", STATIONS2[10]],
|
|
1645
2270
|
["AUS", STATIONS2[11]],
|
|
1646
|
-
["
|
|
1647
|
-
["
|
|
1648
|
-
["
|
|
1649
|
-
["
|
|
2271
|
+
["BNA", STATIONS2[12]],
|
|
2272
|
+
["BOS", STATIONS2[13]],
|
|
2273
|
+
["CVG", STATIONS2[14]],
|
|
2274
|
+
["DCA", STATIONS2[15]],
|
|
2275
|
+
["DEN", STATIONS2[16]],
|
|
2276
|
+
["DFW", STATIONS2[17]],
|
|
2277
|
+
["DTW", STATIONS2[18]],
|
|
1650
2278
|
["EDDB", STATIONS2[0]],
|
|
1651
2279
|
["EDDF", STATIONS2[1]],
|
|
1652
2280
|
["EDDM", STATIONS2[2]],
|
|
@@ -1657,51 +2285,53 @@ var STATION_BY_CODE2 = /* @__PURE__ */ new Map([
|
|
|
1657
2285
|
["EKCH", STATIONS2[7]],
|
|
1658
2286
|
["EPWA", STATIONS2[8]],
|
|
1659
2287
|
["ESSA", STATIONS2[9]],
|
|
1660
|
-
["HOU", STATIONS2[
|
|
1661
|
-
["
|
|
1662
|
-
["
|
|
1663
|
-
["
|
|
1664
|
-
["
|
|
1665
|
-
["
|
|
1666
|
-
["
|
|
1667
|
-
["
|
|
1668
|
-
["
|
|
1669
|
-
["
|
|
1670
|
-
["
|
|
1671
|
-
["
|
|
1672
|
-
["
|
|
1673
|
-
["
|
|
1674
|
-
["
|
|
1675
|
-
["
|
|
1676
|
-
["
|
|
1677
|
-
["
|
|
1678
|
-
["
|
|
1679
|
-
["
|
|
1680
|
-
["
|
|
1681
|
-
["
|
|
1682
|
-
["
|
|
1683
|
-
["
|
|
1684
|
-
["
|
|
1685
|
-
["
|
|
1686
|
-
["
|
|
1687
|
-
["
|
|
1688
|
-
["
|
|
1689
|
-
["
|
|
1690
|
-
["
|
|
1691
|
-
["
|
|
1692
|
-
["
|
|
1693
|
-
["
|
|
1694
|
-
["
|
|
1695
|
-
["
|
|
1696
|
-
["
|
|
1697
|
-
["
|
|
1698
|
-
["
|
|
1699
|
-
["
|
|
1700
|
-
["
|
|
1701
|
-
["
|
|
1702
|
-
["
|
|
1703
|
-
["
|
|
1704
|
-
["
|
|
2288
|
+
["HOU", STATIONS2[19]],
|
|
2289
|
+
["IAH", STATIONS2[20]],
|
|
2290
|
+
["LAS", STATIONS2[21]],
|
|
2291
|
+
["LAX", STATIONS2[22]],
|
|
2292
|
+
["LEBL", STATIONS2[35]],
|
|
2293
|
+
["LEMD", STATIONS2[36]],
|
|
2294
|
+
["LFPB", STATIONS2[37]],
|
|
2295
|
+
["LFPG", STATIONS2[38]],
|
|
2296
|
+
["LFPO", STATIONS2[39]],
|
|
2297
|
+
["LIMC", STATIONS2[40]],
|
|
2298
|
+
["LIRF", STATIONS2[41]],
|
|
2299
|
+
["LOWW", STATIONS2[42]],
|
|
2300
|
+
["LSZH", STATIONS2[43]],
|
|
2301
|
+
["MDW", STATIONS2[23]],
|
|
2302
|
+
["MIA", STATIONS2[24]],
|
|
2303
|
+
["MSP", STATIONS2[25]],
|
|
2304
|
+
["MSY", STATIONS2[26]],
|
|
2305
|
+
["NYC", STATIONS2[27]],
|
|
2306
|
+
["NZAA", STATIONS2[44]],
|
|
2307
|
+
["NZWN", STATIONS2[45]],
|
|
2308
|
+
["OERK", STATIONS2[46]],
|
|
2309
|
+
["OKC", STATIONS2[28]],
|
|
2310
|
+
["OMDB", STATIONS2[47]],
|
|
2311
|
+
["OTHH", STATIONS2[48]],
|
|
2312
|
+
["PHL", STATIONS2[29]],
|
|
2313
|
+
["PHX", STATIONS2[30]],
|
|
2314
|
+
["RCTP", STATIONS2[49]],
|
|
2315
|
+
["RJAA", STATIONS2[50]],
|
|
2316
|
+
["RJTT", STATIONS2[51]],
|
|
2317
|
+
["RKSI", STATIONS2[52]],
|
|
2318
|
+
["SAEZ", STATIONS2[53]],
|
|
2319
|
+
["SAT", STATIONS2[31]],
|
|
2320
|
+
["SBGR", STATIONS2[54]],
|
|
2321
|
+
["SEA", STATIONS2[32]],
|
|
2322
|
+
["SFO", STATIONS2[33]],
|
|
2323
|
+
["SLC", STATIONS2[34]],
|
|
2324
|
+
["UUEE", STATIONS2[55]],
|
|
2325
|
+
["VABB", STATIONS2[56]],
|
|
2326
|
+
["VHHH", STATIONS2[57]],
|
|
2327
|
+
["VIDP", STATIONS2[58]],
|
|
2328
|
+
["VTBS", STATIONS2[59]],
|
|
2329
|
+
["WSSS", STATIONS2[60]],
|
|
2330
|
+
["YBBN", STATIONS2[61]],
|
|
2331
|
+
["YMML", STATIONS2[62]],
|
|
2332
|
+
["YSSY", STATIONS2[63]],
|
|
2333
|
+
["ZBAA", STATIONS2[64]],
|
|
2334
|
+
["ZSPD", STATIONS2[65]]
|
|
1705
2335
|
]);
|
|
1706
2336
|
var STATION_BY_ICAO2 = /* @__PURE__ */ new Map([
|
|
1707
2337
|
["EDDB", STATIONS2[0]],
|
|
@@ -1716,55 +2346,60 @@ var STATION_BY_ICAO2 = /* @__PURE__ */ new Map([
|
|
|
1716
2346
|
["ESSA", STATIONS2[9]],
|
|
1717
2347
|
["KATL", STATIONS2[10]],
|
|
1718
2348
|
["KAUS", STATIONS2[11]],
|
|
1719
|
-
["
|
|
1720
|
-
["
|
|
1721
|
-
["
|
|
1722
|
-
["
|
|
1723
|
-
["
|
|
1724
|
-
["
|
|
1725
|
-
["
|
|
1726
|
-
["
|
|
1727
|
-
["
|
|
1728
|
-
["
|
|
1729
|
-
["
|
|
1730
|
-
["
|
|
1731
|
-
["
|
|
1732
|
-
["
|
|
1733
|
-
["
|
|
1734
|
-
["
|
|
1735
|
-
["
|
|
1736
|
-
["
|
|
1737
|
-
["
|
|
1738
|
-
["
|
|
1739
|
-
["
|
|
1740
|
-
["
|
|
1741
|
-
["
|
|
1742
|
-
["
|
|
1743
|
-
["
|
|
1744
|
-
["
|
|
1745
|
-
["
|
|
1746
|
-
["
|
|
1747
|
-
["
|
|
1748
|
-
["
|
|
1749
|
-
["
|
|
1750
|
-
["
|
|
1751
|
-
["
|
|
1752
|
-
["
|
|
1753
|
-
["
|
|
1754
|
-
["
|
|
1755
|
-
["
|
|
1756
|
-
["
|
|
1757
|
-
["
|
|
1758
|
-
["
|
|
1759
|
-
["
|
|
1760
|
-
["
|
|
1761
|
-
["
|
|
1762
|
-
["
|
|
1763
|
-
["
|
|
1764
|
-
["
|
|
1765
|
-
["
|
|
1766
|
-
["
|
|
1767
|
-
["
|
|
2349
|
+
["KBNA", STATIONS2[12]],
|
|
2350
|
+
["KBOS", STATIONS2[13]],
|
|
2351
|
+
["KCVG", STATIONS2[14]],
|
|
2352
|
+
["KDCA", STATIONS2[15]],
|
|
2353
|
+
["KDEN", STATIONS2[16]],
|
|
2354
|
+
["KDFW", STATIONS2[17]],
|
|
2355
|
+
["KDTW", STATIONS2[18]],
|
|
2356
|
+
["KHOU", STATIONS2[19]],
|
|
2357
|
+
["KIAH", STATIONS2[20]],
|
|
2358
|
+
["KLAS", STATIONS2[21]],
|
|
2359
|
+
["KLAX", STATIONS2[22]],
|
|
2360
|
+
["KMDW", STATIONS2[23]],
|
|
2361
|
+
["KMIA", STATIONS2[24]],
|
|
2362
|
+
["KMSP", STATIONS2[25]],
|
|
2363
|
+
["KMSY", STATIONS2[26]],
|
|
2364
|
+
["KNYC", STATIONS2[27]],
|
|
2365
|
+
["KOKC", STATIONS2[28]],
|
|
2366
|
+
["KPHL", STATIONS2[29]],
|
|
2367
|
+
["KPHX", STATIONS2[30]],
|
|
2368
|
+
["KSAT", STATIONS2[31]],
|
|
2369
|
+
["KSEA", STATIONS2[32]],
|
|
2370
|
+
["KSFO", STATIONS2[33]],
|
|
2371
|
+
["KSLC", STATIONS2[34]],
|
|
2372
|
+
["LEBL", STATIONS2[35]],
|
|
2373
|
+
["LEMD", STATIONS2[36]],
|
|
2374
|
+
["LFPB", STATIONS2[37]],
|
|
2375
|
+
["LFPG", STATIONS2[38]],
|
|
2376
|
+
["LFPO", STATIONS2[39]],
|
|
2377
|
+
["LIMC", STATIONS2[40]],
|
|
2378
|
+
["LIRF", STATIONS2[41]],
|
|
2379
|
+
["LOWW", STATIONS2[42]],
|
|
2380
|
+
["LSZH", STATIONS2[43]],
|
|
2381
|
+
["NZAA", STATIONS2[44]],
|
|
2382
|
+
["NZWN", STATIONS2[45]],
|
|
2383
|
+
["OERK", STATIONS2[46]],
|
|
2384
|
+
["OMDB", STATIONS2[47]],
|
|
2385
|
+
["OTHH", STATIONS2[48]],
|
|
2386
|
+
["RCTP", STATIONS2[49]],
|
|
2387
|
+
["RJAA", STATIONS2[50]],
|
|
2388
|
+
["RJTT", STATIONS2[51]],
|
|
2389
|
+
["RKSI", STATIONS2[52]],
|
|
2390
|
+
["SAEZ", STATIONS2[53]],
|
|
2391
|
+
["SBGR", STATIONS2[54]],
|
|
2392
|
+
["UUEE", STATIONS2[55]],
|
|
2393
|
+
["VABB", STATIONS2[56]],
|
|
2394
|
+
["VHHH", STATIONS2[57]],
|
|
2395
|
+
["VIDP", STATIONS2[58]],
|
|
2396
|
+
["VTBS", STATIONS2[59]],
|
|
2397
|
+
["WSSS", STATIONS2[60]],
|
|
2398
|
+
["YBBN", STATIONS2[61]],
|
|
2399
|
+
["YMML", STATIONS2[62]],
|
|
2400
|
+
["YSSY", STATIONS2[63]],
|
|
2401
|
+
["ZBAA", STATIONS2[64]],
|
|
2402
|
+
["ZSPD", STATIONS2[65]]
|
|
1768
2403
|
]);
|
|
1769
2404
|
var LOW_COVERAGE_THRESHOLD = 12;
|
|
1770
2405
|
var PARTS_CACHE = /* @__PURE__ */ new Map();
|
|
@@ -2481,6 +3116,10 @@ var KALSHI_SETTLEMENT_STATIONS = {
|
|
|
2481
3116
|
SLC: {
|
|
2482
3117
|
citation: "https://kalshi.com/markets/khighslc (Salt Lake City International)",
|
|
2483
3118
|
station: "KSLC"
|
|
3119
|
+
},
|
|
3120
|
+
TLV: {
|
|
3121
|
+
citation: "https://kalshi.com/markets/kxhightlv (Harry Reid/McCarran; settles vs NWS CLILAS)",
|
|
3122
|
+
station: "KLAS"
|
|
2484
3123
|
}
|
|
2485
3124
|
};
|
|
2486
3125
|
var KNOWN_WRONG_STATIONS = /* @__PURE__ */ new Set([
|
|
@@ -3066,7 +3705,7 @@ replaceTraps((oldTraps) => ({
|
|
|
3066
3705
|
}
|
|
3067
3706
|
}));
|
|
3068
3707
|
|
|
3069
|
-
// ../core/dist/internal/chunk-
|
|
3708
|
+
// ../core/dist/internal/chunk-QDQSYUFW.mjs
|
|
3070
3709
|
function lockKeyFor(key) {
|
|
3071
3710
|
return `mostlyright:cache:lock:${key}`;
|
|
3072
3711
|
}
|
|
@@ -3290,7 +3929,10 @@ var STATIONS3 = [
|
|
|
3290
3929
|
latitude: 52.3667,
|
|
3291
3930
|
longitude: 13.5033,
|
|
3292
3931
|
name: "Berlin Brandenburg",
|
|
3293
|
-
tz: "Europe/Berlin"
|
|
3932
|
+
tz: "Europe/Berlin",
|
|
3933
|
+
venues: [
|
|
3934
|
+
"polymarket"
|
|
3935
|
+
]
|
|
3294
3936
|
},
|
|
3295
3937
|
{
|
|
3296
3938
|
code: "EDDF",
|
|
@@ -3300,7 +3942,10 @@ var STATIONS3 = [
|
|
|
3300
3942
|
latitude: 50.0379,
|
|
3301
3943
|
longitude: 8.5622,
|
|
3302
3944
|
name: "Frankfurt am Main",
|
|
3303
|
-
tz: "Europe/Berlin"
|
|
3945
|
+
tz: "Europe/Berlin",
|
|
3946
|
+
venues: [
|
|
3947
|
+
"polymarket"
|
|
3948
|
+
]
|
|
3304
3949
|
},
|
|
3305
3950
|
{
|
|
3306
3951
|
code: "EDDM",
|
|
@@ -3310,7 +3955,10 @@ var STATIONS3 = [
|
|
|
3310
3955
|
latitude: 48.3538,
|
|
3311
3956
|
longitude: 11.7861,
|
|
3312
3957
|
name: "Munich Franz Josef Strauss",
|
|
3313
|
-
tz: "Europe/Berlin"
|
|
3958
|
+
tz: "Europe/Berlin",
|
|
3959
|
+
venues: [
|
|
3960
|
+
"polymarket"
|
|
3961
|
+
]
|
|
3314
3962
|
},
|
|
3315
3963
|
{
|
|
3316
3964
|
code: "EFHK",
|
|
@@ -3320,7 +3968,10 @@ var STATIONS3 = [
|
|
|
3320
3968
|
latitude: 60.3172,
|
|
3321
3969
|
longitude: 24.9633,
|
|
3322
3970
|
name: "Helsinki-Vantaa",
|
|
3323
|
-
tz: "Europe/Helsinki"
|
|
3971
|
+
tz: "Europe/Helsinki",
|
|
3972
|
+
venues: [
|
|
3973
|
+
"polymarket"
|
|
3974
|
+
]
|
|
3324
3975
|
},
|
|
3325
3976
|
{
|
|
3326
3977
|
code: "EGKK",
|
|
@@ -3330,7 +3981,10 @@ var STATIONS3 = [
|
|
|
3330
3981
|
latitude: 51.1481,
|
|
3331
3982
|
longitude: -0.1903,
|
|
3332
3983
|
name: "London Gatwick",
|
|
3333
|
-
tz: "Europe/London"
|
|
3984
|
+
tz: "Europe/London",
|
|
3985
|
+
venues: [
|
|
3986
|
+
"polymarket"
|
|
3987
|
+
]
|
|
3334
3988
|
},
|
|
3335
3989
|
{
|
|
3336
3990
|
code: "EGLL",
|
|
@@ -3340,7 +3994,10 @@ var STATIONS3 = [
|
|
|
3340
3994
|
latitude: 51.4706,
|
|
3341
3995
|
longitude: -0.4619,
|
|
3342
3996
|
name: "London Heathrow",
|
|
3343
|
-
tz: "Europe/London"
|
|
3997
|
+
tz: "Europe/London",
|
|
3998
|
+
venues: [
|
|
3999
|
+
"polymarket"
|
|
4000
|
+
]
|
|
3344
4001
|
},
|
|
3345
4002
|
{
|
|
3346
4003
|
code: "EHAM",
|
|
@@ -3350,7 +4007,10 @@ var STATIONS3 = [
|
|
|
3350
4007
|
latitude: 52.3086,
|
|
3351
4008
|
longitude: 4.7639,
|
|
3352
4009
|
name: "Amsterdam Schiphol",
|
|
3353
|
-
tz: "Europe/Amsterdam"
|
|
4010
|
+
tz: "Europe/Amsterdam",
|
|
4011
|
+
venues: [
|
|
4012
|
+
"polymarket"
|
|
4013
|
+
]
|
|
3354
4014
|
},
|
|
3355
4015
|
{
|
|
3356
4016
|
code: "EKCH",
|
|
@@ -3360,7 +4020,10 @@ var STATIONS3 = [
|
|
|
3360
4020
|
latitude: 55.6181,
|
|
3361
4021
|
longitude: 12.6561,
|
|
3362
4022
|
name: "Copenhagen Kastrup",
|
|
3363
|
-
tz: "Europe/Copenhagen"
|
|
4023
|
+
tz: "Europe/Copenhagen",
|
|
4024
|
+
venues: [
|
|
4025
|
+
"polymarket"
|
|
4026
|
+
]
|
|
3364
4027
|
},
|
|
3365
4028
|
{
|
|
3366
4029
|
code: "EPWA",
|
|
@@ -3370,7 +4033,10 @@ var STATIONS3 = [
|
|
|
3370
4033
|
latitude: 52.1657,
|
|
3371
4034
|
longitude: 20.9671,
|
|
3372
4035
|
name: "Warsaw Chopin",
|
|
3373
|
-
tz: "Europe/Warsaw"
|
|
4036
|
+
tz: "Europe/Warsaw",
|
|
4037
|
+
venues: [
|
|
4038
|
+
"polymarket"
|
|
4039
|
+
]
|
|
3374
4040
|
},
|
|
3375
4041
|
{
|
|
3376
4042
|
code: "ESSA",
|
|
@@ -3380,7 +4046,10 @@ var STATIONS3 = [
|
|
|
3380
4046
|
latitude: 59.6519,
|
|
3381
4047
|
longitude: 17.9186,
|
|
3382
4048
|
name: "Stockholm Arlanda",
|
|
3383
|
-
tz: "Europe/Stockholm"
|
|
4049
|
+
tz: "Europe/Stockholm",
|
|
4050
|
+
venues: [
|
|
4051
|
+
"polymarket"
|
|
4052
|
+
]
|
|
3384
4053
|
},
|
|
3385
4054
|
{
|
|
3386
4055
|
code: "ATL",
|
|
@@ -3390,7 +4059,11 @@ var STATIONS3 = [
|
|
|
3390
4059
|
latitude: 33.6407,
|
|
3391
4060
|
longitude: -84.4277,
|
|
3392
4061
|
name: "Hartsfield-Jackson Atlanta International",
|
|
3393
|
-
tz: "America/New_York"
|
|
4062
|
+
tz: "America/New_York",
|
|
4063
|
+
venues: [
|
|
4064
|
+
"kalshi",
|
|
4065
|
+
"polymarket"
|
|
4066
|
+
]
|
|
3394
4067
|
},
|
|
3395
4068
|
{
|
|
3396
4069
|
code: "AUS",
|
|
@@ -3400,7 +4073,24 @@ var STATIONS3 = [
|
|
|
3400
4073
|
latitude: 30.1975,
|
|
3401
4074
|
longitude: -97.6664,
|
|
3402
4075
|
name: "Austin-Bergstrom International",
|
|
3403
|
-
tz: "America/Chicago"
|
|
4076
|
+
tz: "America/Chicago",
|
|
4077
|
+
venues: [
|
|
4078
|
+
"kalshi",
|
|
4079
|
+
"polymarket"
|
|
4080
|
+
]
|
|
4081
|
+
},
|
|
4082
|
+
{
|
|
4083
|
+
code: "BNA",
|
|
4084
|
+
country: "US",
|
|
4085
|
+
ghcnh_id: "USW00013897",
|
|
4086
|
+
icao: "KBNA",
|
|
4087
|
+
latitude: 36.1245,
|
|
4088
|
+
longitude: -86.6782,
|
|
4089
|
+
name: "Nashville International",
|
|
4090
|
+
tz: "America/Chicago",
|
|
4091
|
+
venues: [
|
|
4092
|
+
"kalshi"
|
|
4093
|
+
]
|
|
3404
4094
|
},
|
|
3405
4095
|
{
|
|
3406
4096
|
code: "BOS",
|
|
@@ -3410,7 +4100,24 @@ var STATIONS3 = [
|
|
|
3410
4100
|
latitude: 42.3656,
|
|
3411
4101
|
longitude: -71.0096,
|
|
3412
4102
|
name: "Boston Logan International",
|
|
3413
|
-
tz: "America/New_York"
|
|
4103
|
+
tz: "America/New_York",
|
|
4104
|
+
venues: [
|
|
4105
|
+
"kalshi",
|
|
4106
|
+
"polymarket"
|
|
4107
|
+
]
|
|
4108
|
+
},
|
|
4109
|
+
{
|
|
4110
|
+
code: "CVG",
|
|
4111
|
+
country: "US",
|
|
4112
|
+
ghcnh_id: "USW00093814",
|
|
4113
|
+
icao: "KCVG",
|
|
4114
|
+
latitude: 39.0488,
|
|
4115
|
+
longitude: -84.6678,
|
|
4116
|
+
name: "Cincinnati/Northern Kentucky International",
|
|
4117
|
+
tz: "America/New_York",
|
|
4118
|
+
venues: [
|
|
4119
|
+
"kalshi"
|
|
4120
|
+
]
|
|
3414
4121
|
},
|
|
3415
4122
|
{
|
|
3416
4123
|
code: "DCA",
|
|
@@ -3420,7 +4127,11 @@ var STATIONS3 = [
|
|
|
3420
4127
|
latitude: 38.8512,
|
|
3421
4128
|
longitude: -77.0402,
|
|
3422
4129
|
name: "Washington Reagan National",
|
|
3423
|
-
tz: "America/New_York"
|
|
4130
|
+
tz: "America/New_York",
|
|
4131
|
+
venues: [
|
|
4132
|
+
"kalshi",
|
|
4133
|
+
"polymarket"
|
|
4134
|
+
]
|
|
3424
4135
|
},
|
|
3425
4136
|
{
|
|
3426
4137
|
code: "DEN",
|
|
@@ -3430,7 +4141,11 @@ var STATIONS3 = [
|
|
|
3430
4141
|
latitude: 39.8561,
|
|
3431
4142
|
longitude: -104.6737,
|
|
3432
4143
|
name: "Denver International",
|
|
3433
|
-
tz: "America/Denver"
|
|
4144
|
+
tz: "America/Denver",
|
|
4145
|
+
venues: [
|
|
4146
|
+
"kalshi",
|
|
4147
|
+
"polymarket"
|
|
4148
|
+
]
|
|
3434
4149
|
},
|
|
3435
4150
|
{
|
|
3436
4151
|
code: "DFW",
|
|
@@ -3440,7 +4155,25 @@ var STATIONS3 = [
|
|
|
3440
4155
|
latitude: 32.8998,
|
|
3441
4156
|
longitude: -97.0403,
|
|
3442
4157
|
name: "Dallas-Fort Worth International",
|
|
3443
|
-
tz: "America/Chicago"
|
|
4158
|
+
tz: "America/Chicago",
|
|
4159
|
+
venues: [
|
|
4160
|
+
"kalshi",
|
|
4161
|
+
"polymarket"
|
|
4162
|
+
]
|
|
4163
|
+
},
|
|
4164
|
+
{
|
|
4165
|
+
code: "DTW",
|
|
4166
|
+
country: "US",
|
|
4167
|
+
ghcnh_id: "USW00094847",
|
|
4168
|
+
icao: "KDTW",
|
|
4169
|
+
latitude: 42.2124,
|
|
4170
|
+
longitude: -83.3534,
|
|
4171
|
+
name: "Detroit Metropolitan Wayne County",
|
|
4172
|
+
tz: "America/New_York",
|
|
4173
|
+
venues: [
|
|
4174
|
+
"kalshi",
|
|
4175
|
+
"polymarket"
|
|
4176
|
+
]
|
|
3444
4177
|
},
|
|
3445
4178
|
{
|
|
3446
4179
|
code: "HOU",
|
|
@@ -3450,7 +4183,22 @@ var STATIONS3 = [
|
|
|
3450
4183
|
latitude: 29.6454,
|
|
3451
4184
|
longitude: -95.2789,
|
|
3452
4185
|
name: "Houston Hobby",
|
|
3453
|
-
tz: "America/Chicago"
|
|
4186
|
+
tz: "America/Chicago",
|
|
4187
|
+
venues: []
|
|
4188
|
+
},
|
|
4189
|
+
{
|
|
4190
|
+
code: "IAH",
|
|
4191
|
+
country: "US",
|
|
4192
|
+
ghcnh_id: "USW00012960",
|
|
4193
|
+
icao: "KIAH",
|
|
4194
|
+
latitude: 29.9844,
|
|
4195
|
+
longitude: -95.3414,
|
|
4196
|
+
name: "Houston George Bush Intercontinental",
|
|
4197
|
+
tz: "America/Chicago",
|
|
4198
|
+
venues: [
|
|
4199
|
+
"kalshi",
|
|
4200
|
+
"polymarket"
|
|
4201
|
+
]
|
|
3454
4202
|
},
|
|
3455
4203
|
{
|
|
3456
4204
|
code: "LAS",
|
|
@@ -3460,7 +4208,10 @@ var STATIONS3 = [
|
|
|
3460
4208
|
latitude: 36.084,
|
|
3461
4209
|
longitude: -115.1537,
|
|
3462
4210
|
name: "Harry Reid (McCarran) International",
|
|
3463
|
-
tz: "America/Los_Angeles"
|
|
4211
|
+
tz: "America/Los_Angeles",
|
|
4212
|
+
venues: [
|
|
4213
|
+
"kalshi"
|
|
4214
|
+
]
|
|
3464
4215
|
},
|
|
3465
4216
|
{
|
|
3466
4217
|
code: "LAX",
|
|
@@ -3470,7 +4221,11 @@ var STATIONS3 = [
|
|
|
3470
4221
|
latitude: 33.9425,
|
|
3471
4222
|
longitude: -118.4081,
|
|
3472
4223
|
name: "Los Angeles International",
|
|
3473
|
-
tz: "America/Los_Angeles"
|
|
4224
|
+
tz: "America/Los_Angeles",
|
|
4225
|
+
venues: [
|
|
4226
|
+
"kalshi",
|
|
4227
|
+
"polymarket"
|
|
4228
|
+
]
|
|
3474
4229
|
},
|
|
3475
4230
|
{
|
|
3476
4231
|
code: "MDW",
|
|
@@ -3480,7 +4235,10 @@ var STATIONS3 = [
|
|
|
3480
4235
|
latitude: 41.7868,
|
|
3481
4236
|
longitude: -87.7522,
|
|
3482
4237
|
name: "Chicago Midway International",
|
|
3483
|
-
tz: "America/Chicago"
|
|
4238
|
+
tz: "America/Chicago",
|
|
4239
|
+
venues: [
|
|
4240
|
+
"kalshi"
|
|
4241
|
+
]
|
|
3484
4242
|
},
|
|
3485
4243
|
{
|
|
3486
4244
|
code: "MIA",
|
|
@@ -3490,7 +4248,11 @@ var STATIONS3 = [
|
|
|
3490
4248
|
latitude: 25.7959,
|
|
3491
4249
|
longitude: -80.287,
|
|
3492
4250
|
name: "Miami International",
|
|
3493
|
-
tz: "America/New_York"
|
|
4251
|
+
tz: "America/New_York",
|
|
4252
|
+
venues: [
|
|
4253
|
+
"kalshi",
|
|
4254
|
+
"polymarket"
|
|
4255
|
+
]
|
|
3494
4256
|
},
|
|
3495
4257
|
{
|
|
3496
4258
|
code: "MSP",
|
|
@@ -3500,7 +4262,11 @@ var STATIONS3 = [
|
|
|
3500
4262
|
latitude: 44.8848,
|
|
3501
4263
|
longitude: -93.2223,
|
|
3502
4264
|
name: "Minneapolis-St Paul International",
|
|
3503
|
-
tz: "America/Chicago"
|
|
4265
|
+
tz: "America/Chicago",
|
|
4266
|
+
venues: [
|
|
4267
|
+
"kalshi",
|
|
4268
|
+
"polymarket"
|
|
4269
|
+
]
|
|
3504
4270
|
},
|
|
3505
4271
|
{
|
|
3506
4272
|
code: "MSY",
|
|
@@ -3510,7 +4276,8 @@ var STATIONS3 = [
|
|
|
3510
4276
|
latitude: 29.9934,
|
|
3511
4277
|
longitude: -90.258,
|
|
3512
4278
|
name: "New Orleans Louis Armstrong International",
|
|
3513
|
-
tz: "America/Chicago"
|
|
4279
|
+
tz: "America/Chicago",
|
|
4280
|
+
venues: []
|
|
3514
4281
|
},
|
|
3515
4282
|
{
|
|
3516
4283
|
code: "NYC",
|
|
@@ -3520,7 +4287,10 @@ var STATIONS3 = [
|
|
|
3520
4287
|
latitude: 40.7789,
|
|
3521
4288
|
longitude: -73.9692,
|
|
3522
4289
|
name: "Central Park, New York",
|
|
3523
|
-
tz: "America/New_York"
|
|
4290
|
+
tz: "America/New_York",
|
|
4291
|
+
venues: [
|
|
4292
|
+
"kalshi"
|
|
4293
|
+
]
|
|
3524
4294
|
},
|
|
3525
4295
|
{
|
|
3526
4296
|
code: "OKC",
|
|
@@ -3530,7 +4300,8 @@ var STATIONS3 = [
|
|
|
3530
4300
|
latitude: 35.3931,
|
|
3531
4301
|
longitude: -97.6007,
|
|
3532
4302
|
name: "Oklahoma City Will Rogers World",
|
|
3533
|
-
tz: "America/Chicago"
|
|
4303
|
+
tz: "America/Chicago",
|
|
4304
|
+
venues: []
|
|
3534
4305
|
},
|
|
3535
4306
|
{
|
|
3536
4307
|
code: "PHL",
|
|
@@ -3540,7 +4311,11 @@ var STATIONS3 = [
|
|
|
3540
4311
|
latitude: 39.8721,
|
|
3541
4312
|
longitude: -75.2411,
|
|
3542
4313
|
name: "Philadelphia International",
|
|
3543
|
-
tz: "America/New_York"
|
|
4314
|
+
tz: "America/New_York",
|
|
4315
|
+
venues: [
|
|
4316
|
+
"kalshi",
|
|
4317
|
+
"polymarket"
|
|
4318
|
+
]
|
|
3544
4319
|
},
|
|
3545
4320
|
{
|
|
3546
4321
|
code: "PHX",
|
|
@@ -3550,7 +4325,11 @@ var STATIONS3 = [
|
|
|
3550
4325
|
latitude: 33.4373,
|
|
3551
4326
|
longitude: -112.0078,
|
|
3552
4327
|
name: "Phoenix Sky Harbor International",
|
|
3553
|
-
tz: "America/Phoenix"
|
|
4328
|
+
tz: "America/Phoenix",
|
|
4329
|
+
venues: [
|
|
4330
|
+
"kalshi",
|
|
4331
|
+
"polymarket"
|
|
4332
|
+
]
|
|
3554
4333
|
},
|
|
3555
4334
|
{
|
|
3556
4335
|
code: "SAT",
|
|
@@ -3560,7 +4339,8 @@ var STATIONS3 = [
|
|
|
3560
4339
|
latitude: 29.5337,
|
|
3561
4340
|
longitude: -98.4698,
|
|
3562
4341
|
name: "San Antonio International",
|
|
3563
|
-
tz: "America/Chicago"
|
|
4342
|
+
tz: "America/Chicago",
|
|
4343
|
+
venues: []
|
|
3564
4344
|
},
|
|
3565
4345
|
{
|
|
3566
4346
|
code: "SEA",
|
|
@@ -3570,7 +4350,11 @@ var STATIONS3 = [
|
|
|
3570
4350
|
latitude: 47.4502,
|
|
3571
4351
|
longitude: -122.3088,
|
|
3572
4352
|
name: "Seattle-Tacoma International",
|
|
3573
|
-
tz: "America/Los_Angeles"
|
|
4353
|
+
tz: "America/Los_Angeles",
|
|
4354
|
+
venues: [
|
|
4355
|
+
"kalshi",
|
|
4356
|
+
"polymarket"
|
|
4357
|
+
]
|
|
3574
4358
|
},
|
|
3575
4359
|
{
|
|
3576
4360
|
code: "SFO",
|
|
@@ -3580,7 +4364,24 @@ var STATIONS3 = [
|
|
|
3580
4364
|
latitude: 37.6213,
|
|
3581
4365
|
longitude: -122.379,
|
|
3582
4366
|
name: "San Francisco International",
|
|
3583
|
-
tz: "America/Los_Angeles"
|
|
4367
|
+
tz: "America/Los_Angeles",
|
|
4368
|
+
venues: [
|
|
4369
|
+
"kalshi",
|
|
4370
|
+
"polymarket"
|
|
4371
|
+
]
|
|
4372
|
+
},
|
|
4373
|
+
{
|
|
4374
|
+
code: "SLC",
|
|
4375
|
+
country: "US",
|
|
4376
|
+
ghcnh_id: "USW00024127",
|
|
4377
|
+
icao: "KSLC",
|
|
4378
|
+
latitude: 40.7884,
|
|
4379
|
+
longitude: -111.9778,
|
|
4380
|
+
name: "Salt Lake City International",
|
|
4381
|
+
tz: "America/Denver",
|
|
4382
|
+
venues: [
|
|
4383
|
+
"kalshi"
|
|
4384
|
+
]
|
|
3584
4385
|
},
|
|
3585
4386
|
{
|
|
3586
4387
|
code: "LEBL",
|
|
@@ -3590,7 +4391,10 @@ var STATIONS3 = [
|
|
|
3590
4391
|
latitude: 41.2974,
|
|
3591
4392
|
longitude: 2.0833,
|
|
3592
4393
|
name: "Barcelona El Prat",
|
|
3593
|
-
tz: "Europe/Madrid"
|
|
4394
|
+
tz: "Europe/Madrid",
|
|
4395
|
+
venues: [
|
|
4396
|
+
"polymarket"
|
|
4397
|
+
]
|
|
3594
4398
|
},
|
|
3595
4399
|
{
|
|
3596
4400
|
code: "LEMD",
|
|
@@ -3600,7 +4404,10 @@ var STATIONS3 = [
|
|
|
3600
4404
|
latitude: 40.4719,
|
|
3601
4405
|
longitude: -3.5626,
|
|
3602
4406
|
name: "Madrid Barajas",
|
|
3603
|
-
tz: "Europe/Madrid"
|
|
4407
|
+
tz: "Europe/Madrid",
|
|
4408
|
+
venues: [
|
|
4409
|
+
"polymarket"
|
|
4410
|
+
]
|
|
3604
4411
|
},
|
|
3605
4412
|
{
|
|
3606
4413
|
code: "LFPB",
|
|
@@ -3610,7 +4417,10 @@ var STATIONS3 = [
|
|
|
3610
4417
|
latitude: 48.9694,
|
|
3611
4418
|
longitude: 2.4414,
|
|
3612
4419
|
name: "Paris Le Bourget",
|
|
3613
|
-
tz: "Europe/Paris"
|
|
4420
|
+
tz: "Europe/Paris",
|
|
4421
|
+
venues: [
|
|
4422
|
+
"polymarket"
|
|
4423
|
+
]
|
|
3614
4424
|
},
|
|
3615
4425
|
{
|
|
3616
4426
|
code: "LFPG",
|
|
@@ -3620,7 +4430,10 @@ var STATIONS3 = [
|
|
|
3620
4430
|
latitude: 49.0097,
|
|
3621
4431
|
longitude: 2.5479,
|
|
3622
4432
|
name: "Paris Charles de Gaulle",
|
|
3623
|
-
tz: "Europe/Paris"
|
|
4433
|
+
tz: "Europe/Paris",
|
|
4434
|
+
venues: [
|
|
4435
|
+
"polymarket"
|
|
4436
|
+
]
|
|
3624
4437
|
},
|
|
3625
4438
|
{
|
|
3626
4439
|
code: "LFPO",
|
|
@@ -3630,7 +4443,10 @@ var STATIONS3 = [
|
|
|
3630
4443
|
latitude: 48.7233,
|
|
3631
4444
|
longitude: 2.3794,
|
|
3632
4445
|
name: "Paris Orly",
|
|
3633
|
-
tz: "Europe/Paris"
|
|
4446
|
+
tz: "Europe/Paris",
|
|
4447
|
+
venues: [
|
|
4448
|
+
"polymarket"
|
|
4449
|
+
]
|
|
3634
4450
|
},
|
|
3635
4451
|
{
|
|
3636
4452
|
code: "LIMC",
|
|
@@ -3640,7 +4456,10 @@ var STATIONS3 = [
|
|
|
3640
4456
|
latitude: 45.6306,
|
|
3641
4457
|
longitude: 8.7281,
|
|
3642
4458
|
name: "Milan Malpensa",
|
|
3643
|
-
tz: "Europe/Rome"
|
|
4459
|
+
tz: "Europe/Rome",
|
|
4460
|
+
venues: [
|
|
4461
|
+
"polymarket"
|
|
4462
|
+
]
|
|
3644
4463
|
},
|
|
3645
4464
|
{
|
|
3646
4465
|
code: "LIRF",
|
|
@@ -3650,7 +4469,10 @@ var STATIONS3 = [
|
|
|
3650
4469
|
latitude: 41.8003,
|
|
3651
4470
|
longitude: 12.2389,
|
|
3652
4471
|
name: "Rome Fiumicino",
|
|
3653
|
-
tz: "Europe/Rome"
|
|
4472
|
+
tz: "Europe/Rome",
|
|
4473
|
+
venues: [
|
|
4474
|
+
"polymarket"
|
|
4475
|
+
]
|
|
3654
4476
|
},
|
|
3655
4477
|
{
|
|
3656
4478
|
code: "LOWW",
|
|
@@ -3660,7 +4482,10 @@ var STATIONS3 = [
|
|
|
3660
4482
|
latitude: 48.1103,
|
|
3661
4483
|
longitude: 16.5697,
|
|
3662
4484
|
name: "Vienna International",
|
|
3663
|
-
tz: "Europe/Vienna"
|
|
4485
|
+
tz: "Europe/Vienna",
|
|
4486
|
+
venues: [
|
|
4487
|
+
"polymarket"
|
|
4488
|
+
]
|
|
3664
4489
|
},
|
|
3665
4490
|
{
|
|
3666
4491
|
code: "LSZH",
|
|
@@ -3670,7 +4495,10 @@ var STATIONS3 = [
|
|
|
3670
4495
|
latitude: 47.4647,
|
|
3671
4496
|
longitude: 8.5492,
|
|
3672
4497
|
name: "Zurich",
|
|
3673
|
-
tz: "Europe/Zurich"
|
|
4498
|
+
tz: "Europe/Zurich",
|
|
4499
|
+
venues: [
|
|
4500
|
+
"polymarket"
|
|
4501
|
+
]
|
|
3674
4502
|
},
|
|
3675
4503
|
{
|
|
3676
4504
|
code: "NZAA",
|
|
@@ -3680,7 +4508,10 @@ var STATIONS3 = [
|
|
|
3680
4508
|
latitude: -37.0081,
|
|
3681
4509
|
longitude: 174.7917,
|
|
3682
4510
|
name: "Auckland",
|
|
3683
|
-
tz: "Pacific/Auckland"
|
|
4511
|
+
tz: "Pacific/Auckland",
|
|
4512
|
+
venues: [
|
|
4513
|
+
"polymarket"
|
|
4514
|
+
]
|
|
3684
4515
|
},
|
|
3685
4516
|
{
|
|
3686
4517
|
code: "NZWN",
|
|
@@ -3690,7 +4521,10 @@ var STATIONS3 = [
|
|
|
3690
4521
|
latitude: -41.3272,
|
|
3691
4522
|
longitude: 174.8053,
|
|
3692
4523
|
name: "Wellington",
|
|
3693
|
-
tz: "Pacific/Auckland"
|
|
4524
|
+
tz: "Pacific/Auckland",
|
|
4525
|
+
venues: [
|
|
4526
|
+
"polymarket"
|
|
4527
|
+
]
|
|
3694
4528
|
},
|
|
3695
4529
|
{
|
|
3696
4530
|
code: "OERK",
|
|
@@ -3700,7 +4534,10 @@ var STATIONS3 = [
|
|
|
3700
4534
|
latitude: 24.9576,
|
|
3701
4535
|
longitude: 46.6988,
|
|
3702
4536
|
name: "Riyadh King Khalid International",
|
|
3703
|
-
tz: "Asia/Riyadh"
|
|
4537
|
+
tz: "Asia/Riyadh",
|
|
4538
|
+
venues: [
|
|
4539
|
+
"polymarket"
|
|
4540
|
+
]
|
|
3704
4541
|
},
|
|
3705
4542
|
{
|
|
3706
4543
|
code: "OMDB",
|
|
@@ -3710,7 +4547,10 @@ var STATIONS3 = [
|
|
|
3710
4547
|
latitude: 25.2532,
|
|
3711
4548
|
longitude: 55.3657,
|
|
3712
4549
|
name: "Dubai International",
|
|
3713
|
-
tz: "Asia/Dubai"
|
|
4550
|
+
tz: "Asia/Dubai",
|
|
4551
|
+
venues: [
|
|
4552
|
+
"polymarket"
|
|
4553
|
+
]
|
|
3714
4554
|
},
|
|
3715
4555
|
{
|
|
3716
4556
|
code: "OTHH",
|
|
@@ -3720,7 +4560,10 @@ var STATIONS3 = [
|
|
|
3720
4560
|
latitude: 25.2731,
|
|
3721
4561
|
longitude: 51.608,
|
|
3722
4562
|
name: "Doha Hamad International",
|
|
3723
|
-
tz: "Asia/Qatar"
|
|
4563
|
+
tz: "Asia/Qatar",
|
|
4564
|
+
venues: [
|
|
4565
|
+
"polymarket"
|
|
4566
|
+
]
|
|
3724
4567
|
},
|
|
3725
4568
|
{
|
|
3726
4569
|
code: "RCTP",
|
|
@@ -3730,7 +4573,10 @@ var STATIONS3 = [
|
|
|
3730
4573
|
latitude: 25.0777,
|
|
3731
4574
|
longitude: 121.2328,
|
|
3732
4575
|
name: "Taipei Taoyuan",
|
|
3733
|
-
tz: "Asia/Taipei"
|
|
4576
|
+
tz: "Asia/Taipei",
|
|
4577
|
+
venues: [
|
|
4578
|
+
"polymarket"
|
|
4579
|
+
]
|
|
3734
4580
|
},
|
|
3735
4581
|
{
|
|
3736
4582
|
code: "RJAA",
|
|
@@ -3740,7 +4586,10 @@ var STATIONS3 = [
|
|
|
3740
4586
|
latitude: 35.7647,
|
|
3741
4587
|
longitude: 140.3864,
|
|
3742
4588
|
name: "Tokyo Narita",
|
|
3743
|
-
tz: "Asia/Tokyo"
|
|
4589
|
+
tz: "Asia/Tokyo",
|
|
4590
|
+
venues: [
|
|
4591
|
+
"polymarket"
|
|
4592
|
+
]
|
|
3744
4593
|
},
|
|
3745
4594
|
{
|
|
3746
4595
|
code: "RJTT",
|
|
@@ -3750,7 +4599,10 @@ var STATIONS3 = [
|
|
|
3750
4599
|
latitude: 35.5522,
|
|
3751
4600
|
longitude: 139.78,
|
|
3752
4601
|
name: "Tokyo Haneda",
|
|
3753
|
-
tz: "Asia/Tokyo"
|
|
4602
|
+
tz: "Asia/Tokyo",
|
|
4603
|
+
venues: [
|
|
4604
|
+
"polymarket"
|
|
4605
|
+
]
|
|
3754
4606
|
},
|
|
3755
4607
|
{
|
|
3756
4608
|
code: "RKSI",
|
|
@@ -3760,7 +4612,10 @@ var STATIONS3 = [
|
|
|
3760
4612
|
latitude: 37.4691,
|
|
3761
4613
|
longitude: 126.4505,
|
|
3762
4614
|
name: "Seoul Incheon",
|
|
3763
|
-
tz: "Asia/Seoul"
|
|
4615
|
+
tz: "Asia/Seoul",
|
|
4616
|
+
venues: [
|
|
4617
|
+
"polymarket"
|
|
4618
|
+
]
|
|
3764
4619
|
},
|
|
3765
4620
|
{
|
|
3766
4621
|
code: "SAEZ",
|
|
@@ -3770,7 +4625,10 @@ var STATIONS3 = [
|
|
|
3770
4625
|
latitude: -34.8222,
|
|
3771
4626
|
longitude: -58.5358,
|
|
3772
4627
|
name: "Buenos Aires Ezeiza",
|
|
3773
|
-
tz: "America/Argentina/Buenos_Aires"
|
|
4628
|
+
tz: "America/Argentina/Buenos_Aires",
|
|
4629
|
+
venues: [
|
|
4630
|
+
"polymarket"
|
|
4631
|
+
]
|
|
3774
4632
|
},
|
|
3775
4633
|
{
|
|
3776
4634
|
code: "SBGR",
|
|
@@ -3780,7 +4638,10 @@ var STATIONS3 = [
|
|
|
3780
4638
|
latitude: -23.4356,
|
|
3781
4639
|
longitude: -46.4731,
|
|
3782
4640
|
name: "S\xE3o Paulo Guarulhos",
|
|
3783
|
-
tz: "America/Sao_Paulo"
|
|
4641
|
+
tz: "America/Sao_Paulo",
|
|
4642
|
+
venues: [
|
|
4643
|
+
"polymarket"
|
|
4644
|
+
]
|
|
3784
4645
|
},
|
|
3785
4646
|
{
|
|
3786
4647
|
code: "UUEE",
|
|
@@ -3790,7 +4651,10 @@ var STATIONS3 = [
|
|
|
3790
4651
|
latitude: 55.9728,
|
|
3791
4652
|
longitude: 37.4147,
|
|
3792
4653
|
name: "Moscow Sheremetyevo",
|
|
3793
|
-
tz: "Europe/Moscow"
|
|
4654
|
+
tz: "Europe/Moscow",
|
|
4655
|
+
venues: [
|
|
4656
|
+
"polymarket"
|
|
4657
|
+
]
|
|
3794
4658
|
},
|
|
3795
4659
|
{
|
|
3796
4660
|
code: "VABB",
|
|
@@ -3800,7 +4664,10 @@ var STATIONS3 = [
|
|
|
3800
4664
|
latitude: 19.0887,
|
|
3801
4665
|
longitude: 72.8679,
|
|
3802
4666
|
name: "Mumbai Chhatrapati Shivaji",
|
|
3803
|
-
tz: "Asia/Kolkata"
|
|
4667
|
+
tz: "Asia/Kolkata",
|
|
4668
|
+
venues: [
|
|
4669
|
+
"polymarket"
|
|
4670
|
+
]
|
|
3804
4671
|
},
|
|
3805
4672
|
{
|
|
3806
4673
|
code: "VHHH",
|
|
@@ -3810,7 +4677,10 @@ var STATIONS3 = [
|
|
|
3810
4677
|
latitude: 22.308,
|
|
3811
4678
|
longitude: 113.9185,
|
|
3812
4679
|
name: "Hong Kong International",
|
|
3813
|
-
tz: "Asia/Hong_Kong"
|
|
4680
|
+
tz: "Asia/Hong_Kong",
|
|
4681
|
+
venues: [
|
|
4682
|
+
"polymarket"
|
|
4683
|
+
]
|
|
3814
4684
|
},
|
|
3815
4685
|
{
|
|
3816
4686
|
code: "VIDP",
|
|
@@ -3820,7 +4690,10 @@ var STATIONS3 = [
|
|
|
3820
4690
|
latitude: 28.5562,
|
|
3821
4691
|
longitude: 77.1,
|
|
3822
4692
|
name: "Delhi Indira Gandhi",
|
|
3823
|
-
tz: "Asia/Kolkata"
|
|
4693
|
+
tz: "Asia/Kolkata",
|
|
4694
|
+
venues: [
|
|
4695
|
+
"polymarket"
|
|
4696
|
+
]
|
|
3824
4697
|
},
|
|
3825
4698
|
{
|
|
3826
4699
|
code: "VTBS",
|
|
@@ -3830,7 +4703,10 @@ var STATIONS3 = [
|
|
|
3830
4703
|
latitude: 13.69,
|
|
3831
4704
|
longitude: 100.7501,
|
|
3832
4705
|
name: "Bangkok Suvarnabhumi",
|
|
3833
|
-
tz: "Asia/Bangkok"
|
|
4706
|
+
tz: "Asia/Bangkok",
|
|
4707
|
+
venues: [
|
|
4708
|
+
"polymarket"
|
|
4709
|
+
]
|
|
3834
4710
|
},
|
|
3835
4711
|
{
|
|
3836
4712
|
code: "WSSS",
|
|
@@ -3840,7 +4716,10 @@ var STATIONS3 = [
|
|
|
3840
4716
|
latitude: 1.3644,
|
|
3841
4717
|
longitude: 103.9915,
|
|
3842
4718
|
name: "Singapore Changi",
|
|
3843
|
-
tz: "Asia/Singapore"
|
|
4719
|
+
tz: "Asia/Singapore",
|
|
4720
|
+
venues: [
|
|
4721
|
+
"polymarket"
|
|
4722
|
+
]
|
|
3844
4723
|
},
|
|
3845
4724
|
{
|
|
3846
4725
|
code: "YBBN",
|
|
@@ -3850,7 +4729,10 @@ var STATIONS3 = [
|
|
|
3850
4729
|
latitude: -27.3842,
|
|
3851
4730
|
longitude: 153.1175,
|
|
3852
4731
|
name: "Brisbane",
|
|
3853
|
-
tz: "Australia/Brisbane"
|
|
4732
|
+
tz: "Australia/Brisbane",
|
|
4733
|
+
venues: [
|
|
4734
|
+
"polymarket"
|
|
4735
|
+
]
|
|
3854
4736
|
},
|
|
3855
4737
|
{
|
|
3856
4738
|
code: "YMML",
|
|
@@ -3860,7 +4742,10 @@ var STATIONS3 = [
|
|
|
3860
4742
|
latitude: -37.6733,
|
|
3861
4743
|
longitude: 144.8433,
|
|
3862
4744
|
name: "Melbourne Tullamarine",
|
|
3863
|
-
tz: "Australia/Melbourne"
|
|
4745
|
+
tz: "Australia/Melbourne",
|
|
4746
|
+
venues: [
|
|
4747
|
+
"polymarket"
|
|
4748
|
+
]
|
|
3864
4749
|
},
|
|
3865
4750
|
{
|
|
3866
4751
|
code: "YSSY",
|
|
@@ -3870,7 +4755,10 @@ var STATIONS3 = [
|
|
|
3870
4755
|
latitude: -33.9461,
|
|
3871
4756
|
longitude: 151.1772,
|
|
3872
4757
|
name: "Sydney Kingsford Smith",
|
|
3873
|
-
tz: "Australia/Sydney"
|
|
4758
|
+
tz: "Australia/Sydney",
|
|
4759
|
+
venues: [
|
|
4760
|
+
"polymarket"
|
|
4761
|
+
]
|
|
3874
4762
|
},
|
|
3875
4763
|
{
|
|
3876
4764
|
code: "ZBAA",
|
|
@@ -3880,7 +4768,10 @@ var STATIONS3 = [
|
|
|
3880
4768
|
latitude: 40.0801,
|
|
3881
4769
|
longitude: 116.5846,
|
|
3882
4770
|
name: "Beijing Capital",
|
|
3883
|
-
tz: "Asia/Shanghai"
|
|
4771
|
+
tz: "Asia/Shanghai",
|
|
4772
|
+
venues: [
|
|
4773
|
+
"polymarket"
|
|
4774
|
+
]
|
|
3884
4775
|
},
|
|
3885
4776
|
{
|
|
3886
4777
|
code: "ZSPD",
|
|
@@ -3890,16 +4781,22 @@ var STATIONS3 = [
|
|
|
3890
4781
|
latitude: 31.1443,
|
|
3891
4782
|
longitude: 121.8083,
|
|
3892
4783
|
name: "Shanghai Pudong",
|
|
3893
|
-
tz: "Asia/Shanghai"
|
|
4784
|
+
tz: "Asia/Shanghai",
|
|
4785
|
+
venues: [
|
|
4786
|
+
"polymarket"
|
|
4787
|
+
]
|
|
3894
4788
|
}
|
|
3895
4789
|
];
|
|
3896
4790
|
var STATION_BY_CODE3 = /* @__PURE__ */ new Map([
|
|
3897
4791
|
["ATL", STATIONS3[10]],
|
|
3898
4792
|
["AUS", STATIONS3[11]],
|
|
3899
|
-
["
|
|
3900
|
-
["
|
|
3901
|
-
["
|
|
3902
|
-
["
|
|
4793
|
+
["BNA", STATIONS3[12]],
|
|
4794
|
+
["BOS", STATIONS3[13]],
|
|
4795
|
+
["CVG", STATIONS3[14]],
|
|
4796
|
+
["DCA", STATIONS3[15]],
|
|
4797
|
+
["DEN", STATIONS3[16]],
|
|
4798
|
+
["DFW", STATIONS3[17]],
|
|
4799
|
+
["DTW", STATIONS3[18]],
|
|
3903
4800
|
["EDDB", STATIONS3[0]],
|
|
3904
4801
|
["EDDF", STATIONS3[1]],
|
|
3905
4802
|
["EDDM", STATIONS3[2]],
|
|
@@ -3910,51 +4807,53 @@ var STATION_BY_CODE3 = /* @__PURE__ */ new Map([
|
|
|
3910
4807
|
["EKCH", STATIONS3[7]],
|
|
3911
4808
|
["EPWA", STATIONS3[8]],
|
|
3912
4809
|
["ESSA", STATIONS3[9]],
|
|
3913
|
-
["HOU", STATIONS3[
|
|
3914
|
-
["
|
|
3915
|
-
["
|
|
3916
|
-
["
|
|
3917
|
-
["
|
|
3918
|
-
["
|
|
3919
|
-
["
|
|
3920
|
-
["
|
|
3921
|
-
["
|
|
3922
|
-
["
|
|
3923
|
-
["
|
|
3924
|
-
["
|
|
3925
|
-
["
|
|
3926
|
-
["
|
|
3927
|
-
["
|
|
3928
|
-
["
|
|
3929
|
-
["
|
|
3930
|
-
["
|
|
3931
|
-
["
|
|
3932
|
-
["
|
|
3933
|
-
["
|
|
3934
|
-
["
|
|
3935
|
-
["
|
|
3936
|
-
["
|
|
3937
|
-
["
|
|
3938
|
-
["
|
|
3939
|
-
["
|
|
3940
|
-
["
|
|
3941
|
-
["
|
|
3942
|
-
["
|
|
3943
|
-
["
|
|
3944
|
-
["
|
|
3945
|
-
["
|
|
3946
|
-
["
|
|
3947
|
-
["
|
|
3948
|
-
["
|
|
3949
|
-
["
|
|
3950
|
-
["
|
|
3951
|
-
["
|
|
3952
|
-
["
|
|
3953
|
-
["
|
|
3954
|
-
["
|
|
3955
|
-
["
|
|
3956
|
-
["
|
|
3957
|
-
["
|
|
4810
|
+
["HOU", STATIONS3[19]],
|
|
4811
|
+
["IAH", STATIONS3[20]],
|
|
4812
|
+
["LAS", STATIONS3[21]],
|
|
4813
|
+
["LAX", STATIONS3[22]],
|
|
4814
|
+
["LEBL", STATIONS3[35]],
|
|
4815
|
+
["LEMD", STATIONS3[36]],
|
|
4816
|
+
["LFPB", STATIONS3[37]],
|
|
4817
|
+
["LFPG", STATIONS3[38]],
|
|
4818
|
+
["LFPO", STATIONS3[39]],
|
|
4819
|
+
["LIMC", STATIONS3[40]],
|
|
4820
|
+
["LIRF", STATIONS3[41]],
|
|
4821
|
+
["LOWW", STATIONS3[42]],
|
|
4822
|
+
["LSZH", STATIONS3[43]],
|
|
4823
|
+
["MDW", STATIONS3[23]],
|
|
4824
|
+
["MIA", STATIONS3[24]],
|
|
4825
|
+
["MSP", STATIONS3[25]],
|
|
4826
|
+
["MSY", STATIONS3[26]],
|
|
4827
|
+
["NYC", STATIONS3[27]],
|
|
4828
|
+
["NZAA", STATIONS3[44]],
|
|
4829
|
+
["NZWN", STATIONS3[45]],
|
|
4830
|
+
["OERK", STATIONS3[46]],
|
|
4831
|
+
["OKC", STATIONS3[28]],
|
|
4832
|
+
["OMDB", STATIONS3[47]],
|
|
4833
|
+
["OTHH", STATIONS3[48]],
|
|
4834
|
+
["PHL", STATIONS3[29]],
|
|
4835
|
+
["PHX", STATIONS3[30]],
|
|
4836
|
+
["RCTP", STATIONS3[49]],
|
|
4837
|
+
["RJAA", STATIONS3[50]],
|
|
4838
|
+
["RJTT", STATIONS3[51]],
|
|
4839
|
+
["RKSI", STATIONS3[52]],
|
|
4840
|
+
["SAEZ", STATIONS3[53]],
|
|
4841
|
+
["SAT", STATIONS3[31]],
|
|
4842
|
+
["SBGR", STATIONS3[54]],
|
|
4843
|
+
["SEA", STATIONS3[32]],
|
|
4844
|
+
["SFO", STATIONS3[33]],
|
|
4845
|
+
["SLC", STATIONS3[34]],
|
|
4846
|
+
["UUEE", STATIONS3[55]],
|
|
4847
|
+
["VABB", STATIONS3[56]],
|
|
4848
|
+
["VHHH", STATIONS3[57]],
|
|
4849
|
+
["VIDP", STATIONS3[58]],
|
|
4850
|
+
["VTBS", STATIONS3[59]],
|
|
4851
|
+
["WSSS", STATIONS3[60]],
|
|
4852
|
+
["YBBN", STATIONS3[61]],
|
|
4853
|
+
["YMML", STATIONS3[62]],
|
|
4854
|
+
["YSSY", STATIONS3[63]],
|
|
4855
|
+
["ZBAA", STATIONS3[64]],
|
|
4856
|
+
["ZSPD", STATIONS3[65]]
|
|
3958
4857
|
]);
|
|
3959
4858
|
var STATION_BY_ICAO3 = /* @__PURE__ */ new Map([
|
|
3960
4859
|
["EDDB", STATIONS3[0]],
|
|
@@ -3969,55 +4868,60 @@ var STATION_BY_ICAO3 = /* @__PURE__ */ new Map([
|
|
|
3969
4868
|
["ESSA", STATIONS3[9]],
|
|
3970
4869
|
["KATL", STATIONS3[10]],
|
|
3971
4870
|
["KAUS", STATIONS3[11]],
|
|
3972
|
-
["
|
|
3973
|
-
["
|
|
3974
|
-
["
|
|
3975
|
-
["
|
|
3976
|
-
["
|
|
3977
|
-
["
|
|
3978
|
-
["
|
|
3979
|
-
["
|
|
3980
|
-
["
|
|
3981
|
-
["
|
|
3982
|
-
["
|
|
3983
|
-
["
|
|
3984
|
-
["
|
|
3985
|
-
["
|
|
3986
|
-
["
|
|
3987
|
-
["
|
|
3988
|
-
["
|
|
3989
|
-
["
|
|
3990
|
-
["
|
|
3991
|
-
["
|
|
3992
|
-
["
|
|
3993
|
-
["
|
|
3994
|
-
["
|
|
3995
|
-
["
|
|
3996
|
-
["
|
|
3997
|
-
["
|
|
3998
|
-
["
|
|
3999
|
-
["
|
|
4000
|
-
["
|
|
4001
|
-
["
|
|
4002
|
-
["
|
|
4003
|
-
["
|
|
4004
|
-
["
|
|
4005
|
-
["
|
|
4006
|
-
["
|
|
4007
|
-
["
|
|
4008
|
-
["
|
|
4009
|
-
["
|
|
4010
|
-
["
|
|
4011
|
-
["
|
|
4012
|
-
["
|
|
4013
|
-
["
|
|
4014
|
-
["
|
|
4015
|
-
["
|
|
4016
|
-
["
|
|
4017
|
-
["
|
|
4018
|
-
["
|
|
4019
|
-
["
|
|
4020
|
-
["
|
|
4871
|
+
["KBNA", STATIONS3[12]],
|
|
4872
|
+
["KBOS", STATIONS3[13]],
|
|
4873
|
+
["KCVG", STATIONS3[14]],
|
|
4874
|
+
["KDCA", STATIONS3[15]],
|
|
4875
|
+
["KDEN", STATIONS3[16]],
|
|
4876
|
+
["KDFW", STATIONS3[17]],
|
|
4877
|
+
["KDTW", STATIONS3[18]],
|
|
4878
|
+
["KHOU", STATIONS3[19]],
|
|
4879
|
+
["KIAH", STATIONS3[20]],
|
|
4880
|
+
["KLAS", STATIONS3[21]],
|
|
4881
|
+
["KLAX", STATIONS3[22]],
|
|
4882
|
+
["KMDW", STATIONS3[23]],
|
|
4883
|
+
["KMIA", STATIONS3[24]],
|
|
4884
|
+
["KMSP", STATIONS3[25]],
|
|
4885
|
+
["KMSY", STATIONS3[26]],
|
|
4886
|
+
["KNYC", STATIONS3[27]],
|
|
4887
|
+
["KOKC", STATIONS3[28]],
|
|
4888
|
+
["KPHL", STATIONS3[29]],
|
|
4889
|
+
["KPHX", STATIONS3[30]],
|
|
4890
|
+
["KSAT", STATIONS3[31]],
|
|
4891
|
+
["KSEA", STATIONS3[32]],
|
|
4892
|
+
["KSFO", STATIONS3[33]],
|
|
4893
|
+
["KSLC", STATIONS3[34]],
|
|
4894
|
+
["LEBL", STATIONS3[35]],
|
|
4895
|
+
["LEMD", STATIONS3[36]],
|
|
4896
|
+
["LFPB", STATIONS3[37]],
|
|
4897
|
+
["LFPG", STATIONS3[38]],
|
|
4898
|
+
["LFPO", STATIONS3[39]],
|
|
4899
|
+
["LIMC", STATIONS3[40]],
|
|
4900
|
+
["LIRF", STATIONS3[41]],
|
|
4901
|
+
["LOWW", STATIONS3[42]],
|
|
4902
|
+
["LSZH", STATIONS3[43]],
|
|
4903
|
+
["NZAA", STATIONS3[44]],
|
|
4904
|
+
["NZWN", STATIONS3[45]],
|
|
4905
|
+
["OERK", STATIONS3[46]],
|
|
4906
|
+
["OMDB", STATIONS3[47]],
|
|
4907
|
+
["OTHH", STATIONS3[48]],
|
|
4908
|
+
["RCTP", STATIONS3[49]],
|
|
4909
|
+
["RJAA", STATIONS3[50]],
|
|
4910
|
+
["RJTT", STATIONS3[51]],
|
|
4911
|
+
["RKSI", STATIONS3[52]],
|
|
4912
|
+
["SAEZ", STATIONS3[53]],
|
|
4913
|
+
["SBGR", STATIONS3[54]],
|
|
4914
|
+
["UUEE", STATIONS3[55]],
|
|
4915
|
+
["VABB", STATIONS3[56]],
|
|
4916
|
+
["VHHH", STATIONS3[57]],
|
|
4917
|
+
["VIDP", STATIONS3[58]],
|
|
4918
|
+
["VTBS", STATIONS3[59]],
|
|
4919
|
+
["WSSS", STATIONS3[60]],
|
|
4920
|
+
["YBBN", STATIONS3[61]],
|
|
4921
|
+
["YMML", STATIONS3[62]],
|
|
4922
|
+
["YSSY", STATIONS3[63]],
|
|
4923
|
+
["ZBAA", STATIONS3[64]],
|
|
4924
|
+
["ZSPD", STATIONS3[65]]
|
|
4021
4925
|
]);
|
|
4022
4926
|
var _STATION_TZ = Object.freeze({
|
|
4023
4927
|
// Eastern (UTC-5 standard / UTC-4 DST)
|