blob: 37c466ae110b6beb192963ab7afdcb7c53dd3ac2 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
#include "exprs/timezone_db.h"
#include <boost/date_time/compiler_config.hpp>
#include <boost/date_time/local_time/posix_time_zone.hpp>
#include <boost/filesystem.hpp>
#include "exprs/timestamp-functions.h"
#include "gutil/strings/substitute.h"
#include "common/names.h"
using boost::local_time::tz_database;
using boost::local_time::time_zone_ptr;
using boost::local_time::posix_time_zone;
DECLARE_string(local_library_dir);
namespace impala {
tz_database TimezoneDatabase::tz_database_;
vector<string> TimezoneDatabase::tz_region_list_;
const time_zone_ptr TimezoneDatabase::TIMEZONE_MSK_PRE_2011_DST(time_zone_ptr(
new posix_time_zone(string("MSK+03MSK+01,M3.5.0/02:00:00,M10.5.0/03:00:00"))));
const time_zone_ptr TimezoneDatabase::TIMEZONE_MSK_PRE_2014(time_zone_ptr(
new posix_time_zone(string("MSK+04"))));
const char* TimezoneDatabase::TIMEZONE_DATABASE_STR = "\"ID\",\"STD ABBR\",\"STD NAME\",\"DST ABBR\",\"DST NAME\",\"GMT offset\",\"DST adjustment\",\"DST Start Date rule\",\"Start time\",\"DST End date rule\",\"End time\"\n\
\"ACT\",\"ACST\",\"Australian Central Standard Time (Northern Territory)\",\"\",\"\",\"+09:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"AET\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"AGT\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"ART\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;4;4\",\"+00:00:00\",\"-1;4;9\",\"+24:00:00\"\n\
\"AST\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Africa/Abidjan\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Accra\",\"GMT\",\"Ghana Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Addis_Ababa\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Algiers\",\"CET\",\"Central European Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Asmara\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Asmera\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Bamako\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Bangui\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Banjul\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Bissau\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Blantyre\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Brazzaville\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Bujumbura\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Cairo\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;4;4\",\"+00:00:00\",\"-1;4;9\",\"+24:00:00\"\n\
\"Africa/Casablanca\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+02:00:00\",\"-1;0;10\",\"+03:00:00\"\n\
\"Africa/Ceuta\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Africa/Conakry\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Dakar\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Dar_es_Salaam\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Djibouti\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Douala\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/El_Aaiun\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+02:00:00\",\"-1;0;10\",\"+03:00:00\"\n\
\"Africa/Freetown\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Gaborone\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Harare\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Johannesburg\",\"SAST\",\"South Africa Standard Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Juba\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Kampala\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Khartoum\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Kigali\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Kinshasa\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Lagos\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Libreville\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Lome\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Luanda\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Lubumbashi\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Lusaka\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Malabo\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Maputo\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Maseru\",\"SAST\",\"South Africa Standard Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Mbabane\",\"SAST\",\"South Africa Standard Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Mogadishu\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Monrovia\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Nairobi\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Ndjamena\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Niamey\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Nouakchott\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Ouagadougou\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Porto-Novo\",\"WAT\",\"Western African Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Sao_Tome\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Timbuktu\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Tripoli\",\"EET\",\"Eastern European Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Tunis\",\"CET\",\"Central European Time\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Africa/Windhoek\",\"WAT\",\"Western African Time\",\"WAST\",\"Western African Summer Time\",\"+01:00:00\",\"+01:00:00\",\"1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"America/Adak\",\"HAST\",\"Hawaii-Aleutian Standard Time\",\"HADT\",\"Hawaii-Aleutian Daylight Time\",\"-10:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Anchorage\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Anguilla\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Antigua\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Araguaina\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Buenos_Aires\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Catamarca\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/ComodRivadavia\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Cordoba\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Jujuy\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/La_Rioja\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Mendoza\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Rio_Gallegos\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Salta\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/San_Juan\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/San_Luis\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Tucuman\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Argentina/Ushuaia\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Aruba\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Asuncion\",\"PYT\",\"Paraguay Time\",\"PYST\",\"Paraguay Summer Time\",\"-04:00:00\",\"+01:00:00\",\"1;0;10\",\"+00:00:00\",\"4;0;3\",\"+00:00:00\"\n\
\"America/Atikokan\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Atka\",\"HAST\",\"Hawaii-Aleutian Standard Time\",\"HADT\",\"Hawaii-Aleutian Daylight Time\",\"-10:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Bahia\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Bahia_Banderas\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Barbados\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Belem\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Belize\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Blanc-Sablon\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Boa_Vista\",\"AMT\",\"Amazon Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Bogota\",\"COT\",\"Colombia Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Boise\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Buenos_Aires\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Cambridge_Bay\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Campo_Grande\",\"AMT\",\"Amazon Time\",\"AMST\",\"Amazon Summer Time\",\"-04:00:00\",\"+01:00:00\",\"3;0;10\",\"+00:00:00\",\"3;0;2\",\"+00:00:00\"\n\
\"America/Cancun\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Caracas\",\"VET\",\"Venezuela Time\",\"\",\"\",\"-04:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Catamarca\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Cayenne\",\"GFT\",\"French Guiana Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Cayman\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Chicago\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Chihuahua\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Coral_Harbour\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Cordoba\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Costa_Rica\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Creston\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Cuiaba\",\"AMT\",\"Amazon Time\",\"AMST\",\"Amazon Summer Time\",\"-04:00:00\",\"+01:00:00\",\"3;0;10\",\"+00:00:00\",\"3;0;2\",\"+00:00:00\"\n\
\"America/Curacao\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Danmarkshavn\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Dawson\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Dawson_Creek\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Denver\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Detroit\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Dominica\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Edmonton\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Eirunepe\",\"ACT\",\"Acre Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/El_Salvador\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Ensenada\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Fort_Wayne\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Fortaleza\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Glace_Bay\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Godthab\",\"WGT\",\"Western Greenland Time\",\"WGST\",\"Western Greenland Summer Time\",\"-03:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"America/Goose_Bay\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Grand_Turk\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Grenada\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Guadeloupe\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Guatemala\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Guayaquil\",\"ECT\",\"Ecuador Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Guyana\",\"GYT\",\"Guyana Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Halifax\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Havana\",\"CST\",\"Cuba Standard Time\",\"CDT\",\"Cuba Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+00:00:00\",\"1;0;11\",\"+00:00:00\"\n\
\"America/Hermosillo\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Indiana/Indianapolis\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Knox\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Marengo\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Petersburg\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Tell_City\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Vevay\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Vincennes\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indiana/Winamac\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Indianapolis\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Inuvik\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Iqaluit\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Jamaica\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Jujuy\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Juneau\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Kentucky/Louisville\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Kentucky/Monticello\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Knox_IN\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Kralendijk\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/La_Paz\",\"BOT\",\"Bolivia Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Lima\",\"PET\",\"Peru Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Los_Angeles\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Louisville\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Lower_Princes\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Maceio\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Managua\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Manaus\",\"AMT\",\"Amazon Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Marigot\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Martinique\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Matamoros\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Mazatlan\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Mendoza\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Menominee\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Merida\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Metlakatla\",\"PST\",\"Pacific Standard Time\",\"\",\"\",\"-08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Mexico_City\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Miquelon\",\"PMST\",\"Pierre & Miquelon Standard Time\",\"PMDT\",\"Pierre & Miquelon Daylight Time\",\"-03:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Moncton\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Monterrey\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Montevideo\",\"UYT\",\"Uruguay Time\",\"UYST\",\"Uruguay Summer Time\",\"-03:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"2;0;3\",\"+02:00:00\"\n\
\"America/Montreal\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Montserrat\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Nassau\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/New_York\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Nipigon\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Nome\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Noronha\",\"FNT\",\"Fernando de Noronha Time\",\"\",\"\",\"-02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/North_Dakota/Beulah\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/North_Dakota/Center\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/North_Dakota/New_Salem\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Ojinaga\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Panama\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Pangnirtung\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Paramaribo\",\"SRT\",\"Suriname Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Phoenix\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Port-au-Prince\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Port_of_Spain\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Porto_Acre\",\"ACT\",\"Acre Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Porto_Velho\",\"AMT\",\"Amazon Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Puerto_Rico\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Rainy_River\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Rankin_Inlet\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Recife\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Regina\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Resolute\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Rio_Branco\",\"ACT\",\"Acre Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Rosario\",\"ART\",\"Argentine Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Santa_Isabel\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"America/Santarem\",\"BRT\",\"Brasilia Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Santiago\",\"CLT\",\"Chile Time\",\"CLST\",\"Chile Summer Time\",\"-04:00:00\",\"+01:00:00\",\"1;0;9\",\"+04:00:00\",\"4;0;4\",\"+03:00:00\"\n\
\"America/Santo_Domingo\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Sao_Paulo\",\"BRT\",\"Brasilia Time\",\"BRST\",\"Brasilia Summer Time\",\"-03:00:00\",\"+01:00:00\",\"3;0;10\",\"+00:00:00\",\"3;0;2\",\"+00:00:00\"\n\
\"America/Scoresbysund\",\"EGT\",\"Eastern Greenland Time\",\"EGST\",\"Eastern Greenland Summer Time\",\"-01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"America/Shiprock\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Sitka\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/St_Barthelemy\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/St_Johns\",\"NST\",\"Newfoundland Standard Time\",\"NDT\",\"Newfoundland Daylight Time\",\"-03:30:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/St_Kitts\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/St_Lucia\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/St_Thomas\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/St_Vincent\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Swift_Current\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Tegucigalpa\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Thule\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Thunder_Bay\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Tijuana\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Toronto\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Tortola\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Vancouver\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Virgin\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"America/Whitehorse\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Winnipeg\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Yakutat\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"America/Yellowknife\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Antarctica/Casey\",\"AWST\",\"Australian Western Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/Davis\",\"DAVT\",\"Davis Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/DumontDUrville\",\"DDUT\",\"Dumont-d'Urville Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/Macquarie\",\"MIST\",\"Macquarie Island Standard Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/Mawson\",\"MAWT\",\"Mawson Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/McMurdo\",\"NZST\",\"New Zealand Standard Time\",\"NZDT\",\"New Zealand Daylight Time\",\"+12:00:00\",\"+01:00:00\",\"-1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Antarctica/Palmer\",\"CLT\",\"Chile Time\",\"CLST\",\"Chile Summer Time\",\"-04:00:00\",\"+01:00:00\",\"1;0;9\",\"+04:00:00\",\"4;0;4\",\"+03:00:00\"\n\
\"Antarctica/Rothera\",\"ROTT\",\"Rothera Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/South_Pole\",\"NZST\",\"New Zealand Standard Time\",\"NZDT\",\"New Zealand Daylight Time\",\"+12:00:00\",\"+01:00:00\",\"-1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Antarctica/Syowa\",\"SYOT\",\"Syowa Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Antarctica/Troll\",\"UTC\",\"Coordinated Universal Time\",\"CEST\",\"Central European Summer Time\",\"+00:00:00\",\"+02:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Antarctica/Vostok\",\"VOST\",\"Vostok Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Arctic/Longyearbyen\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Asia/Aden\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Almaty\",\"ALMT\",\"Alma-Ata Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Amman\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;5;3\",\"+24:00:00\",\"-1;5;10\",\"+00:00:00\"\n\
\"Asia/Anadyr\",\"ANAT\",\"Anadyr Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Aqtau\",\"AQTT\",\"Aqtau Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Aqtobe\",\"AQTT\",\"Aqtobe Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ashgabat\",\"TMT\",\"Turkmenistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ashkhabad\",\"TMT\",\"Turkmenistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Baghdad\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Bahrain\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Baku\",\"AZT\",\"Azerbaijan Time\",\"AZST\",\"Azerbaijan Summer Time\",\"+04:00:00\",\"+01:00:00\",\"-1;0;3\",\"+04:00:00\",\"-1;0;10\",\"+05:00:00\"\n\
\"Asia/Bangkok\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Beirut\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+00:00:00\",\"-1;0;10\",\"+00:00:00\"\n\
\"Asia/Bishkek\",\"KGT\",\"Kirgizstan Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Brunei\",\"BNT\",\"Brunei Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Calcutta\",\"IST\",\"India Standard Time\",\"\",\"\",\"+05:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Chita\",\"IRKT\",\"Irkutsk Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Choibalsan\",\"CHOT\",\"Choibalsan Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Chongqing\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Chungking\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Colombo\",\"IST\",\"India Standard Time\",\"\",\"\",\"+05:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Dacca\",\"BDT\",\"Bangladesh Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Damascus\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;5;3\",\"+00:00:00\",\"-1;5;10\",\"+00:00:00\"\n\
\"Asia/Dhaka\",\"BDT\",\"Bangladesh Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Dili\",\"TLT\",\"Timor-Leste Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Dubai\",\"GST\",\"Gulf Standard Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Dushanbe\",\"TJT\",\"Tajikistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Gaza\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;5;3\",\"+24:00:00\",\"4;5;9\",\"+00:00:00\"\n\
\"Asia/Harbin\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Hebron\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;5;3\",\"+24:00:00\",\"4;5;9\",\"+00:00:00\"\n\
\"Asia/Ho_Chi_Minh\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Hong_Kong\",\"HKT\",\"Hong Kong Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Hovd\",\"HOVT\",\"Hovd Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Irkutsk\",\"IRKT\",\"Irkutsk Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Istanbul\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Asia/Jakarta\",\"WIB\",\"West Indonesia Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Jayapura\",\"WIT\",\"East Indonesia Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Jerusalem\",\"IST\",\"Israel Standard Time\",\"IDT\",\"Israel Daylight Time\",\"+02:00:00\",\"+01:00:00\",\"4;5;3\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"Asia/Kabul\",\"AFT\",\"Afghanistan Time\",\"\",\"\",\"+04:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kamchatka\",\"PETT\",\"Petropavlovsk-Kamchatski Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Karachi\",\"PKT\",\"Pakistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kashgar\",\"XJT\",\"Xinjiang Standard Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kathmandu\",\"NPT\",\"Nepal Time\",\"\",\"\",\"+05:45:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Katmandu\",\"NPT\",\"Nepal Time\",\"\",\"\",\"+05:45:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Khandyga\",\"YAKT\",\"Khandyga Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kolkata\",\"IST\",\"India Standard Time\",\"\",\"\",\"+05:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Krasnoyarsk\",\"KRAT\",\"Krasnoyarsk Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kuala_Lumpur\",\"MYT\",\"Malaysia Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kuching\",\"MYT\",\"Malaysia Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Kuwait\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Macao\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Macau\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Magadan\",\"MAGT\",\"Magadan Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Makassar\",\"WITA\",\"Central Indonesia Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Manila\",\"PHT\",\"Philippines Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Muscat\",\"GST\",\"Gulf Standard Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Nicosia\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Asia/Novokuznetsk\",\"KRAT\",\"Krasnoyarsk Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Novosibirsk\",\"NOVT\",\"Novosibirsk Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Omsk\",\"OMST\",\"Omsk Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Oral\",\"ORAT\",\"Oral Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Phnom_Penh\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Pontianak\",\"WIB\",\"West Indonesia Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Pyongyang\",\"KST\",\"Korea Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Qatar\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Qyzylorda\",\"QYZT\",\"Qyzylorda Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Rangoon\",\"MMT\",\"Myanmar Time\",\"\",\"\",\"+06:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Riyadh\",\"AST\",\"Arabia Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Riyadh87\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Riyadh88\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Riyadh89\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Saigon\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Sakhalin\",\"SAKT\",\"Sakhalin Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Samarkand\",\"UZT\",\"Uzbekistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Seoul\",\"KST\",\"Korea Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Shanghai\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Singapore\",\"SGT\",\"Singapore Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Srednekolymsk\",\"SRET\",\"Srednekolymsk Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Taipei\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Tashkent\",\"UZT\",\"Uzbekistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Tbilisi\",\"GET\",\"Georgia Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Tehran\",\"IRST\",\"Iran Standard Time\",\"IRDT\",\"Iran Daylight Time\",\"+03:30:00\",\"+01:00:00\",\"4;0;3\",\"+00:00:00\",\"4;0;9\",\"+00:00:00\"\n\
\"Asia/Tel_Aviv\",\"IST\",\"Israel Standard Time\",\"IDT\",\"Israel Daylight Time\",\"+02:00:00\",\"+01:00:00\",\"4;5;3\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"Asia/Thimbu\",\"BTT\",\"Bhutan Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Thimphu\",\"BTT\",\"Bhutan Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Tokyo\",\"JST\",\"Japan Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ujung_Pandang\",\"WITA\",\"Central Indonesia Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ulaanbaatar\",\"ULAT\",\"Ulaanbaatar Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ulan_Bator\",\"ULAT\",\"Ulaanbaatar Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Urumqi\",\"XJT\",\"Xinjiang Standard Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Ust-Nera\",\"VLAT\",\"Ust-Nera Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Vientiane\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Vladivostok\",\"VLAT\",\"Vladivostok Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Yakutsk\",\"YAKT\",\"Yakutsk Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Yekaterinburg\",\"YEKT\",\"Yekaterinburg Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Asia/Yerevan\",\"AMT\",\"Armenia Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Atlantic/Azores\",\"AZOT\",\"Azores Time\",\"AZOST\",\"Azores Summer Time\",\"-01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Bermuda\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Atlantic/Canary\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Cape_Verde\",\"CVT\",\"Cape Verde Time\",\"\",\"\",\"-01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Atlantic/Faeroe\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Faroe\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Jan_Mayen\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Madeira\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Atlantic/Reykjavik\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Atlantic/South_Georgia\",\"GST\",\"South Georgia Standard Time\",\"\",\"\",\"-02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Atlantic/St_Helena\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Atlantic/Stanley\",\"FKT\",\"Falkland Is. Time\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/ACT\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Adelaide\",\"ACST\",\"Australian Central Standard Time (South Australia)\",\"ACDT\",\"Australian Central Daylight Time (South Australia)\",\"+09:30:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Brisbane\",\"AEST\",\"Australian Eastern Standard Time (Queensland)\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Broken_Hill\",\"ACST\",\"Australian Central Standard Time (South Australia/New South Wales)\",\"ACDT\",\"Australian Central Daylight Time (South Australia/New South Wales)\",\"+09:30:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Canberra\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Currie\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Darwin\",\"ACST\",\"Australian Central Standard Time (Northern Territory)\",\"\",\"\",\"+09:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Eucla\",\"ACWST\",\"Australian Central Western Standard Time\",\"\",\"\",\"+08:45:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Hobart\",\"AEST\",\"Australian Eastern Standard Time (Tasmania)\",\"AEDT\",\"Australian Eastern Daylight Time (Tasmania)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/LHI\",\"LHST\",\"Lord Howe Standard Time\",\"LHDT\",\"Lord Howe Daylight Time\",\"+10:30:00\",\"+00:30:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Lindeman\",\"AEST\",\"Australian Eastern Standard Time (Queensland)\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Lord_Howe\",\"LHST\",\"Lord Howe Standard Time\",\"LHDT\",\"Lord Howe Daylight Time\",\"+10:30:00\",\"+00:30:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Melbourne\",\"AEST\",\"Australian Eastern Standard Time (Victoria)\",\"AEDT\",\"Australian Eastern Daylight Time (Victoria)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/NSW\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/North\",\"ACST\",\"Australian Central Standard Time (Northern Territory)\",\"\",\"\",\"+09:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Perth\",\"AWST\",\"Australian Western Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Queensland\",\"AEST\",\"Australian Eastern Standard Time (Queensland)\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/South\",\"ACST\",\"Australian Central Standard Time (South Australia)\",\"ACDT\",\"Australian Central Daylight Time (South Australia)\",\"+09:30:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Sydney\",\"AEST\",\"Australian Eastern Standard Time (New South Wales)\",\"AEDT\",\"Australian Eastern Daylight Time (New South Wales)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Tasmania\",\"AEST\",\"Australian Eastern Standard Time (Tasmania)\",\"AEDT\",\"Australian Eastern Daylight Time (Tasmania)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/Victoria\",\"AEST\",\"Australian Eastern Standard Time (Victoria)\",\"AEDT\",\"Australian Eastern Daylight Time (Victoria)\",\"+10:00:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Australia/West\",\"AWST\",\"Australian Western Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Australia/Yancowinna\",\"ACST\",\"Australian Central Standard Time (South Australia/New South Wales)\",\"ACDT\",\"Australian Central Daylight Time (South Australia/New South Wales)\",\"+09:30:00\",\"+01:00:00\",\"1;0;10\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"BET\",\"BRT\",\"Brasilia Time\",\"BRST\",\"Brasilia Summer Time\",\"-03:00:00\",\"+01:00:00\",\"3;0;10\",\"+00:00:00\",\"3;0;2\",\"+00:00:00\"\n\
\"BST\",\"BDT\",\"Bangladesh Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Brazil/Acre\",\"ACT\",\"Acre Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Brazil/DeNoronha\",\"FNT\",\"Fernando de Noronha Time\",\"\",\"\",\"-02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Brazil/East\",\"BRT\",\"Brasilia Time\",\"BRST\",\"Brasilia Summer Time\",\"-03:00:00\",\"+01:00:00\",\"3;0;10\",\"+00:00:00\",\"3;0;2\",\"+00:00:00\"\n\
\"Brazil/West\",\"AMT\",\"Amazon Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"CAT\",\"CAT\",\"Central African Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"CET\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"CNT\",\"NST\",\"Newfoundland Standard Time\",\"NDT\",\"Newfoundland Daylight Time\",\"-03:30:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"CST\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"CST6CDT\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"CTT\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Canada/Atlantic\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/Central\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/East-Saskatchewan\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Canada/Eastern\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/Mountain\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/Newfoundland\",\"NST\",\"Newfoundland Standard Time\",\"NDT\",\"Newfoundland Daylight Time\",\"-03:30:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/Pacific\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Canada/Saskatchewan\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Canada/Yukon\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Chile/Continental\",\"CLT\",\"Chile Time\",\"CLST\",\"Chile Summer Time\",\"-04:00:00\",\"+01:00:00\",\"1;0;9\",\"+04:00:00\",\"4;0;4\",\"+03:00:00\"\n\
\"Chile/EasterIsland\",\"EAST\",\"Easter Is. Time\",\"EASST\",\"Easter Is. Summer Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;9\",\"+04:00:00\",\"4;0;4\",\"+03:00:00\"\n\
\"Cuba\",\"CST\",\"Cuba Standard Time\",\"CDT\",\"Cuba Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+00:00:00\",\"1;0;11\",\"+00:00:00\"\n\
\"EAT\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"ECT\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"EET\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"EST\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"EST5EDT\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Egypt\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;4;4\",\"+00:00:00\",\"-1;4;9\",\"+24:00:00\"\n\
\"Eire\",\"GMT\",\"Greenwich Mean Time\",\"IST\",\"Irish Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Etc/GMT\",\"GMT+00:00\",\"GMT+00:00\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+0\",\"GMT+00:00\",\"GMT+00:00\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+1\",\"GMT-01:00\",\"GMT-01:00\",\"\",\"\",\"-01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+10\",\"GMT-10:00\",\"GMT-10:00\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+11\",\"GMT-11:00\",\"GMT-11:00\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+12\",\"GMT-12:00\",\"GMT-12:00\",\"\",\"\",\"-12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+2\",\"GMT-02:00\",\"GMT-02:00\",\"\",\"\",\"-02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+3\",\"GMT-03:00\",\"GMT-03:00\",\"\",\"\",\"-03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+4\",\"GMT-04:00\",\"GMT-04:00\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+5\",\"GMT-05:00\",\"GMT-05:00\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+6\",\"GMT-06:00\",\"GMT-06:00\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+7\",\"GMT-07:00\",\"GMT-07:00\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+8\",\"GMT-08:00\",\"GMT-08:00\",\"\",\"\",\"-08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT+9\",\"GMT-09:00\",\"GMT-09:00\",\"\",\"\",\"-09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-0\",\"GMT+00:00\",\"GMT+00:00\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-1\",\"GMT+01:00\",\"GMT+01:00\",\"\",\"\",\"+01:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-10\",\"GMT+10:00\",\"GMT+10:00\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-11\",\"GMT+11:00\",\"GMT+11:00\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-12\",\"GMT+12:00\",\"GMT+12:00\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-13\",\"GMT+13:00\",\"GMT+13:00\",\"\",\"\",\"+13:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-14\",\"GMT+14:00\",\"GMT+14:00\",\"\",\"\",\"+14:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-2\",\"GMT+02:00\",\"GMT+02:00\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-3\",\"GMT+03:00\",\"GMT+03:00\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-4\",\"GMT+04:00\",\"GMT+04:00\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-5\",\"GMT+05:00\",\"GMT+05:00\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-6\",\"GMT+06:00\",\"GMT+06:00\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-7\",\"GMT+07:00\",\"GMT+07:00\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-8\",\"GMT+08:00\",\"GMT+08:00\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT-9\",\"GMT+09:00\",\"GMT+09:00\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/GMT0\",\"GMT+00:00\",\"GMT+00:00\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/Greenwich\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/UCT\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/UTC\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/Universal\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Etc/Zulu\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Amsterdam\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Andorra\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Athens\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Belfast\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Belgrade\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Berlin\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Bratislava\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Brussels\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Bucharest\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Budapest\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Busingen\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Chisinau\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Copenhagen\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Dublin\",\"GMT\",\"Greenwich Mean Time\",\"IST\",\"Irish Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Gibraltar\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Guernsey\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Helsinki\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Isle_of_Man\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Istanbul\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Jersey\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Kaliningrad\",\"EET\",\"Eastern European Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Kiev\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Lisbon\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Ljubljana\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/London\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Luxembourg\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Madrid\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Malta\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Mariehamn\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Minsk\",\"MSK\",\"Moscow Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Monaco\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Moscow\",\"MSK\",\"Moscow Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Nicosia\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Oslo\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Paris\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Podgorica\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Prague\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Riga\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Rome\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Samara\",\"SAMT\",\"Samara Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/San_Marino\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Sarajevo\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Simferopol\",\"MSK\",\"Moscow Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Skopje\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Sofia\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Stockholm\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Tallinn\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Tirane\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Tiraspol\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Uzhgorod\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Vaduz\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Vatican\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Vienna\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Vilnius\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Volgograd\",\"MSK\",\"Moscow Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Europe/Warsaw\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Zagreb\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Zaporozhye\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Europe/Zurich\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"GB\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"GB-Eire\",\"GMT\",\"Greenwich Mean Time\",\"BST\",\"British Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"GMT\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"GMT0\",\"GMT+00:00\",\"GMT+00:00\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Greenwich\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"HST\",\"HST\",\"Hawaii Standard Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Hongkong\",\"HKT\",\"Hong Kong Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"IET\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"IST\",\"IST\",\"India Standard Time\",\"\",\"\",\"+05:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Iceland\",\"GMT\",\"Greenwich Mean Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Antananarivo\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Chagos\",\"IOT\",\"Indian Ocean Territory Time\",\"\",\"\",\"+06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Christmas\",\"CXT\",\"Christmas Island Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Cocos\",\"CCT\",\"Cocos Islands Time\",\"\",\"\",\"+06:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Comoro\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Kerguelen\",\"TFT\",\"French Southern & Antarctic Lands Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Mahe\",\"SCT\",\"Seychelles Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Maldives\",\"MVT\",\"Maldives Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Mauritius\",\"MUT\",\"Mauritius Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Mayotte\",\"EAT\",\"Eastern African Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Indian/Reunion\",\"RET\",\"Reunion Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Iran\",\"IRST\",\"Iran Standard Time\",\"IRDT\",\"Iran Daylight Time\",\"+03:30:00\",\"+01:00:00\",\"4;0;3\",\"+00:00:00\",\"4;0;9\",\"+00:00:00\"\n\
\"Israel\",\"IST\",\"Israel Standard Time\",\"IDT\",\"Israel Daylight Time\",\"+02:00:00\",\"+01:00:00\",\"4;5;3\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"JST\",\"JST\",\"Japan Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Jamaica\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Japan\",\"JST\",\"Japan Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Kwajalein\",\"MHT\",\"Marshall Islands Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Libya\",\"EET\",\"Eastern European Time\",\"\",\"\",\"+02:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"MET\",\"MET\",\"Middle Europe Time\",\"MEST\",\"Middle Europe Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"MIT\",\"WSST\",\"West Samoa Standard Time\",\"WSDT\",\"West Samoa Daylight Time\",\"+13:00:00\",\"+01:00:00\",\"-1;0;9\",\"+03:00:00\",\"1;0;4\",\"+04:00:00\"\n\
\"MST\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"MST7MDT\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Mexico/BajaNorte\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Mexico/BajaSur\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"Mexico/General\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"Mideast/Riyadh87\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Mideast/Riyadh88\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Mideast/Riyadh89\",\"GMT+03:07\",\"GMT+03:07\",\"\",\"\",\"+03:07:04\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"NET\",\"AMT\",\"Armenia Time\",\"\",\"\",\"+04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"NST\",\"NZST\",\"New Zealand Standard Time\",\"NZDT\",\"New Zealand Daylight Time\",\"+12:00:00\",\"+01:00:00\",\"-1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"NZ\",\"NZST\",\"New Zealand Standard Time\",\"NZDT\",\"New Zealand Daylight Time\",\"+12:00:00\",\"+01:00:00\",\"-1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"NZ-CHAT\",\"CHAST\",\"Chatham Standard Time\",\"CHADT\",\"Chatham Daylight Time\",\"+12:45:00\",\"+01:00:00\",\"-1;0;9\",\"+02:45:00\",\"1;0;4\",\"+02:45:00\"\n\
\"Navajo\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"PLT\",\"PKT\",\"Pakistan Time\",\"\",\"\",\"+05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"PNT\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"PRC\",\"CST\",\"China Standard Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"PRT\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"PST\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"PST8PDT\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"Pacific/Apia\",\"WSST\",\"West Samoa Standard Time\",\"WSDT\",\"West Samoa Daylight Time\",\"+13:00:00\",\"+01:00:00\",\"-1;0;9\",\"+03:00:00\",\"1;0;4\",\"+04:00:00\"\n\
\"Pacific/Auckland\",\"NZST\",\"New Zealand Standard Time\",\"NZDT\",\"New Zealand Daylight Time\",\"+12:00:00\",\"+01:00:00\",\"-1;0;9\",\"+02:00:00\",\"1;0;4\",\"+02:00:00\"\n\
\"Pacific/Bougainville\",\"BST\",\"Bougainville Standard Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Chatham\",\"CHAST\",\"Chatham Standard Time\",\"CHADT\",\"Chatham Daylight Time\",\"+12:45:00\",\"+01:00:00\",\"-1;0;9\",\"+02:45:00\",\"1;0;4\",\"+02:45:00\"\n\
\"Pacific/Chuuk\",\"CHUT\",\"Chuuk Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Easter\",\"EAST\",\"Easter Is. Time\",\"EASST\",\"Easter Is. Summer Time\",\"-06:00:00\",\"+01:00:00\",\"1;0;9\",\"+04:00:00\",\"4;0;4\",\"+03:00:00\"\n\
\"Pacific/Efate\",\"VUT\",\"Vanuatu Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Enderbury\",\"PHOT\",\"Phoenix Is. Time\",\"\",\"\",\"+13:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Fakaofo\",\"TKT\",\"Tokelau Time\",\"\",\"\",\"+13:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Fiji\",\"FJT\",\"Fiji Time\",\"FJST\",\"Fiji Summer Time\",\"+12:00:00\",\"+01:00:00\",\"1;0;11\",\"+02:00:00\",\"3;0;1\",\"+03:00:00\"\n\
\"Pacific/Funafuti\",\"TVT\",\"Tuvalu Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Galapagos\",\"GALT\",\"Galapagos Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Gambier\",\"GAMT\",\"Gambier Time\",\"\",\"\",\"-09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Guadalcanal\",\"SBT\",\"Solomon Is. Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Guam\",\"ChST\",\"Chamorro Standard Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Honolulu\",\"HST\",\"Hawaii Standard Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Johnston\",\"HST\",\"Hawaii Standard Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Kiritimati\",\"LINT\",\"Line Is. Time\",\"\",\"\",\"+14:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Kosrae\",\"KOST\",\"Kosrae Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Kwajalein\",\"MHT\",\"Marshall Islands Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Majuro\",\"MHT\",\"Marshall Islands Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Marquesas\",\"MART\",\"Marquesas Time\",\"\",\"\",\"-09:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Midway\",\"SST\",\"Samoa Standard Time\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Nauru\",\"NRT\",\"Nauru Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Niue\",\"NUT\",\"Niue Time\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Norfolk\",\"NFT\",\"Norfolk Time\",\"\",\"\",\"+11:30:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Noumea\",\"NCT\",\"New Caledonia Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Pago_Pago\",\"SST\",\"Samoa Standard Time\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Palau\",\"PWT\",\"Palau Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Pitcairn\",\"PST\",\"Pitcairn Standard Time\",\"\",\"\",\"-08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Pohnpei\",\"PONT\",\"Pohnpei Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Ponape\",\"PONT\",\"Pohnpei Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Port_Moresby\",\"PGT\",\"Papua New Guinea Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Rarotonga\",\"CKT\",\"Cook Is. Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Saipan\",\"ChST\",\"Chamorro Standard Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Samoa\",\"SST\",\"Samoa Standard Time\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Tahiti\",\"TAHT\",\"Tahiti Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Tarawa\",\"GILT\",\"Gilbert Is. Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Tongatapu\",\"TOT\",\"Tonga Time\",\"\",\"\",\"+13:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Truk\",\"CHUT\",\"Chuuk Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Wake\",\"WAKT\",\"Wake Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Wallis\",\"WFT\",\"Wallis & Futuna Time\",\"\",\"\",\"+12:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Pacific/Yap\",\"CHUT\",\"Chuuk Time\",\"\",\"\",\"+10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Poland\",\"CET\",\"Central European Time\",\"CEST\",\"Central European Summer Time\",\"+01:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Portugal\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"ROK\",\"KST\",\"Korea Standard Time\",\"\",\"\",\"+09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SST\",\"SBT\",\"Solomon Is. Time\",\"\",\"\",\"+11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Singapore\",\"SGT\",\"Singapore Time\",\"\",\"\",\"+08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/AST4\",\"AST\",\"Atlantic Standard Time\",\"\",\"\",\"-04:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/AST4ADT\",\"AST\",\"Atlantic Standard Time\",\"ADT\",\"Atlantic Daylight Time\",\"-04:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"SystemV/CST6\",\"CST\",\"Central Standard Time\",\"\",\"\",\"-06:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/CST6CDT\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"SystemV/EST5\",\"EST\",\"Eastern Standard Time\",\"\",\"\",\"-05:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/EST5EDT\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"SystemV/HST10\",\"HST\",\"Hawaii Standard Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/MST7\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/MST7MDT\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"SystemV/PST8\",\"PST\",\"Pacific Standard Time\",\"\",\"\",\"-08:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/PST8PDT\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"SystemV/YST9\",\"AKST\",\"Alaska Standard Time\",\"\",\"\",\"-09:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"SystemV/YST9YDT\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"-1;0;4\",\"+02:00:00\",\"-1;0;10\",\"+02:00:00\"\n\
\"Turkey\",\"EET\",\"Eastern European Time\",\"EEST\",\"Eastern European Summer Time\",\"+02:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"UCT\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"US/Alaska\",\"AKST\",\"Alaska Standard Time\",\"AKDT\",\"Alaska Daylight Time\",\"-09:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Aleutian\",\"HAST\",\"Hawaii-Aleutian Standard Time\",\"HADT\",\"Hawaii-Aleutian Daylight Time\",\"-10:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Arizona\",\"MST\",\"Mountain Standard Time\",\"\",\"\",\"-07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"US/Central\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/East-Indiana\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Eastern\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Hawaii\",\"HST\",\"Hawaii Standard Time\",\"\",\"\",\"-10:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"US/Indiana-Starke\",\"CST\",\"Central Standard Time\",\"CDT\",\"Central Daylight Time\",\"-06:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Michigan\",\"EST\",\"Eastern Standard Time\",\"EDT\",\"Eastern Daylight Time\",\"-05:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Mountain\",\"MST\",\"Mountain Standard Time\",\"MDT\",\"Mountain Daylight Time\",\"-07:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Pacific\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Pacific-New\",\"PST\",\"Pacific Standard Time\",\"PDT\",\"Pacific Daylight Time\",\"-08:00:00\",\"+01:00:00\",\"2;0;3\",\"+02:00:00\",\"1;0;11\",\"+02:00:00\"\n\
\"US/Samoa\",\"SST\",\"Samoa Standard Time\",\"\",\"\",\"-11:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"UTC\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"Universal\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"VST\",\"ICT\",\"Indochina Time\",\"\",\"\",\"+07:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"W-SU\",\"MSK\",\"Moscow Standard Time\",\"\",\"\",\"+03:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"\n\
\"WET\",\"WET\",\"Western European Time\",\"WEST\",\"Western European Summer Time\",\"+00:00:00\",\"+01:00:00\",\"-1;0;3\",\"+01:00:00\",\"-1;0;10\",\"+01:00:00\"\n\
\"Zulu\",\"UTC\",\"Coordinated Universal Time\",\"\",\"\",\"+00:00:00\",\"+00:00:00\",\"\",\"\",\"\",\"\"";
Status TimezoneDatabase::Initialize() {
// Create a temporary file and write the timezone information. The boost
// interface only loads this format from a file. We abort the startup if
// this initialization fails for some reason.
string pathname = (boost::filesystem::path(FLAGS_local_library_dir) /
string("impala.tzdb.XXXXXXX")).string();
// mkstemp operates in place, so we need a mutable array.
std::vector<char> filestr(pathname.c_str(), pathname.c_str() + pathname.size() + 1);
FILE* file;
int fd;
if ((fd = mkstemp(filestr.data())) == -1) {
return Status(Substitute("Could not create temporary timezone file: $0. Check that "
"the directory $1 is writable by the user running Impala.", filestr.data(),
FLAGS_local_library_dir));
}
if ((file = fopen(filestr.data(), "w")) == NULL) {
unlink(filestr.data());
close(fd);
return Status(Substitute("Could not open temporary timezone file: $0",
filestr.data()));
}
if (fputs(TIMEZONE_DATABASE_STR, file) == EOF) {
unlink(filestr.data());
close(fd);
fclose(file);
return Status(Substitute("Could not load temporary timezone file: $0",
filestr.data()));
}
fclose(file);
tz_database_.load_from_file(string(filestr.data()));
tz_region_list_ = tz_database_.region_list();
unlink(filestr.data());
close(fd);
return Status::OK();
}
}