timezone-soft 1.5.2 → 1.7.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/LICENSE +21 -0
- package/README.md +166 -107
- package/builds/timezone-soft.cjs +1141 -1036
- package/builds/timezone-soft.js +1210 -0
- package/builds/timezone-soft.min.js +2 -0
- package/package.json +61 -40
- package/types/index.d.cts +25 -0
- package/types/index.d.ts +14 -2
- package/builds/timezone-soft.min.cjs +0 -1
- package/builds/timezone-soft.mjs +0 -1099
package/builds/timezone-soft.cjs
CHANGED
|
@@ -1,1107 +1,1212 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
typeof define === 'function' && define.amd ? define(factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.timezoneSoft = factory());
|
|
5
|
-
})(this, (function () { 'use strict';
|
|
1
|
+
/*! spencermountain/timezone-soft 1.7.0 MIT */
|
|
2
|
+
'use strict';
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
/* eslint-disable no-empty */
|
|
5
|
+
const BASE = 36;
|
|
6
|
+
const seq = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
const cache = seq.split('').reduce(function (h, c, i) {
|
|
9
|
+
h[c] = i;
|
|
10
|
+
return h
|
|
11
|
+
}, {});
|
|
12
|
+
|
|
13
|
+
// 0, 1, 2, ..., A, B, C, ..., 00, 01, ... AA, AB, AC, ..., AAA, AAB, ...
|
|
14
|
+
const toAlphaCode = function (n) {
|
|
15
|
+
if (seq[n] !== undefined) {
|
|
16
|
+
return seq[n]
|
|
17
|
+
}
|
|
18
|
+
let places = 1;
|
|
19
|
+
let range = BASE;
|
|
20
|
+
let s = '';
|
|
21
|
+
for (; n >= range; n -= range, places++, range *= BASE) {}
|
|
22
|
+
for (; places > 0; places--) {
|
|
23
|
+
const d = n % BASE;
|
|
24
|
+
s = String.fromCharCode((d < 10 ? 48 : 55) + d) + s;
|
|
25
|
+
n = (n - d) / BASE;
|
|
26
|
+
}
|
|
27
|
+
return s
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const fromAlphaCode = function (s) {
|
|
31
|
+
if (cache[s] !== undefined) {
|
|
32
|
+
return cache[s]
|
|
33
|
+
}
|
|
34
|
+
let n = 0;
|
|
35
|
+
let places = 1;
|
|
36
|
+
let range = BASE;
|
|
37
|
+
let pow = 1;
|
|
38
|
+
for (; places < s.length; n += range, places++, range *= BASE) {}
|
|
39
|
+
for (let i = s.length - 1; i >= 0; i--, pow *= BASE) {
|
|
40
|
+
let d = s.charCodeAt(i) - 48;
|
|
41
|
+
if (d > 10) {
|
|
42
|
+
d -= 7;
|
|
43
|
+
}
|
|
44
|
+
n += d * pow;
|
|
45
|
+
}
|
|
46
|
+
return n
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var encoding = {
|
|
50
|
+
toAlphaCode,
|
|
51
|
+
fromAlphaCode
|
|
52
|
+
};
|
|
14
53
|
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
54
|
+
const symbols = function (t) {
|
|
55
|
+
const reSymbol = /^([0-9A-Z]+):([0-9A-Z]+)$/;
|
|
56
|
+
for (let i = 0; i < t.nodes.length; i++) {
|
|
57
|
+
if (!t.nodes[i].includes(':')) {
|
|
58
|
+
break
|
|
19
59
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
for (; n >= range; n -= range, places++, range *= BASE) {}
|
|
24
|
-
while (places--) {
|
|
25
|
-
const d = n % BASE;
|
|
26
|
-
s = String.fromCharCode((d < 10 ? 48 : 55) + d) + s;
|
|
27
|
-
n = (n - d) / BASE;
|
|
60
|
+
const m = reSymbol.exec(t.nodes[i]);
|
|
61
|
+
if (!m || m[0].length !== t.nodes[i].length || encoding.fromAlphaCode(m[1]) !== i) {
|
|
62
|
+
throw new SyntaxError('Invalid efrt packed data: symbol definition')
|
|
28
63
|
}
|
|
29
|
-
|
|
30
|
-
}
|
|
64
|
+
t.syms.push(encoding.fromAlphaCode(m[2]));
|
|
65
|
+
}
|
|
66
|
+
t.symCount = t.syms.length;
|
|
67
|
+
t.nodes = t.nodes.slice(t.symCount);
|
|
68
|
+
if (t.nodes.length === 0 || t.syms.some((index) => !Number.isSafeInteger(index) || index >= t.nodes.length)) {
|
|
69
|
+
throw new SyntaxError('Invalid efrt packed data: symbol target')
|
|
70
|
+
}
|
|
71
|
+
};
|
|
31
72
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
73
|
+
const unescapeLabel = function (text) {
|
|
74
|
+
return text.replace(/\\([\s\S]|$)/g, (match, char) => {
|
|
75
|
+
if (char === '\\') {
|
|
76
|
+
return '\\'
|
|
35
77
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
let range = BASE;
|
|
39
|
-
let pow = 1;
|
|
40
|
-
for (; places < s.length; n += range, places++, range *= BASE) {}
|
|
41
|
-
for (let i = s.length - 1; i >= 0; i--, pow *= BASE) {
|
|
42
|
-
let d = s.charCodeAt(i) - 48;
|
|
43
|
-
if (d > 10) {
|
|
44
|
-
d -= 7;
|
|
45
|
-
}
|
|
46
|
-
n += d * pow;
|
|
78
|
+
if (char >= 'a' && char <= 'j') {
|
|
79
|
+
return String(char.charCodeAt(0) - 97)
|
|
47
80
|
}
|
|
48
|
-
|
|
49
|
-
}
|
|
81
|
+
throw new SyntaxError('Invalid efrt packed data: label escape')
|
|
82
|
+
})
|
|
83
|
+
};
|
|
50
84
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
85
|
+
const dictionary = function (trie) {
|
|
86
|
+
if (!trie.nodes[0].startsWith('!1:')) {
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
const header = trie.nodes.shift().split(':');
|
|
90
|
+
const tokens = Array.from(header[1]);
|
|
91
|
+
const fragments = (header[2] || '').split(',');
|
|
92
|
+
if (header.length !== 3 || tokens.length === 0 || tokens.length !== fragments.length ||
|
|
93
|
+
new Set(tokens).size !== tokens.length || trie.nodes.length === 0 ||
|
|
94
|
+
tokens.some((token) => token.length !== 1 || token.charCodeAt(0) < 33 ||
|
|
95
|
+
token.charCodeAt(0) > 126 || /[A-Za-z0-9,;!:|]/.test(token) ||
|
|
96
|
+
(trie.versioned && token === '\\')) ||
|
|
97
|
+
fragments.some((text) => !text || /[A-Z0-9,;!:|¦]/.test(text))) {
|
|
98
|
+
throw new SyntaxError('Invalid efrt packed data: fragment dictionary')
|
|
99
|
+
}
|
|
100
|
+
trie.dictionary = Object.create(null);
|
|
101
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
102
|
+
trie.dictionary[tokens[i]] = trie.versioned ? unescapeLabel(fragments[i]) : fragments[i];
|
|
103
|
+
}
|
|
104
|
+
};
|
|
55
105
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
//remove from main node list
|
|
68
|
-
t.nodes = t.nodes.slice(t.symCount, t.nodes.length);
|
|
69
|
-
};
|
|
70
|
-
var parseSymbols = symbols;
|
|
106
|
+
// References are either absolute (symbol) or relative (1 - based)
|
|
107
|
+
const indexFromRef = function (trie, ref, index) {
|
|
108
|
+
const dnode = encoding.fromAlphaCode(ref);
|
|
109
|
+
const target = dnode < trie.symCount ? trie.syms[dnode] : index + dnode + 1 - trie.symCount;
|
|
110
|
+
// The encoder emits nodes in topological order. Every edge must point
|
|
111
|
+
// forward, which also rules out cycles before expansion starts.
|
|
112
|
+
if (!Number.isSafeInteger(target) || target <= index || target >= trie.nodes.length) {
|
|
113
|
+
throw new SyntaxError('Invalid efrt packed data: node reference')
|
|
114
|
+
}
|
|
115
|
+
return target
|
|
116
|
+
};
|
|
71
117
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return trie.syms[dnode]
|
|
118
|
+
const parseNodes = function (trie) {
|
|
119
|
+
return trie.nodes.map((node, index) => {
|
|
120
|
+
if (node === '' && trie.nodes.length !== 1) {
|
|
121
|
+
throw new SyntaxError('Invalid efrt packed data: empty node')
|
|
77
122
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
const matches = node.split(/([A-Z0-9,]+)/g);
|
|
90
|
-
for (let i = 0; i < matches.length; i += 2) {
|
|
91
|
-
const str = matches[i];
|
|
92
|
-
const ref = matches[i + 1];
|
|
93
|
-
if (!str) {
|
|
94
|
-
continue
|
|
95
|
-
}
|
|
96
|
-
const have = pref + str;
|
|
97
|
-
//branch's end
|
|
98
|
-
if (ref === ',' || ref === undefined) {
|
|
99
|
-
all.push(have);
|
|
100
|
-
continue
|
|
101
|
-
}
|
|
102
|
-
const newIndex = indexFromRef(trie, ref, index);
|
|
103
|
-
crawl(newIndex, have);
|
|
123
|
+
const terminal = node[0] === '!';
|
|
124
|
+
const body = terminal ? node.slice(1) : node;
|
|
125
|
+
const edges = [];
|
|
126
|
+
// Match only at the current offset. Searching later positions would
|
|
127
|
+
// repeatedly rescan a long malformed fragment before rejecting it.
|
|
128
|
+
const token = /([^A-Z0-9,;!:|¦]+)([A-Z0-9]+|,|$)/y;
|
|
129
|
+
for (let offset = 0; offset < body.length; offset = token.lastIndex) {
|
|
130
|
+
const match = token.exec(body);
|
|
131
|
+
if (!match || match.index !== offset || (match[2] === ',' && token.lastIndex === body.length)) {
|
|
132
|
+
throw new SyntaxError('Invalid efrt packed data: node syntax')
|
|
104
133
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
134
|
+
const ref = match[2];
|
|
135
|
+
const label = trie.versioned ? unescapeLabel(match[1]) : match[1];
|
|
136
|
+
const text = trie.dictionary ? Array.from(label,
|
|
137
|
+
(char) => trie.dictionary[char] || char).join('') : label;
|
|
138
|
+
edges.push({
|
|
139
|
+
text,
|
|
140
|
+
target: ref === '' || ref === ',' ? -1 : indexFromRef(trie, ref, index)
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return { terminal, edges }
|
|
144
|
+
})
|
|
145
|
+
};
|
|
109
146
|
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
147
|
+
const toArray = function (trie) {
|
|
148
|
+
const nodes = parseNodes(trie);
|
|
149
|
+
const all = [];
|
|
150
|
+
const stack = [{ index: 0, pref: '', edge: -1 }];
|
|
151
|
+
for (; stack.length > 0;) {
|
|
152
|
+
const frame = stack[stack.length - 1];
|
|
153
|
+
const node = nodes[frame.index];
|
|
154
|
+
if (frame.edge === -1) {
|
|
155
|
+
if (node.terminal) {
|
|
156
|
+
all.push(frame.pref);
|
|
157
|
+
}
|
|
158
|
+
frame.edge = 0;
|
|
120
159
|
}
|
|
121
|
-
|
|
122
|
-
|
|
160
|
+
if (frame.edge === node.edges.length) {
|
|
161
|
+
stack.pop();
|
|
162
|
+
continue
|
|
163
|
+
}
|
|
164
|
+
const edge = node.edges[frame.edge++];
|
|
165
|
+
const word = frame.pref + edge.text;
|
|
166
|
+
if (edge.target === -1) {
|
|
167
|
+
all.push(word);
|
|
168
|
+
} else {
|
|
169
|
+
stack.push({ index: edge.target, pref: word, edge: -1 });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return all
|
|
173
|
+
};
|
|
123
174
|
|
|
124
|
-
|
|
175
|
+
//PackedTrie - Trie traversal of the Trie packed-string representation.
|
|
176
|
+
const unpack$1 = function (str, versioned = false) {
|
|
177
|
+
const trie = {
|
|
178
|
+
nodes: str.split(';'),
|
|
179
|
+
syms: [],
|
|
180
|
+
symCount: 0,
|
|
181
|
+
versioned
|
|
182
|
+
};
|
|
183
|
+
dictionary(trie);
|
|
184
|
+
//process symbols, if they have them
|
|
185
|
+
if (str.match(':')) {
|
|
186
|
+
symbols(trie);
|
|
187
|
+
}
|
|
188
|
+
return toArray(trie)
|
|
189
|
+
};
|
|
125
190
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
191
|
+
const unpack = function (str) {
|
|
192
|
+
if (str === '' || str === null || str === undefined) {
|
|
193
|
+
return {}
|
|
194
|
+
}
|
|
195
|
+
if (typeof str !== 'string') {
|
|
196
|
+
throw new TypeError('efrt unpack expects a string')
|
|
197
|
+
}
|
|
198
|
+
//turn the weird string into a key-value object again
|
|
199
|
+
const obj = str.split('|').reduce((h, s) => {
|
|
200
|
+
const arr = s.split('¦');
|
|
201
|
+
if (arr.length !== 2 || Object.prototype.hasOwnProperty.call(h, arr[0])) {
|
|
202
|
+
throw new SyntaxError('Invalid efrt packed data: category separator or duplicate category')
|
|
129
203
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
cat = true;
|
|
204
|
+
h[arr[0]] = arr[1];
|
|
205
|
+
return h
|
|
206
|
+
}, Object.create(null));
|
|
207
|
+
const all = {};
|
|
208
|
+
Object.keys(obj).forEach(function (cat) {
|
|
209
|
+
let data = obj[cat];
|
|
210
|
+
const versioned = data.startsWith('!2;');
|
|
211
|
+
if (versioned) {
|
|
212
|
+
data = data.slice(3);
|
|
213
|
+
if (!data || data === ':') {
|
|
214
|
+
throw new SyntaxError('Invalid efrt packed data: missing versioned trie')
|
|
142
215
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
216
|
+
}
|
|
217
|
+
const reversed = data[0] === ':';
|
|
218
|
+
const arr = unpack$1(reversed ? data.slice(1) : data, versioned);
|
|
219
|
+
//special case, for botched-boolean
|
|
220
|
+
if (cat === 'true') {
|
|
221
|
+
cat = true;
|
|
222
|
+
}
|
|
223
|
+
for (let i = 0; i < arr.length; i++) {
|
|
224
|
+
const k = reversed ? Array.from(arr[i]).reverse().join('') : arr[i];
|
|
225
|
+
if (Object.prototype.hasOwnProperty.call(all, k)) {
|
|
226
|
+
if (Array.isArray(all[k]) === false) {
|
|
227
|
+
if (all[k] !== cat) {
|
|
147
228
|
all[k] = [all[k], cat];
|
|
148
|
-
} else {
|
|
149
|
-
all[k].push(cat);
|
|
150
229
|
}
|
|
151
|
-
} else {
|
|
152
|
-
all[k]
|
|
230
|
+
} else if (!all[k].includes(cat)) {
|
|
231
|
+
all[k].push(cat);
|
|
153
232
|
}
|
|
233
|
+
} else {
|
|
234
|
+
Object.defineProperty(all, k, {
|
|
235
|
+
value: cat,
|
|
236
|
+
writable: true,
|
|
237
|
+
enumerable: true,
|
|
238
|
+
configurable: true
|
|
239
|
+
});
|
|
154
240
|
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
return all
|
|
244
|
+
};
|
|
158
245
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
// these are the folk heuristics that timezones use to set their dst change dates
|
|
162
|
-
// for example, the US changes:
|
|
163
|
-
// the second Sunday of March -> first Sunday of November
|
|
164
|
-
// http://www.webexhibits.org/daylightsaving/g.html
|
|
165
|
-
let patterns = {
|
|
166
|
-
usa: '2nd-sun-mar-2h|1st-sun-nov-2h',// (From 1987 to 2006)
|
|
167
|
-
// mexico
|
|
168
|
-
mex: '1st-sun-apr-2h|last-sun-oct-2h',
|
|
169
|
-
|
|
170
|
-
// European Union zone
|
|
171
|
-
eu0: 'last-sun-mar-0h|last-sun-oct-1h',
|
|
172
|
-
eu1: 'last-sun-mar-1h|last-sun-oct-2h',
|
|
173
|
-
eu2: 'last-sun-mar-2h|last-sun-oct-3h',
|
|
174
|
-
eu3: 'last-sun-mar-3h|last-sun-oct-4h',
|
|
175
|
-
//greenland
|
|
176
|
-
green: 'last-sat-mar-22h|last-sat-oct-23h',
|
|
177
|
-
|
|
178
|
-
// australia
|
|
179
|
-
aus: '1st-sun-apr-3h|1st-sun-oct-2h',
|
|
180
|
-
//lord howe australia
|
|
181
|
-
lhow: '1st-sun-apr-2h|1st-sun-oct-2h',
|
|
182
|
-
// new zealand
|
|
183
|
-
chat: '1st-sun-apr-3h|last-sun-sep-2h', //technically 3:45h -> 2:45h
|
|
184
|
-
// new Zealand, antarctica
|
|
185
|
-
nz: '1st-sun-apr-3h|last-sun-sep-2h',
|
|
186
|
-
// casey - antarctica
|
|
187
|
-
ant: '2nd-sun-mar-0h|1st-sun-oct-0h',
|
|
188
|
-
// troll - antarctica
|
|
189
|
-
troll: '3rd-sun-mar-1h|last-sun-oct-3h',
|
|
190
|
-
|
|
191
|
-
//jordan
|
|
192
|
-
jord: 'last-fri-feb-0h|last-fri-oct-1h',
|
|
193
|
-
// lebanon
|
|
194
|
-
leb: 'last-sun-mar-0h|last-sun-oct-0h',
|
|
195
|
-
// syria
|
|
196
|
-
syr: 'last-fri-mar-0h|last-fri-oct-0h',
|
|
197
|
-
//israel
|
|
198
|
-
// Start: Last Friday before April 2 -> The Sunday between Rosh Hashana and Yom Kippur
|
|
199
|
-
isr: 'last-fri-mar-2h|last-sun-oct-2h',
|
|
200
|
-
//palestine
|
|
201
|
-
pal: 'last-sun-mar-0h|last-fri-oct-1h',
|
|
202
|
-
|
|
203
|
-
// el aaiun
|
|
204
|
-
//this one seems to be on arabic calendar?
|
|
205
|
-
saha: 'last-sun-mar-3h|1st-sun-may-2h',
|
|
206
|
-
|
|
207
|
-
// paraguay
|
|
208
|
-
par: 'last-sun-mar-0h|1st-sun-oct-0h',
|
|
209
|
-
//cuba
|
|
210
|
-
cuba: '2nd-sun-mar-0h|1st-sun-nov-1h',
|
|
211
|
-
//chile
|
|
212
|
-
chile: '1st-sun-apr-0h|1st-sun-sep-0h',
|
|
213
|
-
//easter island
|
|
214
|
-
east: '1st-sat-apr-22h|1st-sat-sep-22h',
|
|
215
|
-
//fiji
|
|
216
|
-
fiji: '3rd-sun-jan-3h|2nd-sun-nov-2h',
|
|
217
|
-
};
|
|
246
|
+
// Generated by scripts/build/01-pack.js. Edit data/dst-patterns.json instead.
|
|
247
|
+
var dstPatterns = {"usa":"2nd-sun-mar-2h|1st-sun-nov-2h","mex":"1st-sun-apr-2h|last-sun-oct-2h","egypt":"last-fri-apr-0h|last-thu-oct-24h","eu0":"last-sun-mar-0h|last-sun-oct-1h","eu1":"last-sun-mar-1h|last-sun-oct-2h","eu2":"last-sun-mar-2h|last-sun-oct-3h","eu3":"last-sun-mar-3h|last-sun-oct-4h","green":"last-sat-mar-23h|last-sun-oct-0h","aus":"1st-sun-apr-3h|1st-sun-oct-2h","lhow":"1st-sun-oct-2h|1st-sun-apr-2h","chat":"1st-sun-apr-3h|last-sun-sep-2h","nz":"1st-sun-apr-3h|last-sun-sep-2h","ant":"2nd-sun-mar-0h|1st-sun-oct-0h","troll":"last-sun-mar-1h|last-sun-oct-3h","jord":"last-fri-feb-0h|last-fri-oct-1h","leb":"last-sun-mar-0h|last-sun-oct-0h","syr":"last-fri-mar-0h|last-fri-oct-0h","isr":"last-fri-mar-2h|last-sun-oct-2h","pal":"last-sun-mar-0h|last-fri-oct-1h","saha":"last-sun-mar-3h|1st-sun-may-2h","par":"last-sun-mar-0h|1st-sun-oct-0h","cuba":"2nd-sun-mar-0h|1st-sun-nov-1h","chile":"1st-sat-sep-24h|1st-sat-apr-24h","east":"1st-sat-apr-22h|1st-sat-sep-22h","fiji":"3rd-sun-jan-3h|2nd-sun-nov-2h"};
|
|
218
248
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var pcked = {"Africa":{"Abidjan":["true¦a5bouake,coordinated universal4daloa,g1san ped0utc,yamoussouk0zulu;ro;h0mt,reenwich mean2;!a0;!na; ti3;b4frica0tlantic/st_helena;!/0;accra,ba1conakry,dakar,freetown,lo0nouakchott,ouagadougou,timbuktu;me;mako,njul;idjan,obo","Greenwich Mean","n"],"Algiers":["true¦a8b6c3dz2or5s1t0;ebessa,iaret;etif,idi bel abbes;!a;e0hlef,onstantine;ntral europe0t;an;a0iskra,lida,oumerdas;b ezzouar,tna;frica,lg0nnaba;eria,iers","Central European","n"],"Bissau":["true¦africa,b2coordinated universal1g0utc,zulu;mt,nb,reenwich mean0uinea b1w; time;issau","Greenwich Mean","n"],"Cairo":["true¦a6bani suwayf,c5damanhur,e2giza,halw8i1kafr ad dawwar,luxor,new c5port said,qina,s0tanta,zagazig;hibin al kawm,ohag,uez;dku,smail8;astern europe5et,g0;!y0;!pt;airo;frica,l2s0;w0yut;an; 1exandr0;ia;fayyum,m0;a0inya;hallah al kubra,nsurah","Eastern European","n"],"Casablanca":["true¦aCcasablanDfBkenitAm6oujda angad,rabat,sa4t1we0;stern europe2t;angier,e0;ma7tou0;an;fi,le0;! al jadida;a1ekn4o0;hammedia,rocco;!r0;!rakesh;ra;es;fri0gadir,l hoceima;ca","Morocco Standard","n","saha"],"Ceuta":["true¦africa,brussels,c0europe central,madrid,paris,romance;e0openhagen;ntral european,t,uta0;!melilla","Central European","n","eu2"],"El_Aaiun":["true¦afri3casablan3e2laayoune,morocco,we0;stern 0t;european,sahara;h,l_aaiun,sh;ca","Morocco Standard","n","saha"],"Johannesburg":["true¦africaIbEcAd9east londBharare,johannesHk7newcastDp6r5s3tembisa,uitenhage,v2w1za0;!f;elkom,itbank;anderbijlpark,ereeniging;ast,o0prings;uth africa,weto;andBichards bay,oodepoort;aarl,ietermaritzAort elizabeth,retoria;lerk0ruger0;sdorp;iepsloot,urb5;a1enturi0;on;pe town,rletonvil0;le;enoni,loemfontein,o1rakp0;an;ks0tshabelo;burg;! southern,/m0;aseru,babane","South Africa","s"],"Juba":["true¦a3c2juba,s0winejok;outh sudan,s0;!d;at,entral a0;frica","Central Africa","n"],"Khartoum":["true¦a7c6el 5k3ny4omdurm2port sud2s0wad medani;d0inga,ud1;!n;an;ass0hartoum,osti;ala;dae3fasher,obeid;at,entral af1;d damaz1f0l qadarif;rica;in","Central Africa","n"],"Lagos":["true¦aVbTcReQgPiLjKkaIlGmDnnewi,oAport harcourt,s9u7w0zar8; c3a2est0; 0ern3;a3c1;rBst,t;entral0; a0;frica;gep,muah0yo;ia;a7hagamu,okoto;kDn1w0yo;er3o;do,itsha;a0in5ubi;idugu0kurdi;ri;agos,ek0;ki;du0no,tsi0;na;imeLos;badan,jebu ode,k1l0seHwo;a orangun,eDor7;eHi8ot ekp0;ene;ombe,usau;bute ikorodu,fon alaaye,nugu;alabar,d,hakwama,o0;d,ngo;auchi,en0;in;b8do7frica1ku0tani;re;! western,/0;b2douala,kinsha1l0malabo,niamey,porto-novo;ibre2uanda;sa;angui,razza0;ville; ekiti;a,eoku1u0;ja;ta","West Africa","n"],"Maputo":["true¦africa7beiCc6ma4na2quelimaAwindhoek,z0;imbabwe,w0;!e;ca2m0;ibia,pu1;puto,to0;la;at,entral africa,himoio;! central,/0;b2gaboro1hara4kigali,lu0;bumbashi,saka;ne;lanty1ujumbu0;ra;re","Central Africa","s"],"Monrovia":["true¦africa,coordinated universal3g2l0monrov1utc,zulu;br,iber0r;ia;mt,reenwich mean0; time","Greenwich Mean","n"],"Nairobi":["true¦africa8e4indian/2kisumu,m1na0thika,yt;irobi,kuru;a1ombasa,yt;antananarivo,comoro,ma0;yotte; 2a0ldoret;st0t; 0ern 0;africa;! eastern,/0;a1d0kampala,mogadishu;ar_es_salaam,jibouti;ddis_ababa,sm0;a0e0;ra","East Africa","n"],"Ndjamena":["true¦africaAchad,n8t7w0; c3a2est0; 0ern3;a3c1;st,t;entral0; a0;frica;cd,d;'d0d0;jamena;! western","West Africa","n"],"Sao_Tome":["true¦africa,coordinated universal5g4s0utc,zulu;ao1t0;!p; 0_0;to2;mt,reenwich mean0; ti0;me","Greenwich Mean","n"],"Tripoli":["true¦a4benghazi,e3l1misrat5t0zawi2;arhuna,ripoli;by,ib0y;ya;astern european,et;frica,l khums,z zawiy0;ah","Eastern European","n"],"Tunis":["true¦africa,ce3sfax,t0;n,un0;!is0;!ia;ntral european,t","Central European","n"],"Windhoek":["true¦africa3c2na0windhoek;!m0;!ibia;at,entral africa;! central","Central Africa","s"]},"America":{"Adak":["true¦a1h0nwt,us/aleutian;awaii s3dt,st;dak,leutian0merica/atka;! 0;islands,s0;tandard time","Aleutian Standard","n","usa"],"Anchorage":["true¦a0us/alaska;h6k5laska0merica,nchorage;! 1n0;! s1;s0t1;tandard t0;ime;dt,st,t;dt,st","Alaska","n","usa"],"Araguaina":["true¦araguaina,br1e0palmas,tocantins; south america s4ast south america;a0t;silia0zil;! 0;s0t1;tandard t0;ime","Brasilia","n"],"Argentina/Buenos_Aires":["true¦a0buenos 4;merica/2r0;!g0;!e2;arge1buenos_0;aires;ntina","Argentina","s"],"Argentina/Catamarca":["true¦a0c2;merica/0rgentina;argentina/comodrivadavia,c0;atamarca","Argentina","s"],"Argentina/Cordoba":["true¦a0c2;merica/0rgentina;c0rosario;ordoba","Argentina","s"],"Argentina/Jujuy":["true¦a0j1;merica/j0rgentina;ujuy","Argentina","s"],"Argentina/La_Rioja":["true¦ar1b0city of b0la rioja;uenos aires;gentina0st,t;! 0;standard t0t0;ime","Argentina","s"],"Argentina/Mendoza":["true¦a0m1;merica/m0rgentina;endoza","Argentina","s"],"Argentina/Rio_Gallegos":["true¦ar1b0city of b0rio_gallegos;uenos aires;gentina0st,t;! 0;standard t0t0;ime","Argentina","s"],"Argentina/Salta":["true¦ar1b0city of b0salta;uenos aires;gentina0st,t;! 0;standard t0t0;ime","Argentina","s"],"Argentina/San_Juan":["true¦ar1b0city of b0san juan;uenos aires;gentina0st,t;! time","Argentina","s"],"Argentina/San_Luis":["true¦ar1b0city of b0san luis;uenos aires;gentina0st,t;! time","Argentina","s"],"Argentina/Tucuman":["true¦ar1b0city of b0tucuman;uenos aires;gentina0st,t;! time","Argentina","s"],"Argentina/Ushuaia":["true¦ar1b0city of b0ushuaia;uenos aires;gentina0st,t;! time","Argentina","s"],"Asuncion":["true¦asuncion,c3p0san lorenzo;araguay1ry,y0;!st,t;! time;apiata,iudad del este","Paraguay","s","par"],"Bahia":["true¦b2camacari,e1feira de santa0itabu0salvador,vitoria da conquista;na; south america s5ast south america;ahia,r0;a0t;silia0zil;! 0;s0t1;tandard t0;ime","Brasilia","n"],"Bahia_Banderas":["true¦bah7c2guadalajara,m0;exico0onterrey;! city;entral 0st;mexic0standard 2;an,o0;! 0;time;ia_0ía de 0;banderas","Central Mexico","n","mex"],"Barbados":["true¦a1b0;arbados,b,rb;st,tlantic standard time","Atlantic","n"],"Belem":["true¦ananindeua,b2e1macapa,par0;auapebas,á east amapá; south america s5ast south america;elem,r0;a0t;silia0zil;! 0;s0t1;tandard t0;ime","Brasilia","n"],"Belize":["true¦b1c0;entral standard time,st;elize,lz,z","Central","n"],"Boa_Vista":["true¦am3boa vista,c0roraima;entral brazil0uiaba;!ian0;! s3;azon0t;! 0;s0t1;tandard t0;ime","Amazon","n"],"Bogota":["true¦armenGbBc7dosquebradas,floridablanca,i6m5neiva,p3s1v0;alledupar,illavicencio;anta marCincelejo,o0;acha,ledad;a0erei9opayan;lmi8sto;anizales,edellin,onterA;bague,taguei;a2o0ucu6;!l0st,t;!omb6;li,rtagena;arran3ello,ogo2u0;caramanga,enaventu0;ra;ta;cabermeja,quilla;ia","Colombia","n"],"Boise":["true¦america4boise,idaho,m0;ountain0pt,st,t;! 0;id,standard t0t0;ime;! mountain","Mountain","n","usa"],"Cambridge_Bay":["true¦america4cambridge bay,m0;ddt,ountain0st,t;! 0;standard t0t0;ime;! mountain","Mountain","n","usa"],"Campo_Grande":["true¦am0brazil,campo grande,mato grosso do sul;azon standard time,t","Amazon","s"],"Cancun":["true¦cancun,e0mexico,quintana roo;astern standard time,st","Eastern","n"],"Caracas":["true¦alto barinKbarJcDguaBm8p7san6turmeFv0;alencia,e0;!n0t;!ezuela0;! 0n;standard t0t0;ime; cristobal,ta teresa del tuy;eta4uerto la cruz;a0ucumpiz;raca0turin;ibo,y;ren8ti0;re;a4iudad 2o1u0;a,m2;ro;bolivar,guay0;ana;bim1rac1;in0quisimeto,uta;as","Venezuela","n"],"Cayenne":["true¦cayenne,french guiana3g0;f1u0;f,iana;!t;! time","French Guiana","n"],"Chicago":["true¦aWbTcRdQfort worth,gPhOiMk00lJmCn8o7plano,s4t2us1wi0;chiGsconsW;/02a;ex0ulsa;!as;a0hreveport,ou4t 1;int 0n antonio;louGpaul;klahoXmaha,verland park;ashLe1or0;th dako7;braska,w 0;orleans,south me6;adisMe5i1o0;biHntgomery;lwaukee,nne1ss0;issippi,ouri;apol6so0;ta;mph4;aredo,i0ouisiana,ubb1;ncoln,ttle r0;ock;llino0owa,rving;is;oustAunts5;arland,rand prairie;allAes moines;dt,entral0hicago,orpus christi,st,t;! time;aton rouge,rowns0;vil0;le;laba8m5r1ust0;in;k1lingt0;on;ans0;as;arillo,erica0;! 0;central;ma","Central","n","usa"],"Chihuahua":["true¦chihuahua,h5la paz,m0;azatlan,exic1ountain 0;mexico,standard time (mexico);an pacific1o0;! pacific;! time;ep0np0p0;mx","Mexican Pacific","n","mex"],"Costa_Rica":["true¦c0sjmt;entral standard time,osta rica,r0st;!i","Central","n"],"Cuiaba":["true¦am0brazil,cuiaba,mato grosso,varzea grande;azon standard time,t","Amazon","s"],"Danmarkshavn":["true¦coordinated universal2d1g0utc,zulu;mt,reenwich mean1;anmarkshavn,enmark; time","Greenwich Mean","n"],"Dawson":["true¦canada,dawson,m2y0;d0pt,wt;dt,t;ountain standard time,st","Mountain","n"],"Dawson_Creek":["true¦canada,dawson creek,m1p0;pt,wt;ountain standard time,st,t","Mountain","n"],"Denver":["true¦a5colorado springs,denver,el paso,m1navajo,salt lake,us0;/6a;dt,ountain0st,t;! 0;standard t0t0;ime;lbuquerque,merica0urora;! 0/shiprock;mountain","Mountain","n","usa"],"Detroit":["true¦america4detroit,e0grand rapids,us/michigan;astern0pt,st,t,wt;! 0;mi,standard t0t0;ime;! eastern","Eastern","n","usa"],"Edmonton":["true¦a6ca4edmonton,m0;ountain0st,t;! 0;standard t0t0;ime;lgary,nada0;!/1;lberta,merica 0;mountain","Mountain","n","usa"],"Eirunepe":["true¦a0brazil,eirunepe;c0mazonas west;re0t;! 0;standard t0t0;ime","Acre","n"],"El_Salvador":["true¦c2el1s0;an0lv,oyapango,v; salvador;entral standard time,st","Central","n"],"Fort_Nelson":["true¦british columbia,canada,fort nelson,m0;ountain standard time,st,t","Mountain","n"],"Fortaleza":["true¦br5ca4e3fortaleza,imperatriz,j2m0natal,sao luis,teresina;a0ossoro;picernpb,racanau;oao pessoa,uazeiro do norte; south america s5ast south america;mpina grande,ucaia;a0t;silia0zil;! 0;s0t1;tandard t0;ime","Brasilia","s"],"Glace_Bay":["true¦a1ca0glace_bay;nada,pe breton;st,t0;!lantic0;! 0;standard t0t0;ime","Atlantic","n","usa"],"Goose_Bay":["true¦a0canada,goose_bay,labrador,npt;st,t0;!lantic0;! 0;standard t0t0;ime","Atlantic","n","usa"],"Grand_Turk":["true¦america eastern,e2grand turk,kmt,t0;c0urks and caicos;!a;astern0st,t;! 0;standard t0t0;ime","Eastern","n","usa"],"Guatemala":["true¦c2g0mixco,villa nueva;t0uatemala;!m;entral standard time,st","Central","n"],"Guayaquil":["true¦cuenca,ec2guayaquil,ma1q0santo domingo de los colorados;mt,uito;chala,nta;!t,u0;!ador0;! 0;mainland,time","Ecuador","n"],"Guyana":["true¦g0;eorgetown,uy1y0;!t;!ana0;! time","Guyana","n"],"Halifax":["true¦a4ca2halifax,n1p0;ei,rince edward island;ew brunswick,ova scotia;!nada0;!/atlantic;dt,st,t0;!lantic0;! 0;ns,standard t0t0;ime","Atlantic","n","usa"],"Havana":["true¦arroyo naranjo,bBc3diez de octubre,guantanDh1las tunas,pinar del rio,sant0;a clara,iago de cuba;avana,cu,e0n0olguin;cu;amaguey,i5u0;!b0;!a0;! 0;standard t0t0;ime;e0udad camilo cie0;nfueg1;ay1oyer0;os;amo","Cuba","n","cuba"],"Hermosillo":["true¦ciudad obregon,h1mexic0nogales,sonora;an pacific standard time,o;ermosillo,npmx","Mexican Pacific","n"],"Indiana/Indianapolis":["true¦america2crawford,dadukmn,eastern in,i4p0star1us/east-indiana;erry,i0ulaski;ke;!/0;fort_wayne,i0;ndiana0;!polis","Eastern","n","usa"],"Indiana/Knox":["true¦america1c0indiana,knox,us/indiana-starke;entral standard time,st;!/knox_in","Central","n","usa"],"Indiana/Marengo":["true¦america,e0indiana,marengo;astern standard time,st","Eastern","n","usa"],"Indiana/Petersburg":["true¦america,e0indiana,petersburg;astern standard time,st","Eastern","n","usa"],"Indiana/Tell_City":["true¦america,c0indiana,tell_city;entral standard time,st","Central","n","usa"],"Indiana/Vevay":["true¦america,e0indiana,vevay;astern standard time,st","Eastern","n","usa"],"Indiana/Vincennes":["true¦america,e0indiana,vincennes;astern standard time,st","Eastern","n","usa"],"Indiana/Winamac":["true¦america,e0indiana,winamac;astern standard time,st","Eastern","n","usa"],"Inuvik":["true¦america mountain,canada,inuvik,m0pddt;ountain0st,t;! 0;standard t0t0;ime","Mountain","n","usa"],"Iqaluit":["true¦america eastern,canada,e0iqaluit;astern0ddt,st,t;! 0;standard t0t0;ime","Eastern","n","usa"],"Jamaica":["true¦e3j1k0new k0;ingston;am0m;!aica;astern standard time,st","Eastern","n"],"Juneau":["true¦a0juneau;k5laska0merica;! 1n0;! s1;juneau area,s0t1;tandard t0;ime;st,t","Alaska","n","usa"],"Kentucky/Louisville":["true¦america0eastern 4k3l2wayne;!/0;k1l0;ouisville;entuc0;ky","Eastern","n","usa"],"Kentucky/Monticello":["true¦america,e0kentucky,monticello;astern standard time,st","Eastern","n","usa"],"La_Paz":["true¦bo1cochabamba,la paz,oruro,s0;anta cruz de la sierra,ucre;!l0t;!ivia0;! time","Bolivia","s"],"Lima":["true¦arequiDc9huancCi8juliaca,lima,p2sant1t0;acna,rujillo;a anita los ficus,iago de sur8;e0iura,ucallA;!r0t;!u0;! 0;standard t0t0;ime;ca,quitos;allao,hi1us0;co;cl0mbote;ayo;pa","Peru","s"],"Los_Angeles":["true¦a05ba03c00fWgarden grove,hTirviSlMmoJnIoFp9r8s1tacoma,us0washington state;/06a;a1eattle,f,p0tocktTunrise manor;okaPringH;cramenHn0; 1ta 0;aTclariV;bernardiRdiego,fran0jo4;!cisco;ancho cucamonga,ePiver7;a0dt,ort7st,t;cific1radi0;se;! 0;standard t0t0;ime;ak1cean0regFxnard;side;land;evada,orth las8;des1reno0; valley;to;a3o0;ng6s0; 0_0;angeles;!s0; vegas;ne;enders1untington0; beach;on;onta2re0;mont,s0;no;na;ali1hula vis0;ta;!f1;ja calif0kersfield;ornia;merica0naheim;! 0;pacific","Pacific","n","usa"],"Maceio":["true¦a6br1e0maceio; south america s3ast south america;asilia0t;! 0;s0t1;tandard t0;ime;lagoassergipe,racaju","Brasilia","n"],"Managua":["true¦c3man2ni0;!c0;!ar0;agua;entral standard time,st","Central","n"],"Manaus":["true¦am4brazil3c0manaus;entral brazil0uiaba;!ian0;! s5;!/we2;azon0t;! 1as ea0;st;s0t1;tandard t0;ime","Amazon","s"],"Martinique":["true¦a3f1m0;a1q,tq;fmt,ort de france,rench ma0;rtinique;st,tlantic standard time","Atlantic","n"],"Matamoros":["true¦america central,c2heroica ma1m0nuevo laredo,reynosa;a0exico;tamoros;entral0st,t;! 0;standard t0t0;ime","Central","n","usa"],"Mazatlan":["true¦cAh8l7m0tep4;azatlAexic1ountain 0;mexico,standard time (mexico);an pacific 2o0;! pacif0/bajasur;ic;standard t0t0;ime;a paz,os mochis;np0p0;mx;hihuahua,uliac0;an","Mexican Pacific","n","mex"],"Menominee":["true¦america4c0menominee,wisconsin;entral0st,t;! 0;standard t0t0;ime;! central","Central","n","usa"],"Merida":["true¦c3guadalajara,m0;e0onterrey;rida,xico0;! city;ampeche4entral 0st;mexic0standard 2;an,o0;! 0;time;!yucatán","Central Mexico","n","mex"],"Metlakatla":["true¦a0metlakatla;k5laska0merica;! 1n0;! s1;annette island,s0t1;tandard t0;ime;st,t","Alaska","n","usa"],"Mexico_City":["true¦a0Lb0JcYduran0Cecatepec de morel0AguThSiQjalis0Nleon de los alda06mInHoGpEqDs9t4uruap04v2x1yucat04za0;catec0Cpop03;alapa de enriqu0Pi0Lochimil0L;e0illahermosa;nustiano carranza,racruz;a3e7la1o0uxt03;luUna02;huac,l0quepaque,xca01;nepant00pW;bas0Emaulip04pachuZ;an0oledad de graciano sanch0H; luis potosi,t0;a maria chimal0iago de q1;huQ;ueretaG;achuca de soIoza rica de7ue0;bSrto vallar04;axaJjo de agua;aucalpan07icolas romeCuevo le06;agdalena contrerUex4i2o0x;nterrey,rel0;ia,os;choHguel0; h5;!ico0;! 0/general,_0;city;rap5xtapalu9zta0;cUpalapa;idalJ;a1erre0stavo adolfo made0;ro;dalajara,naj0;ua0;to;ampeche,eFhiCiudad Ao3st,u0wt;au1ernava0;ca;htemoc,titlan izcalli;a4l2yo0;ac0;an;i0onia del valle;ma;cEhui0tzacoalc2;la;lopez mate0nezahualcoyotl;os;ap1lpancin0;go;as;laya,ntral 0;mexic0standard 2;an,o0;! 0;time;enito6uenavis0;ta;capulco3guascalientes,lvaro obreg2zcapotz0;al0;co;on; de0; juar0;ez","Central Mexico","n","mex"],"Miquelon":["true¦hBmAp8s0;aint pierre2pm,t pierre 0;& miquelon 0a5;s2t3;! 0;a2s0;tandard t0;ime;nd1;ierre0m; m0;iquelon;npm,pm","St. Pierre & Miquelon","n","usa"],"Moncton":["true¦a0canada,hepm,moncton,new brunswick;st,t0;!lantic0;! 0;standard t0t0;ime","Atlantic","n","usa"],"Monterrey":["true¦c8g6m3sa1t0victoria de durango;ampico,orreon;ltillo,n0; nicolas de los garza,ta catarina;exico1on0;clova,terrey;! city;omez palacio,uadal0;ajara,upe;entral 1iudad 0st;apodaca,general escobedo,madero,victoria;mexic0standard 2;an,o0;! 0;time","Central Mexico","n","mex"],"Montevideo":["true¦montevideo5u0;r1y0;!st,t;uguay0y;! 0;s1t2;! s0;tandard t0;ime","Uruguay","s"],"New_York":["true¦a0Rb0Oc0Hd0Ge0Bf07g05hialeah,i02j00kZlexingtonYmUnMoKpIquHrDsAt7u5v3w0yonkers;ashington1est 0inston salem,orcD;raEvirgin04;! dc;ermont,irginia0;! beach;nited states,s0;!/0Ma;a0enne1he bronx,oleD;llaha0mpa;ssee;outh 1t0; petersburg,aten3;bo0CcC;a2hode1ichmo06och0;ester; is03;lei2;eens,intana roo;ennsylvanNhiladelphNittsbur0rovidence;gh;hio,rlan0;do;ew3or1y0;!c;folk,th c0;aroliE; 1_yo0a0port news;rk;hampshiXje8york0;! staT;a1eads,i0;ami,chig1;ine,nhatt0ryMssachusetts;an;! fayetO;entucky,nox9;acks2e0;rsey;ndia1r0;on5;na;eorg0reensboro;ia;ayette1l0ort lauderda2;!orida;vil0;le;ast0dt,st,t; flatbush,ern0;! 0;standard t0t0;ime;elawa9urham;ape coral,h3incinnati,leve1o0;lumbus,nnecticut;la0;nd;a0esapeake;rlot0ttanooga;te;altimo1o0rooklyn,uffalo;st4;re;kr2merica0tlanta;! 0;eastern;on","Eastern","n","usa"],"Nipigon":["true¦america eastern,canada,e0nipigon;astern0st,t;! 0;standard t0t0;ime","Eastern","n","usa"],"Nome":["true¦a0no5;k5laska0merica;! 1n0;! s1;s0ti1west;tandard ti0;me;st,t","Alaska","n","usa"],"Noronha":["true¦atlantic islands,brazil3f0n4;ernando de noronha 0nt;standard t0t0;ime;!/den0;oronha","Fernando de Noronha","n"],"North_Dakota/Beulah":["true¦america,beulah,c0north dakota;entral standard time,st","Central","n","usa"],"North_Dakota/Center":["true¦america,c1merc0north dakota,oliv0;er;ent0st;er,ral standard time","Central","n","usa"],"North_Dakota/New_Salem":["true¦america,c1n0;ew_salem,orth dakota;entral standard time,st","Central","n","usa"],"Nuuk":["true¦america3g1nuuk,wg0;st,t;l,r0;eenland,l;!/godthab","West Greenland","n","green"],"Ojinaga":["true¦america5c4m0ojinaga;ountain0st,t;! 0;standard t0t0;ime;hihuahua,iudad juarez;! mountain","Mountain","n","usa"],"Panama":["true¦a3coral h,e2pa0san miguelito;!n0;!ama;astern standard time,st;merica/0t2;at1c0;aym1oral_harbour;ikok0;an","Eastern","n"],"Pangnirtung":["true¦a4baffin island,canada,e0nunavit,pangnirtung;astern0st,t;! 0;standard t0t0;ime;ddt,merica eastern","Eastern","n","usa"],"Paramaribo":["true¦paramaribo,s0;r2ur0;!iname0;! time;!t","Suriname","n"],"Phoenix":["true¦aAc8g6idaho,m4n3phoenix,s2t1u0wyoming;s/arAtah;empe,ucsC;cottsd4inaloa,onora;ayarit,ew mexico;aryv2esa,o0st,t,wt;nta6untain standard time;ilbert,lend0;ale;h0olorado;andler,ihuahua;merica2r0;izo0;na;!/crest0;on","Mountain","n"],"Port-au-Prince":["true¦america eastern,cAe6h4p0;etionville,ort0; 0-au-1;au 0de paix;prince;aiti,t0;!i;astern0st,t;! 0;standard t0t0;ime;arrefour,roix des bouquets","Eastern","n","usa"],"Porto_Velho":["true¦am5brazil,c2porto0rondônia; 0_0;velho;entral brazil0uiaba;!ian0;! s3;azon0t;! 0;s0t1;tandard t0;ime","Amazon","n"],"Puerto_Rico":["true¦a2bayam9p0;r0uerto rico;!i;merica0st,tlantic standard time;!/0;a5blanc-sabl4curacao,dominica,g3kralendijk,lower_princes,m2port_of_spa1st_0torto7virg1;barthelemy,kitts,lucia,thomas,vincent;in;arigot,ontserrat;renada,uadeloupe;on;n0ruba;guil0tigua;la","Atlantic","n"],"Punta_Arenas":["true¦c0punta arenas,region of magallanes;hile0lt;! standard time","Chile","s"],"Rainy_River":["true¦america4c0ft frances,rainy river;entral0st,t;! 0;standard t0t0;ime;! central","Central","n","usa"],"Rankin_Inlet":["true¦america4c0rankin inlet;ddt,entral0st,t;! 0;standard t0t0;ime;! central","Central","n","usa"],"Recife":["true¦aAbr4caruaru,e3jaboatao2olinda,p0;aulista,e0;rnambuco,trolina;! dos guararapes; south america s4ast south a6;a0t;silia0zil;! 0;s0t1;tandard t0;ime;merica","Brasilia","n"],"Regina":["true¦c2regina,s0;askat0k;c2oon;anada0entral standard time,st;!/saskatc0;hewan","Central","n"],"Resolute":["true¦america4c0resolute;entral0st,t;! 0;standard t0t0;ime;! central","Central","n","usa"],"Rio_Branco":["true¦a1brazil0rio branco;!/1;c1merica/porto_0;acre;re0t;! 0;standard t0t0;ime","Acre","s"],"Santarem":["true¦br1e0pará west,santarem; south america s4ast south america;a0t;silia0zil;! 0;s0t1;tandard t0;ime","Brasilia","n"],"Santiago":["true¦aAc4iquique,la pintana,puente alto,rancagua,san3t1v0;alparaiso,ina del mar;alca0emuco;!huano; bernardo,tiago;h1l0oncepcion;!st,t;ile0l;! 0/continental;standard t0t0;ime;ntofagasta,rica","Chile","s","chile"],"Santo_Domingo":["true¦a8bella vista,do6la romana,s0;an0dmt; pedro de macoris,t0;iago de los caballeros,o domingo0;! 0;e0oe0;ste;!m0;!inican republic;st,tlantic standard time","Atlantic","n"],"Sao_Paulo":["true¦a16b0Tc0Md0Je0Hf0Fg0Ahortol09i05j02l01mXnVosasco,pLriFs4ta3uber2v0;i0olta redon1A;amao,la velha,tor16;a0Ml06;boao da ser00uba10;a2e1oroNu0;maLzano;rXte lago0L;nt4o 0;bernardo do campo,carl03jo0leopolLpaulo,vicE;ao de meriti,se0;! do0; rio p8s camp00;a 1o0; andDs;barbara d'oes0Pluz0Tmar0T;beirao 3o0;! 0;cla0de janei0g6ver7;ro;das nev07p0;reto;asso fun8e7iraci6lanalti0Oo4r0;aia g1esidente prud0;en0G;ran0;de;nta grossa,rto aleg0;re;caW;lotYtro0F;do;iteroi,ov0;aJo hamburgo;a1o0;gi das cruzSntes clarD;ri0ua;l07n6;imei2ondri08;acarei,oinville,u0;iz de fo0ndi9;ra;ndaia2patin1ta0;bor6pevi,quaquece1;ga;tuG;andY;o3ravat2uaru0;ja,lh0;os;ai;iSvernador valadarC;loria5oz do0ran2; iguacu; south america sHast south ameri0mbu;ca;i0uque de caxi8;adema,vi0;noN;a1o0uriti2;ntagem,tK;choeiro de itapemirDmp1no3rapicui0scavel,xias do sul;ba;in1os dos goytacaz0;es;as;aBe7lumenau,r0;!a0st,t;!silia1zil0;!/east;! 0;s0t1;tandard t0;ime;l1t0;im;ford roxo,o horizon0;te;rueri,uru;lvora4merica3na2parecida de goi0;an0;ia;polis;na;da","Brasilia","s"],"Scoresbysund":["true¦e3greenland2h0ittoqqortoormiit,scoresbysund;e0neg;eg,g;! eastern;ast greenland1g0;st,t;! 0;standard t0t0;ime","East Greenland","n","eu0"],"Sitka":["true¦a0sitka;k6laska0merica;! 1n0;! st2;s0t2;itka area,t0;andard t0;ime;st,t","Alaska","n","usa"],"St_Johns":["true¦canada7h5n0st johns;d3ewfoundland0st,t;! 0;labrador,standard t0t0;ime;dt,t;e0n0tn;tn;!/newfoundland","Newfoundland","n","usa"],"Swift_Current":["true¦c1s0;askatchewan,wift current;anada,entral standard time,st","Central","n"],"Tegucigalpa":["true¦c2h0san pedro sula,tegucigalpa;n0onduras;!d;entral standard time,st","Central","n"],"Thule":["true¦a0pituffik,thule;st,t0;!lantic0;! 0;standard t0t0;ime","Atlantic","n","usa"],"Thunder_Bay":["true¦canada,e0thunder bay;astern0st,t;! time","Eastern","n","usa"],"Tijuana":["true¦america8baja california,eAh6mexic4p0tijuana;acific0st,t;! 0;standard t0t0;ime;ali,o0;!/bajanorte;e0n0;nomx; pacific,/0;e0santa_isabel;nsenada","Pacific","n","usa"],"Toronto":["true¦americaGbEcaBe7gatineIhamilFkitchener,l4m3nepe2o0quebec,richmond hill,toronto,vaugh2windsor;n5sh0tt0;awa;an;arkham,ississauga,oF;avFon0;don on0gueuil;tario;astern0st,t;! 0;standard t0t0;ime;!n0;!ada0;!/7;arrie,ramp0;ton; 4/0;mo1nass0;au;ntre0;al;eastern","Eastern","n","usa"],"Vancouver":["true¦america 9b7ca5ladn4okanagan,p1surrey,v0yukon;ancouv3ictor7;acific0st,t;! 0;bc,standard time;er;!nada0;!/2;ritish columb0urnaby;ia;pacific","Pacific","n","usa"],"Whitehorse":["true¦canada1m0whitehorse,yst;ountain standard time,st;!/yukon","Mountain","n"],"Winnipeg":["true¦america 7c2m1w0;est m0innipeg;anitoba;anada3entral0st,t;! 0;standard t0t0;ime;!/0;central","Central","n","usa"],"Yakutat":["true¦a0y4;k6laska0merica;! 1n0;! s2;s1t2y0;akutat;tandard t0;ime;st,t","Alaska","n","usa"],"Yellowknife":["true¦america mountain,canada,m0yellowknife;ountain0st,t;! 0;standard t0t0;ime","Mountain","n","usa"]},"Antarctica":{"Casey":["true¦antarctica,cas0;ey,t","Casey","s","ant"],"Davis":["true¦a1dav0;is,t;ntarctica,q,ta","Davis","s"],"Macquarie":["true¦a2canberra,eastern australia6m0sydney;acquarie0elbourne;! island;e4ntarctica,us0; east0tralia eastern;!ern0;! standard0; time;st,t","Eastern Australia","s","aus"],"Mawson":["true¦antarctica,maw0;son,t","Mawson","s"],"Rothera":["true¦a1b0city of b0rothera;uenos aires;ntarctica1r0;gentina,st,t;!/palmer","Argentina","s"],"Troll":["true¦antarctica,g2troll0;! 0;research station,t1;mt,reenwich mean t0;ime","Troll","s","troll"],"Vostok":["true¦antarctica,vost0;!ok","Vostok","s"]},"Asia":{"Almaty":["true¦a6central asia,east kazakhstan time,k2nur sultan,p1s0taraz,ust kamenogorsk;emey,hymkent;avlodar,etropavl;a0z;ragandy,z0;!akhstan0;! eastern;lm1s0;ia,tana;a0t; ata,ty","East Kazakhstan","n"],"Amman":["true¦a2eet,irbid,jo0russeifa,wadi as sir,zarqa;!r0;!d1;mm0sia;an","Eastern European","n","jord"],"Anadyr":["true¦a0petropavlovsk kamchatsky;na0sia;dyr0t;! time","Anadyr","n"],"Aqtau":["true¦a1kazakhstan western,mangghystaū/mankis3tashkent,west 0;asia,kazakhstan5;lm2q1s0;hgabat,ia;tau;a0t; ata,-ata0; time","West Kazakhstan","n"],"Aqtobe":["true¦a1kazakhstan western,tashkent,west 0;asia,kazakhstan5;kto5lm2qt1s0;hgabat,ia;o3ö3;a0t; ata,-ata0; time;be","West Kazakhstan","n"],"Ashgabat":["true¦as4t0;km,m2urkmen0;a4istan0;! time;!st,t;hga1ia0;!/ashkhabad;bat","Turkmenistan","n"],"Atyrau":["true¦a1gur'yev,kazakhstan western,tashkent,west 0;asia,kazakhstan6;lm3s2t0;irau,yra0;u,ū;hgabat,ia;a0t; ata,-ata0; time","West Kazakhstan","n"],"Baghdad":["true¦a6ba5dihok,erbil,i3k2mosul,na1r0;amadi,iyadh;jaf,sirC;arbala,irkuk,uwait;q,r0;aq,q;ghdad,sr9;bu ghurayb,d diw6l 5rab1s0; sulaym5ia,t;!i0;a0c;!n0;! time;amar2basrah al qadim2falluj2hill2kut,mawsil al jadid2;an0;iy0;ah","Arabian","n"],"Baku":["true¦a0baku,ganja,lankaran,sumqayit;sia,z0;!e0t;!rbaijan0;! time","Azerbaijan","n"],"Bangkok":["true¦asiaAbangkok,ch7h5i3jakarta,mueang nontha8na2pak kret,s0udon thani;amut prakan,e0i racha,outh east0; asia;khon ratchasima,m di9;ct,ndochina0;! time;a0ue;iphong,noi,t y2;iang m1on 0;buri;ai;!/0;phnom_pe0vientiane;nh","Indochina","n"],"Barnaul":["true¦a3b2kra0north a3;snoyarsk0t;! time;arnaul,iysk;sia","Krasnoyarsk","n"],"Beirut":["true¦asia,bei3e2l0ra's bay3;b0ebanon;!n;astern european time,et,urope eastern;rut","Eastern European","n","leb"],"Bishkek":["true¦asia,bishkek,k0osh;g2yrgy0;stan,zstan0;! time;!t,z","Kyrgyzstan","n"],"Brunei":["true¦asia,b0;dt,n2r0;n,unei0;! darussalam time;!t","Brunei Darussalam","n"],"Chita":["true¦asia,chita,yak0;t,utsk0;! time","Yakutsk","n"],"Choibalsan":["true¦as2choibalsan,dornodsükhbaatar,mongol2ula0;anbaatar0t;! time;ia","Ulaanbaatar","n"],"Colombo":["true¦as6c4dehiwala mount lavin6i2kolkata,lk1m0new delhi,sri lanka;oratuwa,umb4;!a;ndia0st;! time,n;henn0olombo;ai;ia","India","n"],"Damascus":["true¦a4d3eet,h2latak5sy0;!r0;!ia;am3oms;amascus,eir ez zor;leppo,r raqq1s0;ia;ah","Eastern European","n","syr"],"Dhaka":["true¦asiaGbDcBd9jess8khul7mymensingh,na4pa3ra2s1t0;angail,ungi;aid8hib4ylhet;jshahi,ng7;b3ltan,r naogaon;gar5r0t3;ayan0singdi;ganj;na;ore;haka,inaj0;pur;hattogram,o0;milla,x's bazar;a0d,gd,ogra,st;gerhat,ngladesh0rishal;! time;!/dacca","Bangladesh","n"],"Dili":["true¦asia,dili,east timor1tl0;!s,t;! time","East Timor","s"],"Dubai":["true¦a5dubai,g3mus1om0ras al khaim2sharj2;!an,n;aff0c5;ah;st,ulf0;! time;bu dhabi,jm2rabi2sia0;!/musc0;at;an","Gulf","n"],"Dushanbe":["true¦asia,dushanbe,t0;ajikistan1j0;!k,t;! time","Tajikistan","n"],"Famagusta":["true¦asia,e0famagusta,northern cyprus;astern european time,et,urope eastern","Eastern European","n","eu3"],"Gaza":["true¦asia,eet,gaza2p0;alestine,s0;!e;! strip","Eastern European","n","pal"],"Hebron":["true¦asia,e0hebron,west bank;ast jerusalem,et","Eastern European","n","pal"],"Ho_Chi_Minh":["true¦asia7bien hoa,can tho,da 5ho3nha tr6qui nh8rach gia,sa dec,thi xa phu my,v0;ietnam1n0ung tau;!m;! south; chi 0_chi_0;minh;lat,n0;ang;!/saig0;on","Indochina","n"],"Hong_Kong":["true¦asia,h0kowloon,tsuen wan;k3ong0; kong1_k0k0;ong;! time;!g,st,t","Hong Kong","n"],"Hovd":["true¦as4bayan-ölgiigovi-altaihovduvszavkhan,hov2west0; 0ern 0;mongol2;d0t;! time;ia","Hovd","n"],"Irkutsk":["true¦a2brat3irk0north asia east,ulan ude;t,utsk0;! time;ngar0sia;sk","Irkutsk","n"],"Jakarta":["true¦aZbTcRdepQiNjKkediri,lJmGpArengasdengklQs4t2w0yogyakM;est0ib; indoneXern indonesia time;a0egal;n4sikmal3;ema4itubondo,outh tan3u0;kabumi,medaSra0;b0kF;aya;ge0;raO;a4e1robolinggo,urw0;akAokerto;ka1ma0rcut;laKtangsiantar;long2nbaru;daIl3mulaIruI;a1ed0;an;diun,laF;embaE;a0ember;k0mbi,vasumatra;arta;d1ndonesia0;! western;!n;ok;i0urug;ampea,bino5leungsir,mahi,putat,rebon;a1e0injai,ogor;kasi,ngkulu;nd0tam;a0u1; aceh,r lampu0;ng;sia","Western Indonesia","s"],"Jayapura":["true¦a2east1indonesia eastern,jayapura,m0new guinea,wit;alukus,oluccas; indones1ern indonesia time;mbon,s0;ia","Eastern Indonesia","s"],"Jerusalem":["true¦as7beersheba,haifa,i2j0petah tiqwa,rishon leziyyon,tel 9west je1;e0mt;rusalem;d3l,s0;r0t;!ael0;! time;dt,t;hdod,ia0;!/tel_0;aviv","Israel","n","isr"],"Kabul":["true¦a1herat,jalalabad,ka0mazar e sharif;bul,ndahar;f0sia;!g0t;!hanistan0;! time","Afghanistan","n"],"Kamchatka":["true¦a2kamchatka,pet0;ropavlovsk0t; kamchatsky,-kamchatski time;nadyr,sia","Petropavlovsk-Kamchatski","n"],"Karachi":["true¦asia,bLchiniKdera ghaziIfaisalHgujraGhyderHislamHjhang sadr,kElaDm8nawabshah,okaBp4quetta,ra3s0;a1h0ialkJukkN;ahkIekhupu9;ddiqEhiwal,rgodha;him yarEwalpindi;ak1eshawar,k0;!t;!istan0;! time;a3i1u0;lt9zaffar7;ngo0rpur khas;ra;lir cantonment,rd6;hore,rkana;a0otli;moke,rachi,s8;n5t;abad; kh0;an;ot;a1himber,ure0;wala;hawalp0ttagram;ur","Pakistan","n"],"Kathmandu":["true¦asia3biratnagar,kath4n1p0;atan,okhara;epal,p0;!l,t;!/kat0;mandu","Nepal","n"],"Khandyga":["true¦asia,khandyga,yak0;t,utsk0;! time","Yakutsk","n"],"Kolkata":["true¦0:3D;1:3L;2:2D;3:3M;4:3J;a35b2Dc24d1We1Uf1Sg1Fh1Ci18j13k0Pl0Km0Cn05odis3KpVquthbull3DrNsFt9u8v5warang2Myamun1P;a6el1Ui5;jayawa2Vsakha0HzianagC;doda2Orana11;daip0jja23lhasn1ttar pradesh;a8eXh7iru5umk0;chirap0Mnelve2p5vottiy0;a39p0;ane,iruvananthapur0Noothuku2Yriss0;mb5njo1X;ar0L;aBecunder4h9i8lst,o7r1Fu5;jan37r5;at,endr1C;l2Znip2N;k3liguKngrau2rJ;ahj1Zi5ri2Oya0L;mo1Mvaji07;har1Xlem,mbh24ng2t04ug0Y;a6e0Eoh5;iItak;ebare2i9j7m5nc1Gtl0Aurke37;ag5g5p0;und08;a5kot;hmund26sth2A;ch0p0;a9imp8roddat0u5;ducher23n5rn17;a5e;sa;ri;li,n7rbha6t5;ia2Vna;ni;chku2Ti5;ha2Gp21;a7e6izam4o5;i1Vwrang2B;l0Sw del0Y;di2Kg7i0Ejaf2Fn5re2Oshik,vi mumb15;ded,g5;i,loi j1V;ercoil,p0;a8eerut,irz25o7u5yso0Y;lugu,mb10rwa1Izaffar5;n1p0;nghyr,rad4;chili7d6harasht1Fleg07n5thu1Fu;ga0Iip0;hya,ur0V;patnG;a7u5;cknow,dhia5;na;l bahadur5t0; n1;aDhaBo8u5;kat6lt5rno1P;a2i;pal2;l5rWta,zhikode;h1Nka1Kl5;am;nd5ragp0;wa;kina13l8marOnp0r5shmir,tih3;i6na5ol ba18;l,tV;mn1;lakuric03y11;a6han5odNunagadh;si;b0Rip0l6m5;mu,n1shedp0;andh3gGna;chalkaranji,mph0In5st;!d5;!ia5o00;! time,n;a6is3ospet,u5;b2g2;o0Hp0ridw3;aChazi4o9reater noi0Mu6wali5y04;or;jar0OlbarQnt0rg6wa5;ha12;aon;rak6sa5;ba;hp0;juw8n5ya;dh6g5;an1;in1;aka;ar5iroz4;id4rukh4;l5taw0M;loF;aAe8h6indigul,ombOurg5;!ap0;anb0Uul5;ia;hra dun,l5was;hi;rbhan5vange8;ga;a09h8o5uttack;ch6imbato5;re;in;a6enn5;ai;nd5pL;a5i0C;!nn1;aNeKhBi9or7rahm04u5;landshahr,rh5;anp0;iv2;li;d3har sharif,jZkan07l5;asp0imoC;aAi7op6u5;baneshw3sav5;al;l6wan5;di,i;ai,wa6;g6ratp0tpa5vn1yand3;ra;alp0;l5ngaluru;gaum,la5;ry;hAli,r6thin5;da;a6ddham5eilly;an;n1s5;at;a6rai5;gh;ramp0;gQhmLizawl,jmKkoRlHmDnantCrrBs6urang4va5;di;ans8ia5;!/ca5;lcut5;ta;ol;ah;ap0;arnath,batt0r5;ava5its3o9;ti;ur;appuz6i5lah4w3;garh;ha;er;adn1ed4;ab5;ad;ag3;ar;arta5ra;la","India","n"],"Krasnoyarsk":["true¦a2kra0north a2;snoyarsk0t;! time;sia","Krasnoyarsk","n"],"Kuala_Lumpur":["true¦aHbukit mertajGgeorge town,ipoh,johor bahFk8m4petali3s0taipiE;e1hah alFu0;ba1ngai petani;paBremb7;ng jaya;ala1y0;!s,t;cca,ysia0;! time;ampung baru suba5la5ota bha6ua0;la1nt0;an; 0_l1;l0terengganu;umpur;ng;ru;am;lor setar,sia","Malaysia","s"],"Kuching":["true¦asia,k4m2s0tawau;a0ibu;bahsarawak,ndakan;alaysia0iri,yt;! time;ota kinabalu,uching","Malaysia","n"],"Macau":["true¦asia6beiji5c2hong ko5m0urumqi;ac0o;!au;h0st;ina0ongqi1;! time;ng;!/macao","China","n"],"Magadan":["true¦asia,mag0;adan0t;! time","Magadan","n"],"Makassar":["true¦asiaBba8c5denpa4indonesia central,k3l2ma1palu,s0wita;amarinda,ulawesi;kas2nado,taram;abuan bajo,oa jan7;endari,up8;sar;e0ity of bal3;lebesbalinusa,ntral indonesia0;! time;l0njarmasin;ikpap0;an;!/ujung_pand0;ang","Central Indonesia","s"],"Manila":["true¦a04bWcRdaPgeneral santOiMlJmCnaBoAp4quezIsan1ta0zamboanga;clobZguig,rlac,ytE; 1t0;a ro2ol;fernando,jose del monte,pab02;a3h1uerto prince0;sa;!ilippine0l,st,t; time,s;gadiRnalanoy,s0;ay,ig;longapo,rmoc;ga,votQ;a0eycauayN;balacat,gugpo poblaci4kati,l3n0;da1ila,silingLtamp0;ay;luyong,ue;ingDol6;on;a1egaspi,i0ucena;bertad,pa;pu lapu,s p4;l0mus;igCoiI;os;smar0v5;inB;a0ebu,otabato;b1gayan de oro,in5l0;amba,ooc6;anatu5uy0;ao;a4inan2u0;d0tu2;ta;!gon0;an;co1guio,tang0;as;lod,or;n0sia;geles,tipo0;lo","Philippine","n"],"Nicosia":["true¦a5cy3e0n2;astern european time,et,urope0; eastern,/n0;ico2;!p0;!rus;sia","Eastern European","n","eu3"],"Novokuznetsk":["true¦a5k2no0prokop'yev1;rth a4vokuznet0;sk;emerovo,ra0;snoyarsk0t;! time;sia","Krasnoyarsk","n"],"Novosibirsk":["true¦as3no0siber3;rth central as2v0;osibirsk0t;! time;ia","Novosibirsk","n"],"Omsk":["true¦asia,oms0;k0t;! time","Omsk","n"],"Oral":["true¦a2kazakhstan western,oral,tashkent,west 0;asia,kazakhstan0;! 4;lm1s0;hgabat,ia;a0t; ata,-ata 0;time","West Kazakhstan","n"],"Pontianak":["true¦asia,b2indonesia western,pontianak,tanjung pinang,w0;est0ib; b0ern indonesia time;orneo","Western Indonesia","n"],"Pyongyang":["true¦asia,chongjin,h7k4n3p2s0won8;ariw0eoul,inuiAunch'0;on;rk,yongya7;amp'o,orth korea;a1orea0p,st;!n time;eso3nggye;a1ungnam,ye0;san;e1mhu0;ng;ju","Korean","n"],"Qatar":["true¦a2doha,kuwait,qa0riyadh;!t0;!ar;r2s0;ia0t;!/bahrain; rayyan,ab0;!i0;a0c;!n0;! time","Arabian","n"],"Qostanay":["true¦a2central asia,east kazakhstan time,k0qo1;azakhstan eastern,o0;stanay;lmt,s0;ia,tana","East Kazakhstan","n"],"Qyzylorda":["true¦a4k1qy2tashkent,west 0;asia,kazakhstan7;azakhstan western,y0zyl-1;zyl0;orda;lm1s0;hgabat,ia;a0t; ata,-ata0; time","West Kazakhstan","n"],"Riyadh":["true¦a9burayd8dammam,ha7jedd8k6me5najran,riyadh,s4ta3y0;anbu,e0;!m0;!en;'if,buk;ultan3yot;cca,dina;hamis mush6uw6;'il,far al batin;ah;bha,l 8ntarctica/syowa,rab4s0;ia0t;!/0;aden,kuw0;ait;!i0;a0c;!n0;! time;hufuf,jubayl,kharj,mubarraz","Arabian","n"],"Sakhalin":["true¦asia,sak0yuzhno sakhalinsk;halin0t;! 0;island,time","Sakhalin","n"],"Samarkand":["true¦asia,bukhara,nukus,qarshi,samarkand,uz0;bekistan0t;! 0;time,west","Uzbekistan","n"],"Seoul":["true¦aPbuMchHdaeGgChwaseoRiBjeAk7m6pohaFrok,s2u1wonJy0;aCeosu;ijeongbuQlsL;e1outh korea,u0;nEwH;joAo0;ngnamMul;asGokpo;imhae,or0r,st,wangmyo7;!ea0;!n time;ju,on8;cCksBn6;angneu2oyaEu1wa0;ng5;mi,ns8riD;ng;gu,je4;angw3eon2in1un0;che2;ju;an,gju7;on;c1s0;an;heon3;n0sia;san1ya0;ng0; si","Korean","n"],"Shanghai":["true¦0:3J;1:36;2:34;3:37;4:3D;a3Cb31c2Nd2He30f2Cg26h1Qji1Ek1Bl0Ym0Wn0Tordos,p0Pq0Lrizh10s08t01u3FwSxLyEz5;aoCh6i5ouc3unyi;bo,go0;a7en6ouk2u5; c3h31maWzh2;g2Vj1Izh2;b1Vng5o3E;jiakou5zh2;! shi xuanhua qu;ya0z27;an9i7u5;ci,e18n5;c3fu;b4c9n5ya0;cZgk2;c3g5ji,t2Q;j17qu1sh16zh2;i6uc5;ha0;a6n5uyi0;di,gt2Lh1Gi0pu,t2Lx13ya0;m17n5;!g5ni0t0Eya0;t1ya0;aBe9u5;h6so0w1Cx5zh2;i,ue;a5u;i,n;i0Hn5;sh1zh2;fang5nxi1;di1;a8i6ong5;chuans0XhDli02sh1;an5eli0;j4sh10;i6ng5;gu,sh1;an,hec1Wyu1zh2;anmi0hAi8u5;i5zh2;h5zh2;ua;c5pi0;hu1;a7en6i5uangya14;jiaz15qi,y1;gli,ya0zh0G;n6o5s0I;gu1xi0;g5t2;h1Pqiu,rKyu;i5uan1J;aFn5o14qih1Y;g5huangdH;dGh1L;an0Ting7rc,u5;ti1yang5;! H;ding0QxZ;an5eijYingbo;ch5ji0ni0to0ya0;a0o0;entoug2ianRuda5;njU;aEi8u5;anc3o6qi5;ao;he,ya0;a7jPn5upansh02;fTxia 5yi;chengguanI;n0Do5;c3y5;a0u1;i0Wn5ohek2;g5zh2;fa0;ai6un5;mi0sh1;fe0yu1;'1aAe9l4n6u5xi;jCt0U;an,c3g5i0zh2;de5li0zh2;zhE;ya0;musi,n8o5xi0;j6z5;uo;ia0;g5shG;m7xi;aGeCkt,oBu5;a6i0Dlan ergi,m5n1;en;i7ng5y4;ga0s5;hi;'1b9n1;hhot,ng ko0;bi,f7ga0ng5ze;sh5ya0;ui;ei;i7n5rb4;d1g5;u,zh2;c3k2l0F;a9u5;an6i5li;l4ya0zh2;g5k2;do0yu1zh2;nsu,opi0;en7o6u5;ji1shQx4zh2;sh1;d2g5;hua0;a6eNong5;gu1hR;d6lian5ndo0qi0to0;!g;o5uk2;nghN;angHh5n,st,t;aAen7i5n,oZuG;fe0na5;! time;g5zh2;d5zho0;e,u;ng6o5;ya0zh2;ch7de,sh6zh5;i,ou;a,u;un;zh2;a9e5;i6n5;gbu,xi;'1h5ji0;ai;i7o5yan nur;di0t2;ou;c3sh1y4;an;he0;nDsia5;!/5;ch8harb4kashg6u5;rumqi;ar;in;o5ungki0;ng5;qi0;da,qi0sh5ya0;an,un;ng","China","n"],"Singapore":["true¦asia,kuala lumpur,s0woodlands;g0ingapore;!p,t","Singapore","s"],"Srednekolymsk":["true¦asia,chokurdakh,sre0;dnekolymsk,t","Srednekolymsk","n"],"Taipei":["true¦asia,banqiao,cst,h7k5roc,t0;a1w0;!n;i0oyu1;ch2n0pei,w0;an;aohsi0eel0;ung;sinchu,ualien","Taipei","n"],"Tashkent":["true¦a3namangan,qo`q4tashkent,uz0;!b0t;!ekistan0;! east;ndij0sia;on","Uzbekistan","n"],"Tbilisi":["true¦asia,ge1kuta0tbil0;isi;!o0t;!rgia0;!n","Georgia","n"],"Tehran":["true¦aQbMgorgWhamViKkCmaBn8orumiy7pasragad branch,q4rasht,s2t1varam6yazd,za0;hedVnjV;abHehrU;a0hirRirjT;bzevar,nandEri,v3;a0om;rchak,zv0;in;eh;a0eyshabur;jaf0zar0;ab4;layer,shh3;a4erman3ho0;meyni sDrram0wy;ab0sC;ad;!shah;h1r0;aj;riz;r0sfahB;!an,dt,n,st;a2irjand,o0uk9;jnu0ruje0;rd;b3ndar abbas;b4hv3m2r1sia,zads0;hahr;ak,dabil;ol;az;ad0;an","Iran","n"],"Thimphu":["true¦asia2b0thimphu;hutan,t0;!n;!/thimbu","Bhutan","n"],"Tokyo":["true¦0:11;1:1A;2:10;a18ch16fu0Zgifu14h0Oi0Ij0FkZmTnMoKsFt9u8waka05y3;a6o3;k3no;kaic1Co3;ha2su0;maKo;ji,tsun0F;aka7o3sukuba;k5makom05y3;a2o3;hOna0ta;oro03us0Qyo;m0Jrazu0sa1tsu1;a5end00hi4o0u3;i10zu0;monose1zuo0;ita2k3ppoLsebo;ai,u06;dawa05i0Wka3sa0t0E;ya2za1;a6eyaga0Qi3umazu;i4shi3; tokyo0Inomiya ha2;ga0R;g3ha,ra0G;a3oX;no,o0sa1;a5i3orio0;na3to,yaza1;mirinkOto;chiDeb4tsu3;do,m8ya2;as0J;aBi9o7u3y6;mam5r4shi3;ro;ashi1e,ume;oto;be,c0Dfu,ri3shigaK;ya2;shiwa3takyushu;da;gosVkogawacho honmKmirenjaku,na8s5wa3;g3sa1;oe,uc07;hi01u3;g3kabe;ai;zaY;ap4dt,oetJp3st;!n;an;bara1chi4ta3wa1zu3;mi;ha5n3;omi3;ya;ra;a8i3oncho;meBr4t3;acR;a4os3;a1hi2;kaNtsu0;chi5kodate,mam3;at3;su;nohe,o3;ji;ji8ku3;i6o0s3ya2;hi2;ma;ka; sD;!sa7;i3ofu;ba,g6;geoshimo,k7mag5njo,omori,s3tsugi;ahika3ia;wa;asa1;ki;as4i3;ta;hi","Japan","n"],"Tomsk":["true¦asia,oms0tomsk;k,t","Omsk","n"],"Ulaanbaatar":["true¦asia3m1ula0;anbaatar,n 3t;n0ongolia;!g;!/ulan_0;bator","Ulaanbaatar","n"],"Ust-Nera":["true¦asia,ust-nera,vla0;divostok,t","Vladivostok","n"],"Vladivostok":["true¦asia,k1vla0;divostok,t;habarovsk0omsomolsk on amur;! vtoroy","Vladivostok","n"],"Yakutsk":["true¦asia,blagoveshchen1yak0;t,ut0;sk","Yakutsk","n"],"Yangon":["true¦asia4b3kyain seikgyi township,m0nay pyi taw,pathein,sittwe,yang5;a1eiktila,m0onywa;!r,t;ndalay,wlamyine;ago,urma;!/rango0;on","Myanmar","n"],"Yekaterinburg":["true¦asia,chelyabin7eka5k4magnitogor7nizhn3or2perm,s1tyumen,ufa,yek0zlatoust;a4t;terlitamak,urgut;e3sk;evartov3y tagil;amensk ural'skiy,urgan;teri0;nburg;sk","Yekaterinburg","n"],"Yerevan":["true¦a0caucasus,yerevan;m2rm0s1;!en0;ia;!t","Armenia","n"]},"Atlantic":{"Azores":["true¦a0hmt;tlantic,zo0;res,st,t","Azores","n","eu0"],"Bermuda":["true¦a2b0;ermuda,m0;!u;st,t0;!lantic","Atlantic","n","usa"],"Canary":["true¦atlantic,canary1europe western,las palmas de gran canaria,santa cruz de tenerife,we0;stern european,t;! islands","Western European","n","eu1"],"Cape_Verde":["true¦atlantic,c0;a1pv,v0;!t;bo verde0pe verde;! is","Cape Verde","n"],"Faroe":["true¦atlantic2f0;aroe0o,ro;! islands;!/faeroe","Western European","n","eu1"],"Madeira":["true¦atlantic,europe western,madeira1we0;stern european,t;! islands","Western European","n","eu1"],"Reykjavik":["true¦atlantic,coordinated universal3g2i0reykjavik,utc,zulu;celand,s0;!l;mt,reenwich mean0; time","Greenwich Mean","n"],"South_Georgia":["true¦atlantic,gs1s0;gs,outh georgia;!t","South Georgia","n"],"Stanley":["true¦atlantic,f0stanley;alkland1k0lk;!st,t;! island0;!s","Falkland Islands","s"]},"Australia":{"Adelaide":["true¦a2cen0south 1; 0tral 0;australia;c2delaide,ustralia0;! 0/south,n 0;central;dt,st,t","Central Australia","s","aus"],"Brisbane":["true¦a1brisbane0gold coa5logan,q4townsville;! time;e3ustralia0;!/q1n east0;!ern;ueensland;st","Brisbane","s"],"Broken_Hill":["true¦a1broken_hill,cen0y3; australia standard time,tral australia;c2delaide,ustralia0;! central,/y0;ancowinna;st,t","Central Australia","s","aus"],"Darwin":["true¦a0darwin,northern territory;cst,ustralia0;!/north,n central","Australian Central","s"],"Eucla":["true¦a0cw4eucla;cw4us0; central w1tralia0;!n central western;!e0;st;dt,st,t","Australian Central Western","s"],"Hobart":["true¦a0canberra,eastern austral5hobart,king island,melbourne,sydney,t4;e8us0; east5tralia0;! 3/0n 3;currie,t0;asman0;ia;easte1;!e0;rn;dt,st,t","Eastern Australia","s","aus"],"Lindeman":["true¦a0brisbane time,lindeman,whitsunday islands;est,ustralia0;!n eastern","Brisbane","s"],"Lord_Howe":["true¦australia3l0;h1ord howe0;! island;dt,st,t;!/lhi","Lord Howe","s","lhow"],"Melbourne":["true¦a0canberra,eastern austral4geelong,melbourne,sydney,v3;e7us0; east4tralia0;! 2/v0n 2;ictor0;ia;easte1;!e0;rn;dt,st,t","Eastern Australia","s","aus"],"Perth":["true¦a4perth,w0; 2est0; 1ern australia0;! time;australia;ustralia1w0;dt,st,t;! weste1/west,n west0;!e0;rn","Western Australia","s"],"Sydney":["true¦a0c5eastern australia time,melbourne,new south wales,sydney,wollongong;e8u0;!s0;! east4tralia0;! 2/0n 2;act,c0nsw;anberra;easte1;!e0;rn;dt,st,t","Eastern Australia","s","aus"]},"Etc":{"GMT":["true¦coordinated universal3etc2g0utc,zulu;mt,reenwich0;! mean1;!/greenwich; time","Greenwich Mean","n"],"UTC":["true¦coordinated universal7etc2g1u0z4;ct,n5tc;mt,reenwich mean5;!/0;u1z0;ulu;ct,n0;iversal; time","Greenwich Mean","n"]},"Europe":{"Amsterdam":["true¦a9brussels,c6e4groning7madrid,n2paris,ro1t0utrecht;he hague,ilburg;mance,t9;etherlands,l0;!d;indhov2urope0;! central;e1openhag0;en;ntral european,st,t;lmere stad,m0;s0t;terdam","Central European","n","eu2"],"Andorra":["true¦a3brussels,c1europe0madrid,paris,romance;! central;e0openhagen;ntral european,st,t;d,nd0;!orra","Central European","n","eu2"],"Astrakhan":["true¦astrakh1europe,m0russi1st petersburg,volgograd time;oscow,sk;an","Moscow","n"],"Athens":["true¦athens,e1gr0thessaloniki;!c,eece;astern european,et,urope0;! eastern","Eastern European","n","eu3"],"Belgrade":["true¦b9c7europe3madrid,n2p1romance,s0;i,lovenia,vn;aris,risti4;is,ovi sad;! central,/0;ljublja1podgorica,s0zagreb;arajevo,kopje;na;e0openhagen;ntral european,st,t;elgrade,russels","Central European","n","eu2"],"Brussels":["true¦antwerp6b3c1europe0gent,liege,madrid,paris,romance;! central;e0harleroi,openhag4;ntral european,st,t;e0mt,russels;!l0;!gium;en","Central European","n","eu2"],"Bucharest":["true¦b5c4e2gala1iasi,oradea,ploies1ro0timisoara;!mania,u;ti;astern european,et,urope0;! eastern;luj napoca,onstanta,raiova;ra0ucharest;ila,sov","Eastern European","n","eu3"],"Budapest":["true¦b6c3debrec4europe2hu0madrid,paris,romance;!n0;!gary;! central;e1openhag0;en;ntral european,st,t;russels,udapest","Central European","n","eu2"],"Busingen":["true¦b5c3de2europe1germa0madrid,paris,romance,saxo0;ny;! central,/berlin;!u;e0openhag3;ntral european,st,t;avaria,r0using1;em0ussels;en","Central European","n","eu2"],"Chisinau":["true¦chisinau,e2m0;d0oldova;!a;astern european,et,urope0;! eastern,/tiraspol","Eastern European","n","eu2"],"Copenhagen":["true¦arhus,brussels,c2d1europe0madrid,paris,romance;! central;enmark,k,nk;e0mt,openhagen;ntral european,st,t","Central European","n","eu2"],"Dublin":["true¦ace,british8cork,d7e6g5i3l0tse,waterford;i0ond1;merick,sb0;on;e,r0st;eland,l;alway,mt,reenwich mean2;dinburgh,ire,urope;mt,ublin; time","Irish","n","eu1"],"Gibraltar":["true¦b5c3europe2gi0madrid,paris,romance;!b0;!raltar;! central;e0openhagen;ntral european,st,t;dst,russels,st","Central European","n","eu2"],"Helsinki":["true¦e3fi1helsinki,t0vantaa;ampere,urku;!n0;!land;astern european,et,spoo,urope0;! eastern,/mariehamn","Eastern European","n","eu3"],"Istanbul":["true¦aYbScQdOeKgJiHkFmBosmAs4t1u0v07zeytinburnu;eskuedWmr9;arsus,r1ur0;!kZ;!abzon,t;a3i1ultan0;beyJgazi;sIv0;as,erek;msun,n0;cakteBliurfa;aniye;a1er0uratpaH;kezefendi,sin;l0niF;atQte6;a0irikkale,onPutahP;hramanmaras,rabaglGyseS;sJzmi0;r,t;aziantep,ebze;lazig,rzurum,s1uro0;pe;en0kiC;l8yurt;eniz0iyarbakB;li;ankaEor0;lu,um;a1ur0;sa;gcil2hcelievl1likes5sak4t0;ikent,mB;er;ar;d7n4rnavutko3sia/is2ta0;seh0;ir;tanbul;ey;kara,ta0;k0l0;ya;a1iyam0;an;na,paza0;ri","Turkey","n"],"Kaliningrad":["true¦e0kaliningrad;astern european,et,urope","Eastern European","n"],"Kiev":["true¦bila tserkLcherIdGeDhorlCivano frankivHk8l7m5odessa,poltaLriv4sumy,ternopil,u2vinnyts1z0;aporizhzh0hytomyr;ya;a,kr0;!ai0;ne;a0ykolayE;ki5riu8;ut9vC;amyanske,h1iev,r0yB;emenchuk,opyv1yvyy rih;ark9erson,mel0;nytskyy;ivka;astern european,et,urope0;! eastern,/simfero0;pol;nipro,onet0;sk;kasy,ni0;h0vtsi;iv;va","Eastern European","n","eu3"],"Kirov":["true¦europe,kirov,m0russian,st petersburg,volgograd time;oscow,sk","Moscow","n"],"Lisbon":["true¦amadora,europe5lisbon,p2we0;st0t;! europe,ern european;ort0rt,t;o,ugal0;! mainland;! western","Western European","n","eu1"],"London":["true¦a0Ob0Ac07d03eXgThRiOj00kingston upon hull,lJmHnBoxSp9reading,s1w0yF;arwick0Aig00olverha7;heffield,o3t2u1w0;an4iH;ffolk,nderland,rr0IsYttL;afNoke on tre0C;meZuth0;a1end on 0;sea;mptG;ly0orts0restF;mouth;ew4o0;r0ttinghamT;th0wC; y0amptonR;orkV;castle upon tyne,port;ancheQi0;dlan4lton keynes;ancaRdn,e2i1o0ut5;nd4;ncolnPsb3verW;e0icesterJ;ds;psw1slingt0;on;ich;ampJert0;fordI;b2l1mt0reenwich mean M;! standard L;asgow,oucesterF;!-eF;dinburgh,s4urope0;!/0;belNguernsMisle_of_m1j0;ersL;an;sex;erby2o1u0;blin,dlH;rset;!sh5;a1ity of westmin0oventry,rawlE;ster;mbridge1rdiff;eAir9lack7r2st,uckingham0;sh0;ire;adford,e3i0;st4tish0;! 0;time;nt;po0;ol;kenhead,mingham;l1xl0;ey;fast;berdeen,rchway","British","n","eu1"],"Luxembourg":["true¦brussels,c3europe2lu0madrid,paris,romance;!x0;!embourg;! central;e0openhagen;ntral european,st,t","Central European","n","eu2"],"Madrid":["true¦aRbOcJeGfuenDgCjerez de la frontera,lBm8ovieFp6romance,s1terrassa,v0wemt,zaragoza;alladol9igo;a1evilla,pain0;! mainland;badell,n0; sebastiHt0; marti,ander,s montjuic;a0uente de vallecas;lma,mpIris;a0ostolLurcK;dr0laga;id;atiJeganI;asteiz/vitorGijon,ran1;carral el par1labr0;ada;do;ixample,lche,s1urope0;! centr2;!p;a3e1iudad line0openhagen;al;ntral europe0st,t;an;rabanchel,stello de la pla7;a0ilbao,russels,urgos;da0rce0sque;lo4; coru3l0;cala de henar1icante,mer0;ia;es;na","Central European","n","eu2"],"Malta":["true¦brussels,c3europe2m0paris,romance;a0lt,t;drid,lta;! central;e0openhagen;ntral european,st,t","Central European","n","eu2"],"Minsk":["true¦b4europe,h3m1russian,st petersburg,v0;iteb4olgograd time;ahily0in3osc0sk;ow;omyel,rodna;abruy0elarus,lr,rest,y;sk","Moscow","n"],"Monaco":["true¦brussels,c3europe2m0paris,romance;adrid,c0onaco;!o;! central;e0openhagen;ntral european,st,t","Central European","n","eu2"],"Moscow":["true¦ar0Db0Ac07dzerzh06europe,fet,grozn05ivano04kYlipet0FmRnNorel,pKrFs8t6v2w-su,y0zelenograd;a0oshkar oW;roslavl,sene02;asyl'evsky ostrIelikiMladi2o0ykhino zhulebT;l0ronezh;gograd Pogda;kavkaz,m08;a0uQver;ganrog,mbD;a4ever3hakhty,molen06ochi,t0yktyvkR; 4a0;ryy osk0vrop0;ol;nSodvT;int 0rX;petersburg;ostov na donu,u1y0;azLbP;!s0;!sia0;!n;e1odolUsk0;ov;nza,trozavodS;a2izhn0ovorossiyR;ekamQi0;y novM;berezhnyye chelny,l'chik;a3dst,oscow1s0urmJ;d,k;! 0;time;khachka1r'0;ino;la;a2himki,ostroma,rasno0urG;d0gvargeisky;ar;l1z0;an;ininsk5uga;vo;yy;in8;entraln1he0;boksary,repovets;iy;el1ry0;an3;gorod;khangel'1mav0;ir;sk","Moscow","n"],"Oslo":["true¦a6b5c3europe2madrid,oslo,paris,romance,s0;j0valbard and jan 6;!m;! central;e0openhag4;ntral european,st,t;erg2russels;rctic/longyearby1tlantic/jan_0;may0;en","Central European","n","eu2"],"Paris":["true¦bIcFeuropeEfrBl9m7n5paris,r3s0toulouH;aint 1t0; 0rasbourg;etienne;e0oman9;ims,nn1;ant0i7ormandy;es;a0et,ontpellier;drid,rsei1;e havre,i0yon;lle;!a0;!n0;ce;! central;e0openhagen;ntral european,rgy pontoi0st,t;se;ordeaux,russels","Central European","n","eu2"],"Prague":["true¦br6c4europe2madrid,ostr3p1romance,s0;k,lovakia,vk;aris,mt,rague;! central,/bratisl0;ava;e0openhagen;ntral european,st,t;no,ussels","Central European","n","eu2"],"Riga":["true¦e2kalt,l0riga;atvia,st,v0;!a;ast2e1urope0;! eastern;st,t; europe,ern european","Eastern European","n","eu3"],"Rome":["true¦bIcEeuropeCfloreBgenoa,mAnaples,p7r5sicily,t3v0;a0eroK;!t0;!ican city;aran4rieste,u0;rin,scany;mt,om0;a4e;a1ra0;to;dova,lermo,ris;adrid,essiAil6;nce;! central,/0;san_marino,vatic3;atan5e1o0;penhagen,rsica;ntral europe0st,t;an;ari,olog2r0;esc0ussels;ia;na","Central European","n","eu2"],"Samara":["true¦europe,izhevsk,s0togliatti on the volga;am0yzran;ara,t","Samara","n"],"Saratov":["true¦balakovo,europe,izhevsk,sa0;m0ratov;ara,t","Samara","n"],"Sofia":["true¦b2e0imt,plovdiv,sof4varna;astern european,et,urope0;! eastern;g2u0;lgar0rgas;ia;!r","Eastern European","n","eu3"],"Stockholm":["true¦brussels,c5europe4goeteborg,ma3paris,romance,s0;e1tockholm,we0;!d4;!t;drid,lmoe;! central;e1openhag0;en;ntral european,st,t","Central European","n","eu2"],"Tallinn":["true¦e0tallinn;astern european,e2st1urope0;! eastern;!onia;!t","Eastern European","n","eu3"],"Tirane":["true¦al4brussels,c2europe1madrid,paris,romance,tiran0;a,e;! central;e0openhagen;ntral european,st,t;!b0;!ania","Central European","n","eu2"],"Ulyanovsk":["true¦europe,m0russian,st petersburg,ulyanovsk,volgograd 2;oscow0sk;! 0;time","Moscow","n"],"Uzhgorod":["true¦e0ruthenia,uzhgorod;astern european,et,urope0;! eastern","Eastern European","n","eu3"],"Vienna":["true¦a4brussels,c1donaustadt,europe0favorit2graz,linz,madrid,paris,romance,vienna;! central;e1openhag0;en;ntral european,st,t;t,u0;stria,t","Central European","n","eu2"],"Vilnius":["true¦e3k2l0vilnius;ithuania,t0;!u;aunas,laipeda;astern european,et,urope0;! eastern","Eastern European","n","eu3"],"Volgograd":["true¦europe,m2russian,st petersburg,vol0;gograd0t,zhskiy;! time;oscow,sk","Moscow","n"],"Warsaw":["true¦bKcHeuropeGgCkAl8m7p4r3s2torun,w0zabrze;ars0rocl0;aw;osnowiec,zczec6;adIomanA;aris,l,o0raga poludnie;l0znD;!and;adrid,okot3;odz,ubl0;in;ato2iel3rak0;ow;d2li0;wi0;ce;ansk,ynia;! central;e0openhagen,zestochowa;ntral europe0st,t;an;i2russels,y0;dgoszcz,t0;om;alystok,elsko biala","Central European","n","eu2"],"Zaporozhye":["true¦e3luhansk2sevastopol,zapor0;izhia lugansk,ozh0;'ye,ye;! east;astern european,et,urope0;! eastern","Eastern European","n","eu3"],"Zurich":["true¦brussels,c4europe2geneve,li0madrid,paris,romance,swiss time,zurich;!e0;!chtenstein;! central,/0;busin1vaduz;e1openha0;gen;ntral european,st,t","Central European","n","eu2"]},"Indian":{"Chagos":["true¦british indian ocean territory,c4i0;ndian1o0;!t;! 0;c0ocean;hagos","Indian Ocean","n"],"Christmas":["true¦c0indian;hristmas1x0;!r,t;! island","Christmas Island","s"],"Cocos":["true¦c0indian;c2ocos0;! island0;!s;!k,t","Cocos Islands","n"],"Kerguelen":["true¦a5french southern2indian,kerguelen1tf0;!t;!st paul4;! 0;& antarctic time,and antarctic0;! lands;msterdam0tf; island","French Southern & Antarctic","s"],"Mahe":["true¦indian,mahe,s0;c0eychelles,yc;!t","Seychelles","n"],"Maldives":["true¦indian,m0;aldives,dv,v0;!t","Maldives","n"],"Mauritius":["true¦indian,m0port louis;auritius,u0;!s,t","Mauritius","n"],"Reunion":["true¦indian,r0;e0éu1;t,u0;nion","Réunion","s"]},"Pacific":{"Apia":["true¦apia,pacific,s2w0;est s1s0;!m,t;amoa","West Samoa","s"],"Auckland":["true¦a2christchurch,manukau,n0pacific,wellington;ew zea2orth shore,z0;!dt,l,mt,st,t;ntarctica/1uck0;land;mcmurdo,south_pole","New Zealand","s","nz"],"Bougainville":["true¦bougainville,guinea2p0;a0gt;cific,pua new guinea;!n","Papua New Guinea","s"],"Chatham":["true¦cha0nz-chat,pacific;dt,st,t0;!ham0;! 0;islands,time","Chatham","s","chat"],"Chuuk":["true¦chu2pacific0;!/0;truk,y2;t,uk0;!/truky0;ap","Chuuk","n"],"Easter":["true¦chile/easter4e0pacific;as0mt;st,t0;!er0;! 0;island","Easter Island","s","east"],"Efate":["true¦efate,pacific,v0;anuatu,u0;!t","Vanuatu","n"],"Fakaofo":["true¦fakaofo,pacific,t0;k0okelau;!l,t","Tokelau","n"],"Fiji":["true¦f0pacific;iji,j0;!i,st,t","Fiji","s","fiji"],"Funafuti":["true¦funafuti,pacific,t0;uv1v0;!t;!alu","Tuvalu","n"],"Galapagos":["true¦co1gal0pacific;apagos,t,ápagos islands;lombia,st,t","Colombia","n"],"Gambier":["true¦gam0pacific;bier0t;! islands","Gambier","n"],"Guadalcanal":["true¦guadalcanal,pacific,s0;b1lb,olomon0;! islands;!t","Solomon Islands","n"],"Guam":["true¦ch5guam,m4northern mariana islands,p2west0; 0ern 0;pacific;acific0ort moresby;!/saipan;np,p;amorro,st","Chamorro","n"],"Honolulu":["true¦aleutian4h1pacific0us/hawaii;!/johnston;a0onolulu,st;dt,st,t,waii0;! aleutian;! islands","Hawaii-Aleutian","n"],"Kanton":["true¦kanton,p0;acific1ho0;enix islands,t;!/enderbury","Phoenix Islands","n"],"Kiritimati":["true¦ki1lin0pacific;e islands,t;!r0;!i0;bati,timati0;! island","Line Islands","n"],"Kosrae":["true¦kos0pacific;rae,t","Kosrae","n"],"Kwajalein":["true¦kwajalein,m0pacific;arshall islands,ht","Marshall Islands","n"],"Majuro":["true¦m0pacific;a1h0;!l,t;juro,rshall islands","Marshall Islands","n"],"Marquesas":["true¦mar0pacific;quesas0t;! islands","Marquesas","n"],"Nauru":["true¦n0pacific;auru,r0;!t,u","Nauru","n"],"Niue":["true¦n0pacific;iu1u0;!t;!e","Niue","n"],"Norfolk":["true¦n0pacific;f1orfolk0;! island;!dt,k,t","Norfolk Island","n","aus"],"Noumea":["true¦n0pacific;c0ew caledonia,oumea;!l,t","New Caledonia","n"],"Pago_Pago":["true¦m5pa1s0us/sa4;a3st;cific0go_pago;!/0;m1sa0;moa;idway","Samoa","n"],"Palau":["true¦p0;a1lw,w0;!t;cific,lau","Palau","n"],"Pitcairn":["true¦p0;acific,cn,itcairn,n,st","Pitcairn","n"],"Pohnpei":["true¦french polynesia,p0;acific1f,o0yf;hnpei0nt;!/ponape","Ponape","n"],"Port_Moresby":["true¦antarctica/dumontd6dumont-d'6guinea5p0;a3g2ng,ort0; 0_0;moresby;!t;cific,pua new guinea;!n;urville","Papua New Guinea","s"],"Rarotonga":["true¦c0pacific,rarotonga;k2o0;k,ok0;! islands;!t","Cook Islands","n"],"Tahiti":["true¦pacific,society islands,tah0;iti,t","Tahiti","n"],"Tarawa":["true¦gil0pacific,tarawa;bert islands,t","Gilbert Islands","n"],"Tongatapu":["true¦nuku'alofa,pacific,to0;!n0t;!ga0;!tapu","Tonga","s"],"Wake":["true¦pacific,u2wak0;e0t;! island;m0s minor outlying islands;!i","Wake Island","n"],"Wallis":["true¦pacific,w0;allis1f0lf;!t;! 0;&0and0; futuna","Wallis & Futuna","n"]}};
|
|
222
|
-
|
|
223
|
-
// strings that don't pack properly
|
|
224
|
-
var misc = {
|
|
225
|
-
'gmt+0': ['Etc/GMT'],
|
|
226
|
-
'gmt-0': ['Etc/GMT'],
|
|
227
|
-
gmt0: ['Etc/GMT'],
|
|
228
|
-
'etc/gmt+0': ['Etc/GMT'],
|
|
229
|
-
'etc/gmt-0': ['Etc/GMT'],
|
|
230
|
-
'etc/gmt0': ['Etc/GMT'],
|
|
231
|
-
'msk+00': ['Europe/Moscow'],
|
|
232
|
-
'msk-01 - kaliningrad': ['Europe/Kaliningrad'],
|
|
233
|
-
'msk+00 - moscow area': ['Europe/Moscow'],
|
|
234
|
-
'msk+00 - crimea': ['Europe/Kiev'],
|
|
235
|
-
'msk+00 - volgograd': ['Europe/Volgograd'],
|
|
236
|
-
'msk+00 - kirov': ['Europe/Kirov'],
|
|
237
|
-
'msk+01 - astrakhan': ['Europe/Astrakhan'],
|
|
238
|
-
'msk+01 - saratov': ['Europe/Saratov'],
|
|
239
|
-
'msk+01 - ulyanovsk': ['Europe/Ulyanovsk'],
|
|
240
|
-
'msk+01 - samaraudmurtia': ['Europe/Samara'],
|
|
241
|
-
'msk+02 - urals': ['Asia/Yekaterinburg'],
|
|
242
|
-
'msk+03': ['Asia/Omsk'],
|
|
243
|
-
'msk+04 - novosibirsk': ['Asia/Novosibirsk'],
|
|
244
|
-
'msk+04 - altai': ['Asia/Barnaul'],
|
|
245
|
-
'msk+04': ['Asia/Tomsk'],
|
|
246
|
-
'msk+04 - kemerovo': ['Asia/Novokuznetsk'],
|
|
247
|
-
'msk+04 - krasnoyarsk area': ['Asia/Krasnoyarsk'],
|
|
248
|
-
'msk+05 - irkutskburyatia': ['Asia/Irkutsk'],
|
|
249
|
-
'msk+06 - zabaykalsky': ['Asia/Chita'],
|
|
250
|
-
'msk+06 - lena river': ['Asia/Yakutsk'],
|
|
251
|
-
'msk+06 - tomponskyust-maysky': ['Asia/Khandyga'],
|
|
252
|
-
'msk+07 - amur river': ['Asia/Vladivostok'],
|
|
253
|
-
'msk+07 - oymyakonsky': ['Asia/Ust-Nera'],
|
|
254
|
-
'msk+08 - magadan': ['Asia/Magadan'],
|
|
255
|
-
'msk+08 - sakhalin island': ['Asia/Sakhalin'],
|
|
256
|
-
'msk+08 - sakha (e) north kuril is': ['Asia/Srednekolymsk'],
|
|
257
|
-
'msk+09': ['Asia/Kamchatka'],
|
|
258
|
-
'msk+09 - bering sea': ['Asia/Anadyr'],
|
|
259
|
-
"russia time zone 11": ["Asia/Anadyr"],
|
|
260
|
-
"russia time zone 10": ["Asia/Srednekolymsk"],
|
|
261
|
-
"russia time zone 3": ["Europe/Samara"],
|
|
262
|
-
"coordinated universal time-09": ["Pacific/Gambier"],
|
|
263
|
-
"utc-09": ["Pacific/Gambier"],
|
|
264
|
-
"coordinated universal time-08": ["Pacific/Pitcairn"]
|
|
265
|
-
};
|
|
249
|
+
// Generated by scripts/build/01-pack.js. Edit data/ instead.
|
|
250
|
+
const shared = {"Greenwich":"true¦g0;mt,reenwich0;! 0;mean,standard","Central European Standard":"true¦ce0europe central;ntral europe0t;!an0;! standard","Eastern European":"true¦e0;astern europe1e0urope eastern;st,t;!an0;! s0;tandard,ummer","Morocco":"true¦morocco0;! standard","Central European":"true¦brussels copenhagen madrid paris,ce0europe central;ntral europe0st,t;!an0;! s0;tandard,ummer","Central Africa":"true¦c0;at,entral africa0;! standard","West Africa":"true¦!1:#:africa;# western,w0; c4a3est0; 0ern4;#0c2;! standard,n;st,t;entral0; #","Eastern European Standard":"true¦e0;astern europe0et,urope eastern;!an0;! standard","Alaska":"true¦a3u0;nited states1s0;!a;! of america;k3laska1merica0;!n;! 0n;daylight,standard;dt,st,t","Brasilia":"true¦!1:#:south americ;br0east #a,#an east;!a0st,t;silia1zil0;!ian;! standard,n","Argentina":"true¦ar0;gentin0st,t;a0ian;! standard","Central Mexico":"true¦:dradnats ocixem 2lartnec xm,na0o0tsc,xm1;cixem0;! 0;lartnec","Atlantic Standard":"true¦a0us atlantic;st,t0;!lantic0;! standard","Central Standard":"true¦american2c0us2;entral0st,t;! standard; central","Amazon":"true¦am2br0;!azil0;!ian;azon0t;! standard","Mountain":"true¦m0;dt,ountain0st;! 0;daylight,standard","Eastern Standard":"true¦america easte3e1us east0;!e2;astern0st,t;! standard;rn","Central":"true¦american3c0us3;dt,entral0st,t;! 0;daylight,standard; central","Mountain Standard":"true¦m0;ountain0st;! standard","British Columbia":"true¦british columbia,ca1m0;ountain standard,st;!nad0;a,ian","Eastern":"true¦america easte4e1us east0;!e3;astern0dt,st,t;! 0;daylight,standard;rn","Alberta and Northwest Territories":"true¦alberta and northwest territories,c0;a0entral standard,st;!nad0;a,ian","Acre":"true¦ac2br0;!azil0;!ian;re0t;! standard","Atlantic":"true¦:citnalta2dradnats1t0;a,da,hgilyad0sa; citnalta;! su","Mexican Pacific":"true¦hnpmx,m0;exic0x;an0o;! pacific0;! standard","Pacific":"true¦america3baja california,p0us3;acific0dt,st,t;! 0;daylight,standard; pacific","Manitoba":"true¦ca1e0manitoba;astern standard,st;!nad0;a,ian","Eastern Australia":"true¦!1:#$%:east,tralia,ern;a1#% aus$0;! standard;e7u0;!s0;! 3$0;! 2n0;! #0;!% daylight;#0;!%;dt,st,t","East Kazakhstan":"true¦!1:#$:stan,azakh;a3central asia,east k$#2k0;$#0z;! eastern;! #dard;lmt,#a","West Kazakhstan":"true¦!1:#:azakhstan;alm4k2west 0;asia,k#0;! standard;#0z;! western;a ata,t","Arabian":"true¦a0kuwait;rab0st;!i0;a0c;!n0;! standard","Indochina":"true¦i0;ct,ndochina0;! standard","Krasnoyarsk":"true¦!2;krat,msk+\\a\\e,north asia,ru0;!ssia0;!n0;! federation","Yakutsk":"true¦!2;msk+\\a\\g,ru2yak0;t,utsk0;! standard;!ssia0;!n0;! federation","Ulaanbaatar":"true¦m2ula0;anbaatar0t;! standard;n,ongolia0;!n","India":"true¦chenn2i0mumb2new delhi;ndia0st;! standard,n;ai","Western Indonesia":"true¦!1:#$:ndonesia,estern;i2w0;$ i#0ib;! standard;d,#0;! w$,n","Malaysia":"true¦m0;alaysia1y0;!t;! standard,n","China":"true¦beij3c0urumqi;h0st;ina0ongq1;! standard;ing","Korean":"true¦k0;orea0st;!n0;! standard","Uzbekistan":"true¦uz0;!bekistan0t;! standard","Vladivostok":"true¦!2;msk+\\a\\h,ru2vla0;divostok0t;! standard;!ssia0;!n0;! federation","Western European":"true¦we0;st0t;!ern european0;! s0;tandard,ummer","Central Australia":"true¦!1:#$:tral,cen;a2$0; aus#ia,# aus#ia0;! standard;c6u0;!s0;! 3#ia0;! 2n0;! $#0;! daylight;$#;dt,st","Brisbane":"true¦a1brisbane0;! standard;est,u0;!s0;!tralia0;!n","Moscow":"true¦m0;oscow1s0;d,k,t;! standard","Samara":"true¦!2;izhevsk,msk+\\a\\b,ru2sam0;ara0t;! standard;!ssia0;!n0;! federation","Marshall Islands":"true¦m0;arshall islands1h0;!t;! standard"};
|
|
251
|
+
var pcked = {"Africa":{"Abidjan":["true¦abobo,bKcIdaloa,gCivory coast,k9m7pikiJs3t0utc,yamoussouk6zulu;a1g,hies,o0;go,uba;koradi,male;an ped2e1i0l,n;erra leoEkH;negal,rekunda;ro;a0l,r;li,uritan8;o0uma1;rhogo,umas0;si;amb4h2in,m,n,u0;ediawaye,inea0;!n;!a0;!na;ia;amayen0i,ote divoire;ne;f,o0urkina fa2;bo dioul0uake;as0;so","Greenwich"],"Algiers":["true¦:a3enitnatsnoc,f2na1rauozze b4s0terait,zd;adremuob,ebba leb idis;i3ro;elhc,ites;banna,dilb,i1nt0rksib,ssebet,zd;ab;regla","Central European Standard"],"Bissau":["true¦g0utc,zulu;nb,uinea bissau,w","Greenwich"],"Cairo":["true¦!2;:!1:#$%: la ,na,ha;aDdias trop,fyawus i$b,gC%9m8$5o4r3susuhk Kt0ukdi,y7zeus;py6u0;is0y0;sa;awwad da rfak,ebotco fo ht\\g,oxul,san $ tanidam,uh$C;bmo mok,riac wen;itpy1w0;l4sa;ge;uyyaf Bwak#nibi1;bbuq#qiad1didaj#%ri%q Amyahk#arbu0rus$7;hs;ah;ahos,e,izagaz;i5n4rbuk#%lla%3t0yni3zig;$t,te0;i0sor;mad;m 2;iq,se;liamsi,rd$xe0;la","Eastern European","egypt"],"Casablanca":["true¦aCfBkenitAm5oujda4rabat,sa2t0;angier,e0;ma8tou5;fi,le0;! al jadida;! angad;a2ekn5o0;hammedia,rocc0;an;!r0;!rakesh;ra;es;gadir,l hoceima","Morocco"],"Ceuta":["true¦ceutamelilla,es,spa0;in,nish","Central European","eu2"],"El_Aaiun":["true¦casablanca,e0laayoune,western sahara;h,sh","Morocco"],"Johannesburg":["true¦!1:#$%&()*:er,an,africa,ast,en,ar,et;% south#n,bLcHdGeDgqeb#ha,kBlAnewc&Kp9r8s5t3uit(hage,v2w1za0;!f;elkom,itb$k;$d#bijlp)k,#e(iging;e0he0;mbisa;&,o0prings,w9z;sh$guve,uth %0w*o;! st$d)d,n;$dFich)ds bay,oodepoort,ust(F;a)l,i*#m)itzEort elizab*h,r*oria;esotho,s;l#k0rug#0;sdorp;& lond4malahleBswatini0vat4;! sw0;azil$d;iepsloot,urb5;a1(turi0;on;pe town,rl*onvil0;le;(o3loemfontein,o1rakp0;$;ks0tshabelo;burg;ni","South Africa"],"Juba":["true¦s0winejok;outh sudan,s0;!d","Central Africa"],"Khartoum":["true¦a6el 5k3ny4omdurm2port sud2s0wad medani;d0inga,ud1;!n;an;ass0hartoum north,osti;ala;dae1fasher,obeid;d damaz0l qadarif;in","Central Africa"],"Lagos":["true¦!1:#$%&()*+-./<=:epublic of ,in,en,al,ba,re,an,gu,to,ou,ge,ha,ngo;a0Yb0Rc0Ed07e06g02h01iTjSkNlMmEnBo8po7r6s4t&a-Ru2viaRwarLy1z0;ar2$der;a.nY%agoa,ola;/p,i/,muah0yo;ia;a0<gamu,oko-;ki,m(,pele,urimo;amir9#t04;$te noi),rt <rc.rt;b&%Rgbomoso,kQn1sogbo,w0yo;erBo;do,its<;e,g,i/r0newi,ova vida;!ia0;!n;a2(ndaka,$Cu0;bi,l%v0;os;i2kur1l*je,r0si9ta1;a0.a;di;a01du+0;ri;ekki,obiSu(Q;a2i0;k0ma kieza;olo,wit;du0no,tsi0;na;imeta,os;(d*,jebu o6k4l1se0wo; 09y1;a or*+n,e1or0;$; i6sa;a),eja,i),ot ekp0;%e;de;oji ya hUuamR;a2boko,o0q,usau;l0mbe;fe;!bI;bute ikorodu,fon &aaye,nu+,qua-ri& +$ea;emocratic 1r0; 3c;co3r#0;co2t0;he 0;co0;=;a6d,%tr& afric* )p5f,g,<kwaAm,o1ui0;-;d,=0-n.;! 0;brazzavilJdem r0k$s<sa,r0;ep;!ublic;b$Bl4m1ze0;nga;a1ero0;on;ma;a(r,um2;a3%2i0;da,m0;bo;+e4$;f.ssam,m0uchi;%0;da;b6do 5/4je+n3k1limosho,=0o,t*i;la;owonjo,u0;);le;/;ekiti;a,eoku1omey c&avi,u0;ja;ta","West Africa"],"Maputo":["true¦:!1:#$:na,gno;aDcrd,dCe8i6lartnec acirfa,mz,#ibmNo1per medFuvakLw0zm;b,m,r,z;$c0iomCyawalJ;! 0;c1eht f0f0rd;o cilbuper c0;itarcomed;b,dnurE#g#s3sak4walCyam ijubm,zewlo0;k,s;#mileuq,rarah,tet,uqibmazom,w0;babmiz,$l1t0z;ik;il;c,oc;d#wr,g##k,i6l3#wstob,pakihst,ri2sahsnik1tap0ziwgnut0;ihc; o$c;eb,vu;ac6o0upm6;dn,t0;am;b1n0;ub;im1m0;az;an","Central Africa"],"Monrovia":["true¦l0utc,zulu;br,iberia,r","Greenwich"],"Nairobi":["true¦!1:#$%:frica,an,ar;a01bWcomoros,dVeLgJh%geysa,jijiIkEmBna8ruiAs5t2u0w%Kyt,z$zib%;g0nited republic of t$z$6;!$daN;a0hika,oamasi6z;bora,n0;ga,z$I;o0umbaw$C;!mal0;ia;ku1nsa0zH;na;ru;a1beLekele,g,o0w$za,yt;mbaProgoro;dagascMyotte;a2e1i0m;kuyu,ra,sumu;!nya8;haGkame0;ga;eita,on0;der; 8a5ldo4r2t0;!hiop0;ia1;!itrea0;!n;ret;st0t; a#0ern 1;! st$d%d,n;a#;ire dawa,odo2;a2ora1unamwa0;ya;ma;hir d0lbala;%;# eastern,rusha,wa0;sa","East Africa"],"Ndjamena":["true¦chad,t0;cd,d","West Africa"],"Sao_Tome":["true¦p3s0utc,zulu;ao tome1t0;!p;! p0;rincipe","Greenwich"],"Tripoli":["true¦a2benghazi,l0misrat3tarhuna,zawiya;by,ibya0y;!n;l khums,z zawiy0;ah","Eastern European Standard"],"Tunis":["true¦sfax,t0;n,un0;!isia0;!n","Central European Standard"],"Windhoek":["true¦africa central,na0;!m0;!ibia","Central Africa"]},"America":{"Adak":["true¦a4h3nwt,u0;nited states1s0;!a;! of america;awaii daylight,dt,st;leutian1merica0;!n;! 0;islands,standard","Aleutian","usa"],"Anchorage":["true¦ah0;dt,st","Alaska","usa"],"Araguaina":["true¦palmas,tocantins","Brasilia"],"Argentina/Buenos_Aires":["true¦a0mar del plata;merica/argentina,r0vellaneda;!g0;!entine","Argentina"],"Argentina/Catamarca":["true¦ar0;!gentine","Argentina"],"Argentina/Cordoba":["true¦ar0corrientes,posadas,santa fe;!gentine","Argentina"],"Argentina/Jujuy":["true¦ar0;!gentine","Argentina"],"Argentina/La_Rioja":["true¦ar0;!gentine","Argentina"],"Argentina/Mendoza":["true¦ar0;!gentine","Argentina"],"Argentina/Rio_Gallegos":["true¦ar0;!gentine","Argentina"],"Argentina/Salta":["true¦ar0;!gentine","Argentina"],"Argentina/San_Juan":["true¦ar0;!gentine","Argentina"],"Argentina/San_Luis":["true¦ar0;!gentine","Argentina"],"Argentina/Tucuman":["true¦ar0san miguel de tucuman;!gentine","Argentina"],"Argentina/Ushuaia":["true¦ar0;!gentine","Argentina"],"Asuncion":["true¦c3p0san lorenzo;araguay1ry,y0;!st,t;! standard;apiata,iudad del este","Paraguay"],"Bahia":["true¦camacari,feira de santa0itabu0salvador,vitoria da conquista;na","Brasilia"],"Bahia_Banderas":["true¦bahia de banderas,guadalajara,nayarit","Central Mexico"],"Barbados":["true¦b0;arbados,b,rb","Atlantic Standard"],"Belem":["true¦ananindeua,mac1para0; east am0uapebas;apa","Brasilia"],"Belize":["true¦b0;elize,lz,z","Central Standard"],"Boa_Vista":["true¦central brazil0roraima;!ian0;! standard","Amazon"],"Bogota":["true¦!1:#$%&:an,ar,en,ll;$m%HbDc7dosquebradas,floridabl#ca,i6k%nedy,m5neiva,p3s1v0;a&edup$,i&avic%cio;#ta m$6incelejo,o0;acha,ledad;a0ereiBopay#;lmiAsto;#izales,ede&in,onterB;bague,taguei;a4o1ucu0;ta;!l0st,t;!ombia0;! st#d$d,n;li,rtag%a;$r#2e&o,u0;c$am#ga,%av%tu0;ra;cabermeja,qui&a;ia","Colombia"],"Boise":["true¦america3idaho,mountain id,u0;nited states1s0;!a;! of america;!n","Mountain","usa"],"Cambridge_Bay":["true¦ca0mddt;!nad0;a,ian","Mountain","usa"],"Campo_Grande":["true¦mato grosso do sul","Amazon"],"Cancun":["true¦m0quintana roo;exic0x;an,o","Eastern Standard"],"Caracas":["true¦alto barinIbarHcCguaAm7p6san5turmeEv0;alencia3e0;!n0t;!ezuela0;! standard,n;! venezuela; cristobal,ta teresa del tuy;eta4uerto la cruz;a0ucumpiz;raca0turin;ibo,y;ren7ti0;re;abim5iudad 2o1u0;a,m2;ro;bolivar,guay0;ana;in0quisimeto,uta;as","Venezuela"],"Cayenne":["true¦french guiana3g0;f1u0;f,iana;!t;! standard","French Guiana"],"Chicago":["true¦!2;:!1:#$%&(:na,uo,ra,ro,ni;aSd#l%g,eNg(vri,ht&w t&f,iLkIluapFnAo9s1t0x7yremogtnR;dc\\gtsc,&peverhs;a4e3i0#el&2u;hpmem0lopaSo(lli,$lC;! ht$s0; wW;(om sed,tX;llad,s#k1x0;et;!%;de%l,inot# n7lli%4#lp;acire3i2locn9o0;sidam,t0;g(l%,s$h;snocsKtsua;ma; t0;(0s;as;co0%p d#lrevo;bbul,r eltt0;il;ppissi0r$0tsirhc sup&c;ss9;ekuawl8g$r notab,iriarp d#rg,l0;ib2liv0;hsan,s0;nworb,tnuh;om;cirema9hamo,ksarb8m7#isi$l,s6t0woi;ihc4o0;kad ht2s0;enn0;im;&n,$s;iw;lut,u;abala,ohalko;en;! fo set0;ats detinu","Central","usa"],"Chihuahua":["","Central Mexico"],"Ciudad_Juarez":["true¦juarez,m0;exic0x;an,o","Mountain","usa"],"Coyhaique":["true¦aysen,c0;hile0l,oihaique;!an","Aysen"],"Costa_Rica":["true¦c0sjmt;osta rica1r0;!i;!n","Central Standard"],"Cuiaba":["true¦mato grosso,varzea grande","Amazon"],"Danmarkshavn":["true¦g0utc,zulu;l,reenland","Greenwich"],"Dawson":["true¦ca2y0;d0pt,wt;dt,t;!nad0;a,ian","Mountain Standard"],"Dawson_Creek":["true¦p0;pt,wt","British Columbia"],"Denver":["true¦!2;a6colorado5el paso,m4n3salt lake,u0wyoming;nited states1s0tah;!a;! of america;avajo,ew mexico;ontana,st\\hmdt;! springs;lbuquerque,merica0urora;!n","Mountain","usa"],"Detroit":["true¦america4e3grand rapids,u0;nited states1s0;!a;! of america;astern mi,pt,wt;!n","Eastern","usa"],"Edmonton":["true¦alberta,ca0northwest territories; mountain,lgary","Alberta and Northwest Territories"],"Eirunepe":["true¦amazonas west","Acre"],"El_Salvador":["true¦el1s0;an0lv,oyapango,v; salvador","Central Standard"],"Fort_Nelson":["","British Columbia"],"Fortaleza":["true¦ca3imperatriz,j2m0natal,sao luis,teresina;a0ossoro;picernpb,racanau;oao pessoa,uazeiro do norte;mpina grande,ucaia","Brasilia"],"Glace_Bay":["true¦ca0;!nad0pe breton;a,ian","Atlantic","usa"],"Goose_Bay":["true¦ca0labrador,npt;!nad0;a,ian","Atlantic","usa"],"Grand_Turk":["true¦c4kmt,t0;c2urks0;! 0;and c1c1;!a;aicos","Eastern","usa"],"Guatemala":["true¦g0mixco,villa nueva;t0uatemala;!m","Central Standard"],"Guayaquil":["true¦amba7cuenca,e2ma1portoviejo,q0santo domingo de los colorados;mt,ui6;chala,nta;c0loy alfaro;!t,u0;!ador0;! 0ian;mainland,standard;to","Ecuador"],"Guyana":["true¦g0;eorgetown,uy1y0;!t;!ana0;! standard","Guyana"],"Halifax":["true¦ca2n1p0;ei,rince edward island;ew brunswick,ova scotia;!nad0;a,ian","Atlantic","usa"],"Havana":["true¦:a9b8dradnats7erbutco ed zeid,n6o4s1thgilyad7uc0yeugamac;!eh,h,nh;anut sal,o0;geufneic0reyob;! olimac daduic;ir led ranip,jnaran oyorra,ma0;natnaug,yab;ab1iugloh; ab0;uc;buc0ralc a1;! ed ogai0;tnas","Cuba","cuba"],"Hermosillo":["true¦ciudad obregon,nogales,sonora","Mexican Pacific"],"Indiana/Indianapolis":["true¦america5crawford,dadukmn,eastern in,i6p3star4u0;nited states1s0;!a;! of america;erry,i0ulaski;ke;!/i0n;ndiana","Eastern","usa"],"Indiana/Knox":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Central","usa"],"Indiana/Marengo":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"Indiana/Petersburg":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"Indiana/Tell_City":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Central","usa"],"Indiana/Vevay":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"Indiana/Vincennes":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"Indiana/Winamac":["true¦america3indiana,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"Inuvik":["true¦northwest territories,pddt","Alberta and Northwest Territories"],"Iqaluit":["true¦ca0eddt;!nad0;a,ian","Eastern","usa"],"Jamaica":["true¦j1k0new k0;ingston;am0m;!aica0;!n","Eastern Standard"],"Juneau":["","Alaska","usa"],"Kentucky/Louisville":["true¦america3eastern 5k4u0wayne;nited states1s0;!a;! of america;!/k0n;entuc0;ky","Eastern","usa"],"Kentucky/Monticello":["true¦america3kentucky,u0;nited states1s0;!a;! of america;!n","Eastern","usa"],"La_Paz":["true¦bo1cochabamba,oruro,s0;anta cruz de la sierra,ucre;!l0t;!ivia0;! standard,n","Bolivia"],"Lima":["true¦arequiBc7huancAi6juliaca,p2sant1t0;acna,rujillo;a anita los ficus,iago de sur6;e0iura,ucall8;!r0t;!u0;! standard,vian;ca,quitos;allao,hi1us0;co;cl0mbote;ayo;pa","Peru"],"Los_Angeles":["true¦!2;:!1:#$%&():na,ir,no,ro,ema,tats ;aLdJeDfs,hcaeb Cmieha#,n9o4&#m es$nus,s2t1yellav 0;gn$Goner5;dp\\itsp,%m6;agev sal0eOu;! ht&n;csic#rfAgeidAn2t0;n(rcJsed0;om;er,idranreb7s0;erf;a1o0;ge&,sredneh,tkcots;c$(,rf3;g%l,%tgnitnuh;dis4lttaes,n2s0)%tgnihsaw,vorg nedrag;idarap,oj0; n9;ako0ivri;ps;#eco,rev$;leifsrekab,#l0ranxo;kao,t&p;c$(4daven,g%macuc ohc#r,in&filac,l,mocat,#1su,t0;$alc 1siv aluhc; 0t%f;atn0;as;! fo se0;)detinu","Pacific","usa"],"Maceio":["true¦a0;lagoassergipe,racaju","Brasilia"],"Managua":["true¦ni0;!c0;!aragua","Central Standard"],"Manaus":["true¦amazonas east,central brazil0;!ian","Amazon"],"Martinique":["true¦f1m0;a1q,tq;fmt,ort de france,rench ma0;rtinique","Atlantic Standard"],"Matamoros":["true¦heroica matamoros,m0nuevo laredo,reynosa;exic0x;an,o","Central","usa"],"Mazatlan":["true¦:aolanis,ci3nacailuc,ocixem 1sihcom sol,tirayan,xmp0;eh,h;dradnats n0n0;iatnuom;ficap ocixem,pet","Mexican Pacific"],"Menominee":["true¦america3u0wisconsin;nited states1s0;!a;! of america;!n","Central","usa"],"Merida":["true¦campeche2guadalajara,t0villahermosa;apachu0uxt0;la;!yucatan","Central Mexico"],"Metlakatla":["true¦alaska annette island","Alaska","usa"],"Mexico_City":["true¦:!1:#$%&()*+-./<=>?: ed ,ed ,la,ac,na, o,oc,ca,hc,pa,au,et,am,eu,lerom;a05c03e02i00ltoy*%uhazenZnQo9s4twc,xem,z0;e0ur+rev;-(s)(i+rg#dadelos,r/j 0uqirne#a.%x;$0otineb;(p%cuan,*lup&a;a2<nei%cs/ga,o0;c%*azta*,<= zepolT?0;!#cep<&e;c<&Mp0rertn* ane%dg=;a8ilu=D;cAg5r2t0;/0os#&uh+p;ja(W.ri;ater>q1e0;d=)floda)vatsUmor sal*in,rreU;!#ogaitM;%dih2n0;arud,ic(pl0;i-;! 0;$&ir azop,l>gE;ix,l2s0;ab0i%j;at;a0imi-ox;+0ztop&za;*,tJ;a1o0;el)v>n,gerbo)rav%;+2p0t&uy;/ru,lLop0;az;o1uh0;<,%mi- air= at4;-0yE;im; daduic;l%czi (ltit3sotop siul 0;(s;-epm&,l%v l$ainol9uqap>qC;/hBom<h0;uaE;cAi?,l5m4.%.t3raja%da2t1uga#ojo,yalec,z(rr&)(itsun0;ev;ral%v)tr5sivan>b;ug;zi;ad% sol#noel,il1;a2b1iuha0t(penl3;*;>p;cx0not;alt;a1ul0;a.txi,ot;vanre0xao;uc","Central Mexico"],"Miquelon":["true¦:!1:#$:noleuqim ,rreip;dradnats6e4mp3#0thgilyad6;dna e3e$0;! t0;n2s;!eh,h,nh,s;$ tn0;ias; #e$ ts","St. Pierre & Miquelon","usa"],"Moncton":["true¦ca0hepm,new brunswick;!nad0;a,ian","Atlantic","usa"],"Monterrey":["true¦:a1epu2noerrot,o0zerauj otineb4;cipmat,debocse lareneg3gnarud ed airotciv,icalap zemog,llitl2redam3;cadopa2irotciv2niratac atn1raja0volcnom,zrag sol ed salocin n1;ladaug;as; daduic","Central Mexico"],"Montevideo":["true¦montevideo 4u0;r1y0;!st,t;uguay0y;! 0an;standard","Uruguay"],"New_York":["true¦!2;:!1:#$%&()*+-./:ni,ro,ts,al,re,no,ne,ta,or,ih,el;a03c01dnXeNhLiJkIlHmGnAo7(%e6s3t2x)rb eht,y0;es(j0kcut*k,n;! Q;de\\f%e,)m(v,ucitcenn2;daem,e09*e4(k)y,ttesuhcassVu0wen t$pO;!bmul0;oc;c$w,hc-;d1.o,laffub,- anat#0$bs*erg;uq;/ot,n&$;a4o0ylko-b;rka,t0;g#1sob0;! htuS;hNxB;ci(ma,g.c4t+hnJ;ahrud,/as )%#w;a$c epac,f;lofrOra9;ma0+n#c#c;im;a/a.,caeb ai#griv,g0subt&f %ae;i/arNrubsttip;c*div-p,ess8kaepaseNl5#Br3t0;a% k$y 3t0;eyaf )tg#x0olraL;/;aw&ed,.spmah 0omitlab;wen;ad(du& t$f,liv0;etteyaf,)0xonk;ri,skcaj;ah&l7en*t;&0omhcir;ev/c,si 1yr0;am;edohr,*+%;d )tg#h0yn;saw;ci(ma8di$lf,goonat+7i4#l-ac ht1pm0su,tn&+;at;r1u0;os;on;g$eg,hpled&.p,n0;avlysn*p,igriv0;! %ew;hc;! fo se0;+% detinu","Eastern","usa"],"Nipigon":["true¦ca0;!nad0;a,ian","Eastern","usa"],"Nome":["true¦alaska west,west alaskan","Alaska","usa"],"Noronha":["true¦atlantic islands,br2f0;ernando de noronha0nt;! standard;!azil0;!ian","Fernando de Noronha"],"North_Dakota/Beulah":["true¦america3north dakota,u0;nited states1s0;!a;! of america;!n","Central","usa"],"North_Dakota/Center":["true¦america4merc3north dakota,oliv3u0;nited states1s0;!a;! of america;er;!n","Central","usa"],"North_Dakota/New_Salem":["true¦america3north dakota,u0;nited states1s0;!a;! of america;!n","Central","usa"],"Nuuk":["true¦g4w0;est greenland1g0;st,t;! s0;tandard,ummer;l,r0;eenland,l","West Greenland","green"],"Ojinaga":["true¦m0;exic0x;an,o","Central","usa"],"Panama":["true¦atikokan,pa0san miguelito;!n0;!ama","Eastern Standard"],"Pangnirtung":["true¦addt,baffin island,ca0nunavit;!nad0;a,ian","Eastern","usa"],"Paramaribo":["true¦s0;r2ur0;!iname0;! standard;!t","Suriname"],"Phoenix":["true¦a7chandler,g5m4scottsd6t3u0;nited states1s0;!a;! of america;empe,ucson;aryv1esa,t,wt;ilbert,lend0;ale;merica0rizona;!n","Mountain Standard"],"Port-au-Prince":["true¦:ellivnoitep,it1ruoferrac,s0th,xiap ed trop;amled,teuquob sed xiorc;h,iah","Eastern","usa"],"Porto_Velho":["true¦central brazil0rondonia;!ian0;! standard","Amazon"],"Puerto_Rico":["true¦:adubrab augitna,dGgFiElDn9o7qb,rp,s0tt,xs;dnal2iven0t1;! st0;tik ts;rehte9si nigriv0;! 0;hsitirb,ku,s0;etats detinu,u;cir otreup,gabot0;! d7;etraam t0k,omayab;ni0s1;as,s0;! hctud;n naebbirac;rp,v;a,v;adinirt","Atlantic Standard"],"Punta_Arenas":["true¦c1m0region of m0;agallanes;hile1l0;!t;! standard,an","Magallanes"],"Rainy_River":["true¦ft frances","Manitoba"],"Rankin_Inlet":["true¦c0;a0ddt;!nad0;a,ian","Central","usa"],"Recife":["true¦caruaru,jaboatao2olinda,p0;aulista,e0;rnambuco,trolina;! dos guararapes","Brasilia"],"Regina":["true¦ca2s0;askat0k;chew2oon;!nad0;a,i0;an","Central Standard"],"Resolute":["true¦ca0;!nad0;a,ian","Central","usa"],"Rio_Branco":["","Acre"],"Santarem":["true¦para west","Brasilia"],"Santiago":["true¦a8c3iquique,la pintana,maipu,puente alto,rancagua,san bernardo,t1v0;alparaiso,ina del mar;alca0emuco;!huano;h1l0oncepcion;!st,t;ile0l;! s0an;tandard,ummer;ntofagasta,rica","Chile","chile"],"Santo_Domingo":["true¦bella vista,do5la romana,s0;an0dmt; pedro de macoris,t0;iago de los caballeros,o domingo 0;e0oe0;ste;!m0;!inican0;! republic","Atlantic Standard"],"Sao_Paulo":["true¦:!1:#$%&()*+-./<=>:d , o,na,ra,ir, e,ac, a,ro,re, s,at,ni,iv;0:12;a09eViSlRmPoIs4u1;a2bme,caugi 1ruab;aLo#zof;jRnemulb;aAe7i2o1;hl0El&cWpm*5&lc/etn8t%s;ah=p4lop1;a%,o1;n1rt7;a(olf,>id;/A;&dalav -dan.vog,ven/a#oaAz1;*<yog/o#so5urc/a#ig1;om;ix*)#euqud,=3o2tol1;ep;gal)tes,n0;pm0;ama>,csaso,d6grubmah$5(,%zLpm*$#od&n.bJr4terp$1xor d-flG;a2( 1;o#esG;riebM;alcJie%j)dJ;von;lopoelDnuf$ssap;eg<nWi1;rimep<i)#orieohc0t8;ev*s0us$#saix0;a1e&cQo.tin,.u&b,t(em)#oa8vep08;idnL-b07tav1;arg;d9ll>=oj,r7s5t1;abuHn1seo#a&b&bR;e2oz(oh$l1;eb;c>2durp)tnedise9;oj1;$O;am1d%$Mgela$tr8;us;%rg 2.v1;$2;aia2o1;(;rp;bPcNdMg=Khlev+lJiBjAleg% midr9meda8n6r2ssorg+tn1uL;op;b,iemil,of)#zi3.s1;!+#oaob1;<;uj;*(ema,i1;rdnol,tla%lp;id;aj;u&ug;d%l7l(A%iog6r2t1zul3;oc;am1ot6;+1;tn1;as;!)#adice&pa;ot-h,rD;>;r1tapi;am;a-vla,noder+tlov;ica(0%rf,ujit+#arr1;ab;a5i3ut1;aiad=,eceuqauq1;<i;t(uc,ucipar0;*;c2r1;ebu;icarip,o-s","Brasilia"],"Scoresbysund":["true¦e4g2h0ittoqqortoormiit;e0neg;eg,g;l,reenland0;! eastern;ast greenland1g0;st,t;! s0;tandard,ummer","East Greenland","green"],"Sitka":["","Alaska","usa"],"St_Johns":["true¦ca6h4n0;d2ewfoundland0st,t;! 0;daylight,labrador,standard;dt,t;e0n0tn;tn;!nad0;a,ian","Newfoundland","usa"],"Swift_Current":["true¦ca0saskatchew2;!nad0;a,i0;an","Central Standard"],"Tegucigalpa":["true¦h0san pedro sula;n0onduras;!d","Central Standard"],"Thule":["true¦g0pituffik;l,reenland","Atlantic","usa"],"Thunder_Bay":["true¦ca0;!nad0;a,ian","Eastern","usa"],"Tijuana":["true¦ensenada,h3m0;exic0x;a0o;li,n;e0n0;nomx","Pacific","usa"],"Toronto":["true¦bDca9etobicoke,gatineau,hamilEkitchener,l4m3nepeCo0quebec,richmond hill,vaughCwindsor;nt1sh0tt0;awa;!a4;arkham,ississauga,ontre4;av3on0;don on0gueuil;!ta0;rio;al;!n0;!ad0;a,i0;an;a1ramp0s;ton;hamas,rrie","Eastern","usa"],"Vancouver":["true¦america pacific,burnaby,ladner,okanagan,pacific bc,surrey,victoria,yukon","British Columbia"],"Whitehorse":["true¦ca0yst;!nad0;a,ian","Mountain Standard"],"Winnipeg":["true¦west manitoba","Manitoba"],"Yakutat":["","Alaska","usa"],"Yellowknife":["","Alberta and Northwest Territories"]},"Antarctica":{"Palmer":["true¦a0palmer;ntarctica,q","Palmer"],"Casey":["true¦a2cas0;ey0t;! standard;ntarctica,q","Casey"],"Davis":["true¦a2dav0;is0t;! standard;ntarctica,q,ta","Davis"],"Macquarie":["true¦aus eastern standard,macquarie island","Eastern Australia","aus"],"Mawson":["true¦a2maw0;son0t;! standard;ntarctica,q","Mawson"],"Rothera":["true¦a0;ntarctica,q","Argentina"],"Troll":["true¦a3gmt,troll0;! 0;research station,s0;tandard,ummer;ntarctica,q","Troll","troll"],"Vostok":["true¦!2;a2msk+\\e,vost0;!ok0;! standard;ntarctica,q","Vostok"]},"Asia":{"Urumqi":["true¦aqsu,c3gujangbagh,huoche2k1shihezi,urumchi,wulumu0xinjia2ürüm0;qi;ashgar,orla;ng;hin0n;a,ese","Xinjiang"],"Almaty":["true¦alma3ka2nur sultan,p1s0taraz,ust kamenogorsk;emey,hymkent;avlodar,etropavl;ragandy,z; ata,-ata time","East Kazakhstan"],"Amman":["true¦irbid,jo0russeifa,wadi as sir,zarqa;!r0;!dan0;!ian","Jordan"],"Anadyr":["true¦!2;ana5bering sea,msk+\\a\\j,petropavlovsk kamchatsky,ru0;!ssia0;! 1n0;! federation;time z0z0;one \\b\\b;dyr0t;! standard","Anadyr"],"Aqtau":["true¦man0;gghysta0k3;u0ū/1;!/0;mank0;istau","West Kazakhstan"],"Aqtobe":["true¦aktobe","West Kazakhstan"],"Ashgabat":["true¦t0;km,m2urkmen0;abat,istan0;! standard;!st,t","Turkmenistan"],"Atyrau":["true¦atirau,guryev","West Kazakhstan"],"Baghdad":["true¦:!1:#$:la,da;a#brak,bFfajEh5i3k2l1q0r$s,tukD;a3i,ri;ibre,usom;ohid,ukrik;$mar,qa0;ri;a0$yir;di$j # lisw5jul#f6llih6mi$q # harsab6r4yi0;dumh4na0ris6;myalus1wid 0;$,#;! sa;ama1sab;am0; #;an;ishak #0yaruhg0; uba","Arabian"],"Baku":["true¦az2ganja,lankaran,sum0;g0q0;ayit;!e0t;!rbaijan0;! standard","Azerbaijan"],"Bangkok":["true¦:!1:#$%:gn,ah, no;aFcilbuper citarcomed selpoeDdnaliGeuh,#Bh8i3mal aig,n0oekat,rdDsEterk kap,ul aoh;a1e0os ih#;ib #ol,yu# iE;idHkarp tumas;a2n$t%du,on8r0;t teiv,ub0;%1$tnon #aeum;ht,m #ai0y t5;hc;k,ni0t;d0v,đ0; m6;aig cab,ohpi0urt ab i0;$;p 0;oal;hcar is,i2l,mis$ctar%hk1oh hn0trakaj,đ #ođ;$t;an;d1sa 0;es,tsae htuos;obmac","Indochina"],"Barnaul":["true¦altai,biysk","Krasnoyarsk"],"Beirut":["true¦l0ras bayrut;b1eban0;ese,on;!n","Eastern European","leb"],"Bishkek":["true¦k0osh;g2yrgy0;stan,zstan0;! standard;!t,z","Kyrgyzstan"],"Brunei":["true¦b0;dt,n3r0;n,unei0;! darussalam0;! standard;!t","Brunei Darussalam"],"Chita":["true¦zabaykalsky","Yakutsk"],"Choibalsan":["true¦dornodsukhbaatar","Ulaanbaatar"],"Colombo":["true¦dehiwala mount lavinia,kolkata,lk1moratuwa,sri lanka0;!n;!a","India"],"Damascus":["true¦a4deir ez zor,h3latakia,sy0tartus;!r0;!ia0;!n;am2oms;l0r raqq1; hasak0eppo;ah","Syria"],"Dhaka":["true¦!1:#$:ha,ng;bFcDdinajCgaziC#t#zari,jessBk9m8na5pa3ra2s1t0;a$ail,u$i;aidAhib5ylhet;js#hi,$9;b6l0r naogaon;labi,tan;gar6r0t5;ayan0si$di;ganj;irpur model t#1o#mmad3ymensi$h;afrul,hul0;na;ore;pur;#ttogram,o0;milla,xs bazar;a1d,gd,#ta0og0st;ra;ger#t,$ladesh0ris#l;! standard,i","Bangladesh"],"Dili":["true¦east timor2t0;imor leste,l0;!s,t;! standard","East Timor"],"Dubai":["true¦a7bawshar,dayr6g4mus3om2ras al khaim6s1u0;ae,nited arab emirates;eeb,harj4;!an,n;aff2cat;st,ulf0;! standard;ah;bu dhabi,e,jman,l ain","Gulf"],"Dushanbe":["true¦t0;ajikistan1j0;!k,t;! standard","Tajikistan"],"Famagusta":["true¦:surpyc0yc;! nrehtron","Eastern European","eu3"],"Gaza":["true¦gaza strip,p0;alestin1s0;!e;e,ian0;! territories","Eastern European","pal"],"Hebron":["true¦east jerusalem,p0west bank;alestin0s;e,ian0;! territories","Eastern European","pal"],"Ho_Chi_Minh":["true¦!1:#$%:an, t, m;#IbEcDd9nha$rCqu7rach gia,sa dec,th4v0;iet1n0ung$au;!m; nam,nam0;! south,ese;i xa phu%y,u0; 0#4;dau%8đuc;#%uoi0iA;!%6;a 1i0; #;l5n0;#g;#$ho,ho l5;ac$u liem,en c2i1uon%a$hu0;ot;en hoa,nh$h#h;at; nh0;on","Indochina"],"Hong_Kong":["true¦h5jungwah,k4new territories,sha2t0victoria,wong tai s3yahnmahn;s0uen mun;eung kwan o,uen wan; t0m shui po;in;owloon,wai chu7;eung go6k4ong0; kong0ko5;! 0;island,s0;ar china,tandard;!g,s0t;ar,t;ng","Hong Kong"],"Hovd":["true¦bayan olgiigovi altaihovduvszavkhan,hov4m2west0; 0ern 0;mongolia;n,ongolia0;!n;d0t;! standard","Hovd"],"Irkutsk":["true¦!2;angar5brat5irk3msk+\\a\\f,north asia east,ru0ulan ude;!ssia0;!n0;! federation;t,utsk0;! standard,buryatia;sk","Irkutsk"],"Jakarta":["true¦:!1:#$%&(:gn,am,at,is,ak;aSgEheca HiBkoAlaget,m%In4o3r2t1u0;luk#Brabn7;%upYucr7;%na&#%$6ebmW&#u3ogob;dnobut&,g#iloborp,trekowR;a2di,o0uid$;berUg0;elT;dem,#ol0;(0;ep;lk#edsa#er,ped;a1bmMh$Omub(Kridek,s(0;eb;jnib,mud;n0uruc;a3onibKu0;dn1pmal r0r7;adn0;ab;bmel7d6l3r0war(;$es,e0;#%0s;! htuos;$1um0;ap;!ep;ap,em5;!ap;epma7&enodni tsew,r4tr(a1ya0;bar2l$k&%;r1w0ygoy;rup;us;ap1t$usav0;aj;ej;ic","Western Indonesia"],"Jayapura":["true¦!1:#:ndonesia;ambon,east3i1m0new guinea,wit;alukus,oluccas;d,#0;! eastern,n; i#,ern i#0;! standard","Eastern Indonesia"],"Jerusalem":["true¦ashdod,beersheba,haifa,i0jmt,petah tiqwa,rishon leziyyon,tel aviv,west jerusalem;d4l,s0;r0t;!ael0;! 0i;daylight,standard;dt,t","Israel","isr"],"Kabul":["true¦af0herat,jalalabad,kandahar,mazar e sharif;!g0t;!hanistan0;! standard","Afghanistan"],"Kamchatka":["true¦!2;anadyr,msk+\\a\\j,pet3ru0;!ssia0;!n0;! federation;ropavlovsk kamchatsk0t;i0y;! standard","Petropavlovsk-Kamchatski"],"Karachi":["true¦!1:#$%&(:al,ha,an,ar,ra;&ifXbSchOde( Mfais#Lguj(KhJislamLjIkGlaFmBnawabs$h,okaRp6quetta,(5s1t%do 0wah c%tt;#lahy7bago;a2h1i0ukkU;#kNnjhoro;ahkMekhupuN;ddiqGhiw#,rgod$;him y&Hw#pindi;ak2es$w1indi b$ttiIk0;!t;&;!ist%0;! st%d&d,i;a2i1u0;ltCzaff&8;ngoDrpur k$s;lir c%tonment,rdA;hore,rkE;a0otli;moke,sE;##pur pirE$ng sadr;afiz1yder1;nCt;abad;g$zi0ismail0; kh1;ak jhum2ini1uni0;%;ot;(;a2h0ure4;aw0imber;%a;$w#p0nnu,ttag(m;ur;w#a","Pakistan"],"Kathmandu":["true¦b4h5n1p0;atan,okhara;epal1p0;!l,t;! standard,ese,i;h0iratnagar;aratpur","Nepal"],"Khandyga":["true¦tomponsky","Yakutsk"],"Kolkata":["true¦:!1:#$%&()*+-./<=>?@[]^_`~:na,ra,ah,ar,an,la,ab,hs,ru,am,aj,hc,ma,dn,ag,ga,ih,al,ug,ht,ir,ok;0:41;1:3B;2:32;a2Qd2Fe24fi$+ $hib,g-d,h1Ui0Yj&@y&p,k0Wl0Sm0Jn0Do$kob,rEsawed,tAu6wonkcul,y3;ll4r3;]0Y>umh0Mre<udup;apt1Cie$b;.5gulum,mm/,-3;)gn3sym;.,eb;!j/;a3epsoh,~j1sls,ureem;j iolg#n,pin4r3sa$b;/^,us;ap,os;aNeMh%sd#lLim+0oKu3yhgnom;<i1kmut,n#y(0p5ss`_,t3yittov16;a3n^,t*=;ddorp,l;aBde+m/,@Ah9i7)6m&5#4p13$3s]ib;fOnos -pj1;hrFjh%s,k,$has,yg;!%*,`+;b/,@2;a3#m;du,j,r;doj,k&og;n,r25;g6h5jib,l3mh&b,t##,zrim;lub_uq,o3;+,s;!l~;#rwon,-d;guas,i)wg;ub;mja,#kib;dFg(7h6kis,riv,s5w3;di$h,+3),s3;e#bu2;[,t`=;d#)j,it0; 9a7d.ha,i6m4#d0W$f3s%lu,va2;fazum;a3`0;j,y+;dom,hd#g,rs;g#g,nu=y,r3yl[a;*,>e-s;ij2K-d%* )l;ib,#ya2;a7i6o?5ud3; a3a3;rhed;e)m,)j,-g;!/ju,<oc;_s8m%dd$b,yl0;a4e)3u?J;pidupas1s;>^8l7ntap6r3;a3gu-g,up%t##vur[t;b=t,@#iziv,v&>eh.3;/1;%kasiv,ili<.;l~,t1;.1m1;a4iocreg(,o3^i>id,wazia;onrWs#sa;g#$w,h3nr0po2vasu2;bmOpmi;atEcattuc,i+(;rp;aXdWgVhSj#$kl%ci,lEnBrAs9t5va3;@3$hd;leb;a3lO;h3pJv&=;aw^,i3$m0;(,#p;a#$v,#hj;])b,p0D^ilis;a4et,i3ol;hor;hb$p,wi2;aDbCeAg8)5u&gnis,vi3;bDr3;ob;bb9p3;p&i<7t3;akA;n3uh;as;$be1vlen3;urit;uh;b,p,tl4vib3;mod;uk;c4l3;ed;i-k]l0n1~;&ub]0#n;ava,#wi2uku_ooN;bmum iv(,li2-d.;a8d?(uj,g7$g3sed&p $ttu,t($=;f/(,i4#j3;us;d3);#<;* lor0i&h*;r3wate;$,w3;oh;ud;doCluhd,nAr3;eg#vad,o3;>i,jn7l5s4t*mi3;oc;ym;?#m,le3;!n,v;at;a3up;_;k[z~,re;a3e>Zni;b4idYw<ni< `p3;mip;a3#hd;d5g#-a,h4iz%g,=zin,red3zorif;nuces,yh;]),kur4;&5em4i3;$f;ha;om;b0Gd07g02hZiWkaUlMnIpad0r9s7t6w4y3;?,hdR;>3er;%k;~,tuc)c;(Sr3;is;a6@,o4p%c,t+a$hLu3;_Kp05;%,mil3;ib;dod6pta2w3;li2r3;um;hb;av;a[d5l4ta3;p,s;/;ul;a6e3~a,uk<n9;k-1r3;(;&;it5t3;+eh3$@;.;ap;t(r0wuj3;?;lu4nr3;up;hd;or4sido,zuppa3;);=;gom5#hbr4omi6$bl3;^;ad;avi3;+;a7ion6n3;a4[t3;*;<;! retaerg;nik0w3;ay/3;iv;ak;as4r3;~;og","India"],"Krasnoyarsk":["","Krasnoyarsk"],"Kuala_Lumpur":["true¦alor setar,bukit mertajAgeorge town,ipoh,johor bah9k5m4petali3s0taipi8;e1hah al9u0;ba1ngai petani;pa5remb4;ng jaya;alacca,ys;ampung baru suba2la2ota bha3ua0;la terengganu,nt0;an;ng;ru;am","Malaysia"],"Kuching":["true¦kota kinabalu,miri,s0tawau;a0ibu;bahsarawak,ndakan","Malaysia"],"Macau":["true¦m0;ac0o;!a0;o0u;! sar china","China"],"Magadan":["true¦!2;m3ru0;!ssia0;!n0;! federation;ag0sk+\\a\\i;adan0t;! standard","Magadan"],"Makassar":["true¦!1:#$%&:ndonesia,ar,an,ntral;ba8ce6denpas$,i4k3l2ma1palu,s0wita;am$inda,ulawesi;nado,t$am;abu% bajo,oa j%6;end$i,up%g;d,#0;! ce&,n;lebesbalinusa,& i#0;! st%d$d;likpap0nj$masin;%","Central Indonesia"],"Manila":["true¦!1:#$%&()*:an,in,ta,la,ga,ue,lo;#07bZcTdaRfilip$o,general s#tQiOlKmDnaCoBp5q)zJs#1%0valenz)&,zambo#(;c*b#,guig,r&c,ytF; 1t0;a ro3ol;fern#do,jose del monte,p0;ab*,edR;a3h1)rto pr$ce0;sa;!ilipp$e0l,st,t;! st#dard,s;(diTnal#oy,r#aq),s0;ay,ig;*n(po,rmoc;(,votS;a0eycauayPunt$lupa;ba&cat,gugpo pob&ci4kati,l3n0riki6;da1sil$gN%mp0;ay;luyong,);ab0$gFol7;on;a2e(spi,i1uce0;na;ber%d,pa;pu &pu,s p4;l0mus;igDoiI;os;smar0v6;$C;a0ebu,o%bato;b2(y# de o1$6l0;amba,ooc7;ro;#atu5uy0;ao;a4$#2u0;d0tu2;%;!gon0;#;co1guio,t#g0;as;*d,or;geles,tipo0;*","Philippine"],"Nicosia":["true¦cy0;!p0;!rus","Eastern European","eu3"],"Novokuznetsk":["true¦kemerovo,prokopyevsk","Krasnoyarsk"],"Novosibirsk":["true¦!2;msk+\\a\\e,no3ru0siber6;!ssia0;!n0;! federation;rth central as2v0;osibirsk0t;! standard;ia","Novosibirsk"],"Omsk":["true¦!2;msk+\\a\\d,oms3ru0;!ssia0;!n0;! federation;k0t;! standard","Omsk"],"Oral":["","West Kazakhstan"],"Pontianak":["true¦b0palangkaraya,tanjung pinang,west b0;orneo","Western Indonesia"],"Pyongyang":["true¦chongjin,dpDh8k4mangyongdae ri,n2pDs0won9;ariwon0eoul,inuiBunc6;! si;ampo,orth korea0;!n;a0orea north,p;e0nggye;c0so4;hon;a1ungnam,ye0;san;e1mhu0;ng;ju;rk","Korean"],"Qatar":["true¦ar rayyan,doha,qa0riyadh;!t0;!ar","Arabian"],"Qostanay":["true¦kostanay","East Kazakhstan"],"Qyzylorda":["true¦k0;yzyl0zyl 0;orda","West Kazakhstan"],"Riyadh":["true¦aDburGdammam,haCibb,jeddHkhamis mushait,m9najran,s5ta3y0;anbu,e0;!m0;!en;buk,i0;f,z;a0ultanByot;!naa,udi0;! arabia0;!n;a1e0ukalla;cca,dina;din5kk5;far al batin,il;bha,l 0;ahmadi,hu0jubayl,kharj,mubarraz;d0fuf;ayd0;ah","Arabian"],"Sakhalin":["true¦!2;msk+\\a\\i,ru3sak0yuzhno sakhalinsk;halin0t;! 0;island,standard;!ssia0;!n0;! federation","Sakhalin"],"Samarkand":["true¦bukhara,nukus,qarshi,uzbekistan west","Uzbekistan"],"Seoul":["true¦:!1:#$%:gn,erok,oe;a$ Teahmik,#Qhtuos a$,iGkFn6opkom,r5u0;g9j0s%y;ej,#a2n0;iHo0;ej,w;wg,y;k,ok;a6o0;e1w0;#aBus;hcn1j0;ead;i,u0;hc,s;$ hGn5s0;am,#ay,ki,lu,nAub;eat#%yp,or;m8s 0;#5ir7man#oAn3u0;b#%jiu,j#0;%0;hc;asna,%hc0;i,ub;ay0%sawh;na,og;ug;ahop,o0uen#ag;eym#awg,j0ym#awk;es;fo cilbuper,h0;tuos","Korean"],"Shanghai":["true¦:!1:#$%&()*+-./<=>?@[]^_`:gn,na,uh,oa,au,ij,hc,ug,ab,eh,il,iq,hz,ad,ay,ix,uy,ia,uw,ul,hs;0:4F;1:4I;2:5L;3:4N;a5Qbaq$lu,crp,e5B#2Yi1Zn0Fo05r03sodro,t00u4;b#eb,d#Yfn[,gXhW<Vo9p6q 5s$g,wi0Uy4;g08n1;a%$ux i` uoka5F$+g32;#4n1;a4<;%,y;d49guot1T=9k6t4;$4&b;`,t;a58.&l,#5]h,$+,u4;d>,o2;iy,oh;>,eI#FiCn7o5u4;f,hG/,l,q,s,w,x;a4b,u0;*,);a7e5i4;b,j,q,x;h4w;c,z;g,l,t,uq,w,y;a5em,*,j,p,u4;g,h,s;l,t;a4e2),oy;c,h4+,y;!c,z;!d,h;gH$;sg54^;#at,$h;e*,ip;c5kh,oh4;hPn/1;!irtsid %o_;a4iubn_%,un $y-;h<<,l]h;a7b6u4;`#?,lg7s-,tup,z4;g2F&3;#in,iz;d7=ir,i5rg4t05;$0;lg4Nq4;$n,_;#4_%;a%n<,<;aQc,eK*,iColdnBu4;c7h4;c5s4;$,uf;g4Iiy;.5#4;atg1Nod;!]t;oh;b9j$8l6mn1xuf,y4;a%,#4i-;a3ip;i4[;j,+;it,p;i4rah;al,y;fn/,=6m4;a1#4%;a3);ed#3n4;(g#e* 4e0;a@n/,#?J;?,dnZgXhMiGnD&b,tgCu5y4;#ol,i0;g9*8l,q7y4;.,#5]4&/,+;k,t;(g,i2P;#?,u3;.,g3Pis,niy,^;g1L&0;$1;a5i4%;a%,ew,j;b,y;aId7eb,j6l>,qus,t5ur,x4;!n7;up;!uf;amu2#af4;aw;s4^;?#(0eC#8i7n5o4uo2;-,f;a4ew,),uk;!am,/,p;-,em,uzi0;a6i5o4;=,l,t;dg1Yq;t,%;h,l;n4&1;(g,);ah;aTbSc[,dQeNgre $l%,hLjJlIm&g,qi0suma3%Dx8y5zg4;nem;#5n4;i0Yuz;a*,@;#7i6n5u4;p,w;eb;al,c,j;a3id;n1s4ux;#Hi6$4;i4pu/;j,t;l,s,y;#e0+;#oy,n4&b;?;cAs4zg2K;a0g1Q$%cg2G;b5f8w4;#o2$0^;a2]%;n1u4;ol;.;h6t4;#1n4u3;?,@;#6ie5nZu4;=,w;b,w;<,o4;d4<;!>;a06eViCo4;dAgiz,h6@%c,ln5s^,t4;>,nR&2;[;cnPz4;-,g5n4&/,^;ah,);ne*;#(g,nIup;dLjJlGmDnAp7q6x5y4;gNu1;a3iy,&0;>,$,&2;is,$5o4;ag;n,[;g1Ni5$4up;@,n,w;j,us,x;g5n4&m;as,uk;no*;eit,#5$#@4;>;),ot;n4uq;an;a3&b;fiDh4;c5sg4;nod; u2am,i8n5&/,u4;=,oz;a4),[;h,u4y;l,x;a4ef;b,h;ak,*;c0Af08g05hZiLk$,uFy4;eD#CiBn8o5u4;f,p;a4_;h4/,z;c,s;a4e0@;!i4n;m,x;al,+,y,z;a1.,<;d,),[;g7h4;g5z4;a)i0&z;nef;#Kuo0;`;j9l7x4;#5n1;@;ef,ip,o2;>,g4_;nip;#9i8n5&3u3;);a4e2);dum,=,i4;l,q;en,=,l;?,o4;h,s;c5n4;im;>,i6n5u4;w,x;an,ew;x,y;aI.,g5i4n[$9;+;$S;#4iew;al;i5n4;/;at;d#HhC)9s7ux6y5z4;.,#ep;>,g9;^;eniNi4;-;a4ib;)g4;$2;#6]t5nGo4;_;<;(2od;=;aDeDin;dD`gB@nemnAko9sa9%4ynA;g7i5n4;(x,);a4=$p,us;%;not;hl;as;$4;*;$","China"],"Singapore":["true¦!1:#$%&(:an,la,ta,ar, pu;bukit rahm#(tBiAk6mu5p4s0%m# pe%li8woodl#ds;e2g1ingapore0;! st#d&d,#;!p,t;$y#g b&u u%7%pak;asir guda3elento3ucho3;&,kim($i;ampung 2lua1o% 0ua$ lumpur;dam#sa3kua$ muda;ng;k#gk& teberau,$rkin $ma;ndonesia central,sk#d&(teri;ra","Singapore"],"Srednekolymsk":["true¦!2;chokurdakh,msk+\\a\\i,ru5s0;akha 2re0;dnekolymsk0t;! standard;(e)0e0; north kuril is;!ssia0;! 1n0;! federation;time z0z0;one \\b\\a","Srednekolymsk"],"Taipei":["true¦banqiao,cst,fengsh9h8k6new taipei,roc,t0;a1w0;!n;i0oyu6;ch3n5pei1wan0;!ese;! standard;aohsi0eel0;ung;sinchu,ualien;an","Taipei"],"Tashkent":["true¦andij2namangan,qo1uzb0yunusobod;!ekistan east; q0q0;on","Uzbekistan"],"Tbilisi":["true¦ge0kutaisi;!o0t;!rgia0;! standard,n","Georgia"],"Tehran":["true¦:!1:#$%&():ba,ri,hs,ma,na,ra;dWhSirUjaQkaOlLmKnAr5s4t3yw04z0;a1ir0;#t,hP;$6vha;dW%ar,sW;ab# )dnIdF;a2eyalWha%0i,u#%yen; inyemXdaza,&0;lse,rrW;irha0vezbL;%;a1i0$;&)v,vzD;d4grog,h2iMj1kub,mI$0;! fo cilbuper ci&l2;n3$s;af0sB;si;a1eh0;az;#,&h;oq;i#d),o0;b0&;ab;hcr0);aq;d(n3r0;ak;a%(m2c(rb dagarsap,e0;v0yimuro;as;rek;a4(j$b,r0zay;ad(ts 1ejur0unj0;ob;(0;$;#1h%0;am;faj1&rr0)z1;ohk;an","Iran"],"Thimphu":["true¦b0;hutan1t0;!n;! standard","Bhutan"],"Tokyo":["true¦:!1:#$%&()*+-./<=>:ihs,ih,us,am,hc,at,ot,ok,im,ag,as,uk,uf,ak;0:1L;1:1R;a0Ddradn)s 0Be04iJnHo9pj,t8u2;f5hsuyk)ik,k4st2z&un;&a2eoj,o;k),mah;ajner-0ujn1G;ig,o2;(,k;dj,sj;ay,bes/,du8(noh,jna,m#oega,n6r5t2;anG-,o2;k,m2yk;&Vu5;#Uopp/;a2oy;g1k1;st&;a2pj;knir-an8pV;aLg%ta,hEjCk4m2romoa;a2uzi;nig%,ti;a2esonom0Z#arL%t0S;rabi,s4wi,za2;ko,y2;-;a2or$;g2k),w0;a2$c;ma,n;em$,oEu2;!f;c6s2; 4a2;b2h0Tka;)i,e&;ar1i<=,oyk* 09=ig;a2i>0H+,u5;da,mnoh o(aw.+0t$;dnGg8k/,m+&*;b6hon4mur3o2r3se8tad+5w.ode;gaw0;<;$c2;ah;>2+;%0;nap2;aj;b0Kd0Hh1kYmLrItCw7y2;.4-on2og1;$2%tu;ci,sU;)2#O;es;a2#0;ga4k$3sij=,z2;an0or+*;/a,ci;nYyen;a5i3o2;!y*;k2o,%;!a;g2kP;&ay,iH;a2<D;hi2wado;a,(i,m.B;a5#2;o3<2;*,=;g0rQt;h7ti6y2;>4ir3*,u2;kJstS;+;aw,o;/; ay-on2oB;#2;in;aE#%t0o9u2;s5z2;ar2%;>2;);o3t2;arA;koy;.1irom,s,u2;k3z2;#;=;>;n4so2;!#.2;$;oy2;*;an;aw#3$c2;&;ik;i2<%t;(","Japan"],"Tomsk":["true¦!2;msk+\\a\\e,omst,ru0tomsk;!ssia0;!n0;! federation","Tomsk"],"Ulaanbaatar":["true¦mng,ulan bator","Ulaanbaatar"],"Ust-Nera":["true¦oymyakonsky","Vladivostok"],"Vladivostok":["true¦!2;amur river,k0msk+\\e;habarovsk0omsomolsk on amur;! vtoroy","Vladivostok"],"Yakutsk":["true¦blagoveshchensk,lena river","Yakutsk"],"Yangon":["true¦b5hlaingthaya,k4m0nay pyi taw,pathein,sittwe;a2eiktila,m1onywa,yanmar0;! standard;!r,t;ndalay,wlamyine;alemyo,yain seikgyi township;ago,urm0;a,ese","Myanmar"],"Yekaterinburg":["true¦!2;!1:#$%:urg,ateri,sk;chelyabinCek$BkAm9nizhn8or7perm,ru4s3tyumen,u2yek0zlatoust;$nb#0t;! standard;fa,rals;terlitamak,#ut;!ssia0;!n0;! federation;e3%;evartov3y tagil;agnitogor2%+\\a\\c;amen% ural%iy,#an;nb#;%","Yekaterinburg"],"Yerevan":["true¦a0caucasus;m2rm0;!enia0;! standard,n;!t","Armenia"]},"Atlantic":{"Azores":["true¦azo2hmt,p0;ortug0t;al,uese;res0st,t;! s0;tandard,ummer","Azores","eu0"],"Bermuda":["true¦b0;ermuda,m0;!u","Atlantic","usa"],"Canary":["true¦canary islands,es,las palmas de gran canaria,s0;anta cruz de tenerife,pa0;in,nish","Western European","eu1"],"Cape_Verde":["true¦c0;a1pv,v0;!t;bo verde1pe verde0;! standard;! is","Cape Verde"],"Faroe":["true¦f0;aroe islands,o,ro","Western European","eu1"],"Madeira":["true¦madeira islands,p0;ortug0t;al,uese","Western European","eu1"],"Reykjavik":["true¦i0utc,zulu;celand1s0;!l;!ic","Greenwich"],"South_Georgia":["true¦gs3s0;gs,outh 0;georgia0sandwich;! standard;!t","South Georgia"],"Stanley":["true¦f0;alkland1k0lk;!st,t;! island0;!s0;! standard","Falkland Islands"]},"Australia":{"Adelaide":["true¦act,south australia","Central Australia","aus"],"Brisbane":["true¦australian east1gold0logan,queensland,sunshine0townsville; coast;!ern","Brisbane"],"Broken_Hill":["true¦yancowinna","Central Australia","aus"],"Darwin":["true¦a0northern territory;cst,u0;!s0;! central,tralia0;!n0;! central0;! standard","Australian Central"],"Eucla":["true¦!1:#: central w;a0cw7;cw7u0;!s0;!#3tralia0;!n0;!#estern0;! standard;!e0;st;dt,st,t","Australian Central Western"],"Hobart":["true¦canberra,king island,tasmania","Eastern Australia","aus"],"Lindeman":["true¦whitsunday islands","Brisbane"],"Lord_Howe":["true¦au4l0;h2ord howe0;! 0;daylight,island,standard;dt,st,t;!s0;!tralia0;!n","Lord Howe","lhow"],"Melbourne":["true¦canberra,geelong","Eastern Australia","aus"],"Perth":["true¦!1:#$:tralia,st;a4w0; 2e$0; 1ern aus#0;! $andard;aus#;u1w0;dt,$,t;!s0;! 3#0;! 2n0;! we$0;!e1;we$e0;rn","Western Australia"],"Sydney":["true¦australian eastern,central coast,new0wollongong; south wales,castle","Eastern Australia","aus"]},"Etc":{"GMT":["true¦etc","Greenwich"],"UTC":["true¦:ct1lasrevinu0tcu,uluz;! detanidrooc;e,u","UTC"]},"Europe":{"Berlin":["true¦bGdCessHfrankfurt am main,gAha7j6koln,leipzig,m3nurembeFs1w0;andsbek,uppertal;j,tuttgart,valbard0;! j3;a1un0;ich,st3;lmo,nnheim;an mayA;mburg1nnov0;er;! nord;erman0othen3;!y;e,ortmund,resd4u0;is0sseldorf;bu0;rg;ielefeld,o1rem0;en;chum,nn","Central European","eu2"],"Simferopol":["true¦!2;:\\a\\a+ksm,a1e0iarasyhchkab,lopotsaves,nai0ticsemqa;niarku;emirc,tlay,u","Moscow"],"Amsterdam":["true¦a4dutch,eindhov3groning3n1rotterdam,t0utrecht;he hague,ilburg;etherlands,l0;!d;en;lmere stad,mt","Central European","eu2"],"Andorra":["true¦a0;d,nd0;!orra","Central European","eu2"],"Astrakhan":["true¦!2;astrakhan,msk+\\a\\b,ru0;!ssia0;!n0;! federation","Astrakhan"],"Athens":["true¦gr0thessaloniki;!c,ee0;ce,k","Eastern European","eu3"],"Belgrade":["true¦b7croat5hr,m4n1prist9rs,s0;erb4i,love2vn;is,o0;rth macedo0vi sad;nia;e,k,ontenegro;ia0;!n;a,osnia0;! herzegov0;ina","Central European","eu2"],"Brussels":["true¦antwerp4b0charleroi,gent,liege;e0mt;!l0;!gi0;an,um;!en","Central European","eu2"],"Bucharest":["true¦!2;bra5c4gala3iasi,oradea,ploies3ro1sector 0timisoara;\\d,\\g;!mania0u;!n;ti;luj napoca,onstanta,raiova;ila,sov","Eastern European","eu3"],"Budapest":["true¦buda,debrecen,hu0pest;!n0;!gar0;ian,y","Central European","eu2"],"Busingen":["true¦bavaria,de1german0saxony;!y;!u","Central European","eu2"],"Chisinau":["true¦:a0dm;dm,vodlom0;! fo cilbuper","Eastern European","eu2"],"Copenhagen":["true¦arhus,cmt,d0;anish,enmark,k,nk","Central European","eu2"],"Dublin":["true¦ace,cork,dmt,e5g4i0limerick,tse,waterfo3;e,r0st;eland,ish0l;! standa0;rd;alway,mt,reenwich mean;dinburgh,ire","Irish","eu1"],"Gibraltar":["true¦b2gi0;!b0;!raltar;dst,st","Central European","eu2"],"Helsinki":["true¦a3espoo,fi1t0vantaa;ampere,urku;!n0;!land,nish;land islands,x","Eastern European","eu3"],"Istanbul":["true¦:!1:#$%&:na,ra,ru,ne;a04d$d#ts yek03eZgXhWiQkOmurNnJpet#izag,r7s5t3u2y0;a$ska,e0;k01oktuvan$;lroc,n%bnityez,zudkilyeb;im5&kitIr0;t,uy&9;a0us$t;$m#marhak,vN;a7e4i0t,ut,ık2;hes2k1m0sekilD;zi;ab$yid;ata,ik2kasA;fulin,l0;&0veilech8;se;d2l0;gabarWi0ı0;cg4;eukseu,uksu;a0isBozbart,usmW;m0v;ayiQt0;ab;oc,uzre;a0erev5;nok,su;d&fezek4l1r0zag2;azapaKesyL;s1yeb0zi&d;#tlus;is;rem;itaf,sik6;i0ı0;zale;cemkeckuc8lakkirik,pet2yi0zbeg;k2#0;mso,rmu;kacnDl7;%t;f%9kayısr8#7$k6s4vonrob,y0;ak#c,hat2k1l1n0tal4;ala,ok;at3;uk;apta%m,in0%b;am;#;da;ak;i0ı0;ln0;as","Turkey"],"Kaliningrad":["true¦!2;baltiy3chernyakhov3msk-\\a\\b,ru0sovet3;!ssia0;!n0;! federation;sk","Eastern European Standard"],"Kyiv":["true¦bila tserkQcherNdHhorliGivano frankivIkClBm8odes7p6rivne,s4ternopil,u1vinLz0;aporizhzhLhytomyr;a,kr0;!ain0;e,ian;altiv0umy;ka,sE;oltaJravyi bereh;a,sa;a0ykolayG;ki0riupol;i5yi5;ut6vD;amyanske,h1iev,r0;emenchuk,opyv1yvyy rih;arkAerson,mel0;nytskyy;vka;ar3esna,nipro1onet0;sk;!vs0;kyi;nyts0;ya;kasy,ni0;h0vtsi;iv;va","Eastern European","eu3"],"Kirov":["true¦!2;msk+\\a\\a,ru0;!ssia0;!n0;! federation","Moscow"],"Lisbon":["true¦amadora,europe western,p0west europe;ort0rt,t;o,ug0;al0uese;! mainland","Western European","eu1"],"London":["true¦!1:#$%&()*+:ing,er,on ,st,an,re,en,ha;0:0P;a0Ob06c04d01eZgWhUiQj$sey,k#&%up%hull,lMmKnDoxVpB)ad#,s3tri&( da cun+,u2w1yH;arwick06igRolv$+9)x0K;k,nited k#dom;aint hel*a,heffield,o4t3u2w1;(5ind0;ffolk,nd$l(d,r)y,sVtt0;afPoke %t)nt;meVuth1;a2*d %1;sea;mpt0;ly1orts1)&0;mouth;ew5o1;r1tt#+mP;th1wE; y1amptonN;orkQ;ca&le1port;! up%tyne;(che&Ui1;dl(4lt%keynes;(caLdn,e2i1ut0;ncolnKv$V;e1ice&$F;ds;psw3sl1;e of m1#t0;(;ich;ampD$t1;fordC;b2l1mt,)at britaJu$nsR;asgow,ouce&$A;! eA;dinburgh,s1;sex;$by2o1udlM;rset;!sh5;a1ov*try,rawlJ;mbridge2rdiff;eGirElackCr3&,uck#+m1;sh1;i);adfo8e7i1;&9t1;a4ish1;! s1;t(da4umm1;$;in;nt;rd;po1;ol;k*head,m#1;+m;lfa&,xl1;ey;b$de*,rchway,sc*si0;on","British","eu1"],"Luxembourg":["true¦lu0;!x0;!embourg","Central European","eu2"],"Madrid":["true¦:!1:#$%&(): ed ,al,na,ra,et,ne;aCciujtnom sAd8e7hsin9it&m Al6n4o2pse,red%As0tmew;acellav#()up,e0ogrub;!lotsom,%gel,&)h#$acI;ablib,d0giv;eivo,&p le lar&cK;aitsabes n6iaps0ojig;! aic)G;aenil daduic,ehc%bar9ledab4;c%mor,hcle,lpmaxie,t%ciCuqs7;ilod$Dn$niam ni0;aps;tn0;as;daAg$am,i5llives,ml4n0r(norf $#zerej,ssarr(,zoga&z;$p $#oll(s2it$,ol0uroc a;ad0ecr0pm2;ab;ac;ap;c2r0;em0otiv/zi(sag;la;)0rum;lav;%rg,rb$0;)uf","Central European","eu2"],"Malta":["true¦m0;alt0lt,t;a,ese","Central European","eu2"],"Minsk":["true¦b1h0mahilyow,viteb3;omyel,rodna;abruy1elarus0lr,rest,y;!ian;sk","Moscow"],"Monaco":["true¦m0;c0onaco;!o","Central European","eu2"],"Moscow":["true¦!2;:!1:#$%&()*-.:or,so,ks,ak,ra,on,hz,hc,hk;\\a\\a+%m,a06d02gZ*en#ov,iYkPlLnGoDr8s6t5u4vo3y0z&v&A;i1%ieg(vgBnle- eyyn*erebW(skob6t.ahs,yn0;rRz#g;%nini08nlartnec;bmX%p,rt$ y%velysav;nod anDr,s w;ef,sdm;tevoper0ur;e-;a2evt,i0;m0vamM;idalv;d0kvytkys;)sark;ni1v0;enes7)avi;belu* )i.yv,rT;a2o0;d no0itaredef naiS; vots#;iQza0;k,yr;ero,o1vals#0;ay;k$ yyr0p#v0;ats;i-l7s0;dovaz#tGl4m&enEn0ruk,tepil,yiss#ov);a2eloms,i0;byr,*rezd,vd#0;eves;mrum,(s,yrb;egna.0odop;(;an;-os,kmi.;#nag1rubsretep ts0;! B;at;arg)elez,#og0;leb,v) yi0;kilev,n0;*in;dgol6e( 5gu4i3l1m#t$k,zn0;ep;&-a.0o r&h$y,ut;am;ssur;l&;woc$m;ov","Moscow"],"Oslo":["true¦bergen,no1sj0;!m;!rw0;ay,egian","Central European","eu2"],"Paris":["true¦:aBe4gruobsarts,hcneBnoyl,r3s0tem,xuaedrob,ydnamron;e0mi1;nn0tnan;er;eilleptnom,f;c4ellav al en3lli2nneite t1rvah el,s0;iotnop ygrec,uoluot;nias,s;es0l;ram;in,na0;mor,rf;rf","Central European","eu2"],"Prague":["true¦brno,cz1ostrava,pmt,s0;k,lovakia,vk;!ech0;! republic,ia","Central European","eu2"],"Riga":["true¦kalt,l0;atvia1st,v0;!a;!n","Eastern European","eu3"],"Rome":["true¦:aBe9irab,n5o3selpan,t2y0;l0nacs5;a6icis;av,i,mr;mrel9t0;arp,narat;a1ir0;ut;citav,ila0lim;ti;cn0tseirt;amor,erolf;cisroc,i3n2oneg,v0;!od0;ap;golob,issem,orev;cserb,natac","Central European","eu2"],"Samara":["true¦!2;russia 2s1to0;gliatti on the volga,lyatti;amaraudmurtia,yzran;time z0z0;one \\d","Samara"],"Saratov":["true¦balakovo","Samara"],"Sofia":["true¦b0imt,plovdiv,varna;g2u0;lgaria0rgas;!n;!r","Eastern European","eu3"],"Stockholm":["true¦goeteborg,malmoe,s0;e2we0;!d0;en,ish;!t","Central European","eu2"],"Tallinn":["true¦e0narva,tartu,viljandi;e,stonia0;!n","Eastern European","eu3"],"Tirane":["true¦al0tirana;!b0;!ania0;!n","Central European","eu2"],"Ulyanovsk":["true¦!2;msk+\\a\\b,ru0ulyanovsk;!ssia0;!n0;! federation","Ulyanovsk"],"Uzhgorod":["true¦ruthenia,u0;a,krain0;e,ian","Eastern European","eu3"],"Vienna":["true¦a0donaustadt,favoriten,graz,linz;t,u0;stria0t;!n","Central European","eu2"],"Vilnius":["true¦k3l0;ithuania1t0;!u;!n;aunas,laipeda","Eastern European","eu3"],"Volgograd":["true¦!2;msk+\\a\\a,ru2st petersburg,vol0;t,zhsk0;iy,y;!ssia0;!n0;! federation","Moscow"],"Warsaw":["true¦:aGceiwonsos,dnalFeChsilFkBlAmo8n6w2z0;czsogd8do0;l,ł;a1o0;kark,tokom;l0ł0;corw;anz8i0urot;cezczs,lbul;dar,t0;yb;op,p;otsyla5sna6;c0indulop agarp,zrbaz;iw0leik;ilg,otak;op;iny1laib oksle0wohcotsezc;ib;dg","Central European","eu2"],"Zaporozhye":["true¦luhansk2u0zaporizhia lugansk;a,krain0;e,ian;! east","Eastern European","eu3"],"Zurich":["true¦ch,geneve,li1swi0;ss,tzerland;!e0;!chtenstein","Central European","eu2"]},"Indian":{"Chagos":["true¦british indian ocean territory,i0;ndian 1o0;!t;chagos,ocean0;! standard","Indian Ocean"],"Christmas":["true¦c0;hristmas island1x0;!r,t;! standard","Christmas Island"],"Cocos":["true¦c0;c3ocos 0;island0keeling islands;!s0;! standard;!k,t","Cocos Islands"],"Kerguelen":["true¦!1:#$%:mcdonald,and,tarctic;aBfrench 3h1kerguelenst paulCtf0;!t;eard 0m;$ # is7iA#;southern0t2;! 0;an1t0;erritories;d an%1%0;! st$ard;! 0;l$s;msterdam0tf; i0;sl$","French Southern & Antarctic"],"Mahe":["true¦s0;c1eychelles0yc;! standard;!t","Seychelles"],"Maldives":["true¦m0;aldives1dv,v0;!t;! standard","Maldives"],"Mauritius":["true¦m0port louis;auritius1u0;!s,t;! standard","Mauritius"],"Reunion":["true¦re0;!t,union0;! standard","Réunion"]},"Pacific":{"Apia":["true¦!1:#:samoa;#4w0;est1s0;!m,t; #0ern #;! standard;! western","West Samoa"],"Auckland":["true¦christchurch,manukau,n0wellington;ew zealand1orth shore,z0;!dt,l,mt,st,t;! 0;daylight,standard","New Zealand","nz"],"Bougainville":["true¦bougainville,p0;apua new guinea,g0ng;!t","Bougainville"],"Chatham":["true¦cha2n0;ew zealand,z0;! chat;dt,st,t0;!ham0;! 0;daylight,islands,standard","Chatham","chat"],"Chuuk":["true¦chu2f0m1;ederated states of m0m;icronesia;t,uk0;! standard,/trukyap","Chuuk"],"Easter":["true¦c5e0;as0mt;st,t0;!er island0;! s0;tandard,ummer;hile0l;!an","Easter Island","east"],"Efate":["true¦v0;anuatu1u0;!t;! standard","Vanuatu"],"Fakaofo":["true¦t0;k1okelau0;! standard;!l,t","Tokelau"],"Fiji":["true¦f0;iji1j0;!i,st,t;! standard,an","Fiji"],"Funafuti":["true¦t0;uv1v0;!t;!alu0;! standard","Tuvalu"],"Galapagos":["true¦ec3gal0;apagos0t;! 0;islands,standard;!uador0;!ian","Galapagos"],"Gambier":["true¦!2;coordinated universal time-\\a\\j,french polynesia,gam1p0;f,yf;bier0t;! 0;islands,standard","Gambier"],"Guadalcanal":["true¦s0;b2lb,olomon0;! islands0;! standard;!t","Solomon Islands"],"Guam":["true¦ch4gu3m2northern mariana islands,port moresby,west0; 0ern 0;pacific;np,p;!am;amorro0st;! standard","Chamorro"],"Honolulu":["true¦!1:#$:leutian,merica;a7h3u0;nited states1s0;!a;! of a$;a0st;dt,st,t,waii0;! 0;a#,standard;#1$0;!n;! islands","Hawaii"],"Kanton":["true¦ki2pho0;enix islands0t;! standard;!ribati","Phoenix Islands"],"Kiritimati":["true¦ki2lin0;e islands0t;! standard;!r0;!i0;bati,timati island","Line Islands"],"Kosrae":["true¦f2kos0m3;rae0t;! standard;ederated states of m0m;icronesia","Kosrae"],"Kwajalein":["","Marshall Islands"],"Majuro":["true¦mhl","Marshall Islands"],"Marquesas":["true¦french polynesia,mar1p0;f,yf;quesas0t;! 0;islands,standard","Marquesas"],"Nauru":["true¦n0;auru1r0;!t,u;! standard","Nauru"],"Niue":["true¦n0;iu1u0;!t;!e0;! standard","Niue"],"Norfolk":["true¦n0;f3orfolk0;! island0;! 0;daylight,standard;!dt,k,t","Norfolk Island","aus"],"Noumea":["true¦n0;c1ew caledonia0;! standard;!l,t","New Caledonia"],"Pago_Pago":["true¦a2midway,s0;amoa0st;! standard;merican samoa,s","Samoa"],"Palau":["true¦p0;alau1lw,w0;!t;! standard","Palau"],"Pitcairn":["true¦!2;coordinated universal time3p0utc3;cn,itcairn0n,st;! 0;islands,standard;-\\a\\i","Pitcairn"],"Pohnpei":["true¦f3m4po0;hnpei/ponape,n0;ape0t;! standard;ederated states of m0m;icronesia","Ponape"],"Port_Moresby":["true¦dumont durville,p0;apua new guinea1g0ng;!t;! standard","Papua New Guinea"],"Rarotonga":["true¦c0;k3o0;k,ok0;! islands0;! standard;!t","Cook Islands"],"Tahiti":["true¦french polynesia,p2society islands,tah0;iti0t;! standard;f,yf","Tahiti"],"Tarawa":["true¦gil1ki0;!ribati;bert islands0t;! standard","Gilbert Islands"],"Tongatapu":["true¦nukualofa,to0;!n0t;!ga0;! standard","Tonga"],"Wake":["true¦u2wak0;e island0t;! standard;m3nited states m1s 0;m0o1;inor o0;utlying islands;!i","Wake Island"],"Wallis":["true¦w0;allis 1f0lf;!t;and futuna,futuna0;! standard","Wallis & Futuna"]}};
|
|
266
252
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
253
|
+
const addEtc = function (zones) {
|
|
254
|
+
for (let i = 0; i <= 14; i += 1) {
|
|
255
|
+
zones[`Etc/GMT-${i}`] = {
|
|
256
|
+
offset: i,
|
|
257
|
+
meta: `gmt-${i}`
|
|
258
|
+
};
|
|
259
|
+
if (i <= 12) {
|
|
274
260
|
zones[`Etc/GMT+${i}`] = {
|
|
275
261
|
offset: i * -1,
|
|
276
|
-
meta: `gmt+${i}
|
|
277
|
-
hem: 'n'//sorry
|
|
262
|
+
meta: `gmt+${i}`
|
|
278
263
|
};
|
|
279
264
|
}
|
|
280
|
-
}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
281
267
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
268
|
+
// Generated from data/iana-identifiers.json (IANA tzdata2026d).
|
|
269
|
+
// Rows contain a canonical basename followed by aliases; /aliases share its directory.
|
|
270
|
+
const directories = {
|
|
271
|
+
"Africa": [
|
|
272
|
+
"Abidjan /Accra /Bamako /Banjul /Conakry /Dakar /Freetown /Lome /Nouakchott /Ouagadougou /Timbuktu Atlantic/Reykjavik Atlantic/St_Helena Iceland",
|
|
273
|
+
"Algiers",
|
|
274
|
+
"Bissau",
|
|
275
|
+
"Cairo Egypt",
|
|
276
|
+
"Casablanca",
|
|
277
|
+
"Ceuta",
|
|
278
|
+
"El_Aaiun",
|
|
279
|
+
"Johannesburg /Maseru /Mbabane",
|
|
280
|
+
"Juba",
|
|
281
|
+
"Khartoum",
|
|
282
|
+
"Lagos /Bangui /Brazzaville /Douala /Kinshasa /Libreville /Luanda /Malabo /Niamey /Porto-Novo",
|
|
283
|
+
"Maputo /Blantyre /Bujumbura /Gaborone /Harare /Kigali /Lubumbashi /Lusaka",
|
|
284
|
+
"Monrovia",
|
|
285
|
+
"Nairobi /Addis_Ababa /Asmara /Asmera /Dar_es_Salaam /Djibouti /Kampala /Mogadishu Indian/Antananarivo Indian/Comoro Indian/Mayotte",
|
|
286
|
+
"Ndjamena",
|
|
287
|
+
"Sao_Tome",
|
|
288
|
+
"Tripoli Libya",
|
|
289
|
+
"Tunis",
|
|
290
|
+
"Windhoek"
|
|
291
|
+
],
|
|
292
|
+
"America": [
|
|
293
|
+
"Adak /Atka US/Aleutian",
|
|
294
|
+
"Anchorage US/Alaska",
|
|
295
|
+
"Araguaina",
|
|
296
|
+
"Asuncion",
|
|
297
|
+
"Bahia",
|
|
298
|
+
"Bahia_Banderas",
|
|
299
|
+
"Barbados",
|
|
300
|
+
"Belem",
|
|
301
|
+
"Belize",
|
|
302
|
+
"Boa_Vista",
|
|
303
|
+
"Bogota",
|
|
304
|
+
"Boise",
|
|
305
|
+
"Cambridge_Bay",
|
|
306
|
+
"Campo_Grande",
|
|
307
|
+
"Cancun",
|
|
308
|
+
"Caracas",
|
|
309
|
+
"Cayenne",
|
|
310
|
+
"Chicago US/Central",
|
|
311
|
+
"Chihuahua",
|
|
312
|
+
"Ciudad_Juarez",
|
|
313
|
+
"Costa_Rica",
|
|
314
|
+
"Coyhaique",
|
|
315
|
+
"Cuiaba",
|
|
316
|
+
"Danmarkshavn",
|
|
317
|
+
"Dawson",
|
|
318
|
+
"Dawson_Creek",
|
|
319
|
+
"Denver /Shiprock Navajo US/Mountain",
|
|
320
|
+
"Detroit US/Michigan",
|
|
321
|
+
"Edmonton /Yellowknife Canada/Mountain",
|
|
322
|
+
"Eirunepe",
|
|
323
|
+
"El_Salvador",
|
|
324
|
+
"Fort_Nelson",
|
|
325
|
+
"Fortaleza",
|
|
326
|
+
"Glace_Bay",
|
|
327
|
+
"Goose_Bay",
|
|
328
|
+
"Grand_Turk",
|
|
329
|
+
"Guatemala",
|
|
330
|
+
"Guayaquil",
|
|
331
|
+
"Guyana",
|
|
332
|
+
"Halifax Canada/Atlantic",
|
|
333
|
+
"Havana Cuba",
|
|
334
|
+
"Hermosillo",
|
|
335
|
+
"Inuvik",
|
|
336
|
+
"Iqaluit /Pangnirtung",
|
|
337
|
+
"Jamaica Jamaica",
|
|
338
|
+
"Juneau",
|
|
339
|
+
"La_Paz",
|
|
340
|
+
"Lima",
|
|
341
|
+
"Los_Angeles US/Pacific",
|
|
342
|
+
"Maceio",
|
|
343
|
+
"Managua",
|
|
344
|
+
"Manaus Brazil/West",
|
|
345
|
+
"Martinique",
|
|
346
|
+
"Matamoros",
|
|
347
|
+
"Mazatlan Mexico/BajaSur",
|
|
348
|
+
"Menominee",
|
|
349
|
+
"Merida",
|
|
350
|
+
"Metlakatla",
|
|
351
|
+
"Mexico_City Mexico/General",
|
|
352
|
+
"Miquelon",
|
|
353
|
+
"Moncton",
|
|
354
|
+
"Monterrey",
|
|
355
|
+
"Montevideo",
|
|
356
|
+
"New_York US/Eastern",
|
|
357
|
+
"Nome",
|
|
358
|
+
"Noronha Brazil/DeNoronha",
|
|
359
|
+
"Nuuk /Godthab",
|
|
360
|
+
"Ojinaga",
|
|
361
|
+
"Panama /Atikokan /Cayman /Coral_Harbour EST",
|
|
362
|
+
"Paramaribo",
|
|
363
|
+
"Phoenix /Creston MST US/Arizona",
|
|
364
|
+
"Port-au-Prince",
|
|
365
|
+
"Porto_Velho",
|
|
366
|
+
"Puerto_Rico /Anguilla /Antigua /Aruba /Blanc-Sablon /Curacao /Dominica /Grenada /Guadeloupe /Kralendijk /Lower_Princes /Marigot /Montserrat /Port_of_Spain /St_Barthelemy /St_Kitts /St_Lucia /St_Thomas /St_Vincent /Tortola /Virgin",
|
|
367
|
+
"Punta_Arenas",
|
|
368
|
+
"Rankin_Inlet",
|
|
369
|
+
"Recife",
|
|
370
|
+
"Regina Canada/Saskatchewan",
|
|
371
|
+
"Resolute",
|
|
372
|
+
"Rio_Branco /Porto_Acre Brazil/Acre",
|
|
373
|
+
"Santarem",
|
|
374
|
+
"Santiago Chile/Continental",
|
|
375
|
+
"Santo_Domingo",
|
|
376
|
+
"Sao_Paulo Brazil/East",
|
|
377
|
+
"Scoresbysund",
|
|
378
|
+
"Sitka",
|
|
379
|
+
"St_Johns Canada/Newfoundland",
|
|
380
|
+
"Swift_Current",
|
|
381
|
+
"Tegucigalpa",
|
|
382
|
+
"Thule",
|
|
383
|
+
"Tijuana /Ensenada /Santa_Isabel Mexico/BajaNorte",
|
|
384
|
+
"Toronto /Montreal /Nassau /Nipigon /Thunder_Bay Canada/Eastern",
|
|
385
|
+
"Vancouver Canada/Pacific",
|
|
386
|
+
"Whitehorse Canada/Yukon",
|
|
387
|
+
"Winnipeg /Rainy_River Canada/Central",
|
|
388
|
+
"Yakutat"
|
|
389
|
+
],
|
|
390
|
+
"America/Argentina": [
|
|
391
|
+
"Buenos_Aires America/Buenos_Aires",
|
|
392
|
+
"Catamarca /ComodRivadavia America/Catamarca",
|
|
393
|
+
"Cordoba America/Cordoba America/Rosario",
|
|
394
|
+
"Jujuy America/Jujuy",
|
|
395
|
+
"La_Rioja",
|
|
396
|
+
"Mendoza America/Mendoza",
|
|
397
|
+
"Rio_Gallegos",
|
|
398
|
+
"Salta",
|
|
399
|
+
"San_Juan",
|
|
400
|
+
"San_Luis",
|
|
401
|
+
"Tucuman",
|
|
402
|
+
"Ushuaia"
|
|
403
|
+
],
|
|
404
|
+
"America/Indiana": [
|
|
405
|
+
"Indianapolis America/Fort_Wayne America/Indianapolis US/East-Indiana",
|
|
406
|
+
"Knox America/Knox_IN US/Indiana-Starke",
|
|
407
|
+
"Marengo",
|
|
408
|
+
"Petersburg",
|
|
409
|
+
"Tell_City",
|
|
410
|
+
"Vevay",
|
|
411
|
+
"Vincennes",
|
|
412
|
+
"Winamac"
|
|
413
|
+
],
|
|
414
|
+
"America/Kentucky": [
|
|
415
|
+
"Louisville America/Louisville",
|
|
416
|
+
"Monticello"
|
|
417
|
+
],
|
|
418
|
+
"America/North_Dakota": [
|
|
419
|
+
"Beulah",
|
|
420
|
+
"Center",
|
|
421
|
+
"New_Salem"
|
|
422
|
+
],
|
|
423
|
+
"Antarctica": [
|
|
424
|
+
"Casey",
|
|
425
|
+
"Davis",
|
|
426
|
+
"Macquarie",
|
|
427
|
+
"Mawson",
|
|
428
|
+
"Palmer",
|
|
429
|
+
"Rothera",
|
|
430
|
+
"Troll",
|
|
431
|
+
"Vostok"
|
|
432
|
+
],
|
|
433
|
+
"Asia": [
|
|
434
|
+
"Almaty",
|
|
435
|
+
"Amman",
|
|
436
|
+
"Anadyr",
|
|
437
|
+
"Aqtau",
|
|
438
|
+
"Aqtobe",
|
|
439
|
+
"Ashgabat /Ashkhabad",
|
|
440
|
+
"Atyrau",
|
|
441
|
+
"Baghdad",
|
|
442
|
+
"Baku",
|
|
443
|
+
"Bangkok /Phnom_Penh /Vientiane Indian/Christmas",
|
|
444
|
+
"Barnaul",
|
|
445
|
+
"Beirut",
|
|
446
|
+
"Bishkek",
|
|
447
|
+
"Chita",
|
|
448
|
+
"Colombo",
|
|
449
|
+
"Damascus",
|
|
450
|
+
"Dhaka /Dacca",
|
|
451
|
+
"Dili",
|
|
452
|
+
"Dubai /Muscat Indian/Mahe Indian/Reunion",
|
|
453
|
+
"Dushanbe",
|
|
454
|
+
"Famagusta",
|
|
455
|
+
"Gaza",
|
|
456
|
+
"Hebron",
|
|
457
|
+
"Ho_Chi_Minh /Saigon",
|
|
458
|
+
"Hong_Kong Hongkong",
|
|
459
|
+
"Hovd",
|
|
460
|
+
"Irkutsk",
|
|
461
|
+
"Jakarta",
|
|
462
|
+
"Jayapura",
|
|
463
|
+
"Jerusalem /Tel_Aviv Israel",
|
|
464
|
+
"Kabul",
|
|
465
|
+
"Kamchatka",
|
|
466
|
+
"Karachi",
|
|
467
|
+
"Kathmandu /Katmandu",
|
|
468
|
+
"Khandyga",
|
|
469
|
+
"Kolkata /Calcutta",
|
|
470
|
+
"Krasnoyarsk",
|
|
471
|
+
"Kuching /Brunei",
|
|
472
|
+
"Macau /Macao",
|
|
473
|
+
"Magadan",
|
|
474
|
+
"Makassar /Ujung_Pandang",
|
|
475
|
+
"Manila",
|
|
476
|
+
"Nicosia Europe/Nicosia",
|
|
477
|
+
"Novokuznetsk",
|
|
478
|
+
"Novosibirsk",
|
|
479
|
+
"Omsk",
|
|
480
|
+
"Oral",
|
|
481
|
+
"Pontianak",
|
|
482
|
+
"Pyongyang",
|
|
483
|
+
"Qatar /Bahrain",
|
|
484
|
+
"Qostanay",
|
|
485
|
+
"Qyzylorda",
|
|
486
|
+
"Riyadh Antarctica/Syowa /Aden /Kuwait",
|
|
487
|
+
"Sakhalin",
|
|
488
|
+
"Samarkand",
|
|
489
|
+
"Seoul ROK",
|
|
490
|
+
"Shanghai /Chongqing /Chungking /Harbin PRC",
|
|
491
|
+
"Singapore /Kuala_Lumpur Singapore",
|
|
492
|
+
"Srednekolymsk",
|
|
493
|
+
"Taipei ROC",
|
|
494
|
+
"Tashkent",
|
|
495
|
+
"Tbilisi",
|
|
496
|
+
"Tehran Iran",
|
|
497
|
+
"Thimphu /Thimbu",
|
|
498
|
+
"Tokyo Japan",
|
|
499
|
+
"Tomsk",
|
|
500
|
+
"Ulaanbaatar /Choibalsan /Ulan_Bator",
|
|
501
|
+
"Urumqi /Kashgar",
|
|
502
|
+
"Ust-Nera",
|
|
503
|
+
"Vladivostok",
|
|
504
|
+
"Yakutsk",
|
|
505
|
+
"Yangon /Rangoon Indian/Cocos",
|
|
506
|
+
"Yekaterinburg",
|
|
507
|
+
"Yerevan"
|
|
508
|
+
],
|
|
509
|
+
"Atlantic": [
|
|
510
|
+
"Azores",
|
|
511
|
+
"Bermuda",
|
|
512
|
+
"Canary",
|
|
513
|
+
"Cape_Verde",
|
|
514
|
+
"Faroe /Faeroe",
|
|
515
|
+
"Madeira",
|
|
516
|
+
"South_Georgia",
|
|
517
|
+
"Stanley"
|
|
518
|
+
],
|
|
519
|
+
"Australia": [
|
|
520
|
+
"Adelaide /South",
|
|
521
|
+
"Brisbane /Queensland",
|
|
522
|
+
"Broken_Hill /Yancowinna",
|
|
523
|
+
"Darwin /North",
|
|
524
|
+
"Eucla",
|
|
525
|
+
"Hobart /Currie /Tasmania",
|
|
526
|
+
"Lindeman",
|
|
527
|
+
"Lord_Howe /LHI",
|
|
528
|
+
"Melbourne /Victoria",
|
|
529
|
+
"Perth /West",
|
|
530
|
+
"Sydney /ACT /Canberra /NSW"
|
|
531
|
+
],
|
|
532
|
+
"": [
|
|
533
|
+
"CST6CDT",
|
|
534
|
+
"EST5EDT",
|
|
535
|
+
"MST7MDT",
|
|
536
|
+
"PST8PDT"
|
|
537
|
+
],
|
|
538
|
+
"Etc": [
|
|
539
|
+
"GMT /GMT+0 /GMT-0 /GMT0 /Greenwich GMT GMT+0 GMT-0 GMT0 Greenwich",
|
|
540
|
+
"GMT+1",
|
|
541
|
+
"GMT+10",
|
|
542
|
+
"GMT+11",
|
|
543
|
+
"GMT+12",
|
|
544
|
+
"GMT+2",
|
|
545
|
+
"GMT+3",
|
|
546
|
+
"GMT+4",
|
|
547
|
+
"GMT+5",
|
|
548
|
+
"GMT+6",
|
|
549
|
+
"GMT+7",
|
|
550
|
+
"GMT+8",
|
|
551
|
+
"GMT+9",
|
|
552
|
+
"GMT-1",
|
|
553
|
+
"GMT-10",
|
|
554
|
+
"GMT-11",
|
|
555
|
+
"GMT-12",
|
|
556
|
+
"GMT-13",
|
|
557
|
+
"GMT-14",
|
|
558
|
+
"GMT-2",
|
|
559
|
+
"GMT-3",
|
|
560
|
+
"GMT-4",
|
|
561
|
+
"GMT-5",
|
|
562
|
+
"GMT-6",
|
|
563
|
+
"GMT-7",
|
|
564
|
+
"GMT-8",
|
|
565
|
+
"GMT-9",
|
|
566
|
+
"UTC /UCT /Universal /Zulu UCT UTC Universal Zulu"
|
|
567
|
+
],
|
|
568
|
+
"Europe": [
|
|
569
|
+
"Andorra",
|
|
570
|
+
"Astrakhan",
|
|
571
|
+
"Athens EET",
|
|
572
|
+
"Belgrade /Ljubljana /Podgorica /Sarajevo /Skopje /Zagreb",
|
|
573
|
+
"Berlin Arctic/Longyearbyen Atlantic/Jan_Mayen /Copenhagen /Oslo /Stockholm",
|
|
574
|
+
"Brussels CET /Amsterdam /Luxembourg MET",
|
|
575
|
+
"Bucharest",
|
|
576
|
+
"Budapest",
|
|
577
|
+
"Chisinau /Tiraspol",
|
|
578
|
+
"Dublin Eire",
|
|
579
|
+
"Gibraltar",
|
|
580
|
+
"Helsinki /Mariehamn",
|
|
581
|
+
"Istanbul Asia/Istanbul Turkey",
|
|
582
|
+
"Kaliningrad",
|
|
583
|
+
"Kirov",
|
|
584
|
+
"Kyiv /Kiev /Uzhgorod /Zaporozhye",
|
|
585
|
+
"Lisbon Portugal WET",
|
|
586
|
+
"London /Belfast /Guernsey /Isle_of_Man /Jersey GB GB-Eire",
|
|
587
|
+
"Madrid",
|
|
588
|
+
"Malta",
|
|
589
|
+
"Minsk",
|
|
590
|
+
"Moscow W-SU",
|
|
591
|
+
"Paris /Monaco",
|
|
592
|
+
"Prague /Bratislava",
|
|
593
|
+
"Riga",
|
|
594
|
+
"Rome /San_Marino /Vatican",
|
|
595
|
+
"Samara",
|
|
596
|
+
"Saratov",
|
|
597
|
+
"Simferopol",
|
|
598
|
+
"Sofia",
|
|
599
|
+
"Tallinn",
|
|
600
|
+
"Tirane",
|
|
601
|
+
"Ulyanovsk",
|
|
602
|
+
"Vienna",
|
|
603
|
+
"Vilnius",
|
|
604
|
+
"Volgograd",
|
|
605
|
+
"Warsaw Poland",
|
|
606
|
+
"Zurich /Busingen /Vaduz"
|
|
607
|
+
],
|
|
608
|
+
"Indian": [
|
|
609
|
+
"Chagos",
|
|
610
|
+
"Maldives /Kerguelen",
|
|
611
|
+
"Mauritius"
|
|
612
|
+
],
|
|
613
|
+
"Pacific": [
|
|
614
|
+
"Apia",
|
|
615
|
+
"Auckland Antarctica/McMurdo Antarctica/South_Pole NZ",
|
|
616
|
+
"Bougainville",
|
|
617
|
+
"Chatham NZ-CHAT",
|
|
618
|
+
"Easter Chile/EasterIsland",
|
|
619
|
+
"Efate",
|
|
620
|
+
"Fakaofo",
|
|
621
|
+
"Fiji",
|
|
622
|
+
"Galapagos",
|
|
623
|
+
"Gambier",
|
|
624
|
+
"Guadalcanal /Pohnpei /Ponape",
|
|
625
|
+
"Guam /Saipan",
|
|
626
|
+
"Honolulu HST /Johnston US/Hawaii",
|
|
627
|
+
"Kanton /Enderbury",
|
|
628
|
+
"Kiritimati",
|
|
629
|
+
"Kosrae",
|
|
630
|
+
"Kwajalein Kwajalein",
|
|
631
|
+
"Marquesas",
|
|
632
|
+
"Nauru",
|
|
633
|
+
"Niue",
|
|
634
|
+
"Norfolk",
|
|
635
|
+
"Noumea",
|
|
636
|
+
"Pago_Pago /Midway /Samoa US/Samoa",
|
|
637
|
+
"Palau",
|
|
638
|
+
"Pitcairn",
|
|
639
|
+
"Port_Moresby Antarctica/DumontDUrville /Chuuk /Truk /Yap",
|
|
640
|
+
"Rarotonga",
|
|
641
|
+
"Tahiti",
|
|
642
|
+
"Tarawa /Funafuti /Majuro /Wake /Wallis",
|
|
643
|
+
"Tongatapu"
|
|
644
|
+
]
|
|
645
|
+
};
|
|
646
|
+
const identifiers = {};
|
|
647
|
+
for (const [directory, rows] of Object.entries(directories)) {
|
|
648
|
+
for (const row of rows) {
|
|
649
|
+
const [name, ...aliases] = row.split(' ');
|
|
650
|
+
const target = directory ? directory + '/' + name : name;
|
|
651
|
+
identifiers[target] = target;
|
|
652
|
+
for (const alias of aliases) {
|
|
653
|
+
identifiers[alias.startsWith('/') ? directory + alias : alias] = target;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
const normalizeCase = (input) => input.trim().toLowerCase();
|
|
659
|
+
|
|
660
|
+
const normalizeWhitespace = (input) => input.replace(/\s+/g, ' ').trim();
|
|
661
|
+
|
|
662
|
+
const simplifyTimezonePhrase = (input) => {
|
|
663
|
+
let phrase = normalizeWhitespace(normalizeCase(input));
|
|
664
|
+
phrase = phrase.replace(/^in /, ''); // "in Toronto" → "Toronto"
|
|
665
|
+
phrase = phrase.replace(/ time/g, '');
|
|
666
|
+
phrase = phrase.replace(/ (standard|daylight|summer)/g, '');
|
|
667
|
+
phrase = phrase.replace(/ - .*/g, ''); // "Eastern Time - US & Canada"
|
|
668
|
+
phrase = phrase.replace(/\./g, ''); // "St. Petersburg" → "St Petersburg"
|
|
669
|
+
return phrase.trim()
|
|
670
|
+
};
|
|
671
|
+
|
|
672
|
+
const simplifyGeographicWords = (input) =>
|
|
673
|
+
input
|
|
674
|
+
.replace(/\b(east|west|north|south)ern/g, '$1')
|
|
675
|
+
.replace(/\b(africa|america|australia)n/g, '$1')
|
|
676
|
+
.replace(/\beuropean/g, 'europe')
|
|
677
|
+
.replace(/islands/g, 'island')
|
|
678
|
+
.trim();
|
|
679
|
+
|
|
680
|
+
const normalizeApostrophes = input => input.replace(/[‘’ʼ']/g, "'");
|
|
681
|
+
|
|
682
|
+
const removeApostrophes = input => input.replace(/'/g, '');
|
|
683
|
+
|
|
684
|
+
const useIdentifierSpacing = input => input.replace(/ /g, '_');
|
|
685
|
+
|
|
686
|
+
// Lookup checkpoints, ordered from least to most transformed.
|
|
687
|
+
const getAliasCandidates = (input) => {
|
|
688
|
+
const phrase = simplifyTimezonePhrase(input);
|
|
689
|
+
const geographic = simplifyGeographicWords(phrase);
|
|
690
|
+
const spaced = normalizeWhitespace(geographic);
|
|
691
|
+
const apostrophes = normalizeApostrophes(spaced);
|
|
692
|
+
const city = removeApostrophes(apostrophes);
|
|
693
|
+
return [phrase, geographic, spaced, apostrophes, city, useIdentifierSpacing(city)]
|
|
694
|
+
};
|
|
695
|
+
|
|
696
|
+
// Accent folding runs only after all ordinary alias checkpoints have failed.
|
|
697
|
+
const foldDiacritics = (input) => input.normalize('NFD').replace(/\p{M}/gu, '');
|
|
698
|
+
|
|
699
|
+
// Keep identifier separators and signed offsets meaningful.
|
|
700
|
+
const normalizeAlias = input => {
|
|
701
|
+
let name = normalizeWhitespace(foldDiacritics(normalizeCase(input)));
|
|
702
|
+
if (name.includes('/') || /(?:gmt|utc|msk)?[+-]\d/i.test(name)) {
|
|
703
|
+
return name
|
|
704
|
+
}
|
|
705
|
+
name = normalizeApostrophes(name)
|
|
706
|
+
.replace(/['.]/g, '')
|
|
707
|
+
.replace(/[^\p{L}\p{N}\s]/gu, ' ')
|
|
708
|
+
.replace(/\b(?:time|city)\b/g, '');
|
|
709
|
+
return normalizeWhitespace(name)
|
|
710
|
+
};
|
|
711
|
+
|
|
712
|
+
// Decode each shared list once; complete alias counts preserve result ranking.
|
|
713
|
+
const sharedAliases = Object.fromEntries(
|
|
714
|
+
Object.entries(shared).map(([meta, words]) => [meta, Object.keys(unpack(words))])
|
|
715
|
+
);
|
|
716
|
+
|
|
717
|
+
// unpack our lexicon of words
|
|
718
|
+
const zones = {};
|
|
719
|
+
const lexicon = {};
|
|
720
|
+
Object.keys(pcked).forEach((top) => {
|
|
721
|
+
Object.keys(pcked[top]).forEach((name) => {
|
|
722
|
+
const [words, meta, dst] = pcked[top][name];
|
|
723
|
+
const id = `${top}/${name}`;
|
|
724
|
+
zones[id] = { meta };
|
|
725
|
+
const keys = [...Object.keys(unpack(words)), ...(sharedAliases[meta] || [])];
|
|
726
|
+
keys.forEach((k) => {
|
|
727
|
+
lexicon[k] = lexicon[k] || [];
|
|
728
|
+
lexicon[k].push(id);
|
|
729
|
+
// use iana aliases
|
|
730
|
+
if (/\//.test(k)) {
|
|
731
|
+
const arr = k.split(/\//);
|
|
732
|
+
const last = arr[arr.length - 1].toLowerCase();
|
|
733
|
+
lexicon[last] = lexicon[last] || [];
|
|
734
|
+
lexicon[last].push(id);
|
|
307
735
|
}
|
|
308
736
|
});
|
|
737
|
+
zones[id].wordCount = keys.length;
|
|
738
|
+
if (dst) {
|
|
739
|
+
zones[id].dst = dstPatterns[dst].split(/\|/);
|
|
740
|
+
}
|
|
309
741
|
});
|
|
742
|
+
});
|
|
310
743
|
|
|
311
|
-
|
|
744
|
+
addEtc(zones);
|
|
312
745
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (let i = 0; i < arr.length; i += 1) {
|
|
316
|
-
obj[arr[i]] = true;
|
|
317
|
-
}
|
|
318
|
-
return Object.keys(obj)
|
|
319
|
-
};
|
|
746
|
+
const canonicalIds = Object.fromEntries(Object.entries(identifiers).map(([id, target]) => [id.toLowerCase(), target]));
|
|
747
|
+
const canonicalize = (id) => canonicalIds[id.toLowerCase()] || id;
|
|
320
748
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
});
|
|
749
|
+
// Derive city spellings from IANA IDs instead of storing IDs in zone names.
|
|
750
|
+
Object.entries(identifiers).forEach(([id, target]) => {
|
|
751
|
+
if (!id.includes('/') || id.startsWith('Etc/') || !Object.hasOwn(zones, target)) {
|
|
752
|
+
return
|
|
753
|
+
}
|
|
754
|
+
const name = id.split('/').pop().toLowerCase();
|
|
755
|
+
const names = new Set([name, normalizeAlias(name)]);
|
|
756
|
+
names.forEach(alias => {
|
|
757
|
+
if (alias) {
|
|
758
|
+
lexicon[alias] = lexicon[alias] || [];
|
|
759
|
+
lexicon[alias].push(target);
|
|
333
760
|
}
|
|
334
761
|
});
|
|
762
|
+
});
|
|
335
763
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
str = str.replace(/ (standard|daylight|summer)/g, '');
|
|
344
|
-
str = str.replace(/ - .*/g, ''); //`Eastern Time - US & Canada`
|
|
345
|
-
str = str.replace(/, .*/g, ''); //`mumbai, india`
|
|
346
|
-
str = str.replace(/\./g, '');//st. petersberg
|
|
347
|
-
return str.trim()
|
|
348
|
-
};
|
|
764
|
+
const unique = function (arr) {
|
|
765
|
+
const obj = {};
|
|
766
|
+
for (let i = 0; i < arr.length; i += 1) {
|
|
767
|
+
obj[arr[i]] = true;
|
|
768
|
+
}
|
|
769
|
+
return Object.keys(obj)
|
|
770
|
+
};
|
|
349
771
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
772
|
+
// sort by num of aliases
|
|
773
|
+
Object.keys(lexicon).forEach((k) => {
|
|
774
|
+
if (lexicon[k].length > 1) {
|
|
775
|
+
lexicon[k] = unique(lexicon[k]);
|
|
776
|
+
lexicon[k] = lexicon[k].sort((a, b) => {
|
|
777
|
+
if (zones[a].wordCount > zones[b].wordCount) {
|
|
778
|
+
return -1
|
|
779
|
+
} else if (zones[a].wordCount < zones[b].wordCount) {
|
|
780
|
+
return 1
|
|
781
|
+
}
|
|
782
|
+
return 0
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
// Add accent-free spellings without replacing existing aliases or their ranking.
|
|
787
|
+
Object.entries(lexicon).forEach(([alias, ids]) => {
|
|
788
|
+
const folded = foldDiacritics(alias);
|
|
789
|
+
if (!Object.hasOwn(lexicon, folded)) {
|
|
790
|
+
lexicon[folded] = [...ids];
|
|
791
|
+
}
|
|
792
|
+
});
|
|
793
|
+
|
|
794
|
+
// Generated by scripts/build/01-pack.js from zone country codes.
|
|
795
|
+
var countryZones = {"australia":["Antarctica/Macquarie"]};
|
|
796
|
+
|
|
797
|
+
const regions = {};
|
|
798
|
+
const ids = [...new Set(Object.keys(zones).map(canonicalize))].sort();
|
|
799
|
+
ids.forEach(id => {
|
|
800
|
+
if (!Object.hasOwn(zones, id)) {
|
|
801
|
+
return
|
|
802
|
+
}
|
|
803
|
+
const region = id.split('/')[0].toLowerCase();
|
|
804
|
+
regions[region] = regions[region] || [];
|
|
805
|
+
regions[region].push(id);
|
|
806
|
+
});
|
|
807
|
+
Object.entries(countryZones).forEach(([region, extra]) => {
|
|
808
|
+
regions[region] = [...new Set([...(regions[region] || []), ...extra.map(canonicalize)])]
|
|
809
|
+
.filter(id => Object.hasOwn(zones, id)).sort();
|
|
810
|
+
});
|
|
365
811
|
|
|
366
|
-
|
|
812
|
+
const matchRegion = input => {
|
|
813
|
+
const region = normalizeCase(input);
|
|
814
|
+
return Object.hasOwn(regions, region) ? regions[region] : null
|
|
815
|
+
};
|
|
367
816
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
817
|
+
const isOffset = /^([-+]?[0-9]+)h(r?s)?$/i;
|
|
818
|
+
const isNumber = /^([-+]?[0-9]+)$/;
|
|
819
|
+
const utcOffset = /^utc([\-+]?[0-9]+)$/i;
|
|
820
|
+
const gmtOffset = /^(?:etc\/)?gmt([\-+]?[0-9]+)$/i;
|
|
372
821
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
822
|
+
const toIana = (num) => {
|
|
823
|
+
num = Number(num);
|
|
824
|
+
if (num === 0) {
|
|
825
|
+
return 'Etc/GMT'
|
|
826
|
+
}
|
|
827
|
+
if (num >= -12 && num <= 14) {
|
|
828
|
+
num = num * -1; // IANA Etc/GMT signs are reversed.
|
|
829
|
+
num = (num > 0 ? '+' : '') + num;
|
|
830
|
+
return 'Etc/GMT' + num
|
|
831
|
+
}
|
|
832
|
+
return null
|
|
833
|
+
};
|
|
834
|
+
|
|
835
|
+
const parseOffset = (tz) => {
|
|
836
|
+
tz = tz.trim();
|
|
837
|
+
// '+5hrs'
|
|
838
|
+
let m = tz.match(isOffset);
|
|
839
|
+
if (m !== null) {
|
|
840
|
+
return toIana(m[1])
|
|
841
|
+
}
|
|
842
|
+
// 'utc+5'
|
|
843
|
+
m = tz.match(utcOffset);
|
|
844
|
+
if (m !== null) {
|
|
845
|
+
return toIana(m[1])
|
|
846
|
+
}
|
|
847
|
+
// 'GMT-5' (not opposite)
|
|
848
|
+
m = tz.match(gmtOffset);
|
|
849
|
+
if (m !== null) {
|
|
850
|
+
const num = Number(m[1]) * -1;
|
|
851
|
+
return toIana(num)
|
|
852
|
+
}
|
|
853
|
+
// '+5'
|
|
854
|
+
m = tz.match(isNumber);
|
|
855
|
+
if (m !== null) {
|
|
856
|
+
return toIana(m[1])
|
|
857
|
+
}
|
|
858
|
+
return null
|
|
859
|
+
};
|
|
860
|
+
|
|
861
|
+
const utcNames = ['utc', 'uct', 'universal', 'zulu', 'coordinated universal', 'coordinated universal time'];
|
|
862
|
+
|
|
863
|
+
const matchReservedName = (input) => {
|
|
864
|
+
if (utcNames.includes(input)) {
|
|
865
|
+
return 'Etc/UTC'
|
|
866
|
+
}
|
|
867
|
+
if (input === 'gmt') {
|
|
868
|
+
return 'Etc/GMT'
|
|
869
|
+
}
|
|
870
|
+
return null
|
|
871
|
+
};
|
|
872
|
+
|
|
873
|
+
const matchAlias = (input) => (Object.hasOwn(lexicon, input) ? lexicon[input] : null);
|
|
874
|
+
|
|
875
|
+
const matchNormalizedAlias = (input) => matchReservedName(input) || matchAlias(input);
|
|
876
|
+
|
|
877
|
+
// Complete-input matching only; compound fallbacks run afterward.
|
|
878
|
+
const matchWhole = (input) => {
|
|
879
|
+
const normalized = normalizeCase(input);
|
|
880
|
+
|
|
881
|
+
// 1. Reserved UTC/GMT names take precedence over geographic aliases.
|
|
882
|
+
const reserved = matchReservedName(normalized);
|
|
883
|
+
if (reserved) {
|
|
884
|
+
return reserved
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
// 2. Slash inputs require a known IANA ID or exact curated alias.
|
|
888
|
+
if (normalized.includes('/')) {
|
|
889
|
+
const id = canonicalIds[normalized];
|
|
890
|
+
if (id) {
|
|
891
|
+
return Object.hasOwn(zones, id) ? id : null
|
|
379
892
|
}
|
|
380
|
-
return
|
|
381
|
-
}
|
|
893
|
+
return matchAlias(normalized)
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
// 3. Preserve an exact alias before changing its spelling.
|
|
897
|
+
const exact = matchAlias(input);
|
|
898
|
+
if (exact) {
|
|
899
|
+
return exact
|
|
900
|
+
}
|
|
382
901
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if (
|
|
387
|
-
return
|
|
902
|
+
// 4. Parse whole-hour offsets, such as UTC+5, GMT-5, or +5hrs.
|
|
903
|
+
if (/[0-9]/.test(input)) {
|
|
904
|
+
const offset = parseOffset(input);
|
|
905
|
+
if (offset) {
|
|
906
|
+
return [offset]
|
|
388
907
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
// 5. Try phrase, geographic, punctuation, and city-spelling checkpoints.
|
|
911
|
+
const candidates = getAliasCandidates(input);
|
|
912
|
+
for (let i = 0; i < candidates.length; i += 1) {
|
|
913
|
+
const match = matchNormalizedAlias(candidates[i]);
|
|
914
|
+
if (match) {
|
|
915
|
+
return match
|
|
393
916
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
// 6. Fold accents after exact spellings, including the case-only candidate.
|
|
920
|
+
const foldCandidates = [normalized, ...candidates];
|
|
921
|
+
for (let i = 0; i < foldCandidates.length; i += 1) {
|
|
922
|
+
const folded = foldDiacritics(foldCandidates[i]);
|
|
923
|
+
const match = matchNormalizedAlias(folded);
|
|
924
|
+
if (match) {
|
|
925
|
+
return match
|
|
399
926
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
927
|
+
}
|
|
928
|
+
// 7. Match the upkeep spelling after exact and historical spellings.
|
|
929
|
+
const alias = normalizeAlias(input);
|
|
930
|
+
if (alias && !utcNames.includes(alias) && alias !== 'gmt') {
|
|
931
|
+
return matchAlias(alias)
|
|
932
|
+
}
|
|
933
|
+
return null
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
// Earlier replacements are preferred. Empty strings remove whole words.
|
|
937
|
+
const replacements = [
|
|
938
|
+
['&', 'and'],
|
|
939
|
+
['&', ''],
|
|
940
|
+
['and', ''],
|
|
941
|
+
['st.', 'saint'],
|
|
942
|
+
['st', 'saint'],
|
|
943
|
+
['saint', 'st'],
|
|
944
|
+
['saint', ''],
|
|
945
|
+
['st', ''],
|
|
946
|
+
['islands', ''],
|
|
947
|
+
['island', ''],
|
|
948
|
+
['isl', 'island'],
|
|
949
|
+
// dst name cruft
|
|
950
|
+
['standard', ''],
|
|
951
|
+
['daylight', ''],
|
|
952
|
+
['dst', ''],
|
|
953
|
+
['timezone', ''],
|
|
954
|
+
['savings', ''],
|
|
955
|
+
// west/east/south/north
|
|
956
|
+
['west', 'western'],
|
|
957
|
+
['east', 'eastern'],
|
|
958
|
+
['south', 'southern'],
|
|
959
|
+
['north', 'northern'],
|
|
960
|
+
['western', 'west'],
|
|
961
|
+
['eastern', 'east'],
|
|
962
|
+
['southern', 'south'],
|
|
963
|
+
['northern', 'north'],
|
|
964
|
+
// place-name cruft
|
|
965
|
+
['democratic', ''],
|
|
966
|
+
['socialist', ''],
|
|
967
|
+
['republic', ''],
|
|
968
|
+
['peoples', ''],
|
|
969
|
+
["people's", ''],
|
|
970
|
+
['federal', ''],
|
|
971
|
+
['federated', ''],
|
|
972
|
+
['islamic', ''],
|
|
973
|
+
['united', ''],
|
|
974
|
+
['kingdom', ''],
|
|
975
|
+
['city', ''],
|
|
976
|
+
['township', ''],
|
|
977
|
+
['of', ''],
|
|
978
|
+
['the', ''],
|
|
979
|
+
// generic place names
|
|
980
|
+
['region', ''],
|
|
981
|
+
['country', ''],
|
|
982
|
+
['county', ''],
|
|
983
|
+
['regional', ''],
|
|
984
|
+
['district', ''],
|
|
985
|
+
['province', ''],
|
|
986
|
+
['state', ''],
|
|
987
|
+
['metro', ''],
|
|
988
|
+
['greater', ''],
|
|
989
|
+
['metropolitan', ''],
|
|
990
|
+
['area', '']
|
|
991
|
+
];
|
|
992
|
+
|
|
993
|
+
const maxCandidates = 96;
|
|
994
|
+
const clean = (value) => value.toLowerCase().split(' ').filter(Boolean).join(' ');
|
|
995
|
+
const ignored = new Set(replacements.filter(([, to]) => !to).map(([from]) => from));
|
|
996
|
+
|
|
997
|
+
const getAlternatives = (input, includeWords = true) => {
|
|
998
|
+
const name = clean(input);
|
|
999
|
+
const candidates = new Set();
|
|
1000
|
+
const add = (value) => {
|
|
1001
|
+
const candidate = clean(value);
|
|
1002
|
+
if (candidate && candidate !== name && !ignored.has(candidate)) {
|
|
1003
|
+
candidates.add(candidate);
|
|
404
1004
|
}
|
|
405
|
-
return null
|
|
406
1005
|
};
|
|
407
|
-
var parseOffset$1 = parseOffset;
|
|
408
1006
|
|
|
409
|
-
//
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
1007
|
+
// Try each replacement alone and accumulate replacements in their listed order.
|
|
1008
|
+
let combined = name;
|
|
1009
|
+
replacements.forEach(([from, to]) => {
|
|
1010
|
+
add(name.replaceAll(from, ` ${to} `));
|
|
1011
|
+
combined = combined.replaceAll(from, ` ${to} `);
|
|
1012
|
+
add(combined);
|
|
1013
|
+
});
|
|
1014
|
+
if (includeWords) {
|
|
1015
|
+
const phrases = [name, ...candidates];
|
|
1016
|
+
phrases.forEach((phrase) => phrase.split(' ').forEach(add));
|
|
1017
|
+
}
|
|
1018
|
+
// console.log(candidates)
|
|
1019
|
+
return [...candidates].slice(0, maxCandidates)
|
|
1020
|
+
};
|
|
1021
|
+
|
|
1022
|
+
const matchPart = (input) => {
|
|
1023
|
+
const found = matchWhole(input);
|
|
1024
|
+
const ids = typeof found === 'string' ? [found] : found || [];
|
|
1025
|
+
return [...new Set(ids.map(canonicalize))]
|
|
1026
|
+
};
|
|
1027
|
+
|
|
1028
|
+
const matchAlternativeSpellings = (input, includeWords = true) => {
|
|
1029
|
+
const candidates = getAlternatives(input, includeWords);
|
|
1030
|
+
if (!candidates.length) {
|
|
1031
|
+
return null
|
|
1032
|
+
}
|
|
1033
|
+
// Keep curated exact aliases ahead of spelling guesses.
|
|
1034
|
+
const exact = input.trim().toLowerCase();
|
|
1035
|
+
if (Object.hasOwn(lexicon, exact)) {
|
|
1036
|
+
return [...new Set(lexicon[exact].map(canonicalize))]
|
|
1037
|
+
}
|
|
1038
|
+
for (let i = 0; i < candidates.length; i += 1) {
|
|
1039
|
+
const found = matchPart(candidates[i]);
|
|
1040
|
+
if (found.length) {
|
|
1041
|
+
return found
|
|
418
1042
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
1043
|
+
}
|
|
1044
|
+
return null
|
|
1045
|
+
};
|
|
1046
|
+
|
|
1047
|
+
// Preserve the first part's ranking while removing candidates absent elsewhere.
|
|
1048
|
+
const intersect = (lists) => lists[0].filter((id) => lists.every((list) => list.includes(id)));
|
|
1049
|
+
|
|
1050
|
+
const matchSeparatedParts = (input) => {
|
|
1051
|
+
const parts = input
|
|
1052
|
+
.split(/[,()]/)
|
|
1053
|
+
.map((part) => part.trim())
|
|
1054
|
+
.filter(Boolean);
|
|
1055
|
+
const matches = parts.map(matchPart).filter((ids) => ids.length);
|
|
1056
|
+
// Ignore unknown parts; conflicting known parts keep an empty intersection.
|
|
1057
|
+
return matches.length ? intersect(matches) : null
|
|
1058
|
+
};
|
|
1059
|
+
|
|
1060
|
+
const matchWordPairs = (input) => {
|
|
1061
|
+
const words = input.trim().split(/\s+/);
|
|
1062
|
+
// Try splits left to right. Both sides must resolve: "CST China".
|
|
1063
|
+
for (let boundary = 1; boundary < words.length; boundary += 1) {
|
|
1064
|
+
const left = matchPart(words.slice(0, boundary).join(' '));
|
|
1065
|
+
if (!left.length) {
|
|
1066
|
+
continue
|
|
425
1067
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
return lexicon[str]
|
|
1068
|
+
const right = matchPart(words.slice(boundary).join(' '));
|
|
1069
|
+
if (!right.length) {
|
|
1070
|
+
continue
|
|
430
1071
|
}
|
|
431
|
-
|
|
432
|
-
if (
|
|
433
|
-
return
|
|
1072
|
+
const shared = intersect([left, right]);
|
|
1073
|
+
if (shared.length) {
|
|
1074
|
+
return shared
|
|
434
1075
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
1076
|
+
}
|
|
1077
|
+
return null
|
|
1078
|
+
};
|
|
1079
|
+
|
|
1080
|
+
const longName = /^\s*\(utc(?:[+-]\d{2}:\d{2})?\)\s*([^()]+?)(?:\s*\([^()]*\))?\s*$/i;
|
|
1081
|
+
|
|
1082
|
+
const find = (input) => {
|
|
1083
|
+
// "(UTC-06:00) Central Time (US & Canada)" → "Central Time".
|
|
1084
|
+
input = input.replace(longName, '$1').trim();
|
|
1085
|
+
|
|
1086
|
+
// Region names must include every supported zone, not just curated aliases.
|
|
1087
|
+
const region = matchRegion(input);
|
|
1088
|
+
if (region) {
|
|
1089
|
+
return region
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
// Try complete spelling variants before normalization drops punctuation.
|
|
1093
|
+
// Keep explicit identifier and qualifier handling separate.
|
|
1094
|
+
if (input.includes('&') && !/[\/,()]/.test(input)) {
|
|
1095
|
+
const alternative = matchAlternativeSpellings(input, false);
|
|
1096
|
+
if (alternative) {
|
|
1097
|
+
return alternative
|
|
438
1098
|
}
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
// Whole input, including normalization and accent folding.
|
|
1102
|
+
const whole = matchWhole(input);
|
|
1103
|
+
if (whole) {
|
|
1104
|
+
return whole
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
// Unknown identifiers cannot fall back to partial matches.
|
|
1108
|
+
if (input.includes('/')) {
|
|
439
1109
|
return null
|
|
440
|
-
}
|
|
1110
|
+
}
|
|
441
1111
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
"std": ["IST", 5.5],
|
|
447
|
-
"long": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi"
|
|
448
|
-
},
|
|
449
|
-
"China": {
|
|
450
|
-
"std": ["CST", 8],
|
|
451
|
-
"long": "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi"
|
|
452
|
-
},
|
|
453
|
-
"Central European": {
|
|
454
|
-
"std": ["CET", 1],
|
|
455
|
-
"dst": ["CEST", 2, "Central European Summer Time"],
|
|
456
|
-
"long": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris"
|
|
457
|
-
},
|
|
458
|
-
"Atlantic": {
|
|
459
|
-
"dupe": true,
|
|
460
|
-
"std": ["AST", -4],
|
|
461
|
-
"dst": ["ADT", -3],
|
|
462
|
-
"long": "(UTC-04:00) Atlantic Time (Canada)"
|
|
463
|
-
},
|
|
464
|
-
"Greenwich Mean": {
|
|
465
|
-
"std": ["GMT", 0],
|
|
466
|
-
"long": "(UTC) Coordinated Universal Time"
|
|
467
|
-
},
|
|
468
|
-
"Eastern European": {
|
|
469
|
-
"std": ["EET", 2],
|
|
470
|
-
"dst": ["EEST", 3, "Eastern European Summer Time"
|
|
471
|
-
]
|
|
472
|
-
},
|
|
473
|
-
"Central": {
|
|
474
|
-
"dupe": true,
|
|
475
|
-
"std": ["CST", -6],
|
|
476
|
-
"dst": ["CDT", -5],
|
|
477
|
-
"long": "(UTC-06:00) Central Time (US & Canada)"
|
|
478
|
-
},
|
|
479
|
-
"Eastern": {
|
|
480
|
-
"std": ["EST", -5],
|
|
481
|
-
"dst": ["EDT", -4],
|
|
482
|
-
"long": "(UTC-05:00) Eastern Time (US & Canada)"
|
|
483
|
-
},
|
|
484
|
-
"Argentina": {
|
|
485
|
-
"std": ["ART", -3],
|
|
486
|
-
"long": "(UTC-03:00) City of Buenos Aires"
|
|
487
|
-
},
|
|
488
|
-
"East Africa": {
|
|
489
|
-
"std": ["EAT", 3],
|
|
490
|
-
"long": "(UTC+03:00) Nairobi"
|
|
491
|
-
},
|
|
492
|
-
"West Africa": {
|
|
493
|
-
"std": ["WAT", 1],
|
|
494
|
-
"long": "(UTC+01:00) West Central Africa"
|
|
495
|
-
},
|
|
496
|
-
"Moscow": {
|
|
497
|
-
"std": ["MSK", 3],
|
|
498
|
-
"long": "(UTC+03:00) Moscow, St. Petersburg"
|
|
499
|
-
},
|
|
500
|
-
"Brasilia": {
|
|
501
|
-
"std": ["BRT", -3],
|
|
502
|
-
"long": "(UTC-03:00) Brasilia"
|
|
503
|
-
},
|
|
504
|
-
"Mountain": {
|
|
505
|
-
"std": ["MST", -7],
|
|
506
|
-
"dst": ["MDT", -6],
|
|
507
|
-
"long": "(UTC-07:00) Mountain Time (US & Canada)"
|
|
508
|
-
},
|
|
509
|
-
"Central Africa": {
|
|
510
|
-
"std": ["CAT", 2],
|
|
511
|
-
"long": "(UTC+02:00) Windhoek"
|
|
512
|
-
},
|
|
513
|
-
"Arabian": {
|
|
514
|
-
"std": ["AST", 3],
|
|
515
|
-
"long": "(UTC+03:00) Kuwait, Riyadh"
|
|
516
|
-
},
|
|
517
|
-
"Alaska": {
|
|
518
|
-
"std": ["AKST", -9],
|
|
519
|
-
"dst": ["AKDT", -8],
|
|
520
|
-
"long": "(UTC-09:00) Alaska"
|
|
521
|
-
},
|
|
522
|
-
"British": {
|
|
523
|
-
"std": ["GMT", 0],
|
|
524
|
-
"dst": ["BST", 1, "British Summer Time"],
|
|
525
|
-
"long": "(UTC+00:00) Dublin, Edinburgh, Lisbon, London"
|
|
526
|
-
},
|
|
527
|
-
"Irish": {
|
|
528
|
-
"std": ["GMT", 0],
|
|
529
|
-
"dst": ["IST", 1, "Irish Standard Time"]
|
|
530
|
-
},
|
|
531
|
-
"West Kazakhstan": {
|
|
532
|
-
"std": ["ALMT", 5],
|
|
533
|
-
"long": "(UTC+05:00) Ashgabat, Tashkent"
|
|
534
|
-
},
|
|
535
|
-
"Eastern Australia": {
|
|
536
|
-
"std": ["AEST", 10],
|
|
537
|
-
"dst": ["AEDT", 11, "Australian Eastern Daylight Time"],
|
|
538
|
-
"long": "(UTC+10:00) Canberra, Melbourne, Sydney"
|
|
539
|
-
},
|
|
540
|
-
"Western European": {
|
|
541
|
-
"std": ["WET", 0],
|
|
542
|
-
"dst": ["WEST", 1, "Western European Summer Time"]
|
|
543
|
-
},
|
|
544
|
-
"Indochina": {
|
|
545
|
-
"std": ["ICT", 7],
|
|
546
|
-
"long": "(UTC+07:00) Bangkok, Hanoi, Jakarta"
|
|
547
|
-
},
|
|
548
|
-
"Central Mexico": {
|
|
549
|
-
"long": "(UTC-06:00) Guadalajara, Mexico City, Monterrey",
|
|
550
|
-
"std": ["CST", -6],
|
|
551
|
-
"dst": ["CDT", -5, "Central Daylight Time"
|
|
552
|
-
]
|
|
553
|
-
},
|
|
554
|
-
"South Africa": {
|
|
555
|
-
"std": ["SAST", 2],
|
|
556
|
-
"long": "(UTC+02:00) Harare, Pretoria"
|
|
557
|
-
},
|
|
558
|
-
"Krasnoyarsk": {
|
|
559
|
-
"std": ["KRAT", 7],
|
|
560
|
-
"long": "(UTC+07:00) Krasnoyarsk"
|
|
561
|
-
},
|
|
562
|
-
"Yakutsk": {
|
|
563
|
-
"std": ["YAKT", 9],
|
|
564
|
-
"long": "(UTC+09:00) Yakutsk"
|
|
565
|
-
},
|
|
566
|
-
"Pacific": {
|
|
567
|
-
"std": ["PST", -8],
|
|
568
|
-
"dst": ["PDT", -7],
|
|
569
|
-
"long": "(UTC-08:00) Pacific Time (US & Canada)"
|
|
570
|
-
},
|
|
571
|
-
"Amazon": {
|
|
572
|
-
"std": ["AMT", -4],
|
|
573
|
-
"long": "(UTC-04:00) Cuiaba"
|
|
574
|
-
},
|
|
575
|
-
"Morocco Standard": {
|
|
576
|
-
"offset": 1,
|
|
577
|
-
"long": "(UTC+00:00) Casablanca",
|
|
578
|
-
"std": ["WET", 1],
|
|
579
|
-
"dst": ["WEST", 0, "Western European Summer Time"
|
|
580
|
-
]
|
|
581
|
-
},
|
|
582
|
-
"Gulf": {
|
|
583
|
-
"std": ["GST", 4],
|
|
584
|
-
"long": "(UTC+04:00) Abu Dhabi, Muscat"
|
|
585
|
-
},
|
|
586
|
-
"Samara": {
|
|
587
|
-
"std": ["SAMT", 4],
|
|
588
|
-
"long": "(UTC+04:00) Izhevsk, Samara"
|
|
589
|
-
},
|
|
590
|
-
"Uzbekistan": {
|
|
591
|
-
"std": ["UZT", 5]
|
|
592
|
-
},
|
|
593
|
-
"East Kazakhstan": {
|
|
594
|
-
"std": ["ALMT", 6],
|
|
595
|
-
"long": "(UTC+06:00) Astana"
|
|
596
|
-
},
|
|
597
|
-
"Omsk": {
|
|
598
|
-
"std": ["OMST", 6],
|
|
599
|
-
"long": "(UTC+06:00) Omsk"
|
|
600
|
-
},
|
|
601
|
-
"Western Indonesia": {
|
|
602
|
-
"std": ["WIB", 7]
|
|
603
|
-
},
|
|
604
|
-
"Ulaanbaatar": {
|
|
605
|
-
"std": ["ULAT", 8],
|
|
606
|
-
"long": "(UTC+08:00) Ulaanbaatar"
|
|
607
|
-
},
|
|
608
|
-
"Malaysia": {
|
|
609
|
-
"std": ["MYT", 8]
|
|
610
|
-
},
|
|
611
|
-
"Korean": {
|
|
612
|
-
"std": ["KST", 9],
|
|
613
|
-
"long": "(UTC+09:00) Seoul"
|
|
614
|
-
},
|
|
615
|
-
"Central Australia": {
|
|
616
|
-
"std": ["ACST", 9.5],
|
|
617
|
-
"dst": ["ACDT", 10.5, "Australian Central Daylight Time"],
|
|
618
|
-
"long": "(UTC+09:30) Adelaide"
|
|
619
|
-
},
|
|
620
|
-
"Brisbane": {
|
|
621
|
-
"dupe": true,
|
|
622
|
-
"std": ["AEST", 10]
|
|
623
|
-
},
|
|
624
|
-
"Vladivostok": {
|
|
625
|
-
"std": ["VLAT", 10],
|
|
626
|
-
"long": "(UTC+10:00) Vladivostok"
|
|
627
|
-
},
|
|
628
|
-
"Chamorro": {
|
|
629
|
-
"std": ["ChST", 10],
|
|
630
|
-
"long": "(UTC+10:00) Guam, Port Moresby"
|
|
631
|
-
},
|
|
632
|
-
"Papua New Guinea": {
|
|
633
|
-
"std": ["PGT", 11]
|
|
634
|
-
},
|
|
635
|
-
"New Zealand": {
|
|
636
|
-
"std": ["NZST", 12],
|
|
637
|
-
"dst": ["NZDT", 13],
|
|
638
|
-
"long": "(UTC+12:00) Auckland, Wellington"
|
|
639
|
-
},
|
|
640
|
-
"Marshall Islands": {
|
|
641
|
-
"std": ["MHT", 12]
|
|
642
|
-
},
|
|
643
|
-
"Samoa": {
|
|
644
|
-
"std": ["SST", -11],
|
|
645
|
-
"long": "(UTC+13:00) Samoa"
|
|
646
|
-
},
|
|
647
|
-
"Hawaii-Aleutian": {
|
|
648
|
-
"std": ["HAST", -9],
|
|
649
|
-
"dst": ["HADT", -8],
|
|
650
|
-
"long": "(UTC-09:00) Aleutian Islands"
|
|
651
|
-
},
|
|
652
|
-
"Mexican Pacific": {
|
|
653
|
-
"std": ["HNPMX", -7],
|
|
654
|
-
"dst": ["HEPMX", -6],
|
|
655
|
-
"long": "(UTC-07:00) Chihuahua, La Paz, Mazatlan"
|
|
656
|
-
},
|
|
657
|
-
"Colombia": {
|
|
658
|
-
"std": ["COT", -5]
|
|
659
|
-
},
|
|
660
|
-
"Acre": {
|
|
661
|
-
"std": ["ACT", -5]
|
|
662
|
-
},
|
|
663
|
-
"Chile": {
|
|
664
|
-
"dupe": true,
|
|
665
|
-
"std": ["CLT", -3],
|
|
666
|
-
"dst": ["CLST", -4, "Chile Summer Time"
|
|
667
|
-
]
|
|
668
|
-
},
|
|
669
|
-
"Troll": {
|
|
670
|
-
"dupe": true,
|
|
671
|
-
"std": ["GMT", 0]
|
|
672
|
-
},
|
|
673
|
-
"East Greenland": {
|
|
674
|
-
"std": ["HNEG", 0],
|
|
675
|
-
"dst": ["HEEG", 1, "East Greenland Summer Time"
|
|
676
|
-
]
|
|
677
|
-
},
|
|
678
|
-
"Israel": {
|
|
679
|
-
"std": ["IST", 2],
|
|
680
|
-
"dst": ["IDT", 3],
|
|
681
|
-
"long": "(UTC+02:00) Jerusalem"
|
|
682
|
-
},
|
|
683
|
-
"Syowa": {
|
|
684
|
-
"std": ["SYOT", 3]
|
|
685
|
-
},
|
|
686
|
-
"Turkey": {
|
|
687
|
-
"std": ["TRT", 3],
|
|
688
|
-
"long": "(UTC+03:00) Istanbul"
|
|
689
|
-
},
|
|
690
|
-
"Iran": {
|
|
691
|
-
"std": ["IRST", 3.5],
|
|
692
|
-
"dst": ["IRDT", 4.5],
|
|
693
|
-
"long": "(UTC+03:30) Tehran"
|
|
694
|
-
},
|
|
695
|
-
"Azerbaijan": {
|
|
696
|
-
"std": ["AZT", 4],
|
|
697
|
-
"long": "(UTC+04:00) Baku"
|
|
698
|
-
},
|
|
699
|
-
"Georgia": {
|
|
700
|
-
"std": ["GET", 4],
|
|
701
|
-
"long": "(UTC+04:00) Tbilisi"
|
|
702
|
-
},
|
|
703
|
-
"Armenia": {
|
|
704
|
-
"std": ["AMT", 4],
|
|
705
|
-
"long": "(UTC+04:00) Yerevan"
|
|
706
|
-
},
|
|
707
|
-
"Seychelles": {
|
|
708
|
-
"std": ["SCT", 4]
|
|
709
|
-
},
|
|
710
|
-
"Mauritius": {
|
|
711
|
-
"std": ["MUT", 4],
|
|
712
|
-
"long": "(UTC+04:00) Port Louis"
|
|
713
|
-
},
|
|
714
|
-
"Réunion": {
|
|
715
|
-
"std": ["RET", 4]
|
|
716
|
-
},
|
|
717
|
-
"Afghanistan": {
|
|
718
|
-
"std": ["AFT", 4.5],
|
|
719
|
-
"long": "(UTC+04:30) Kabul"
|
|
720
|
-
},
|
|
721
|
-
"Mawson": {
|
|
722
|
-
"std": ["MAWT", 5]
|
|
723
|
-
},
|
|
724
|
-
"Turkmenistan": {
|
|
725
|
-
"std": ["TMT", 5]
|
|
726
|
-
},
|
|
727
|
-
"Tajikistan": {
|
|
728
|
-
"std": ["TJT", 5]
|
|
729
|
-
},
|
|
730
|
-
"Pakistan": {
|
|
731
|
-
"std": ["PKT", 5],
|
|
732
|
-
"long": "(UTC+05:00) Islamabad, Karachi"
|
|
733
|
-
},
|
|
734
|
-
"Yekaterinburg": {
|
|
735
|
-
"std": ["YEKT", 5],
|
|
736
|
-
"long": "(UTC+05:00) Ekaterinburg"
|
|
737
|
-
},
|
|
738
|
-
"French Southern & Antarctic": {
|
|
739
|
-
"std": ["TFT", 5]
|
|
740
|
-
},
|
|
741
|
-
"Maldives": {
|
|
742
|
-
"std": ["MVT", 5]
|
|
743
|
-
},
|
|
744
|
-
"Nepal": {
|
|
745
|
-
"std": ["NPT", 5.75],
|
|
746
|
-
"long": "(UTC+05:45) Kathmandu"
|
|
747
|
-
},
|
|
748
|
-
"Vostok": {
|
|
749
|
-
"std": ["MSK+4", 6]
|
|
750
|
-
},
|
|
751
|
-
"Kyrgyzstan": {
|
|
752
|
-
"std": ["KGT", 6]
|
|
753
|
-
},
|
|
754
|
-
"Bangladesh": {
|
|
755
|
-
"std": ["BST", 6],
|
|
756
|
-
"long": "(UTC+06:00) Dhaka"
|
|
757
|
-
},
|
|
758
|
-
"Bhutan": {
|
|
759
|
-
"std": ["BT", 6]
|
|
760
|
-
},
|
|
761
|
-
"Indian Ocean": {
|
|
762
|
-
"std": ["IOT", 6]
|
|
763
|
-
},
|
|
764
|
-
"Myanmar": {
|
|
765
|
-
"std": ["MMT", 6.5],
|
|
766
|
-
"long": "(UTC+06:30) Yangon (Rangoon)"
|
|
767
|
-
},
|
|
768
|
-
"Cocos Islands": {
|
|
769
|
-
"std": ["CCT", 6.5]
|
|
770
|
-
},
|
|
771
|
-
"Davis": {
|
|
772
|
-
"std": ["DAVT", 7]
|
|
773
|
-
},
|
|
774
|
-
"Hovd": {
|
|
775
|
-
"std": ["HOVT", 7],
|
|
776
|
-
"long": "(UTC+07:00) Hovd"
|
|
777
|
-
},
|
|
778
|
-
"Novosibirsk": {
|
|
779
|
-
"std": ["NOVT", 7],
|
|
780
|
-
"long": "(UTC+07:00) Novosibirsk"
|
|
781
|
-
},
|
|
782
|
-
"Christmas Island": {
|
|
783
|
-
"std": ["CXT", 7]
|
|
784
|
-
},
|
|
785
|
-
"Brunei Darussalam": {
|
|
786
|
-
"std": ["BNT", 8]
|
|
787
|
-
},
|
|
788
|
-
"Hong Kong": {
|
|
789
|
-
"std": ["HKT", 8]
|
|
790
|
-
},
|
|
791
|
-
"Irkutsk": {
|
|
792
|
-
"std": ["IRKT", 8],
|
|
793
|
-
"long": "(UTC+08:00) Irkutsk"
|
|
794
|
-
},
|
|
795
|
-
"Central Indonesia": {
|
|
796
|
-
"std": ["WITA", 8]
|
|
797
|
-
},
|
|
798
|
-
"Philippine": {
|
|
799
|
-
"std": ["PHST", 8]
|
|
800
|
-
},
|
|
801
|
-
"Singapore": {
|
|
802
|
-
"std": ["SGT", 8],
|
|
803
|
-
"long": "(UTC+08:00) Kuala Lumpur, Singapore"
|
|
804
|
-
},
|
|
805
|
-
"Taipei": {
|
|
806
|
-
"std": ["CST", 8],
|
|
807
|
-
"long": "(UTC+08:00) Taipei"
|
|
808
|
-
},
|
|
809
|
-
"Western Australia": {
|
|
810
|
-
"std": ["AWST", 8],
|
|
811
|
-
"long": "(UTC+08:00) Perth"
|
|
812
|
-
},
|
|
813
|
-
"Australian Central Western": {
|
|
814
|
-
"std": ["ACWST", 8.75],
|
|
815
|
-
"long": "(UTC+08:45) Eucla"
|
|
816
|
-
},
|
|
817
|
-
"East Timor": {
|
|
818
|
-
"std": ["TLT", 9]
|
|
819
|
-
},
|
|
820
|
-
"Eastern Indonesia": {
|
|
821
|
-
"std": ["WIT", 9]
|
|
822
|
-
},
|
|
823
|
-
"Japan": {
|
|
824
|
-
"std": ["JST", 9],
|
|
825
|
-
"long": "(UTC+09:00) Osaka, Sapporo, Tokyo"
|
|
826
|
-
},
|
|
827
|
-
"Palau": {
|
|
828
|
-
"std": ["PWT", 9]
|
|
829
|
-
},
|
|
830
|
-
"Australian Central": {
|
|
831
|
-
"dupe": true,
|
|
832
|
-
"std": ["ACST", 9.5]
|
|
833
|
-
},
|
|
834
|
-
"Dumont-d’Urville": {
|
|
835
|
-
"std": ["CLST", 10]
|
|
836
|
-
},
|
|
837
|
-
"Chuuk": {
|
|
838
|
-
"std": ["CHUT", 10]
|
|
839
|
-
},
|
|
840
|
-
"Lord Howe": {
|
|
841
|
-
"std": ["LHST", 10.5],
|
|
842
|
-
"dst": ["LHDT", 11.5],
|
|
843
|
-
"long": "(UTC+10:30) Lord Howe Island"
|
|
844
|
-
},
|
|
845
|
-
"Casey": {
|
|
846
|
-
"std": ["CAST", 11],
|
|
847
|
-
"dst": ["CAST", 8, "Casey Summer Time"
|
|
848
|
-
]
|
|
849
|
-
},
|
|
850
|
-
"Magadan": {
|
|
851
|
-
"std": ["MAGT", 11],
|
|
852
|
-
"long": "(UTC+11:00) Magadan"
|
|
853
|
-
},
|
|
854
|
-
"Sakhalin": {
|
|
855
|
-
"std": ["SAKT", 11],
|
|
856
|
-
"long": "(UTC+11:00) Sakhalin"
|
|
857
|
-
},
|
|
858
|
-
"Srednekolymsk": {
|
|
859
|
-
"std": ["SRET", 11],
|
|
860
|
-
"long": "(UTC+11:00) Chokurdakh"
|
|
861
|
-
},
|
|
862
|
-
"Vanuatu": {
|
|
863
|
-
"std": ["VUT", 11]
|
|
864
|
-
},
|
|
865
|
-
"Solomon Islands": {
|
|
866
|
-
"std": ["SBT", 11]
|
|
867
|
-
},
|
|
868
|
-
"Kosrae": {
|
|
869
|
-
"std": ["KOST", 11]
|
|
870
|
-
},
|
|
871
|
-
"New Caledonia": {
|
|
872
|
-
"std": ["NCT", 11]
|
|
873
|
-
},
|
|
874
|
-
"Ponape": {
|
|
875
|
-
"std": ["PONT", 11]
|
|
876
|
-
},
|
|
877
|
-
"Anadyr": {
|
|
878
|
-
"std": ["ANAT", 12],
|
|
879
|
-
"long": "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky"
|
|
880
|
-
},
|
|
881
|
-
"Petropavlovsk-Kamchatski": {
|
|
882
|
-
"std": ["PETT", 12],
|
|
883
|
-
"long": "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky"
|
|
884
|
-
},
|
|
885
|
-
"Fiji": {
|
|
886
|
-
"std": ["FJT", 12],
|
|
887
|
-
"dst": ["FJT", 13, "Fiji Summer Time"],
|
|
888
|
-
"long": "(UTC+12:00) Fiji"
|
|
889
|
-
},
|
|
890
|
-
"Tuvalu": {
|
|
891
|
-
"std": ["TVT", 12]
|
|
892
|
-
},
|
|
893
|
-
"Nauru": {
|
|
894
|
-
"std": ["NRT", 12]
|
|
895
|
-
},
|
|
896
|
-
"Norfolk Island": {
|
|
897
|
-
"std": ["NFT", 12],
|
|
898
|
-
"dst": ["NFDT", 11],
|
|
899
|
-
"long": "(UTC+11:00) Norfolk Island"
|
|
900
|
-
},
|
|
901
|
-
"Gilbert Islands": {
|
|
902
|
-
"std": ["GILT", 12]
|
|
903
|
-
},
|
|
904
|
-
"Wake Island": {
|
|
905
|
-
"std": ["WAKT", 12]
|
|
906
|
-
},
|
|
907
|
-
"Wallis & Futuna": {
|
|
908
|
-
"std": ["WFT", 12]
|
|
909
|
-
},
|
|
910
|
-
"Chatham": {
|
|
911
|
-
"std": ["CHAST", 12.75],
|
|
912
|
-
"dst": ["CHADT", 13.75],
|
|
913
|
-
"long": "(UTC+12:45) Chatham Islands"
|
|
914
|
-
},
|
|
915
|
-
"West Samoa": {
|
|
916
|
-
"std": ["WST", 13],
|
|
917
|
-
"dst": ["WST", 14, "West Samoa Summer Time"
|
|
918
|
-
]
|
|
919
|
-
},
|
|
920
|
-
"Phoenix Islands": {
|
|
921
|
-
"std": ["PHOT", 13]
|
|
922
|
-
},
|
|
923
|
-
"Tokelau": {
|
|
924
|
-
"std": ["TKT", 13]
|
|
925
|
-
},
|
|
926
|
-
"Tonga": {
|
|
927
|
-
"std": ["TOT", 13],
|
|
928
|
-
"long": "(UTC+13:00) Nuku'alofa"
|
|
929
|
-
},
|
|
930
|
-
"Line Islands": {
|
|
931
|
-
"std": ["LINT", 14],
|
|
932
|
-
"long": "(UTC+14:00) Kiritimati Island"
|
|
933
|
-
},
|
|
934
|
-
"Niue": {
|
|
935
|
-
"std": ["NUT", -11]
|
|
936
|
-
},
|
|
937
|
-
"Cook Islands": {
|
|
938
|
-
"std": ["CKT", -10]
|
|
939
|
-
},
|
|
940
|
-
"Tahiti": {
|
|
941
|
-
"std": ["TAHT", -10]
|
|
942
|
-
},
|
|
943
|
-
"Marquesas": {
|
|
944
|
-
"std": ["MART", -9.5],
|
|
945
|
-
"long": "(UTC-09:30) Marquesas Islands"
|
|
946
|
-
},
|
|
947
|
-
"Aleutian Standard": {
|
|
948
|
-
"iso": "(UTC-10:00) Aleutian Islands",
|
|
949
|
-
"std": ["HST", -10],
|
|
950
|
-
"dst": ["HDT", -9, "Hawaii Daylight Time"
|
|
951
|
-
]
|
|
952
|
-
},
|
|
953
|
-
"Gambier": {
|
|
954
|
-
"std": ["GAMT", -9],
|
|
955
|
-
"long": "(UTC-09:00) Coordinated Universal Time-09"
|
|
956
|
-
},
|
|
957
|
-
"Pitcairn": {
|
|
958
|
-
"std": ["PST", -8],
|
|
959
|
-
"long": "(UTC-08:00) Coordinated Universal Time-08"
|
|
960
|
-
},
|
|
961
|
-
"Northwest Mexico": {
|
|
962
|
-
"std": ["HNNOMX", -6],
|
|
963
|
-
"dst": ["HENOMX", -5],
|
|
964
|
-
"long": "(UTC-08:00) Baja California"
|
|
965
|
-
},
|
|
966
|
-
"Easter Island": {
|
|
967
|
-
"std": ["EAST", -6],
|
|
968
|
-
"dst": ["EASST", -5, "Easter Island Summer Time"],
|
|
969
|
-
"long": "(UTC-06:00) Easter Island"
|
|
970
|
-
},
|
|
971
|
-
"Ecuador": {
|
|
972
|
-
"std": ["ECT", -5]
|
|
973
|
-
},
|
|
974
|
-
"Cuba": {
|
|
975
|
-
"std": ["HNCU", -5],
|
|
976
|
-
"dst": ["HECU", -4],
|
|
977
|
-
"long": "(UTC-05:00) Havana"
|
|
978
|
-
},
|
|
979
|
-
"Peru": {
|
|
980
|
-
"std": ["PET", -5]
|
|
981
|
-
},
|
|
982
|
-
"Paraguay": {
|
|
983
|
-
"std": ["PYT", -4],
|
|
984
|
-
"dst": ["PYST", -3, "Paraguay Summer Time"],
|
|
985
|
-
"long": "(UTC-04:00) Asuncion"
|
|
986
|
-
},
|
|
987
|
-
"Venezuela": {
|
|
988
|
-
"std": ["VET", -4],
|
|
989
|
-
"long": "(UTC-04:00) Caracas"
|
|
990
|
-
},
|
|
991
|
-
"Guyana": {
|
|
992
|
-
"std": ["GYT", -4]
|
|
993
|
-
},
|
|
994
|
-
"Bolivia": {
|
|
995
|
-
"std": ["BOT", -4]
|
|
996
|
-
},
|
|
997
|
-
"Newfoundland": {
|
|
998
|
-
"std": ["HNTN", -3.5],
|
|
999
|
-
"dst": ["HETN", -2.5],
|
|
1000
|
-
"long": "(UTC-03:30) Newfoundland"
|
|
1001
|
-
},
|
|
1002
|
-
"French Guiana": {
|
|
1003
|
-
"std": ["GFT", -3]
|
|
1004
|
-
},
|
|
1005
|
-
"West Greenland": {
|
|
1006
|
-
"std": ["WGT", -3],
|
|
1007
|
-
"dst": ["WGST", -2, "West Greenland Summer Time"],
|
|
1008
|
-
"long": "(UTC-03:00) Greenland"
|
|
1009
|
-
},
|
|
1010
|
-
"St. Pierre & Miquelon": {
|
|
1011
|
-
"std": ["HNPM", -3],
|
|
1012
|
-
"dst": ["HEPM", -2],
|
|
1013
|
-
"long": "(UTC-03:00) Saint Pierre and Miquelon"
|
|
1014
|
-
},
|
|
1015
|
-
"Uruguay": {
|
|
1016
|
-
"std": ["UYT", -3],
|
|
1017
|
-
"long": "(UTC-03:00) Montevideo"
|
|
1018
|
-
},
|
|
1019
|
-
"Suriname": {
|
|
1020
|
-
"std": ["SRT", -3]
|
|
1021
|
-
},
|
|
1022
|
-
"Falkland Islands": {
|
|
1023
|
-
"std": ["FKST", -3]
|
|
1024
|
-
},
|
|
1025
|
-
"Fernando de Noronha": {
|
|
1026
|
-
"std": ["FNT", -2]
|
|
1027
|
-
},
|
|
1028
|
-
"South Georgia": {
|
|
1029
|
-
"std": ["GST", -2]
|
|
1030
|
-
},
|
|
1031
|
-
"Azores": {
|
|
1032
|
-
"std": ["AZOT", -1],
|
|
1033
|
-
"dst": ["AZOST", 0, "Azores Summer Time"],
|
|
1034
|
-
"long": "(UTC-01:00) Azores"
|
|
1035
|
-
},
|
|
1036
|
-
"Cape Verde": {
|
|
1037
|
-
"std": ["CVT", -1],
|
|
1038
|
-
"long": "(UTC-01:00) Cabo Verde Is."
|
|
1039
|
-
}
|
|
1040
|
-
};
|
|
1112
|
+
const alternative = matchAlternativeSpellings(input, false);
|
|
1113
|
+
if (alternative) {
|
|
1114
|
+
return alternative
|
|
1115
|
+
}
|
|
1041
1116
|
|
|
1042
|
-
//
|
|
1043
|
-
|
|
1117
|
+
// Explicit separators take precedence over word-pair guesses.
|
|
1118
|
+
if (/[,()]/.test(input)) {
|
|
1119
|
+
return matchSeparatedParts(input)
|
|
1120
|
+
}
|
|
1044
1121
|
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1122
|
+
// Preserve qualifier intersections before trying individual words.
|
|
1123
|
+
const pair = matchWordPairs(input);
|
|
1124
|
+
if (pair) {
|
|
1125
|
+
return pair
|
|
1126
|
+
}
|
|
1127
|
+
// Don't turn arbitrary unknown phrases into matches for one familiar word.
|
|
1128
|
+
if (/&|\b(?:and|st|saint|democratic|republic|of|the|peoples|federal|federated|islamic|plurinational|bolivarian|kingdom)\b/i.test(input)) {
|
|
1129
|
+
return matchAlternativeSpellings(input)
|
|
1130
|
+
}
|
|
1131
|
+
return null
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
// Generated by scripts/build/01-pack.js. Edit data/metas.json instead.
|
|
1135
|
+
var metas = {"British Columbia":{"name":"British Columbia Time","std":["MST",-7,"Mountain Standard Time"],"long":"(UTC-07:00) British Columbia"},"Alberta and Northwest Territories":{"name":"Alberta and Northwest Territories Time","std":["CST",-6,"Central Standard Time"],"long":"(UTC-06:00) Alberta and Northwest Territories"},"Manitoba":{"name":"Manitoba Time","std":["EST",-5,"Eastern Standard Time"],"long":"(UTC-05:00) Manitoba"},"Ulyanovsk":{"std":["+04",4,"Ulyanovsk Time"]},"Astrakhan":{"std":["+04",4,"Astrakhan Time"]},"Tomsk":{"std":["+07",7,"Tomsk Time"]},"Syria":{"std":["+03",3,"Syria Time"]},"Jordan":{"std":["+03",3,"Jordan Time"]},"Bougainville":{"std":["+11",11,"Bougainville Time"]},"Magallanes":{"std":["-03",-3,"Magallanes Time"],"long":"(UTC-03:00) Punta Arenas"},"Galapagos":{"std":["GALT",-6],"long":"(UTC-06:00) Galapagos Islands"},"Hawaii":{"name":"Hawaii Time","std":["HST",-10,"Hawaii Standard Time"],"long":"(UTC-10:00) Hawaii"},"UTC":{"name":"Coordinated Universal Time","std":["UTC",0,"Coordinated Universal Time"],"long":"(UTC+00:00) Coordinated Universal Time"},"Aysen":{"name":"Aysen Time","std":["-03",-3,"Aysen Time"],"long":"(UTC-03:00) Coyhaique"},"Palmer":{"std":["-03",-3,"Palmer Time"],"long":"(UTC-03:00) Palmer"},"Xinjiang":{"std":["+06",6,"Xinjiang Time"],"name":"Xinjiang Time","long":"(UTC+06:00) Xinjiang Time"},"India":{"std":["IST",5.5],"long":"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi"},"China":{"std":["CST",8],"long":"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi"},"Central European":{"std":["CET",1],"dst":["CEST",2,"Central European Summer Time"],"long":"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris"},"Atlantic":{"std":["AST",-4],"dst":["ADT",-3],"long":"(UTC-04:00) Atlantic Time (Canada)"},"Greenwich":{"std":["GMT",0],"long":"(UTC) Coordinated Universal Time"},"Eastern European":{"std":["EET",2],"dst":["EEST",3,"Eastern European Summer Time"]},"Central":{"std":["CST",-6],"dst":["CDT",-5],"long":"(UTC-06:00) Central Time (US & Canada)"},"Eastern":{"std":["EST",-5],"dst":["EDT",-4],"long":"(UTC-05:00) Eastern Time (US & Canada)"},"Argentina":{"std":["ART",-3],"long":"(UTC-03:00) City of Buenos Aires"},"East Africa":{"std":["EAT",3],"long":"(UTC+03:00) Nairobi"},"West Africa":{"std":["WAT",1],"long":"(UTC+01:00) West Central Africa"},"Moscow":{"std":["MSK",3],"long":"(UTC+03:00) Moscow, St. Petersburg"},"Brasilia":{"std":["BRT",-3],"long":"(UTC-03:00) Brasilia"},"Mountain":{"std":["MST",-7],"dst":["MDT",-6],"long":"(UTC-07:00) Mountain Time (US & Canada)"},"Central Africa":{"std":["CAT",2],"long":"(UTC+02:00) Windhoek"},"Arabian":{"std":["AST",3],"long":"(UTC+03:00) Kuwait, Riyadh"},"Alaska":{"std":["AKST",-9],"dst":["AKDT",-8],"long":"(UTC-09:00) Alaska"},"British":{"std":["GMT",0],"dst":["BST",1,"British Summer Time"],"long":"(UTC+00:00) Dublin, Edinburgh, Lisbon, London"},"Irish":{"std":["GMT",0,"Greenwich Mean Time"],"dst":["IST",1,"Irish Standard Time"]},"West Kazakhstan":{"std":["ALMT",5],"long":"(UTC+05:00) Ashgabat, Tashkent"},"Eastern Australia":{"std":["AEST",10],"dst":["AEDT",11,"Australian Eastern Daylight Time"],"long":"(UTC+10:00) Canberra, Melbourne, Sydney"},"Western European":{"std":["WET",0],"dst":["WEST",1,"Western European Summer Time"]},"Indochina":{"std":["ICT",7],"long":"(UTC+07:00) Bangkok, Hanoi, Jakarta"},"Central Mexico":{"long":"(UTC-06:00) Guadalajara, Mexico City, Monterrey","std":["CST",-6]},"South Africa":{"std":["SAST",2],"long":"(UTC+02:00) Harare, Pretoria"},"Krasnoyarsk":{"std":["KRAT",7],"long":"(UTC+07:00) Krasnoyarsk"},"Yakutsk":{"std":["YAKT",9],"long":"(UTC+09:00) Yakutsk"},"Pacific":{"std":["PST",-8],"dst":["PDT",-7],"long":"(UTC-08:00) Pacific Time (US & Canada)"},"Amazon":{"std":["AMT",-4],"long":"(UTC-04:00) Cuiaba"},"Morocco":{"long":"(UTC+00:00) Casablanca","std":["+00",0]},"Gulf":{"std":["GST",4],"long":"(UTC+04:00) Abu Dhabi, Muscat"},"Samara":{"std":["SAMT",4],"long":"(UTC+04:00) Izhevsk, Samara"},"Uzbekistan":{"std":["UZT",5]},"East Kazakhstan":{"std":["ALMT",5],"long":"(UTC+05:00) Astana"},"Omsk":{"std":["OMST",6],"long":"(UTC+06:00) Omsk"},"Western Indonesia":{"std":["WIB",7]},"Ulaanbaatar":{"std":["ULAT",8],"long":"(UTC+08:00) Ulaanbaatar"},"Malaysia":{"std":["MYT",8]},"Korean":{"std":["KST",9],"long":"(UTC+09:00) Seoul"},"Central Australia":{"std":["ACST",9.5],"dst":["ACDT",10.5,"Australian Central Daylight Time"],"long":"(UTC+09:30) Adelaide"},"Brisbane":{"std":["AEST",10]},"Vladivostok":{"std":["VLAT",10],"long":"(UTC+10:00) Vladivostok"},"Chamorro":{"std":["ChST",10],"long":"(UTC+10:00) Guam, Port Moresby"},"Papua New Guinea":{"std":["PGT",10]},"New Zealand":{"std":["NZST",12],"dst":["NZDT",13],"long":"(UTC+12:00) Auckland, Wellington"},"Marshall Islands":{"std":["MHT",12]},"Samoa":{"std":["SST",-11],"long":"(UTC-11:00) American Samoa"},"Mexican Pacific":{"std":["HNPMX",-7],"long":"(UTC-07:00) Hermosillo, La Paz, Mazatlan"},"Colombia":{"std":["COT",-5]},"Acre":{"std":["ACT",-5]},"Chile":{"std":["CLT",-4],"dst":["CLST",-3,"Chile Summer Time"]},"Troll":{"std":["GMT",0],"dst":["+02",2,"Troll Summer Time"]},"East Greenland":{"std":["EGT",-2],"dst":["EGST",-1,"East Greenland Summer Time"]},"Israel":{"std":["IST",2],"dst":["IDT",3],"long":"(UTC+02:00) Jerusalem"},"Turkey":{"std":["TRT",3],"long":"(UTC+03:00) Istanbul"},"Iran":{"std":["IRST",3.5],"long":"(UTC+03:30) Tehran"},"Azerbaijan":{"std":["AZT",4],"long":"(UTC+04:00) Baku"},"Georgia":{"std":["GET",4],"long":"(UTC+04:00) Tbilisi"},"Armenia":{"std":["AMT",4],"long":"(UTC+04:00) Yerevan"},"Seychelles":{"std":["SCT",4]},"Mauritius":{"std":["MUT",4],"long":"(UTC+04:00) Port Louis"},"Réunion":{"std":["RET",4]},"Afghanistan":{"std":["AFT",4.5],"long":"(UTC+04:30) Kabul"},"Mawson":{"std":["MAWT",5]},"Turkmenistan":{"std":["TMT",5]},"Tajikistan":{"std":["TJT",5]},"Pakistan":{"std":["PKT",5],"long":"(UTC+05:00) Islamabad, Karachi"},"Yekaterinburg":{"std":["YEKT",5],"long":"(UTC+05:00) Ekaterinburg"},"French Southern & Antarctic":{"std":["TFT",5]},"Maldives":{"std":["MVT",5]},"Nepal":{"std":["NPT",5.75],"long":"(UTC+05:45) Kathmandu"},"Vostok":{"std":["+05",5]},"Kyrgyzstan":{"std":["KGT",6]},"Bangladesh":{"std":["BST",6],"long":"(UTC+06:00) Dhaka"},"Bhutan":{"std":["BT",6]},"Indian Ocean":{"std":["IOT",6]},"Myanmar":{"std":["MMT",6.5],"long":"(UTC+06:30) Yangon (Rangoon)"},"Cocos Islands":{"std":["CCT",6.5]},"Davis":{"std":["DAVT",7]},"Hovd":{"std":["HOVT",7],"long":"(UTC+07:00) Hovd"},"Novosibirsk":{"std":["NOVT",7],"long":"(UTC+07:00) Novosibirsk"},"Christmas Island":{"std":["CXT",7]},"Brunei Darussalam":{"std":["BNT",8]},"Hong Kong":{"std":["HKT",8]},"Irkutsk":{"std":["IRKT",8],"long":"(UTC+08:00) Irkutsk"},"Central Indonesia":{"std":["WITA",8]},"Philippine":{"std":["PHST",8]},"Singapore":{"std":["SGT",8],"long":"(UTC+08:00) Kuala Lumpur, Singapore"},"Taipei":{"std":["CST",8],"long":"(UTC+08:00) Taipei"},"Western Australia":{"std":["AWST",8],"long":"(UTC+08:00) Perth"},"Australian Central Western":{"std":["ACWST",8.75],"long":"(UTC+08:45) Eucla"},"East Timor":{"std":["TLT",9]},"Eastern Indonesia":{"std":["WIT",9]},"Japan":{"std":["JST",9],"long":"(UTC+09:00) Osaka, Sapporo, Tokyo"},"Palau":{"std":["PWT",9]},"Australian Central":{"std":["ACST",9.5]},"Chuuk":{"std":["CHUT",10]},"Lord Howe":{"std":["LHST",10.5],"dst":["LHDT",11],"long":"(UTC+10:30) Lord Howe Island"},"Casey":{"std":["CAST",8]},"Magadan":{"std":["MAGT",11],"long":"(UTC+11:00) Magadan"},"Sakhalin":{"std":["SAKT",11],"long":"(UTC+11:00) Sakhalin"},"Srednekolymsk":{"std":["SRET",11],"long":"(UTC+11:00) Chokurdakh"},"Vanuatu":{"std":["VUT",11]},"Solomon Islands":{"std":["SBT",11]},"Kosrae":{"std":["KOST",11]},"New Caledonia":{"std":["NCT",11]},"Ponape":{"std":["PONT",11]},"Anadyr":{"std":["ANAT",12],"long":"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky"},"Petropavlovsk-Kamchatski":{"std":["PETT",12],"long":"(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky"},"Fiji":{"std":["FJT",12],"long":"(UTC+12:00) Fiji"},"Tuvalu":{"std":["TVT",12]},"Nauru":{"std":["NRT",12]},"Norfolk Island":{"std":["NFT",11],"dst":["NFDT",12],"long":"(UTC+11:00) Norfolk Island"},"Gilbert Islands":{"std":["GILT",12]},"Wake Island":{"std":["WAKT",12]},"Wallis & Futuna":{"std":["WFT",12]},"Chatham":{"std":["CHAST",12.75],"dst":["CHADT",13.75],"long":"(UTC+12:45) Chatham Islands"},"West Samoa":{"std":["WST",13]},"Phoenix Islands":{"std":["PHOT",13]},"Tokelau":{"std":["TKT",13]},"Tonga":{"std":["TOT",13],"long":"(UTC+13:00) Nuku'alofa"},"Line Islands":{"std":["LINT",14],"long":"(UTC+14:00) Kiritimati Island"},"Niue":{"std":["NUT",-11]},"Cook Islands":{"std":["CKT",-10]},"Tahiti":{"std":["TAHT",-10]},"Marquesas":{"std":["MART",-9.5],"long":"(UTC-09:30) Marquesas Islands"},"Aleutian":{"std":["HST",-10],"dst":["HDT",-9,"Hawaii Daylight Time"]},"Gambier":{"std":["GAMT",-9],"long":"(UTC-09:00) Coordinated Universal Time-09"},"Pitcairn":{"std":["PST",-8],"long":"(UTC-08:00) Coordinated Universal Time-08"},"Easter Island":{"std":["EAST",-6],"dst":["EASST",-5,"Easter Island Summer Time"],"long":"(UTC-06:00) Easter Island"},"Ecuador":{"std":["ECT",-5]},"Cuba":{"std":["HNCU",-5],"dst":["HECU",-4],"long":"(UTC-05:00) Havana"},"Peru":{"std":["PET",-5]},"Paraguay":{"std":["PYT",-3],"long":"(UTC-03:00) Asuncion"},"Venezuela":{"std":["VET",-4],"long":"(UTC-04:00) Caracas"},"Guyana":{"std":["GYT",-4]},"Bolivia":{"std":["BOT",-4]},"Newfoundland":{"std":["HNTN",-3.5],"dst":["HETN",-2.5],"long":"(UTC-03:30) Newfoundland"},"French Guiana":{"std":["GFT",-3]},"West Greenland":{"std":["WGT",-2],"dst":["WGST",-1,"West Greenland Summer Time"],"long":"(UTC-02:00) Greenland"},"St. Pierre & Miquelon":{"std":["HNPM",-3],"dst":["HEPM",-2],"long":"(UTC-03:00) Saint Pierre and Miquelon"},"Uruguay":{"std":["UYT",-3],"long":"(UTC-03:00) Montevideo"},"Suriname":{"std":["SRT",-3]},"Falkland Islands":{"std":["FKST",-3]},"Fernando de Noronha":{"std":["FNT",-2]},"South Georgia":{"std":["GST",-2]},"Azores":{"std":["AZOT",-1],"dst":["AZOST",0,"Azores Summer Time"],"long":"(UTC-01:00) Azores"},"Cape Verde":{"std":["CVT",-1],"long":"(UTC-01:00) Cabo Verde Is."},"Central European Standard":{"name":"Central European Time","std":["CET",1,"Central European Standard Time"],"long":"(UTC+01:00) Central European Standard Time"},"Eastern European Standard":{"name":"Eastern European Time","std":["EET",2,"Eastern European Standard Time"],"long":"(UTC+02:00) Eastern European Standard Time"},"Atlantic Standard":{"name":"Atlantic Time","std":["AST",-4,"Atlantic Standard Time"],"long":"(UTC-04:00) Atlantic Standard Time"},"Central Standard":{"name":"Central Time","std":["CST",-6,"Central Standard Time"],"long":"(UTC-06:00) Central Standard Time"},"Mountain Standard":{"name":"Mountain Time","std":["MST",-7,"Mountain Standard Time"],"long":"(UTC-07:00) Mountain Standard Time"},"Eastern Standard":{"name":"Eastern Time","std":["EST",-5,"Eastern Standard Time"],"long":"(UTC-05:00) Eastern Standard Time"}};
|
|
1136
|
+
|
|
1137
|
+
const formatOffset = (offset) => {
|
|
1138
|
+
const minutes = Math.round(Math.abs(offset) * 60);
|
|
1139
|
+
const hours = String(Math.floor(minutes / 60)).padStart(2, '0');
|
|
1140
|
+
const remainder = String(minutes % 60).padStart(2, '0');
|
|
1141
|
+
return `UTC${offset < 0 ? '-' : '+'}${hours}:${remainder}`
|
|
1142
|
+
};
|
|
1143
|
+
|
|
1144
|
+
/* eslint-disable no-console */
|
|
1145
|
+
|
|
1146
|
+
for (let i = 0; i <= 14; i += 1) {
|
|
1147
|
+
metas[`gmt-${i}`] = {
|
|
1148
|
+
name: `Etc/GMT-${i}`,
|
|
1149
|
+
std: [`GMT-${i}`, i],
|
|
1150
|
+
long: `(${formatOffset(i)}) Coordinated Universal Time`
|
|
1151
|
+
};
|
|
1152
|
+
if (i <= 12) {
|
|
1051
1153
|
metas[`gmt+${i}`] = {
|
|
1052
1154
|
name: `Etc/GMT+${i}`,
|
|
1053
1155
|
std: [`GMT+${i}`, -i],
|
|
1054
|
-
long: `(
|
|
1156
|
+
long: `(${formatOffset(-i)}) Coordinated Universal Time`
|
|
1055
1157
|
};
|
|
1056
1158
|
}
|
|
1159
|
+
}
|
|
1057
1160
|
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
let [abbr, offset] = meta.std;
|
|
1080
|
-
let name = meta.name || `${metaName} Time`;
|
|
1081
|
-
let long = meta.long || `(UTC+${offset}:00) ${name}`;
|
|
1082
|
-
return {
|
|
1083
|
-
name: name,
|
|
1084
|
-
iana: id,
|
|
1085
|
-
standard: { abbr, offset, name: meta.name || `${metaName} Standard Time`, },
|
|
1086
|
-
daylight: dst || null,
|
|
1087
|
-
long: long,
|
|
1088
|
-
}
|
|
1089
|
-
};
|
|
1090
|
-
var display$1 = display;
|
|
1161
|
+
const display = function (id) {
|
|
1162
|
+
if (!id) {
|
|
1163
|
+
return null
|
|
1164
|
+
}
|
|
1165
|
+
if (!zones[id]) {
|
|
1166
|
+
console.error(`missing id ${id}`);
|
|
1167
|
+
return null
|
|
1168
|
+
}
|
|
1169
|
+
const metaName = zones[id].meta;
|
|
1170
|
+
if (!metas[metaName]) {
|
|
1171
|
+
console.error(`missing tz-meta ${metaName}`);
|
|
1172
|
+
}
|
|
1173
|
+
const meta = metas[metaName] || {};
|
|
1174
|
+
let dst = null;
|
|
1175
|
+
if (zones[id].dst && meta.dst) {
|
|
1176
|
+
let [abbr, offset, name] = meta.dst;
|
|
1177
|
+
name = name || `${metaName} Daylight Time`;
|
|
1178
|
+
const [start, end] = zones[id].dst || [];
|
|
1179
|
+
dst = { abbr, offset, name, start, end };
|
|
1180
|
+
}
|
|
1091
1181
|
|
|
1092
|
-
|
|
1182
|
+
const [abbr, offset, standardName] = meta.std;
|
|
1183
|
+
const name = meta.name || `${metaName} Time`;
|
|
1184
|
+
const long = meta.long || `(${formatOffset(offset)}) ${name}`;
|
|
1185
|
+
return {
|
|
1186
|
+
name: name,
|
|
1187
|
+
iana: id,
|
|
1188
|
+
standard: { abbr, offset, name: standardName || meta.name || `${metaName} Standard Time` },
|
|
1189
|
+
daylight: dst || null,
|
|
1190
|
+
long: long
|
|
1191
|
+
}
|
|
1192
|
+
};
|
|
1093
1193
|
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
if (typeof ids === 'string') {
|
|
1097
|
-
ids = [ids];
|
|
1098
|
-
}
|
|
1099
|
-
ids = ids.map((id) => display$1(id));
|
|
1100
|
-
return ids
|
|
1101
|
-
};
|
|
1102
|
-
soft.prototype.version = version;
|
|
1103
|
-
// export { find, display, version }
|
|
1194
|
+
// Generated by scripts/build/02-version.js.
|
|
1195
|
+
var version = '1.7.0';
|
|
1104
1196
|
|
|
1105
|
-
|
|
1197
|
+
const soft = function (str) {
|
|
1198
|
+
if (typeof str !== 'string') {
|
|
1199
|
+
throw new TypeError('timezone-soft expects a string')
|
|
1200
|
+
}
|
|
1201
|
+
let ids = find(str) || [];
|
|
1202
|
+
if (typeof ids === 'string') {
|
|
1203
|
+
ids = [ids];
|
|
1204
|
+
}
|
|
1205
|
+
ids = [...new Set(ids.map(canonicalize))].filter((id) => Object.hasOwn(zones, id));
|
|
1206
|
+
ids = ids.map((id) => display(id));
|
|
1207
|
+
return ids
|
|
1208
|
+
};
|
|
1209
|
+
soft.version = version;
|
|
1210
|
+
soft.prototype.version = version; // retain compatibility with earlier releases
|
|
1106
1211
|
|
|
1107
|
-
|
|
1212
|
+
module.exports = soft;
|