ip_filter 0.8.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.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/CHANGELOG +29 -0
  5. data/Gemfile.lock +117 -0
  6. data/LICENSE +20 -0
  7. data/README.rdoc +232 -0
  8. data/Rakefile +6 -0
  9. data/data/geoip/country_code.yml +255 -0
  10. data/data/geoip/country_code3.yml +255 -0
  11. data/data/geoip/country_continent.yml +255 -0
  12. data/data/geoip/country_name.yml +255 -0
  13. data/data/geoip/time_zone.yml +677 -0
  14. data/lib/geoip.rb +559 -0
  15. data/lib/ip_filter.rb +100 -0
  16. data/lib/ip_filter/cache.rb +30 -0
  17. data/lib/ip_filter/cache/dallistore.rb +39 -0
  18. data/lib/ip_filter/cache/redis.rb +26 -0
  19. data/lib/ip_filter/configuration.rb +47 -0
  20. data/lib/ip_filter/controller/geo_ip_lookup.rb +78 -0
  21. data/lib/ip_filter/lookups/base.rb +60 -0
  22. data/lib/ip_filter/lookups/geoip.rb +41 -0
  23. data/lib/ip_filter/providers/max_mind.rb +52 -0
  24. data/lib/ip_filter/providers/s3.rb +51 -0
  25. data/lib/ip_filter/railtie.rb +23 -0
  26. data/lib/ip_filter/request.rb +14 -0
  27. data/lib/ip_filter/results/base.rb +39 -0
  28. data/lib/ip_filter/results/geoip.rb +19 -0
  29. data/lib/ip_filter/version.rb +3 -0
  30. data/spec/cache/dallistore_spec.rb +16 -0
  31. data/spec/cache/redis_spec.rb +56 -0
  32. data/spec/controller/ip_controller_spec.rb +56 -0
  33. data/spec/fixtures/GeoIP.dat +0 -0
  34. data/spec/fixtures/LICENSE.txt +31 -0
  35. data/spec/fixtures/country.dat +0 -0
  36. data/spec/ip_filter_spec.rb +19 -0
  37. data/spec/providers/max_mind_spec.rb +11 -0
  38. data/spec/providers/s3_spec.rb +11 -0
  39. data/spec/spec_helper.rb +40 -0
  40. data/spec/support/enable_dallistore_cache.rb +15 -0
  41. data/spec/support/enable_redis_cache.rb +15 -0
  42. metadata +85 -0
@@ -0,0 +1,255 @@
1
+ # Ordered list of the English names of the countries, ordered by GeoIP ID
2
+ ---
3
+ - N/A
4
+ - Asia/Pacific Region
5
+ - Europe
6
+ - Andorra
7
+ - United Arab Emirates
8
+ - Afghanistan
9
+ - Antigua and Barbuda
10
+ - Anguilla
11
+ - Albania
12
+ - Armenia
13
+ - Netherlands Antilles
14
+ - Angola
15
+ - Antarctica
16
+ - Argentina
17
+ - American Samoa
18
+ - Austria
19
+ - Australia
20
+ - Aruba
21
+ - Azerbaijan
22
+ - Bosnia and Herzegovina
23
+ - Barbados
24
+ - Bangladesh
25
+ - Belgium
26
+ - Burkina Faso
27
+ - Bulgaria
28
+ - Bahrain
29
+ - Burundi
30
+ - Benin
31
+ - Bermuda
32
+ - Brunei Darussalam
33
+ - Bolivia
34
+ - Brazil
35
+ - Bahamas
36
+ - Bhutan
37
+ - Bouvet Island
38
+ - Botswana
39
+ - Belarus
40
+ - Belize
41
+ - Canada
42
+ - Cocos (Keeling) Islands
43
+ - Congo, the Democratic Republic of the
44
+ - Central African Republic
45
+ - Congo
46
+ - Switzerland
47
+ - Cote D'Ivoire
48
+ - Cook Islands
49
+ - Chile
50
+ - Cameroon
51
+ - China
52
+ - Colombia
53
+ - Costa Rica
54
+ - Cuba
55
+ - Cape Verde
56
+ - Christmas Island
57
+ - Cyprus
58
+ - Czech Republic
59
+ - Germany
60
+ - Djibouti
61
+ - Denmark
62
+ - Dominica
63
+ - Dominican Republic
64
+ - Algeria
65
+ - Ecuador
66
+ - Estonia
67
+ - Egypt
68
+ - Western Sahara
69
+ - Eritrea
70
+ - Spain
71
+ - Ethiopia
72
+ - Finland
73
+ - Fiji
74
+ - Falkland Islands (Malvinas)
75
+ - Micronesia, Federated States of
76
+ - Faroe Islands
77
+ - France
78
+ - France, Metropolitan
79
+ - Gabon
80
+ - United Kingdom
81
+ - Grenada
82
+ - Georgia
83
+ - French Guiana
84
+ - Ghana
85
+ - Gibraltar
86
+ - Greenland
87
+ - Gambia
88
+ - Guinea
89
+ - Guadeloupe
90
+ - Equatorial Guinea
91
+ - Greece
92
+ - South Georgia and the South Sandwich Islands
93
+ - Guatemala
94
+ - Guam
95
+ - Guinea-Bissau
96
+ - Guyana
97
+ - Hong Kong
98
+ - Heard Island and McDonald Islands
99
+ - Honduras
100
+ - Croatia
101
+ - Haiti
102
+ - Hungary
103
+ - Indonesia
104
+ - Ireland
105
+ - Israel
106
+ - India
107
+ - British Indian Ocean Territory
108
+ - Iraq
109
+ - Iran, Islamic Republic of
110
+ - Iceland
111
+ - Italy
112
+ - Jamaica
113
+ - Jordan
114
+ - Japan
115
+ - Kenya
116
+ - Kyrgyzstan
117
+ - Cambodia
118
+ - Kiribati
119
+ - Comoros
120
+ - Saint Kitts and Nevis
121
+ - Korea, Democratic People's Republic of
122
+ - Korea, Republic of
123
+ - Kuwait
124
+ - Cayman Islands
125
+ - Kazakhstan
126
+ - Lao People's Democratic Republic
127
+ - Lebanon
128
+ - Saint Lucia
129
+ - Liechtenstein
130
+ - Sri Lanka
131
+ - Liberia
132
+ - Lesotho
133
+ - Lithuania
134
+ - Luxembourg
135
+ - Latvia
136
+ - Libyan Arab Jamahiriya
137
+ - Morocco
138
+ - Monaco
139
+ - Moldova, Republic of
140
+ - Madagascar
141
+ - Marshall Islands
142
+ - Macedonia, the Former Yugoslav Republic of
143
+ - Mali
144
+ - Myanmar
145
+ - Mongolia
146
+ - Macau
147
+ - Northern Mariana Islands
148
+ - Martinique
149
+ - Mauritania
150
+ - Montserrat
151
+ - Malta
152
+ - Mauritius
153
+ - Maldives
154
+ - Malawi
155
+ - Mexico
156
+ - Malaysia
157
+ - Mozambique
158
+ - Namibia
159
+ - New Caledonia
160
+ - Niger
161
+ - Norfolk Island
162
+ - Nigeria
163
+ - Nicaragua
164
+ - Netherlands
165
+ - Norway
166
+ - Nepal
167
+ - Nauru
168
+ - Niue
169
+ - New Zealand
170
+ - Oman
171
+ - Panama
172
+ - Peru
173
+ - French Polynesia
174
+ - Papua New Guinea
175
+ - Philippines
176
+ - Pakistan
177
+ - Poland
178
+ - Saint Pierre and Miquelon
179
+ - Pitcairn
180
+ - Puerto Rico
181
+ - Palestinian Territory, Occupied
182
+ - Portugal
183
+ - Palau
184
+ - Paraguay
185
+ - Qatar
186
+ - Reunion
187
+ - Romania
188
+ - Russian Federation
189
+ - Rwanda
190
+ - Saudi Arabia
191
+ - Solomon Islands
192
+ - Seychelles
193
+ - Sudan
194
+ - Sweden
195
+ - Singapore
196
+ - Saint Helena
197
+ - Slovenia
198
+ - Svalbard and Jan Mayen
199
+ - Slovakia
200
+ - Sierra Leone
201
+ - San Marino
202
+ - Senegal
203
+ - Somalia
204
+ - Suriname
205
+ - Sao Tome and Principe
206
+ - El Salvador
207
+ - Syrian Arab Republic
208
+ - Swaziland
209
+ - Turks and Caicos Islands
210
+ - Chad
211
+ - French Southern Territories
212
+ - Togo
213
+ - Thailand
214
+ - Tajikistan
215
+ - Tokelau
216
+ - Turkmenistan
217
+ - Tunisia
218
+ - Tonga
219
+ - Timor-Leste
220
+ - Turkey
221
+ - Trinidad and Tobago
222
+ - Tuvalu
223
+ - Taiwan, Province of China
224
+ - Tanzania, United Republic of
225
+ - Ukraine
226
+ - Uganda
227
+ - United States Minor Outlying Islands
228
+ - United States
229
+ - Uruguay
230
+ - Uzbekistan
231
+ - Holy See (Vatican City State)
232
+ - Saint Vincent and the Grenadines
233
+ - Venezuela
234
+ - Virgin Islands, British
235
+ - Virgin Islands, U.S.
236
+ - Viet Nam
237
+ - Vanuatu
238
+ - Wallis and Futuna
239
+ - Samoa
240
+ - Yemen
241
+ - Mayotte
242
+ - Serbia
243
+ - South Africa
244
+ - Zambia
245
+ - Montenegro
246
+ - Zimbabwe
247
+ - Anonymous Proxy
248
+ - Satellite Provider
249
+ - Other
250
+ - Aland Islands
251
+ - Guernsey
252
+ - Isle of Man
253
+ - Jersey
254
+ - Saint Barthelemy
255
+ - Saint Martin
@@ -0,0 +1,677 @@
1
+ # Hash of the timezone codes mapped to timezone name, per zoneinfo
2
+ ---
3
+ UA18: Europe/Zaporozhye
4
+ NZG1: Pacific/Auckland
5
+ KZ12: Asia/Qyzylorda
6
+ PS: Asia/Gaza
7
+ UA19: Europe/Kiev
8
+ NZG2: Pacific/Auckland
9
+ KZ13: Asia/Aqtobe
10
+ KW: Asia/Kuwait
11
+ NZG3: Pacific/Auckland
12
+ KZ14: Asia/Qyzylorda
13
+ KZ15: Asia/Almaty
14
+ KY: America/Cayman
15
+ KZ16: Asia/Aqtobe
16
+ PW: Pacific/Palau
17
+ KZ17: Asia/Almaty
18
+ USMA: America/New_York
19
+ DE: Europe/Berlin
20
+ NA: Africa/Windhoek
21
+ PY: America/Asuncion
22
+ USTX: America/Chicago
23
+ IE: Europe/Dublin
24
+ MX10: America/Mazatlan
25
+ USMD: America/New_York
26
+ NC: Pacific/Noumea
27
+ EC01: Pacific/Galapagos
28
+ MX11: America/Mexico_City
29
+ SA: Asia/Riyadh
30
+ USME: America/New_York
31
+ UY: America/Montevideo
32
+ ZW: Africa/Harare
33
+ MX12: America/Mexico_City
34
+ SB: Pacific/Guadalcanal
35
+ DJ: Africa/Djibouti
36
+ NE: Africa/Niamey
37
+ USHI: Pacific/Honolulu
38
+ EC02: America/Guayaquil
39
+ MX13: America/Mexico_City
40
+ SC: Indian/Mahe
41
+ DK: Europe/Copenhagen
42
+ USWA: America/Los_Angeles
43
+ NF: Pacific/Norfolk
44
+ EC03: America/Guayaquil
45
+ CAPE: America/Halifax
46
+ RU20: Asia/Irkutsk
47
+ MX14: America/Mazatlan
48
+ SD: Africa/Khartoum
49
+ NG: Africa/Lagos
50
+ EC04: America/Guayaquil
51
+ RU21: Europe/Moscow
52
+ MX15: America/Chihuahua
53
+ USMI: America/New_York
54
+ DM: America/Dominica
55
+ EC05: America/Guayaquil
56
+ BR20: America/Fortaleza
57
+ SE: Europe/Stockholm
58
+ UZ01: Asia/Tashkent
59
+ RU70: Europe/Volgograd
60
+ RU22: Europe/Volgograd
61
+ MX16: America/Mexico_City
62
+ CD02: Africa/Kinshasa
63
+ NI: America/Managua
64
+ EC06: America/Guayaquil
65
+ BR21: America/Sao_Paulo
66
+ USCO: America/Denver
67
+ UZ02: Asia/Samarkand
68
+ RU71: Asia/Yekaterinburg
69
+ RU23: Europe/Kaliningrad
70
+ MX17: America/Mexico_City
71
+ DO: America/Santo_Domingo
72
+ EC07: America/Guayaquil
73
+ BR22: America/Recife
74
+ IL: Asia/Jerusalem
75
+ SG: Asia/Singapore
76
+ UZ03: Asia/Tashkent
77
+ RU72: Europe/Moscow
78
+ RU24: Europe/Volgograd
79
+ MX18: America/Mazatlan
80
+ EC08: America/Guayaquil
81
+ BR23: America/Sao_Paulo
82
+ CN01: Asia/Shanghai
83
+ USRI: America/New_York
84
+ IM: Europe/Isle_of_Man
85
+ SH: Atlantic/St_Helena
86
+ RU73: Europe/Samara
87
+ RU25: Europe/Moscow
88
+ MX19: America/Monterrey
89
+ CD05: Africa/Lubumbashi
90
+ NL: Europe/Amsterdam
91
+ EC09: America/Guayaquil
92
+ BR24: America/Porto_Velho
93
+ CN02: Asia/Shanghai
94
+ IN: Asia/Calcutta
95
+ SI: Europe/Ljubljana
96
+ RU26: Asia/Kamchatka
97
+ USMN: America/Chicago
98
+ CD06: Africa/Kinshasa
99
+ BR25: America/Boa_Vista
100
+ CN03: Asia/Shanghai
101
+ IO: Indian/Chagos
102
+ SJ: Arctic/Longyearbyen
103
+ UZ06: Asia/Tashkent
104
+ RU74: Asia/Krasnoyarsk
105
+ RU27: Europe/Volgograd
106
+ USWI: America/Chicago
107
+ BR26: America/Sao_Paulo
108
+ CN04: Asia/Shanghai
109
+ USCT: America/New_York
110
+ SK: Europe/Bratislava
111
+ UZ07: Asia/Samarkand
112
+ RU75: Asia/Novosibirsk
113
+ RU28: Europe/Moscow
114
+ USMO: America/Chicago
115
+ CD08: Africa/Kinshasa
116
+ BR27: America/Sao_Paulo
117
+ CN05: Asia/Harbin
118
+ IQ: Asia/Baghdad
119
+ SL: Africa/Freetown
120
+ UZ08: Asia/Samarkand
121
+ RU76: Europe/Moscow
122
+ RU29: Asia/Novokuznetsk
123
+ ES27: Europe/Madrid
124
+ "NO": Europe/Oslo
125
+ BR28: America/Maceio
126
+ CN06: Asia/Chongqing
127
+ IR: Asia/Tehran
128
+ SM: Europe/San_Marino
129
+ UZ09: Asia/Samarkand
130
+ RU77: Europe/Moscow
131
+ PT02: Europe/Lisbon
132
+ NP: Asia/Katmandu
133
+ BR29: America/Sao_Paulo
134
+ CN07: Asia/Shanghai
135
+ IS: Atlantic/Reykjavik
136
+ SN: Africa/Dakar
137
+ RU78: Asia/Yekaterinburg
138
+ PT03: Europe/Lisbon
139
+ ES29: Europe/Madrid
140
+ CN08: Asia/Harbin
141
+ IT: Europe/Rome
142
+ SO: Africa/Mogadishu
143
+ RU79: Asia/Irkutsk
144
+ PT04: Europe/Lisbon
145
+ NR: Pacific/Nauru
146
+ CN09: Asia/Shanghai
147
+ USMS: America/Chicago
148
+ PT05: Europe/Lisbon
149
+ BA: Europe/Sarajevo
150
+ USMT: America/Denver
151
+ PT06: Europe/Lisbon
152
+ SR: America/Paramaribo
153
+ DZ: Africa/Algiers
154
+ PT07: Europe/Lisbon
155
+ NU: Pacific/Niue
156
+ BB: America/Barbados
157
+ PT08: Europe/Lisbon
158
+ GA: Africa/Libreville
159
+ PT09: Europe/Lisbon
160
+ GB: Europe/London
161
+ BD: Asia/Dhaka
162
+ ST: Africa/Sao_Tome
163
+ BE: Europe/Brussels
164
+ NZE7: Pacific/Auckland
165
+ GD: America/Grenada
166
+ BF: Africa/Ouagadougou
167
+ SV: America/El_Salvador
168
+ LA: Asia/Vientiane
169
+ NZE8: Pacific/Auckland
170
+ USWV: America/New_York
171
+ GE: Asia/Tbilisi
172
+ BG: Europe/Sofia
173
+ LB: Asia/Beirut
174
+ USPA: America/New_York
175
+ GF: America/Cayenne
176
+ CANB: America/Halifax
177
+ BH: Asia/Bahrain
178
+ LC: America/St_Lucia
179
+ NZE9: Pacific/Auckland
180
+ QA: Asia/Qatar
181
+ BI: Africa/Bujumbura
182
+ SY: Asia/Damascus
183
+ GG: Europe/Guernsey
184
+ USAK: America/Anchorage
185
+ BJ: Africa/Porto-Novo
186
+ SZ: Africa/Mbabane
187
+ USWY: America/Denver
188
+ GH: Africa/Accra
189
+ USAL: America/Chicago
190
+ GI: Europe/Gibraltar
191
+ BL: America/St_Barthelemy
192
+ VA: Europe/Vatican
193
+ RU01: Europe/Volgograd
194
+ BM: Atlantic/Bermuda
195
+ RU50: Asia/Yekaterinburg
196
+ RU02: Asia/Irkutsk
197
+ BN: Asia/Brunei
198
+ LI: Europe/Vaduz
199
+ USFL: America/New_York
200
+ VC: America/St_Vincent
201
+ BR01: America/Rio_Branco
202
+ RU51: Europe/Moscow
203
+ RU03: Asia/Novokuznetsk
204
+ AR20: America/Argentina/Rio_Gallegos
205
+ BO: America/La_Paz
206
+ BR02: America/Maceio
207
+ RU04: Asia/Novosibirsk
208
+ ID20: Asia/Makassar
209
+ GM: Africa/Banjul
210
+ AR21: America/Argentina/Buenos_Aires
211
+ LK: Asia/Colombo
212
+ VE: America/Caracas
213
+ BR03: America/Sao_Paulo
214
+ RU52: Europe/Moscow
215
+ RU05: Asia/Vladivostok
216
+ ID21: Asia/Makassar
217
+ GN: Africa/Conakry
218
+ AR22: America/Argentina/Catamarca
219
+ USAR: America/Chicago
220
+ BR04: America/Manaus
221
+ RU53: Asia/Novosibirsk
222
+ RU06: Europe/Moscow
223
+ ID22: Asia/Makassar
224
+ ES51: Africa/Ceuta
225
+ AR23: America/Argentina/Ushuaia
226
+ CANL: America/St_Johns
227
+ CN30: Asia/Chongqing
228
+ VG: America/Tortola
229
+ BR05: America/Bahia
230
+ RU54: Asia/Omsk
231
+ RU07: Europe/Volgograd
232
+ ID23: Asia/Makassar
233
+ ES52: Europe/Madrid
234
+ GP: America/Guadeloupe
235
+ AR24: America/Argentina/Tucuman
236
+ BS: America/Nassau
237
+ CN31: Asia/Chongqing
238
+ BR06: America/Fortaleza
239
+ UA20: Europe/Simferopol
240
+ RU55: Europe/Samara
241
+ RU08: Europe/Samara
242
+ ID24: Asia/Jakarta
243
+ ES53: Atlantic/Canary
244
+ GQ: Africa/Malabo
245
+ BT: Asia/Thimphu
246
+ CN32: Asia/Chongqing
247
+ CASK: America/Regina
248
+ VI: America/St_Thomas
249
+ BR07: America/Sao_Paulo
250
+ UA21: Europe/Kiev
251
+ RU56: Europe/Moscow
252
+ RU09: Europe/Moscow
253
+ ID25: Asia/Pontianak
254
+ ES54: Europe/Madrid
255
+ ES07: Europe/Madrid
256
+ GR: Europe/Athens
257
+ CN33: Asia/Chongqing
258
+ BR08: America/Sao_Paulo
259
+ UA22: Europe/Uzhgorod
260
+ RU57: Europe/Samara
261
+ ID26: Asia/Pontianak
262
+ ES55: Europe/Madrid
263
+ GS: Atlantic/South_Georgia
264
+ UA23: Europe/Kiev
265
+ RU58: Asia/Yekaterinburg
266
+ MY01: Asia/Kuala_Lumpur
267
+ ES56: Europe/Madrid
268
+ BW: Africa/Gaborone
269
+ GT: America/Guatemala
270
+ UA24: Europe/Uzhgorod
271
+ RU59: Asia/Vladivostok
272
+ MY02: Asia/Kuala_Lumpur
273
+ ES57: Europe/Madrid
274
+ USKS: America/Chicago
275
+ LR: Africa/Monrovia
276
+ GU: Pacific/Guam
277
+ UA25: Europe/Uzhgorod
278
+ MY03: Asia/Kuala_Lumpur
279
+ ES58: Europe/Madrid
280
+ USAZ: America/Phoenix
281
+ BY: Europe/Minsk
282
+ LS: Africa/Maseru
283
+ VN: Asia/Phnom_Penh
284
+ UA26: Europe/Zaporozhye
285
+ MY04: Asia/Kuala_Lumpur
286
+ ES59: Europe/Madrid
287
+ CANS: America/Halifax
288
+ BZ: America/Belize
289
+ LT: Europe/Vilnius
290
+ GW: Africa/Bissau
291
+ UA27: Europe/Kiev
292
+ MY05: Asia/Kuala_Lumpur
293
+ CANT: America/Yellowknife
294
+ LU: Europe/Luxembourg
295
+ MY06: Asia/Kuala_Lumpur
296
+ CANU: America/Rankin_Inlet
297
+ LV: Europe/Riga
298
+ CABC: America/Vancouver
299
+ GY: America/Guyana
300
+ MY07: Asia/Kuala_Lumpur
301
+ USDC: America/New_York
302
+ MY08: Asia/Kuala_Lumpur
303
+ USKY: America/New_York
304
+ USUT: America/Denver
305
+ USIA: America/Chicago
306
+ MY09: Asia/Kuala_Lumpur
307
+ USDE: America/New_York
308
+ LY: Africa/Tripoli
309
+ VU: Pacific/Efate
310
+ EE: Europe/Tallinn
311
+ USID: America/Denver
312
+ JE: Europe/Jersey
313
+ USNC: America/New_York
314
+ EG: Africa/Cairo
315
+ EC10: America/Guayaquil
316
+ MX20: America/Mexico_City
317
+ USND: America/Chicago
318
+ EH: Africa/El_Aaiun
319
+ EC11: America/Guayaquil
320
+ MX21: America/Mexico_City
321
+ CAQC: America/Montreal
322
+ USNE: America/Chicago
323
+ EC12: America/Guayaquil
324
+ MX22: America/Mexico_City
325
+ USSC: America/New_York
326
+ MX23: America/Cancun
327
+ USSD: America/Chicago
328
+ TC: America/Grand_Turk
329
+ EC13: America/Guayaquil
330
+ RU30: Asia/Vladivostok
331
+ MX24: America/Mexico_City
332
+ TD: Africa/Ndjamena
333
+ USNH: America/New_York
334
+ CD10: Africa/Lubumbashi
335
+ EC14: America/Guayaquil
336
+ UZ10: Asia/Samarkand
337
+ RU31: Asia/Krasnoyarsk
338
+ MX25: America/Mazatlan
339
+ CD11: Africa/Lubumbashi
340
+ AR01: America/Argentina/Buenos_Aires
341
+ EC15: America/Guayaquil
342
+ BR30: America/Recife
343
+ RU80: Asia/Yekaterinburg
344
+ RU32: Asia/Omsk
345
+ MX26: America/Hermosillo
346
+ ID01: Asia/Pontianak
347
+ TF: Indian/Kerguelen
348
+ USNJ: America/New_York
349
+ CD12: Africa/Lubumbashi
350
+ AR02: America/Argentina/Catamarca
351
+ USIL: America/Chicago
352
+ BR31: America/Araguaina
353
+ UZ12: Asia/Samarkand
354
+ RU81: Europe/Samara
355
+ RU33: Asia/Yekaterinburg
356
+ MX27: America/Merida
357
+ ID02: Asia/Makassar
358
+ ES31: Europe/Madrid
359
+ TG: Africa/Lome
360
+ AR03: America/Argentina/Tucuman
361
+ EC17: America/Guayaquil
362
+ CN10: Asia/Shanghai
363
+ UZ13: Asia/Tashkent
364
+ RU82: Asia/Irkutsk
365
+ RU34: Asia/Yekaterinburg
366
+ MX28: America/Monterrey
367
+ ID03: Asia/Jakarta
368
+ ES32: Europe/Madrid
369
+ JM: America/Jamaica
370
+ TH: Asia/Bangkok
371
+ AR04: America/Argentina/Rio_Gallegos
372
+ USIN: America/Indianapolis
373
+ EC18: America/Guayaquil
374
+ YE: Asia/Aden
375
+ CN11: Asia/Chongqing
376
+ UZ14: Asia/Tashkent
377
+ RU83: Europe/Moscow
378
+ RU35: Asia/Yekaterinburg
379
+ MX29: America/Mexico_City
380
+ ID04: Asia/Jakarta
381
+ USNM: America/Denver
382
+ AR05: America/Argentina/Cordoba
383
+ EC19: America/Guayaquil
384
+ CN12: Asia/Shanghai
385
+ UA01: Europe/Kiev
386
+ RU84: Europe/Volgograd
387
+ RU36: Asia/Anadyr
388
+ ES34: Europe/Madrid
389
+ JO: Asia/Amman
390
+ TJ: Asia/Dushanbe
391
+ ER: Africa/Asmera
392
+ AR06: America/Argentina/Tucuman
393
+ OM: Asia/Muscat
394
+ CN13: Asia/Urumqi
395
+ UA02: Europe/Kiev
396
+ RU37: Europe/Moscow
397
+ ID05: Asia/Jakarta
398
+ TK: Pacific/Fakaofo
399
+ AR07: America/Argentina/Buenos_Aires
400
+ CN14: Asia/Chongqing
401
+ JP: Asia/Tokyo
402
+ TL: Asia/Dili
403
+ UA03: Europe/Uzhgorod
404
+ RU85: Europe/Moscow
405
+ RU38: Europe/Volgograd
406
+ PT10: Atlantic/Madeira
407
+ ID06: Asia/Jakarta
408
+ ET: Africa/Addis_Ababa
409
+ AR08: America/Argentina/Buenos_Aires
410
+ CN15: Asia/Chongqing
411
+ UA04: Europe/Zaporozhye
412
+ RU86: Europe/Moscow
413
+ RU39: Asia/Krasnoyarsk
414
+ PT11: Europe/Lisbon
415
+ ID07: Asia/Jakarta
416
+ TM: Asia/Ashgabat
417
+ AR09: America/Argentina/Tucuman
418
+ CN16: Asia/Chongqing
419
+ UA05: Europe/Zaporozhye
420
+ RU87: Asia/Novosibirsk
421
+ ID08: Asia/Jakarta
422
+ TN: Africa/Tunis
423
+ UA06: Europe/Uzhgorod
424
+ RU88: Europe/Moscow
425
+ PT13: Europe/Lisbon
426
+ ID09: Asia/Jayapura
427
+ ES39: Europe/Madrid
428
+ TO: Pacific/Tongatapu
429
+ CN18: Asia/Chongqing
430
+ UA07: Europe/Zaporozhye
431
+ RU89: Asia/Vladivostok
432
+ PT14: Europe/Lisbon
433
+ KZ01: Asia/Almaty
434
+ CN19: Asia/Harbin
435
+ UA08: Europe/Simferopol
436
+ NZF1: Pacific/Auckland
437
+ KZ02: Asia/Almaty
438
+ UA09: Europe/Kiev
439
+ PT16: Europe/Lisbon
440
+ NZF2: Pacific/Auckland
441
+ KZ03: Asia/Qyzylorda
442
+ TR: Asia/Istanbul
443
+ PT17: Europe/Lisbon
444
+ NZF3: Pacific/Auckland
445
+ KZ04: Asia/Aqtobe
446
+ USNV: America/Los_Angeles
447
+ USGA: America/New_York
448
+ AU01: Australia/Canberra
449
+ PT18: Europe/Lisbon
450
+ NZF4: Pacific/Auckland
451
+ KZ05: Asia/Qyzylorda
452
+ AU02: Australia/NSW
453
+ CC: Indian/Cocos
454
+ PT19: Europe/Lisbon
455
+ NZF5: Pacific/Auckland
456
+ KZ06: Asia/Aqtau
457
+ TT: America/Port_of_Spain
458
+ AU03: Australia/North
459
+ KZ07: Asia/Oral
460
+ USNY: America/New_York
461
+ AU04: Australia/Queensland
462
+ USLA: America/Chicago
463
+ NZF7: Pacific/Chatham
464
+ KZ08: Asia/Qyzylorda
465
+ TV: Pacific/Funafuti
466
+ MA: Africa/Casablanca
467
+ AU05: Australia/South
468
+ YT: Indian/Mayotte
469
+ CF: Africa/Bangui
470
+ NZF8: Pacific/Auckland
471
+ KZ09: Asia/Aqtau
472
+ TW: Asia/Taipei
473
+ AU06: Australia/Tasmania
474
+ YU: Europe/Belgrade
475
+ CG: Africa/Brazzaville
476
+ NZF9: Pacific/Auckland
477
+ MC: Europe/Monaco
478
+ AU07: Australia/Victoria
479
+ CH: Europe/Zurich
480
+ MX01: America/Mexico_City
481
+ MD: Europe/Chisinau
482
+ AU08: Australia/West
483
+ CI: Africa/Abidjan
484
+ MX02: America/Tijuana
485
+ ME: Europe/Podgorica
486
+ TZ: Africa/Dar_es_Salaam
487
+ MX03: America/Hermosillo
488
+ USVA: America/New_York
489
+ MF: America/Marigot
490
+ CK: Pacific/Rarotonga
491
+ RU10: Europe/Moscow
492
+ MX04: America/Merida
493
+ MG: Indian/Antananarivo
494
+ CL: Chile/Continental
495
+ RU11: Asia/Irkutsk
496
+ MX05: America/Mexico_City
497
+ RE: Indian/Reunion
498
+ CM: Africa/Lagos
499
+ RU60: Europe/Kaliningrad
500
+ MX06: America/Chihuahua
501
+ BR11: America/Campo_Grande
502
+ HK: Asia/Hong_Kong
503
+ RU61: Europe/Volgograd
504
+ RU13: Asia/Yekaterinburg
505
+ MX07: America/Monterrey
506
+ CO: America/Bogota
507
+ RU62: Europe/Moscow
508
+ RU14: Asia/Irkutsk
509
+ MX08: America/Mexico_City
510
+ ID30: Asia/Jakarta
511
+ MK: Europe/Skopje
512
+ BR13: America/Belem
513
+ RU15: Asia/Anadyr
514
+ MX09: America/Mexico_City
515
+ ID31: Asia/Makassar
516
+ ES60: Europe/Madrid
517
+ ML: Africa/Bamako
518
+ WF: Pacific/Wallis
519
+ BR14: America/Cuiaba
520
+ HN: America/Tegucigalpa
521
+ RU63: Asia/Yakutsk
522
+ RU16: Europe/Samara
523
+ BR15: America/Sao_Paulo
524
+ CR: America/Costa_Rica
525
+ RU64: Asia/Sakhalin
526
+ RU17: Europe/Volgograd
527
+ ID33: Asia/Jakarta
528
+ BR16: America/Belem
529
+ MM: Asia/Rangoon
530
+ RU65: Europe/Samara
531
+ RU18: Asia/Krasnoyarsk
532
+ BR17: America/Recife
533
+ CAON: America/Rainy_River
534
+ MN: Asia/Choibalsan
535
+ RU66: Europe/Moscow
536
+ BR18: America/Sao_Paulo
537
+ HR: Europe/Zagreb
538
+ CU: America/Havana
539
+ MO: Asia/Macao
540
+ RU67: Europe/Samara
541
+ CV: Atlantic/Cape_Verde
542
+ MP: Pacific/Saipan
543
+ RU68: Europe/Volgograd
544
+ MY11: Asia/Kuching
545
+ HT: America/Port-au-Prince
546
+ RO: Europe/Bucharest
547
+ MQ: America/Martinique
548
+ RU69: Europe/Moscow
549
+ MY12: Asia/Kuala_Lumpur
550
+ HU: Europe/Budapest
551
+ CX: Indian/Christmas
552
+ MR: Africa/Nouakchott
553
+ MY13: Asia/Kuala_Lumpur
554
+ CY: Asia/Nicosia
555
+ MS: America/Montserrat
556
+ MY14: Asia/Kuala_Lumpur
557
+ CZ: Europe/Prague
558
+ MT: Europe/Malta
559
+ MY15: Asia/Kuching
560
+ MU: Indian/Mauritius
561
+ MY16: Asia/Kuching
562
+ RS: Europe/Belgrade
563
+ MV: Indian/Maldives
564
+ GL01: America/Thule
565
+ AD: Europe/Andorra
566
+ MW: Africa/Blantyre
567
+ GL02: America/Godthab
568
+ WS: Pacific/Samoa
569
+ AE: Asia/Dubai
570
+ USVT: America/New_York
571
+ GL03: America/Godthab
572
+ AF: Asia/Kabul
573
+ AG: America/Antigua
574
+ RW: Africa/Kigali
575
+ CAYT: America/Whitehorse
576
+ MZ: Africa/Maputo
577
+ CAMB: America/Winnipeg
578
+ PA: America/Panama
579
+ AI: America/Anguilla
580
+ EC20: America/Guayaquil
581
+ KE: Africa/Nairobi
582
+ MX30: America/Mexico_City
583
+ MX31: America/Merida
584
+ EC22: America/Guayaquil
585
+ AL: Europe/Tirane
586
+ KG: Asia/Bishkek
587
+ FI: Europe/Helsinki
588
+ MX32: America/Monterrey
589
+ PE: America/Lima
590
+ AM: Asia/Yerevan
591
+ KH: Asia/Phnom_Penh
592
+ FJ: Pacific/Fiji
593
+ PF: Pacific/Marquesas
594
+ RU40: Asia/Yekaterinburg
595
+ AN: America/Curacao
596
+ KI: Pacific/Tarawa
597
+ FK: Atlantic/Stanley
598
+ PG: Pacific/Port_Moresby
599
+ AO: Africa/Luanda
600
+ ZA: Africa/Johannesburg
601
+ USOH: America/New_York
602
+ AR10: America/Argentina/Jujuy
603
+ RU41: Europe/Moscow
604
+ ID10: Asia/Jakarta
605
+ PH: Asia/Manila
606
+ AR11: America/Argentina/San_Luis
607
+ RU42: Europe/Moscow
608
+ ID11: Asia/Pontianak
609
+ AR12: America/Argentina/La_Rioja
610
+ RU43: Europe/Moscow
611
+ ID12: Asia/Makassar
612
+ CN20: Asia/Harbin
613
+ UG: Africa/Kampala
614
+ USOK: America/Chicago
615
+ FO: Atlantic/Faeroe
616
+ AR13: America/Argentina/Mendoza
617
+ RU44: Asia/Magadan
618
+ ID13: Asia/Makassar
619
+ AS: US/Samoa
620
+ CN21: Asia/Chongqing
621
+ KM: Indian/Comoro
622
+ AR14: America/Argentina/Buenos_Aires
623
+ PK: Asia/Karachi
624
+ UA10: Europe/Zaporozhye
625
+ RU45: Europe/Samara
626
+ ID14: Asia/Makassar
627
+ AT: Europe/Vienna
628
+ CN22: Asia/Harbin
629
+ KN: America/St_Kitts
630
+ AR15: America/Argentina/San_Luis
631
+ PL: Europe/Warsaw
632
+ UA11: Europe/Simferopol
633
+ RU46: Europe/Samara
634
+ ID15: Asia/Jakarta
635
+ CN23: Asia/Shanghai
636
+ FR: Europe/Paris
637
+ AR16: America/Argentina/Buenos_Aires
638
+ PM: America/Miquelon
639
+ RU47: Europe/Moscow
640
+ CN24: Asia/Chongqing
641
+ KP: Asia/Pyongyang
642
+ AR17: America/Argentina/Salta
643
+ PN: Pacific/Pitcairn
644
+ UA13: Europe/Kiev
645
+ RU48: Europe/Moscow
646
+ PT20: Europe/Lisbon
647
+ ID16: Asia/Makassar
648
+ AW: America/Aruba
649
+ CN25: Asia/Shanghai
650
+ AR18: America/Argentina/San_Juan
651
+ UA14: Europe/Zaporozhye
652
+ RU49: Europe/Moscow
653
+ PT21: Europe/Lisbon
654
+ NZ85: Pacific/Auckland
655
+ ID17: Asia/Makassar
656
+ AX: Europe/Mariehamn
657
+ CN26: Asia/Chongqing
658
+ USTN: America/Chicago
659
+ KR: Asia/Seoul
660
+ AR19: America/Argentina/San_Luis
661
+ UA15: Europe/Uzhgorod
662
+ PT22: Europe/Lisbon
663
+ ID18: Asia/Makassar
664
+ UA16: Europe/Zaporozhye
665
+ KZ10: Asia/Qyzylorda
666
+ ID19: Asia/Pontianak
667
+ AZ: Asia/Baku
668
+ CN28: Asia/Shanghai
669
+ USOR: America/Los_Angeles
670
+ UA17: Europe/Simferopol
671
+ KZ11: Asia/Almaty
672
+ ZM: Africa/Lusaka
673
+ CN29: Asia/Chongqing
674
+ USCA: America/Los_Angeles
675
+ CAAB: America/Edmonton
676
+ FX: Europe/Paris
677
+ PR: America/Puerto_Rico