diff --git a/src/lib/tzcode/CMakeLists.txt b/src/lib/tzcode/CMakeLists.txt
index 0157f9c2672f75fd0d952385969f3b1b47307028..51791554153df28a7aed4576f5f65bf5d3760061 100644
--- a/src/lib/tzcode/CMakeLists.txt
+++ b/src/lib/tzcode/CMakeLists.txt
@@ -4,8 +4,10 @@ target_link_libraries(tzcode)
 
 set(TZCODE_PROJECT tzcode-iana)
 set(TZCODE_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
-set(TZCODE_PREFIX ${TZCODE_BUILD_DIR}/tz)
+set(TZCODE_PREFIX_DIR tz)
+set(TZCODE_PREFIX ${TZCODE_BUILD_DIR}/${TZCODE_PREFIX_DIR})
 set(TZDATA_TARGET main.zi)
+set(TZCODE_SRC ${PROJECT_SOURCE_DIR}/src/lib/tzcode)
 
 set(TZDATA_FULL_TARGET
     ${TZCODE_PREFIX}/src/${TZCODE_PROJECT}/${TZDATA_TARGET})
@@ -15,7 +17,9 @@ ExternalProject_Add(${TZCODE_PROJECT}
     GIT_TAG 2022a
     GIT_SHALLOW YES
 
+    EXCLUDE_FROM_ALL 1
     INSTALL_DIR ${TZCODE_BUILD_DIR}/install
+    PREFIX ${TZCODE_PREFIX_DIR}
 
     UPDATE_COMMAND ""
     CONFIGURE_COMMAND ""
@@ -30,3 +34,21 @@ ExternalProject_Add(${TZCODE_PROJECT}
     INSTALL_COMMAND make DESTDIR=<INSTALL_DIR> install
     BUILD_BYPRODUCTS ${TZDATA_FULL_TARGET}
 )
+
+find_program(PERL perl)
+
+add_custom_target(gen-timezones DEPENDS ${TZCODE_PROJECT})
+add_custom_command(TARGET gen-timezones
+    COMMAND
+    ${PERL} ${TZCODE_SRC}/gen-zone-abbrevs.pl ${TZCODE_SRC}/zone-abbrevs.txt
+    ${TZDATA_FULL_TARGET} > ${TZCODE_SRC}/timezones.h
+    COMMENT "Generating timezones.h"
+)
+
+# We excluded build of gen-timezones and tzcode-iana (main.zi) targets
+# from ALL dependencies (see EXCLUDE_FROM_ALL=1) if you, by either reason
+# need to regenerate timezones.h then invoke target manually:
+# ```sh
+#   make gen-timezones VERBOSE=1
+# ```
+# it will regenerate `timezones.h` in-place, in their repository location.
diff --git a/src/lib/tzcode/gen-zone-abbrevs.pl b/src/lib/tzcode/gen-zone-abbrevs.pl
index a477d4b1d6f3b77a4b80510c17dcc2a03c8e6e15..37dda6219ff704aed3e0597eceea48574d6e3367 100755
--- a/src/lib/tzcode/gen-zone-abbrevs.pl
+++ b/src/lib/tzcode/gen-zone-abbrevs.pl
@@ -129,6 +129,7 @@ my $EntryRx = do {
 };
 
 my %ZoneAbbrevs;
+my %ZoneAbbrevNames;
 
 # read zone-abbrevs.txt with definition of all currently known
 # timezone abbreviations.
@@ -176,36 +177,43 @@ sub read_abbrevs_file($) {
         }
 
         $ZoneAbbrevs{$encoded} = [ $flags, $offset, $name ];
+        $ZoneAbbrevNames{$name}++;
     }
 }
 
 my %ZoneNames;
+my %ZoneIds;
+my %Aliases;
 
 sub read_zi_file($) {
     my $filename = shift;
     open( my $fh, '<:raw', $filename )
       or die qq<Could not open '$filename' for reading: '$!'>;
 
-    my $zone;
-    my $format;
+
     while (<$fh>) {
         next if /^#/;
         if (/^Zone\s+([A-Za-z\-\_\/]+)\s+/) {
-            $zone   = $1;
-            $ZoneNames{$zone}++ if $zone =~ q|/|;
-            next;
+            my $zone = $1;
+            next unless $zone =~ q|/|;
+            $ZoneNames{$zone}++;
+        } elsif (/^[#]?Link\s+(\S+)\s+(\S+)/) {
+            my $zone = $1;
+            my $link = $2;
+            # do not create alias if it's known abbreviation
+            next if defined $ZoneAbbrevNames{$link};
+            $Aliases{$link} = $zone;
         }
     }
 
 }
 
-sub gen_header() {
-    printf "/* Automatically generated by gen-zone-abbrevs.pl */\n";
-
-    # first we generate abbreviations list
+# first we generate abbreviations list
+sub gen_abbrevs() {
     foreach my $encoded ( sort { $a <=> $b } keys %ZoneAbbrevs ) {
         my ( $flags, $offset, $name ) = @{ $ZoneAbbrevs{$encoded} };
         my $nextid = next_id($name);
+        $ZoneIds{$nextid} = $name;
 
         if ( $flags != 0 ) {
             my @names;
@@ -221,14 +229,34 @@ sub gen_header() {
         printf "ZONE_ABBREV(%4d, %4d, \"%s\", %s)\n",
           $nextid, $offset, $name, $flags;
     }
+}
 
-    # second we enumerate all known from main.zi primary zone names
+# second we enumerate all known from main.zi primary zone names
+sub gen_primary_zones() {
     foreach my $zonename (sort keys %ZoneNames) {
         my $nextid = next_id($zonename);
+        $ZoneIds{$zonename} = $nextid;
         printf "ZONE_UNIQUE(%4d, \"%s\")\n", $nextid, $zonename;
     }
 }
 
+# third we enumerate all aliases for primary zones
+sub gen_aliases() {
+    foreach my $alias ( sort keys %Aliases ) {
+        my $zonename = $Aliases{$alias};
+        printf "ZONE_ALIAS(%4d, \"%s\", \"%s\")\n", $ZoneIds{$zonename},
+            $alias, $zonename;
+    }
+}
+
+sub gen_header() {
+    printf "/* Automatically generated by gen-zone-abbrevs.pl */\n";
+
+    gen_abbrevs();
+    gen_primary_zones();
+    gen_aliases();
+}
+
 read_abbrevs_file($zone_abbrevs_file);
 read_zi_file($tzdata_zi_file);
 gen_header();
diff --git a/src/lib/tzcode/localtime.c b/src/lib/tzcode/localtime.c
index d2482a19497cb02654807f1d562ae41da5e1ab9e..c28c0e1bf1e47537153c0c75c445a83eda2bac46 100644
--- a/src/lib/tzcode/localtime.c
+++ b/src/lib/tzcode/localtime.c
@@ -15,8 +15,9 @@
 #include <unistd.h>
 #define LOCALTIME_IMPLEMENTATION
 #include "private.h"
-
 #include "tzfile.h"
+#include "tzcode.h"
+
 #include <fcntl.h>
 
 #ifndef TZ_ABBR_MAX_LEN
@@ -66,10 +67,10 @@
 #define WILDABBR "   "
 #endif /* !defined WILDABBR */
 
-static const char wildabbr[] = WILDABBR;
-
 static const char gmt[] = "GMT";
 
+static const char wildabbr[] = WILDABBR;
+
 /*
 ** The DST rules to use if TZ has no rules and we can't load TZDEFRULES.
 ** Default to US rules as of 2017-05-07.
diff --git a/src/lib/tzcode/timezone.c b/src/lib/tzcode/timezone.c
index d4e17a598ef76fcd682bd842dbb4ea96c6da7eff..94b73b63faf40928c075ed8402b4a2289619c233 100644
--- a/src/lib/tzcode/timezone.c
+++ b/src/lib/tzcode/timezone.c
@@ -31,7 +31,9 @@ timezone_flags(const struct date_time_zone *zone)
 static const char * zone_names[] = {
 #define ZONE_ABBREV(id, offset, name, flags) [id] = name,
 #define ZONE_UNIQUE(id, name) [id] = name,
+#define ZONE_ALIAS(id, alias, name)
 #include "timezones.h"
+#undef ZONE_ALIAS
 #undef ZONE_UNIQUE
 #undef ZONE_ABBREV
 };
@@ -45,9 +47,10 @@ timezone_name(int64_t index)
 
 static struct date_time_zone zone_abbrevs[] = {
 #define ZONE_ABBREV(id, offset, name, flags) { name, id, flags, offset },
-#define ZONE_UNIQUE(id, name) { name, id, TZ_NYI, 0 },
-
+#define ZONE_UNIQUE(id, name) { name, id, TZ_OLSON, 0 },
+#define ZONE_ALIAS(id, alias, name) { alias, id, TZ_OLSON|TZ_ALIAS, 0 },
 #include "timezones.h"
+#undef ZONE_ALIAS
 #undef ZONE_UNIQUE
 #undef ZONE_ABBREV
 };
diff --git a/src/lib/tzcode/timezone.h b/src/lib/tzcode/timezone.h
index f9fa9f9a14805be1aee23c7048c5bc578fcb3194..b2b984e3523efa871d209f7a206c94ae65dc6df3 100644
--- a/src/lib/tzcode/timezone.h
+++ b/src/lib/tzcode/timezone.h
@@ -17,6 +17,8 @@ enum {
 	TZ_MILITARY = 0x04,
 	TZ_AMBIGUOUS = 0x08,
 	TZ_NYI = 0x10,
+	TZ_OLSON = 0x20,
+	TZ_ALIAS = 0x40,
 };
 
 /**
diff --git a/src/lib/tzcode/timezones.h b/src/lib/tzcode/timezones.h
index cd18acc5b779bda373f9331a8d1248ed6fd663ad..b412b585b6c378cb92316c9cd35f4db08be9de15 100644
--- a/src/lib/tzcode/timezones.h
+++ b/src/lib/tzcode/timezones.h
@@ -290,434 +290,557 @@ ZONE_ABBREV( 649,  360, "YEKST", 0)
 ZONE_ABBREV( 656,  540, "CHODST", 0)
 ZONE_ABBREV( 664,  480, "HOVDST", 0)
 ZONE_UNIQUE( 672, "Africa/Abidjan")
-ZONE_UNIQUE( 673, "Africa/Accra")
-ZONE_UNIQUE( 674, "Africa/Addis_Ababa")
-ZONE_UNIQUE( 675, "Africa/Algiers")
-ZONE_UNIQUE( 676, "Africa/Asmara")
-ZONE_UNIQUE( 677, "Africa/Bamako")
-ZONE_UNIQUE( 678, "Africa/Bangui")
-ZONE_UNIQUE( 679, "Africa/Banjul")
-ZONE_UNIQUE( 680, "Africa/Bissau")
-ZONE_UNIQUE( 681, "Africa/Blantyre")
-ZONE_UNIQUE( 682, "Africa/Brazzaville")
-ZONE_UNIQUE( 683, "Africa/Bujumbura")
-ZONE_UNIQUE( 684, "Africa/Cairo")
-ZONE_UNIQUE( 685, "Africa/Casablanca")
-ZONE_UNIQUE( 686, "Africa/Ceuta")
-ZONE_UNIQUE( 687, "Africa/Conakry")
-ZONE_UNIQUE( 688, "Africa/Dakar")
-ZONE_UNIQUE( 689, "Africa/Dar_es_Salaam")
-ZONE_UNIQUE( 690, "Africa/Djibouti")
-ZONE_UNIQUE( 691, "Africa/Douala")
-ZONE_UNIQUE( 692, "Africa/El_Aaiun")
-ZONE_UNIQUE( 693, "Africa/Freetown")
-ZONE_UNIQUE( 694, "Africa/Gaborone")
-ZONE_UNIQUE( 695, "Africa/Harare")
-ZONE_UNIQUE( 696, "Africa/Johannesburg")
-ZONE_UNIQUE( 697, "Africa/Juba")
-ZONE_UNIQUE( 698, "Africa/Kampala")
-ZONE_UNIQUE( 699, "Africa/Khartoum")
-ZONE_UNIQUE( 700, "Africa/Kigali")
-ZONE_UNIQUE( 701, "Africa/Kinshasa")
-ZONE_UNIQUE( 702, "Africa/Lagos")
-ZONE_UNIQUE( 703, "Africa/Libreville")
-ZONE_UNIQUE( 704, "Africa/Lome")
-ZONE_UNIQUE( 705, "Africa/Luanda")
-ZONE_UNIQUE( 706, "Africa/Lubumbashi")
-ZONE_UNIQUE( 707, "Africa/Lusaka")
-ZONE_UNIQUE( 708, "Africa/Malabo")
-ZONE_UNIQUE( 709, "Africa/Maputo")
-ZONE_UNIQUE( 710, "Africa/Maseru")
-ZONE_UNIQUE( 711, "Africa/Mbabane")
-ZONE_UNIQUE( 712, "Africa/Mogadishu")
-ZONE_UNIQUE( 713, "Africa/Monrovia")
-ZONE_UNIQUE( 714, "Africa/Nairobi")
-ZONE_UNIQUE( 715, "Africa/Ndjamena")
-ZONE_UNIQUE( 716, "Africa/Niamey")
-ZONE_UNIQUE( 717, "Africa/Nouakchott")
-ZONE_UNIQUE( 718, "Africa/Ouagadougou")
-ZONE_UNIQUE( 719, "Africa/Porto-Novo")
-ZONE_UNIQUE( 720, "Africa/Sao_Tome")
-ZONE_UNIQUE( 721, "Africa/Timbuktu")
-ZONE_UNIQUE( 722, "Africa/Tripoli")
-ZONE_UNIQUE( 723, "Africa/Tunis")
-ZONE_UNIQUE( 724, "Africa/Windhoek")
-ZONE_UNIQUE( 725, "America/Adak")
-ZONE_UNIQUE( 726, "America/Anchorage")
-ZONE_UNIQUE( 727, "America/Anguilla")
-ZONE_UNIQUE( 728, "America/Antigua")
-ZONE_UNIQUE( 729, "America/Araguaina")
-ZONE_UNIQUE( 730, "America/Argentina/Buenos_Aires")
-ZONE_UNIQUE( 731, "America/Argentina/Catamarca")
-ZONE_UNIQUE( 732, "America/Argentina/ComodRivadavia")
-ZONE_UNIQUE( 733, "America/Argentina/Cordoba")
-ZONE_UNIQUE( 734, "America/Argentina/Jujuy")
-ZONE_UNIQUE( 735, "America/Argentina/La_Rioja")
-ZONE_UNIQUE( 736, "America/Argentina/Mendoza")
-ZONE_UNIQUE( 737, "America/Argentina/Rio_Gallegos")
-ZONE_UNIQUE( 738, "America/Argentina/Salta")
-ZONE_UNIQUE( 739, "America/Argentina/San_Juan")
-ZONE_UNIQUE( 740, "America/Argentina/San_Luis")
-ZONE_UNIQUE( 741, "America/Argentina/Tucuman")
-ZONE_UNIQUE( 742, "America/Argentina/Ushuaia")
-ZONE_UNIQUE( 743, "America/Aruba")
-ZONE_UNIQUE( 744, "America/Asuncion")
-ZONE_UNIQUE( 745, "America/Atikokan")
-ZONE_UNIQUE( 746, "America/Bahia")
-ZONE_UNIQUE( 747, "America/Bahia_Banderas")
-ZONE_UNIQUE( 748, "America/Barbados")
-ZONE_UNIQUE( 749, "America/Belem")
-ZONE_UNIQUE( 750, "America/Belize")
-ZONE_UNIQUE( 751, "America/Blanc-Sablon")
-ZONE_UNIQUE( 752, "America/Boa_Vista")
-ZONE_UNIQUE( 753, "America/Bogota")
-ZONE_UNIQUE( 754, "America/Boise")
-ZONE_UNIQUE( 755, "America/Cambridge_Bay")
-ZONE_UNIQUE( 756, "America/Campo_Grande")
-ZONE_UNIQUE( 757, "America/Cancun")
-ZONE_UNIQUE( 758, "America/Caracas")
-ZONE_UNIQUE( 759, "America/Cayenne")
-ZONE_UNIQUE( 760, "America/Cayman")
-ZONE_UNIQUE( 761, "America/Chicago")
-ZONE_UNIQUE( 762, "America/Chihuahua")
-ZONE_UNIQUE( 763, "America/Coral_Harbour")
-ZONE_UNIQUE( 764, "America/Costa_Rica")
-ZONE_UNIQUE( 765, "America/Creston")
-ZONE_UNIQUE( 766, "America/Cuiaba")
-ZONE_UNIQUE( 767, "America/Curacao")
-ZONE_UNIQUE( 768, "America/Danmarkshavn")
-ZONE_UNIQUE( 769, "America/Dawson")
-ZONE_UNIQUE( 770, "America/Dawson_Creek")
-ZONE_UNIQUE( 771, "America/Denver")
-ZONE_UNIQUE( 772, "America/Detroit")
-ZONE_UNIQUE( 773, "America/Dominica")
-ZONE_UNIQUE( 774, "America/Edmonton")
-ZONE_UNIQUE( 775, "America/Eirunepe")
-ZONE_UNIQUE( 776, "America/El_Salvador")
-ZONE_UNIQUE( 777, "America/Ensenada")
-ZONE_UNIQUE( 778, "America/Fort_Nelson")
-ZONE_UNIQUE( 779, "America/Fortaleza")
-ZONE_UNIQUE( 780, "America/Glace_Bay")
-ZONE_UNIQUE( 781, "America/Goose_Bay")
-ZONE_UNIQUE( 782, "America/Grand_Turk")
-ZONE_UNIQUE( 783, "America/Grenada")
-ZONE_UNIQUE( 784, "America/Guadeloupe")
-ZONE_UNIQUE( 785, "America/Guatemala")
-ZONE_UNIQUE( 786, "America/Guayaquil")
-ZONE_UNIQUE( 787, "America/Guyana")
-ZONE_UNIQUE( 788, "America/Halifax")
-ZONE_UNIQUE( 789, "America/Havana")
-ZONE_UNIQUE( 790, "America/Hermosillo")
-ZONE_UNIQUE( 791, "America/Indiana/Indianapolis")
-ZONE_UNIQUE( 792, "America/Indiana/Knox")
-ZONE_UNIQUE( 793, "America/Indiana/Marengo")
-ZONE_UNIQUE( 794, "America/Indiana/Petersburg")
-ZONE_UNIQUE( 795, "America/Indiana/Tell_City")
-ZONE_UNIQUE( 796, "America/Indiana/Vevay")
-ZONE_UNIQUE( 797, "America/Indiana/Vincennes")
-ZONE_UNIQUE( 798, "America/Indiana/Winamac")
-ZONE_UNIQUE( 799, "America/Inuvik")
-ZONE_UNIQUE( 800, "America/Iqaluit")
-ZONE_UNIQUE( 801, "America/Jamaica")
-ZONE_UNIQUE( 802, "America/Juneau")
-ZONE_UNIQUE( 803, "America/Kentucky/Louisville")
-ZONE_UNIQUE( 804, "America/Kentucky/Monticello")
-ZONE_UNIQUE( 805, "America/La_Paz")
-ZONE_UNIQUE( 806, "America/Lima")
-ZONE_UNIQUE( 807, "America/Los_Angeles")
-ZONE_UNIQUE( 808, "America/Maceio")
-ZONE_UNIQUE( 809, "America/Managua")
-ZONE_UNIQUE( 810, "America/Manaus")
-ZONE_UNIQUE( 811, "America/Martinique")
-ZONE_UNIQUE( 812, "America/Matamoros")
-ZONE_UNIQUE( 813, "America/Mazatlan")
-ZONE_UNIQUE( 814, "America/Menominee")
-ZONE_UNIQUE( 815, "America/Merida")
-ZONE_UNIQUE( 816, "America/Metlakatla")
-ZONE_UNIQUE( 817, "America/Mexico_City")
-ZONE_UNIQUE( 818, "America/Miquelon")
-ZONE_UNIQUE( 819, "America/Moncton")
-ZONE_UNIQUE( 820, "America/Monterrey")
-ZONE_UNIQUE( 821, "America/Montevideo")
-ZONE_UNIQUE( 822, "America/Montreal")
-ZONE_UNIQUE( 823, "America/Montserrat")
-ZONE_UNIQUE( 824, "America/Nassau")
-ZONE_UNIQUE( 825, "America/New_York")
-ZONE_UNIQUE( 826, "America/Nipigon")
-ZONE_UNIQUE( 827, "America/Nome")
-ZONE_UNIQUE( 828, "America/Noronha")
-ZONE_UNIQUE( 829, "America/North_Dakota/Beulah")
-ZONE_UNIQUE( 830, "America/North_Dakota/Center")
-ZONE_UNIQUE( 831, "America/North_Dakota/New_Salem")
-ZONE_UNIQUE( 832, "America/Nuuk")
-ZONE_UNIQUE( 833, "America/Ojinaga")
-ZONE_UNIQUE( 834, "America/Panama")
-ZONE_UNIQUE( 835, "America/Pangnirtung")
-ZONE_UNIQUE( 836, "America/Paramaribo")
-ZONE_UNIQUE( 837, "America/Phoenix")
-ZONE_UNIQUE( 838, "America/Port-au-Prince")
-ZONE_UNIQUE( 839, "America/Port_of_Spain")
-ZONE_UNIQUE( 840, "America/Porto_Velho")
-ZONE_UNIQUE( 841, "America/Puerto_Rico")
-ZONE_UNIQUE( 842, "America/Punta_Arenas")
-ZONE_UNIQUE( 843, "America/Rainy_River")
-ZONE_UNIQUE( 844, "America/Rankin_Inlet")
-ZONE_UNIQUE( 845, "America/Recife")
-ZONE_UNIQUE( 846, "America/Regina")
-ZONE_UNIQUE( 847, "America/Resolute")
-ZONE_UNIQUE( 848, "America/Rio_Branco")
-ZONE_UNIQUE( 849, "America/Rosario")
-ZONE_UNIQUE( 850, "America/Santarem")
-ZONE_UNIQUE( 851, "America/Santiago")
-ZONE_UNIQUE( 852, "America/Santo_Domingo")
-ZONE_UNIQUE( 853, "America/Sao_Paulo")
-ZONE_UNIQUE( 854, "America/Scoresbysund")
-ZONE_UNIQUE( 855, "America/Sitka")
-ZONE_UNIQUE( 856, "America/St_Johns")
-ZONE_UNIQUE( 857, "America/St_Kitts")
-ZONE_UNIQUE( 858, "America/St_Lucia")
-ZONE_UNIQUE( 859, "America/St_Thomas")
-ZONE_UNIQUE( 860, "America/St_Vincent")
-ZONE_UNIQUE( 861, "America/Swift_Current")
-ZONE_UNIQUE( 862, "America/Tegucigalpa")
-ZONE_UNIQUE( 863, "America/Thule")
-ZONE_UNIQUE( 864, "America/Thunder_Bay")
-ZONE_UNIQUE( 865, "America/Tijuana")
-ZONE_UNIQUE( 866, "America/Toronto")
-ZONE_UNIQUE( 867, "America/Tortola")
-ZONE_UNIQUE( 868, "America/Vancouver")
-ZONE_UNIQUE( 869, "America/Whitehorse")
-ZONE_UNIQUE( 870, "America/Winnipeg")
-ZONE_UNIQUE( 871, "America/Yakutat")
-ZONE_UNIQUE( 872, "America/Yellowknife")
-ZONE_UNIQUE( 873, "Antarctica/Casey")
-ZONE_UNIQUE( 874, "Antarctica/Davis")
-ZONE_UNIQUE( 875, "Antarctica/DumontDUrville")
-ZONE_UNIQUE( 876, "Antarctica/Macquarie")
-ZONE_UNIQUE( 877, "Antarctica/Mawson")
-ZONE_UNIQUE( 878, "Antarctica/McMurdo")
-ZONE_UNIQUE( 879, "Antarctica/Palmer")
-ZONE_UNIQUE( 880, "Antarctica/Rothera")
-ZONE_UNIQUE( 881, "Antarctica/Syowa")
-ZONE_UNIQUE( 882, "Antarctica/Troll")
-ZONE_UNIQUE( 883, "Antarctica/Vostok")
-ZONE_UNIQUE( 884, "Asia/Aden")
-ZONE_UNIQUE( 885, "Asia/Almaty")
-ZONE_UNIQUE( 886, "Asia/Amman")
-ZONE_UNIQUE( 887, "Asia/Anadyr")
-ZONE_UNIQUE( 888, "Asia/Aqtau")
-ZONE_UNIQUE( 889, "Asia/Aqtobe")
-ZONE_UNIQUE( 890, "Asia/Ashgabat")
-ZONE_UNIQUE( 891, "Asia/Atyrau")
-ZONE_UNIQUE( 892, "Asia/Baghdad")
-ZONE_UNIQUE( 893, "Asia/Bahrain")
-ZONE_UNIQUE( 894, "Asia/Baku")
-ZONE_UNIQUE( 895, "Asia/Bangkok")
-ZONE_UNIQUE( 896, "Asia/Barnaul")
-ZONE_UNIQUE( 897, "Asia/Beirut")
-ZONE_UNIQUE( 898, "Asia/Bishkek")
-ZONE_UNIQUE( 899, "Asia/Brunei")
-ZONE_UNIQUE( 900, "Asia/Chita")
-ZONE_UNIQUE( 901, "Asia/Choibalsan")
-ZONE_UNIQUE( 902, "Asia/Chongqing")
-ZONE_UNIQUE( 903, "Asia/Colombo")
-ZONE_UNIQUE( 904, "Asia/Damascus")
-ZONE_UNIQUE( 905, "Asia/Dhaka")
-ZONE_UNIQUE( 906, "Asia/Dili")
-ZONE_UNIQUE( 907, "Asia/Dubai")
-ZONE_UNIQUE( 908, "Asia/Dushanbe")
-ZONE_UNIQUE( 909, "Asia/Famagusta")
-ZONE_UNIQUE( 910, "Asia/Gaza")
-ZONE_UNIQUE( 911, "Asia/Hanoi")
-ZONE_UNIQUE( 912, "Asia/Harbin")
-ZONE_UNIQUE( 913, "Asia/Hebron")
-ZONE_UNIQUE( 914, "Asia/Ho_Chi_Minh")
-ZONE_UNIQUE( 915, "Asia/Hong_Kong")
-ZONE_UNIQUE( 916, "Asia/Hovd")
-ZONE_UNIQUE( 917, "Asia/Irkutsk")
-ZONE_UNIQUE( 918, "Asia/Jakarta")
-ZONE_UNIQUE( 919, "Asia/Jayapura")
-ZONE_UNIQUE( 920, "Asia/Jerusalem")
-ZONE_UNIQUE( 921, "Asia/Kabul")
-ZONE_UNIQUE( 922, "Asia/Kamchatka")
-ZONE_UNIQUE( 923, "Asia/Karachi")
-ZONE_UNIQUE( 924, "Asia/Kashgar")
-ZONE_UNIQUE( 925, "Asia/Kathmandu")
-ZONE_UNIQUE( 926, "Asia/Khandyga")
-ZONE_UNIQUE( 927, "Asia/Kolkata")
-ZONE_UNIQUE( 928, "Asia/Krasnoyarsk")
-ZONE_UNIQUE( 929, "Asia/Kuala_Lumpur")
-ZONE_UNIQUE( 930, "Asia/Kuching")
-ZONE_UNIQUE( 931, "Asia/Kuwait")
-ZONE_UNIQUE( 932, "Asia/Macau")
-ZONE_UNIQUE( 933, "Asia/Magadan")
-ZONE_UNIQUE( 934, "Asia/Makassar")
-ZONE_UNIQUE( 935, "Asia/Manila")
-ZONE_UNIQUE( 936, "Asia/Muscat")
-ZONE_UNIQUE( 937, "Asia/Nicosia")
-ZONE_UNIQUE( 938, "Asia/Novokuznetsk")
-ZONE_UNIQUE( 939, "Asia/Novosibirsk")
-ZONE_UNIQUE( 940, "Asia/Omsk")
-ZONE_UNIQUE( 941, "Asia/Oral")
-ZONE_UNIQUE( 942, "Asia/Phnom_Penh")
-ZONE_UNIQUE( 943, "Asia/Pontianak")
-ZONE_UNIQUE( 944, "Asia/Pyongyang")
-ZONE_UNIQUE( 945, "Asia/Qatar")
-ZONE_UNIQUE( 946, "Asia/Qostanay")
-ZONE_UNIQUE( 947, "Asia/Qyzylorda")
-ZONE_UNIQUE( 948, "Asia/Riyadh")
-ZONE_UNIQUE( 949, "Asia/Sakhalin")
-ZONE_UNIQUE( 950, "Asia/Samarkand")
-ZONE_UNIQUE( 951, "Asia/Seoul")
-ZONE_UNIQUE( 952, "Asia/Shanghai")
-ZONE_UNIQUE( 953, "Asia/Singapore")
-ZONE_UNIQUE( 954, "Asia/Srednekolymsk")
-ZONE_UNIQUE( 955, "Asia/Taipei")
-ZONE_UNIQUE( 956, "Asia/Tashkent")
-ZONE_UNIQUE( 957, "Asia/Tbilisi")
-ZONE_UNIQUE( 958, "Asia/Tehran")
-ZONE_UNIQUE( 959, "Asia/Tel_Aviv")
-ZONE_UNIQUE( 960, "Asia/Thimphu")
-ZONE_UNIQUE( 961, "Asia/Tokyo")
-ZONE_UNIQUE( 962, "Asia/Tomsk")
-ZONE_UNIQUE( 963, "Asia/Ulaanbaatar")
-ZONE_UNIQUE( 964, "Asia/Urumqi")
-ZONE_UNIQUE( 965, "Asia/Ust-Nera")
-ZONE_UNIQUE( 966, "Asia/Vientiane")
-ZONE_UNIQUE( 967, "Asia/Vladivostok")
-ZONE_UNIQUE( 968, "Asia/Yakutsk")
-ZONE_UNIQUE( 969, "Asia/Yangon")
-ZONE_UNIQUE( 970, "Asia/Yekaterinburg")
-ZONE_UNIQUE( 971, "Asia/Yerevan")
-ZONE_UNIQUE( 972, "Atlantic/Azores")
-ZONE_UNIQUE( 973, "Atlantic/Bermuda")
-ZONE_UNIQUE( 974, "Atlantic/Canary")
-ZONE_UNIQUE( 975, "Atlantic/Cape_Verde")
-ZONE_UNIQUE( 976, "Atlantic/Faroe")
-ZONE_UNIQUE( 977, "Atlantic/Jan_Mayen")
-ZONE_UNIQUE( 978, "Atlantic/Madeira")
-ZONE_UNIQUE( 979, "Atlantic/Reykjavik")
-ZONE_UNIQUE( 980, "Atlantic/South_Georgia")
-ZONE_UNIQUE( 981, "Atlantic/St_Helena")
-ZONE_UNIQUE( 982, "Atlantic/Stanley")
-ZONE_UNIQUE( 983, "Australia/Adelaide")
-ZONE_UNIQUE( 984, "Australia/Brisbane")
-ZONE_UNIQUE( 985, "Australia/Broken_Hill")
-ZONE_UNIQUE( 986, "Australia/Currie")
-ZONE_UNIQUE( 987, "Australia/Darwin")
-ZONE_UNIQUE( 988, "Australia/Eucla")
-ZONE_UNIQUE( 989, "Australia/Hobart")
-ZONE_UNIQUE( 990, "Australia/Lindeman")
-ZONE_UNIQUE( 991, "Australia/Lord_Howe")
-ZONE_UNIQUE( 992, "Australia/Melbourne")
-ZONE_UNIQUE( 993, "Australia/Perth")
-ZONE_UNIQUE( 994, "Australia/Sydney")
-ZONE_UNIQUE(1000, "Etc/GMT")
-ZONE_UNIQUE(1001, "Etc/UTC")
-ZONE_UNIQUE(1002, "Europe/Amsterdam")
-ZONE_UNIQUE(1003, "Europe/Andorra")
-ZONE_UNIQUE(1004, "Europe/Astrakhan")
-ZONE_UNIQUE(1005, "Europe/Athens")
-ZONE_UNIQUE(1006, "Europe/Belfast")
-ZONE_UNIQUE(1007, "Europe/Belgrade")
-ZONE_UNIQUE(1008, "Europe/Berlin")
-ZONE_UNIQUE(1009, "Europe/Brussels")
-ZONE_UNIQUE(1010, "Europe/Bucharest")
-ZONE_UNIQUE(1011, "Europe/Budapest")
-ZONE_UNIQUE(1012, "Europe/Chisinau")
-ZONE_UNIQUE(1013, "Europe/Copenhagen")
-ZONE_UNIQUE(1014, "Europe/Dublin")
-ZONE_UNIQUE(1015, "Europe/Gibraltar")
-ZONE_UNIQUE(1016, "Europe/Guernsey")
-ZONE_UNIQUE(1017, "Europe/Helsinki")
-ZONE_UNIQUE(1018, "Europe/Isle_of_Man")
-ZONE_UNIQUE(1019, "Europe/Istanbul")
-ZONE_UNIQUE(1020, "Europe/Jersey")
-ZONE_UNIQUE(1021, "Europe/Kaliningrad")
-ZONE_UNIQUE(1022, "Europe/Kiev")
-ZONE_UNIQUE(1023, "Europe/Kirov")
-ZONE_UNIQUE(1024, "Europe/Lisbon")
-ZONE_UNIQUE(1025, "Europe/Ljubljana")
-ZONE_UNIQUE(1026, "Europe/London")
-ZONE_UNIQUE(1027, "Europe/Luxembourg")
-ZONE_UNIQUE(1028, "Europe/Madrid")
-ZONE_UNIQUE(1029, "Europe/Malta")
-ZONE_UNIQUE(1030, "Europe/Minsk")
-ZONE_UNIQUE(1031, "Europe/Monaco")
-ZONE_UNIQUE(1032, "Europe/Moscow")
-ZONE_UNIQUE(1033, "Europe/Oslo")
-ZONE_UNIQUE(1034, "Europe/Paris")
-ZONE_UNIQUE(1035, "Europe/Prague")
-ZONE_UNIQUE(1036, "Europe/Riga")
-ZONE_UNIQUE(1037, "Europe/Rome")
-ZONE_UNIQUE(1038, "Europe/Samara")
-ZONE_UNIQUE(1039, "Europe/Sarajevo")
-ZONE_UNIQUE(1040, "Europe/Saratov")
-ZONE_UNIQUE(1041, "Europe/Simferopol")
-ZONE_UNIQUE(1042, "Europe/Skopje")
-ZONE_UNIQUE(1043, "Europe/Sofia")
-ZONE_UNIQUE(1044, "Europe/Stockholm")
-ZONE_UNIQUE(1045, "Europe/Tallinn")
-ZONE_UNIQUE(1046, "Europe/Tirane")
-ZONE_UNIQUE(1047, "Europe/Tiraspol")
-ZONE_UNIQUE(1048, "Europe/Ulyanovsk")
-ZONE_UNIQUE(1049, "Europe/Uzhgorod")
-ZONE_UNIQUE(1050, "Europe/Vaduz")
-ZONE_UNIQUE(1051, "Europe/Vienna")
-ZONE_UNIQUE(1052, "Europe/Vilnius")
-ZONE_UNIQUE(1053, "Europe/Volgograd")
-ZONE_UNIQUE(1054, "Europe/Warsaw")
-ZONE_UNIQUE(1055, "Europe/Zagreb")
-ZONE_UNIQUE(1056, "Europe/Zaporozhye")
-ZONE_UNIQUE(1057, "Europe/Zurich")
-ZONE_UNIQUE(1064, "Indian/Antananarivo")
-ZONE_UNIQUE(1065, "Indian/Chagos")
-ZONE_UNIQUE(1066, "Indian/Christmas")
-ZONE_UNIQUE(1067, "Indian/Cocos")
-ZONE_UNIQUE(1068, "Indian/Comoro")
-ZONE_UNIQUE(1069, "Indian/Kerguelen")
-ZONE_UNIQUE(1070, "Indian/Mahe")
-ZONE_UNIQUE(1071, "Indian/Maldives")
-ZONE_UNIQUE(1072, "Indian/Mauritius")
-ZONE_UNIQUE(1073, "Indian/Mayotte")
-ZONE_UNIQUE(1074, "Indian/Reunion")
-ZONE_UNIQUE(1080, "Pacific/Apia")
-ZONE_UNIQUE(1081, "Pacific/Auckland")
-ZONE_UNIQUE(1082, "Pacific/Bougainville")
-ZONE_UNIQUE(1083, "Pacific/Chatham")
-ZONE_UNIQUE(1084, "Pacific/Chuuk")
-ZONE_UNIQUE(1085, "Pacific/Easter")
-ZONE_UNIQUE(1086, "Pacific/Efate")
-ZONE_UNIQUE(1087, "Pacific/Enderbury")
-ZONE_UNIQUE(1088, "Pacific/Fakaofo")
-ZONE_UNIQUE(1089, "Pacific/Fiji")
-ZONE_UNIQUE(1090, "Pacific/Funafuti")
-ZONE_UNIQUE(1091, "Pacific/Galapagos")
-ZONE_UNIQUE(1092, "Pacific/Gambier")
-ZONE_UNIQUE(1093, "Pacific/Guadalcanal")
-ZONE_UNIQUE(1094, "Pacific/Guam")
-ZONE_UNIQUE(1095, "Pacific/Honolulu")
-ZONE_UNIQUE(1096, "Pacific/Johnston")
-ZONE_UNIQUE(1097, "Pacific/Kanton")
-ZONE_UNIQUE(1098, "Pacific/Kiritimati")
-ZONE_UNIQUE(1099, "Pacific/Kosrae")
-ZONE_UNIQUE(1100, "Pacific/Kwajalein")
-ZONE_UNIQUE(1101, "Pacific/Majuro")
-ZONE_UNIQUE(1102, "Pacific/Marquesas")
-ZONE_UNIQUE(1103, "Pacific/Midway")
-ZONE_UNIQUE(1104, "Pacific/Nauru")
-ZONE_UNIQUE(1105, "Pacific/Niue")
-ZONE_UNIQUE(1106, "Pacific/Norfolk")
-ZONE_UNIQUE(1107, "Pacific/Noumea")
-ZONE_UNIQUE(1108, "Pacific/Pago_Pago")
-ZONE_UNIQUE(1109, "Pacific/Palau")
-ZONE_UNIQUE(1110, "Pacific/Pitcairn")
-ZONE_UNIQUE(1111, "Pacific/Pohnpei")
-ZONE_UNIQUE(1112, "Pacific/Port_Moresby")
-ZONE_UNIQUE(1113, "Pacific/Rarotonga")
-ZONE_UNIQUE(1114, "Pacific/Saipan")
-ZONE_UNIQUE(1115, "Pacific/Tahiti")
-ZONE_UNIQUE(1116, "Pacific/Tarawa")
-ZONE_UNIQUE(1117, "Pacific/Tongatapu")
-ZONE_UNIQUE(1118, "Pacific/Wake")
-ZONE_UNIQUE(1119, "Pacific/Wallis")
+ZONE_UNIQUE( 673, "Africa/Algiers")
+ZONE_UNIQUE( 674, "Africa/Bissau")
+ZONE_UNIQUE( 675, "Africa/Cairo")
+ZONE_UNIQUE( 676, "Africa/Casablanca")
+ZONE_UNIQUE( 677, "Africa/Ceuta")
+ZONE_UNIQUE( 678, "Africa/El_Aaiun")
+ZONE_UNIQUE( 679, "Africa/Johannesburg")
+ZONE_UNIQUE( 680, "Africa/Juba")
+ZONE_UNIQUE( 681, "Africa/Khartoum")
+ZONE_UNIQUE( 682, "Africa/Lagos")
+ZONE_UNIQUE( 683, "Africa/Maputo")
+ZONE_UNIQUE( 684, "Africa/Monrovia")
+ZONE_UNIQUE( 685, "Africa/Nairobi")
+ZONE_UNIQUE( 686, "Africa/Ndjamena")
+ZONE_UNIQUE( 687, "Africa/Sao_Tome")
+ZONE_UNIQUE( 688, "Africa/Tripoli")
+ZONE_UNIQUE( 689, "Africa/Tunis")
+ZONE_UNIQUE( 690, "Africa/Windhoek")
+ZONE_UNIQUE( 691, "America/Adak")
+ZONE_UNIQUE( 692, "America/Anchorage")
+ZONE_UNIQUE( 693, "America/Araguaina")
+ZONE_UNIQUE( 694, "America/Argentina/Buenos_Aires")
+ZONE_UNIQUE( 695, "America/Argentina/Catamarca")
+ZONE_UNIQUE( 696, "America/Argentina/Cordoba")
+ZONE_UNIQUE( 697, "America/Argentina/Jujuy")
+ZONE_UNIQUE( 698, "America/Argentina/La_Rioja")
+ZONE_UNIQUE( 699, "America/Argentina/Mendoza")
+ZONE_UNIQUE( 700, "America/Argentina/Rio_Gallegos")
+ZONE_UNIQUE( 701, "America/Argentina/Salta")
+ZONE_UNIQUE( 702, "America/Argentina/San_Juan")
+ZONE_UNIQUE( 703, "America/Argentina/San_Luis")
+ZONE_UNIQUE( 704, "America/Argentina/Tucuman")
+ZONE_UNIQUE( 705, "America/Argentina/Ushuaia")
+ZONE_UNIQUE( 706, "America/Asuncion")
+ZONE_UNIQUE( 707, "America/Bahia")
+ZONE_UNIQUE( 708, "America/Bahia_Banderas")
+ZONE_UNIQUE( 709, "America/Barbados")
+ZONE_UNIQUE( 710, "America/Belem")
+ZONE_UNIQUE( 711, "America/Belize")
+ZONE_UNIQUE( 712, "America/Boa_Vista")
+ZONE_UNIQUE( 713, "America/Bogota")
+ZONE_UNIQUE( 714, "America/Boise")
+ZONE_UNIQUE( 715, "America/Cambridge_Bay")
+ZONE_UNIQUE( 716, "America/Campo_Grande")
+ZONE_UNIQUE( 717, "America/Cancun")
+ZONE_UNIQUE( 718, "America/Caracas")
+ZONE_UNIQUE( 719, "America/Cayenne")
+ZONE_UNIQUE( 720, "America/Chicago")
+ZONE_UNIQUE( 721, "America/Chihuahua")
+ZONE_UNIQUE( 722, "America/Costa_Rica")
+ZONE_UNIQUE( 723, "America/Cuiaba")
+ZONE_UNIQUE( 724, "America/Danmarkshavn")
+ZONE_UNIQUE( 725, "America/Dawson")
+ZONE_UNIQUE( 726, "America/Dawson_Creek")
+ZONE_UNIQUE( 727, "America/Denver")
+ZONE_UNIQUE( 728, "America/Detroit")
+ZONE_UNIQUE( 729, "America/Edmonton")
+ZONE_UNIQUE( 730, "America/Eirunepe")
+ZONE_UNIQUE( 731, "America/El_Salvador")
+ZONE_UNIQUE( 732, "America/Fort_Nelson")
+ZONE_UNIQUE( 733, "America/Fortaleza")
+ZONE_UNIQUE( 734, "America/Glace_Bay")
+ZONE_UNIQUE( 735, "America/Goose_Bay")
+ZONE_UNIQUE( 736, "America/Grand_Turk")
+ZONE_UNIQUE( 737, "America/Guatemala")
+ZONE_UNIQUE( 738, "America/Guayaquil")
+ZONE_UNIQUE( 739, "America/Guyana")
+ZONE_UNIQUE( 740, "America/Halifax")
+ZONE_UNIQUE( 741, "America/Havana")
+ZONE_UNIQUE( 742, "America/Hermosillo")
+ZONE_UNIQUE( 743, "America/Indiana/Indianapolis")
+ZONE_UNIQUE( 744, "America/Indiana/Knox")
+ZONE_UNIQUE( 745, "America/Indiana/Marengo")
+ZONE_UNIQUE( 746, "America/Indiana/Petersburg")
+ZONE_UNIQUE( 747, "America/Indiana/Tell_City")
+ZONE_UNIQUE( 748, "America/Indiana/Vevay")
+ZONE_UNIQUE( 749, "America/Indiana/Vincennes")
+ZONE_UNIQUE( 750, "America/Indiana/Winamac")
+ZONE_UNIQUE( 751, "America/Inuvik")
+ZONE_UNIQUE( 752, "America/Iqaluit")
+ZONE_UNIQUE( 753, "America/Jamaica")
+ZONE_UNIQUE( 754, "America/Juneau")
+ZONE_UNIQUE( 755, "America/Kentucky/Louisville")
+ZONE_UNIQUE( 756, "America/Kentucky/Monticello")
+ZONE_UNIQUE( 757, "America/La_Paz")
+ZONE_UNIQUE( 758, "America/Lima")
+ZONE_UNIQUE( 759, "America/Los_Angeles")
+ZONE_UNIQUE( 760, "America/Maceio")
+ZONE_UNIQUE( 761, "America/Managua")
+ZONE_UNIQUE( 762, "America/Manaus")
+ZONE_UNIQUE( 763, "America/Martinique")
+ZONE_UNIQUE( 764, "America/Matamoros")
+ZONE_UNIQUE( 765, "America/Mazatlan")
+ZONE_UNIQUE( 766, "America/Menominee")
+ZONE_UNIQUE( 767, "America/Merida")
+ZONE_UNIQUE( 768, "America/Metlakatla")
+ZONE_UNIQUE( 769, "America/Mexico_City")
+ZONE_UNIQUE( 770, "America/Miquelon")
+ZONE_UNIQUE( 771, "America/Moncton")
+ZONE_UNIQUE( 772, "America/Monterrey")
+ZONE_UNIQUE( 773, "America/Montevideo")
+ZONE_UNIQUE( 774, "America/New_York")
+ZONE_UNIQUE( 775, "America/Nipigon")
+ZONE_UNIQUE( 776, "America/Nome")
+ZONE_UNIQUE( 777, "America/Noronha")
+ZONE_UNIQUE( 778, "America/North_Dakota/Beulah")
+ZONE_UNIQUE( 779, "America/North_Dakota/Center")
+ZONE_UNIQUE( 780, "America/North_Dakota/New_Salem")
+ZONE_UNIQUE( 781, "America/Nuuk")
+ZONE_UNIQUE( 782, "America/Ojinaga")
+ZONE_UNIQUE( 783, "America/Panama")
+ZONE_UNIQUE( 784, "America/Pangnirtung")
+ZONE_UNIQUE( 785, "America/Paramaribo")
+ZONE_UNIQUE( 786, "America/Phoenix")
+ZONE_UNIQUE( 787, "America/Port-au-Prince")
+ZONE_UNIQUE( 788, "America/Porto_Velho")
+ZONE_UNIQUE( 789, "America/Puerto_Rico")
+ZONE_UNIQUE( 790, "America/Punta_Arenas")
+ZONE_UNIQUE( 791, "America/Rainy_River")
+ZONE_UNIQUE( 792, "America/Rankin_Inlet")
+ZONE_UNIQUE( 793, "America/Recife")
+ZONE_UNIQUE( 794, "America/Regina")
+ZONE_UNIQUE( 795, "America/Resolute")
+ZONE_UNIQUE( 796, "America/Rio_Branco")
+ZONE_UNIQUE( 797, "America/Santarem")
+ZONE_UNIQUE( 798, "America/Santiago")
+ZONE_UNIQUE( 799, "America/Santo_Domingo")
+ZONE_UNIQUE( 800, "America/Sao_Paulo")
+ZONE_UNIQUE( 801, "America/Scoresbysund")
+ZONE_UNIQUE( 802, "America/Sitka")
+ZONE_UNIQUE( 803, "America/St_Johns")
+ZONE_UNIQUE( 804, "America/Swift_Current")
+ZONE_UNIQUE( 805, "America/Tegucigalpa")
+ZONE_UNIQUE( 806, "America/Thule")
+ZONE_UNIQUE( 807, "America/Thunder_Bay")
+ZONE_UNIQUE( 808, "America/Tijuana")
+ZONE_UNIQUE( 809, "America/Toronto")
+ZONE_UNIQUE( 810, "America/Vancouver")
+ZONE_UNIQUE( 811, "America/Whitehorse")
+ZONE_UNIQUE( 812, "America/Winnipeg")
+ZONE_UNIQUE( 813, "America/Yakutat")
+ZONE_UNIQUE( 814, "America/Yellowknife")
+ZONE_UNIQUE( 815, "Antarctica/Casey")
+ZONE_UNIQUE( 816, "Antarctica/Davis")
+ZONE_UNIQUE( 817, "Antarctica/Macquarie")
+ZONE_UNIQUE( 818, "Antarctica/Mawson")
+ZONE_UNIQUE( 819, "Antarctica/Palmer")
+ZONE_UNIQUE( 820, "Antarctica/Rothera")
+ZONE_UNIQUE( 821, "Antarctica/Troll")
+ZONE_UNIQUE( 822, "Antarctica/Vostok")
+ZONE_UNIQUE( 823, "Asia/Almaty")
+ZONE_UNIQUE( 824, "Asia/Amman")
+ZONE_UNIQUE( 825, "Asia/Anadyr")
+ZONE_UNIQUE( 826, "Asia/Aqtau")
+ZONE_UNIQUE( 827, "Asia/Aqtobe")
+ZONE_UNIQUE( 828, "Asia/Ashgabat")
+ZONE_UNIQUE( 829, "Asia/Atyrau")
+ZONE_UNIQUE( 830, "Asia/Baghdad")
+ZONE_UNIQUE( 831, "Asia/Baku")
+ZONE_UNIQUE( 832, "Asia/Bangkok")
+ZONE_UNIQUE( 833, "Asia/Barnaul")
+ZONE_UNIQUE( 834, "Asia/Beirut")
+ZONE_UNIQUE( 835, "Asia/Bishkek")
+ZONE_UNIQUE( 836, "Asia/Brunei")
+ZONE_UNIQUE( 837, "Asia/Chita")
+ZONE_UNIQUE( 838, "Asia/Choibalsan")
+ZONE_UNIQUE( 839, "Asia/Colombo")
+ZONE_UNIQUE( 840, "Asia/Damascus")
+ZONE_UNIQUE( 841, "Asia/Dhaka")
+ZONE_UNIQUE( 842, "Asia/Dili")
+ZONE_UNIQUE( 843, "Asia/Dubai")
+ZONE_UNIQUE( 844, "Asia/Dushanbe")
+ZONE_UNIQUE( 845, "Asia/Famagusta")
+ZONE_UNIQUE( 846, "Asia/Gaza")
+ZONE_UNIQUE( 847, "Asia/Hebron")
+ZONE_UNIQUE( 848, "Asia/Ho_Chi_Minh")
+ZONE_UNIQUE( 849, "Asia/Hong_Kong")
+ZONE_UNIQUE( 850, "Asia/Hovd")
+ZONE_UNIQUE( 851, "Asia/Irkutsk")
+ZONE_UNIQUE( 852, "Asia/Jakarta")
+ZONE_UNIQUE( 853, "Asia/Jayapura")
+ZONE_UNIQUE( 854, "Asia/Jerusalem")
+ZONE_UNIQUE( 855, "Asia/Kabul")
+ZONE_UNIQUE( 856, "Asia/Kamchatka")
+ZONE_UNIQUE( 857, "Asia/Karachi")
+ZONE_UNIQUE( 858, "Asia/Kathmandu")
+ZONE_UNIQUE( 859, "Asia/Khandyga")
+ZONE_UNIQUE( 860, "Asia/Kolkata")
+ZONE_UNIQUE( 861, "Asia/Krasnoyarsk")
+ZONE_UNIQUE( 862, "Asia/Kuala_Lumpur")
+ZONE_UNIQUE( 863, "Asia/Kuching")
+ZONE_UNIQUE( 864, "Asia/Macau")
+ZONE_UNIQUE( 865, "Asia/Magadan")
+ZONE_UNIQUE( 866, "Asia/Makassar")
+ZONE_UNIQUE( 867, "Asia/Manila")
+ZONE_UNIQUE( 868, "Asia/Nicosia")
+ZONE_UNIQUE( 869, "Asia/Novokuznetsk")
+ZONE_UNIQUE( 870, "Asia/Novosibirsk")
+ZONE_UNIQUE( 871, "Asia/Omsk")
+ZONE_UNIQUE( 872, "Asia/Oral")
+ZONE_UNIQUE( 873, "Asia/Pontianak")
+ZONE_UNIQUE( 874, "Asia/Pyongyang")
+ZONE_UNIQUE( 875, "Asia/Qatar")
+ZONE_UNIQUE( 876, "Asia/Qostanay")
+ZONE_UNIQUE( 877, "Asia/Qyzylorda")
+ZONE_UNIQUE( 878, "Asia/Riyadh")
+ZONE_UNIQUE( 879, "Asia/Sakhalin")
+ZONE_UNIQUE( 880, "Asia/Samarkand")
+ZONE_UNIQUE( 881, "Asia/Seoul")
+ZONE_UNIQUE( 882, "Asia/Shanghai")
+ZONE_UNIQUE( 883, "Asia/Singapore")
+ZONE_UNIQUE( 884, "Asia/Srednekolymsk")
+ZONE_UNIQUE( 885, "Asia/Taipei")
+ZONE_UNIQUE( 886, "Asia/Tashkent")
+ZONE_UNIQUE( 887, "Asia/Tbilisi")
+ZONE_UNIQUE( 888, "Asia/Tehran")
+ZONE_UNIQUE( 889, "Asia/Thimphu")
+ZONE_UNIQUE( 890, "Asia/Tokyo")
+ZONE_UNIQUE( 891, "Asia/Tomsk")
+ZONE_UNIQUE( 892, "Asia/Ulaanbaatar")
+ZONE_UNIQUE( 893, "Asia/Urumqi")
+ZONE_UNIQUE( 894, "Asia/Ust-Nera")
+ZONE_UNIQUE( 895, "Asia/Vladivostok")
+ZONE_UNIQUE( 896, "Asia/Yakutsk")
+ZONE_UNIQUE( 897, "Asia/Yangon")
+ZONE_UNIQUE( 898, "Asia/Yekaterinburg")
+ZONE_UNIQUE( 899, "Asia/Yerevan")
+ZONE_UNIQUE( 900, "Atlantic/Azores")
+ZONE_UNIQUE( 901, "Atlantic/Bermuda")
+ZONE_UNIQUE( 902, "Atlantic/Canary")
+ZONE_UNIQUE( 903, "Atlantic/Cape_Verde")
+ZONE_UNIQUE( 904, "Atlantic/Faroe")
+ZONE_UNIQUE( 905, "Atlantic/Madeira")
+ZONE_UNIQUE( 906, "Atlantic/Reykjavik")
+ZONE_UNIQUE( 907, "Atlantic/South_Georgia")
+ZONE_UNIQUE( 908, "Atlantic/Stanley")
+ZONE_UNIQUE( 909, "Australia/Adelaide")
+ZONE_UNIQUE( 910, "Australia/Brisbane")
+ZONE_UNIQUE( 911, "Australia/Broken_Hill")
+ZONE_UNIQUE( 912, "Australia/Darwin")
+ZONE_UNIQUE( 913, "Australia/Eucla")
+ZONE_UNIQUE( 914, "Australia/Hobart")
+ZONE_UNIQUE( 915, "Australia/Lindeman")
+ZONE_UNIQUE( 916, "Australia/Lord_Howe")
+ZONE_UNIQUE( 917, "Australia/Melbourne")
+ZONE_UNIQUE( 918, "Australia/Perth")
+ZONE_UNIQUE( 919, "Australia/Sydney")
+ZONE_UNIQUE( 920, "Etc/GMT")
+ZONE_UNIQUE( 921, "Etc/UTC")
+ZONE_UNIQUE( 922, "Europe/Amsterdam")
+ZONE_UNIQUE( 923, "Europe/Andorra")
+ZONE_UNIQUE( 924, "Europe/Astrakhan")
+ZONE_UNIQUE( 925, "Europe/Athens")
+ZONE_UNIQUE( 926, "Europe/Belgrade")
+ZONE_UNIQUE( 927, "Europe/Berlin")
+ZONE_UNIQUE( 928, "Europe/Brussels")
+ZONE_UNIQUE( 929, "Europe/Bucharest")
+ZONE_UNIQUE( 930, "Europe/Budapest")
+ZONE_UNIQUE( 931, "Europe/Chisinau")
+ZONE_UNIQUE( 932, "Europe/Copenhagen")
+ZONE_UNIQUE( 933, "Europe/Dublin")
+ZONE_UNIQUE( 934, "Europe/Gibraltar")
+ZONE_UNIQUE( 935, "Europe/Helsinki")
+ZONE_UNIQUE( 936, "Europe/Istanbul")
+ZONE_UNIQUE( 937, "Europe/Kaliningrad")
+ZONE_UNIQUE( 938, "Europe/Kiev")
+ZONE_UNIQUE( 939, "Europe/Kirov")
+ZONE_UNIQUE( 940, "Europe/Lisbon")
+ZONE_UNIQUE( 941, "Europe/London")
+ZONE_UNIQUE( 942, "Europe/Luxembourg")
+ZONE_UNIQUE( 943, "Europe/Madrid")
+ZONE_UNIQUE( 944, "Europe/Malta")
+ZONE_UNIQUE( 945, "Europe/Minsk")
+ZONE_UNIQUE( 946, "Europe/Monaco")
+ZONE_UNIQUE( 947, "Europe/Moscow")
+ZONE_UNIQUE( 948, "Europe/Oslo")
+ZONE_UNIQUE( 949, "Europe/Paris")
+ZONE_UNIQUE( 950, "Europe/Prague")
+ZONE_UNIQUE( 951, "Europe/Riga")
+ZONE_UNIQUE( 952, "Europe/Rome")
+ZONE_UNIQUE( 953, "Europe/Samara")
+ZONE_UNIQUE( 954, "Europe/Saratov")
+ZONE_UNIQUE( 955, "Europe/Simferopol")
+ZONE_UNIQUE( 956, "Europe/Sofia")
+ZONE_UNIQUE( 957, "Europe/Stockholm")
+ZONE_UNIQUE( 958, "Europe/Tallinn")
+ZONE_UNIQUE( 959, "Europe/Tirane")
+ZONE_UNIQUE( 960, "Europe/Ulyanovsk")
+ZONE_UNIQUE( 961, "Europe/Uzhgorod")
+ZONE_UNIQUE( 962, "Europe/Vienna")
+ZONE_UNIQUE( 963, "Europe/Vilnius")
+ZONE_UNIQUE( 964, "Europe/Volgograd")
+ZONE_UNIQUE( 965, "Europe/Warsaw")
+ZONE_UNIQUE( 966, "Europe/Zaporozhye")
+ZONE_UNIQUE( 967, "Europe/Zurich")
+ZONE_UNIQUE( 968, "Indian/Chagos")
+ZONE_UNIQUE( 969, "Indian/Christmas")
+ZONE_UNIQUE( 970, "Indian/Cocos")
+ZONE_UNIQUE( 971, "Indian/Kerguelen")
+ZONE_UNIQUE( 972, "Indian/Mahe")
+ZONE_UNIQUE( 973, "Indian/Maldives")
+ZONE_UNIQUE( 974, "Indian/Mauritius")
+ZONE_UNIQUE( 975, "Indian/Reunion")
+ZONE_UNIQUE( 976, "Pacific/Apia")
+ZONE_UNIQUE( 977, "Pacific/Auckland")
+ZONE_UNIQUE( 978, "Pacific/Bougainville")
+ZONE_UNIQUE( 979, "Pacific/Chatham")
+ZONE_UNIQUE( 980, "Pacific/Chuuk")
+ZONE_UNIQUE( 981, "Pacific/Easter")
+ZONE_UNIQUE( 982, "Pacific/Efate")
+ZONE_UNIQUE( 983, "Pacific/Fakaofo")
+ZONE_UNIQUE( 984, "Pacific/Fiji")
+ZONE_UNIQUE( 985, "Pacific/Funafuti")
+ZONE_UNIQUE( 986, "Pacific/Galapagos")
+ZONE_UNIQUE( 987, "Pacific/Gambier")
+ZONE_UNIQUE( 988, "Pacific/Guadalcanal")
+ZONE_UNIQUE( 989, "Pacific/Guam")
+ZONE_UNIQUE( 990, "Pacific/Honolulu")
+ZONE_UNIQUE( 991, "Pacific/Kanton")
+ZONE_UNIQUE( 992, "Pacific/Kiritimati")
+ZONE_UNIQUE( 993, "Pacific/Kosrae")
+ZONE_UNIQUE( 994, "Pacific/Kwajalein")
+ZONE_UNIQUE( 995, "Pacific/Majuro")
+ZONE_UNIQUE( 996, "Pacific/Marquesas")
+ZONE_UNIQUE( 997, "Pacific/Nauru")
+ZONE_UNIQUE( 998, "Pacific/Niue")
+ZONE_UNIQUE( 999, "Pacific/Norfolk")
+ZONE_UNIQUE(1000, "Pacific/Noumea")
+ZONE_UNIQUE(1001, "Pacific/Pago_Pago")
+ZONE_UNIQUE(1002, "Pacific/Palau")
+ZONE_UNIQUE(1003, "Pacific/Pitcairn")
+ZONE_UNIQUE(1004, "Pacific/Pohnpei")
+ZONE_UNIQUE(1005, "Pacific/Port_Moresby")
+ZONE_UNIQUE(1006, "Pacific/Rarotonga")
+ZONE_UNIQUE(1007, "Pacific/Tahiti")
+ZONE_UNIQUE(1008, "Pacific/Tarawa")
+ZONE_UNIQUE(1009, "Pacific/Tongatapu")
+ZONE_UNIQUE(1010, "Pacific/Wake")
+ZONE_UNIQUE(1011, "Pacific/Wallis")
+ZONE_ALIAS( 672, "Africa/Accra", "Africa/Abidjan")
+ZONE_ALIAS( 685, "Africa/Addis_Ababa", "Africa/Nairobi")
+ZONE_ALIAS( 685, "Africa/Asmara", "Africa/Nairobi")
+ZONE_ALIAS( 685, "Africa/Asmera", "Africa/Nairobi")
+ZONE_ALIAS( 672, "Africa/Bamako", "Africa/Abidjan")
+ZONE_ALIAS( 682, "Africa/Bangui", "Africa/Lagos")
+ZONE_ALIAS( 672, "Africa/Banjul", "Africa/Abidjan")
+ZONE_ALIAS( 683, "Africa/Blantyre", "Africa/Maputo")
+ZONE_ALIAS( 682, "Africa/Brazzaville", "Africa/Lagos")
+ZONE_ALIAS( 683, "Africa/Bujumbura", "Africa/Maputo")
+ZONE_ALIAS( 672, "Africa/Conakry", "Africa/Abidjan")
+ZONE_ALIAS( 672, "Africa/Dakar", "Africa/Abidjan")
+ZONE_ALIAS( 685, "Africa/Dar_es_Salaam", "Africa/Nairobi")
+ZONE_ALIAS( 685, "Africa/Djibouti", "Africa/Nairobi")
+ZONE_ALIAS( 682, "Africa/Douala", "Africa/Lagos")
+ZONE_ALIAS( 672, "Africa/Freetown", "Africa/Abidjan")
+ZONE_ALIAS( 683, "Africa/Gaborone", "Africa/Maputo")
+ZONE_ALIAS( 683, "Africa/Harare", "Africa/Maputo")
+ZONE_ALIAS( 685, "Africa/Kampala", "Africa/Nairobi")
+ZONE_ALIAS( 683, "Africa/Kigali", "Africa/Maputo")
+ZONE_ALIAS( 682, "Africa/Kinshasa", "Africa/Lagos")
+ZONE_ALIAS( 682, "Africa/Libreville", "Africa/Lagos")
+ZONE_ALIAS( 672, "Africa/Lome", "Africa/Abidjan")
+ZONE_ALIAS( 682, "Africa/Luanda", "Africa/Lagos")
+ZONE_ALIAS( 683, "Africa/Lubumbashi", "Africa/Maputo")
+ZONE_ALIAS( 683, "Africa/Lusaka", "Africa/Maputo")
+ZONE_ALIAS( 682, "Africa/Malabo", "Africa/Lagos")
+ZONE_ALIAS( 679, "Africa/Maseru", "Africa/Johannesburg")
+ZONE_ALIAS( 679, "Africa/Mbabane", "Africa/Johannesburg")
+ZONE_ALIAS( 685, "Africa/Mogadishu", "Africa/Nairobi")
+ZONE_ALIAS( 682, "Africa/Niamey", "Africa/Lagos")
+ZONE_ALIAS( 672, "Africa/Nouakchott", "Africa/Abidjan")
+ZONE_ALIAS( 672, "Africa/Ouagadougou", "Africa/Abidjan")
+ZONE_ALIAS( 682, "Africa/Porto-Novo", "Africa/Lagos")
+ZONE_ALIAS( 672, "Africa/Timbuktu", "Africa/Abidjan")
+ZONE_ALIAS( 789, "America/Anguilla", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Antigua", "America/Puerto_Rico")
+ZONE_ALIAS( 695, "America/Argentina/ComodRivadavia", "America/Argentina/Catamarca")
+ZONE_ALIAS( 789, "America/Aruba", "America/Puerto_Rico")
+ZONE_ALIAS( 783, "America/Atikokan", "America/Panama")
+ZONE_ALIAS( 691, "America/Atka", "America/Adak")
+ZONE_ALIAS( 789, "America/Blanc-Sablon", "America/Puerto_Rico")
+ZONE_ALIAS( 694, "America/Buenos_Aires", "America/Argentina/Buenos_Aires")
+ZONE_ALIAS( 695, "America/Catamarca", "America/Argentina/Catamarca")
+ZONE_ALIAS( 783, "America/Cayman", "America/Panama")
+ZONE_ALIAS( 783, "America/Coral_Harbour", "America/Panama")
+ZONE_ALIAS( 696, "America/Cordoba", "America/Argentina/Cordoba")
+ZONE_ALIAS( 786, "America/Creston", "America/Phoenix")
+ZONE_ALIAS( 789, "America/Curacao", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Dominica", "America/Puerto_Rico")
+ZONE_ALIAS( 808, "America/Ensenada", "America/Tijuana")
+ZONE_ALIAS( 743, "America/Fort_Wayne", "America/Indiana/Indianapolis")
+ZONE_ALIAS( 781, "America/Godthab", "America/Nuuk")
+ZONE_ALIAS( 789, "America/Grenada", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Guadeloupe", "America/Puerto_Rico")
+ZONE_ALIAS( 743, "America/Indianapolis", "America/Indiana/Indianapolis")
+ZONE_ALIAS( 697, "America/Jujuy", "America/Argentina/Jujuy")
+ZONE_ALIAS( 744, "America/Knox_IN", "America/Indiana/Knox")
+ZONE_ALIAS( 789, "America/Kralendijk", "America/Puerto_Rico")
+ZONE_ALIAS( 755, "America/Louisville", "America/Kentucky/Louisville")
+ZONE_ALIAS( 789, "America/Lower_Princes", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Marigot", "America/Puerto_Rico")
+ZONE_ALIAS( 699, "America/Mendoza", "America/Argentina/Mendoza")
+ZONE_ALIAS( 809, "America/Montreal", "America/Toronto")
+ZONE_ALIAS( 789, "America/Montserrat", "America/Puerto_Rico")
+ZONE_ALIAS( 809, "America/Nassau", "America/Toronto")
+ZONE_ALIAS( 789, "America/Port_of_Spain", "America/Puerto_Rico")
+ZONE_ALIAS( 796, "America/Porto_Acre", "America/Rio_Branco")
+ZONE_ALIAS( 696, "America/Rosario", "America/Argentina/Cordoba")
+ZONE_ALIAS( 808, "America/Santa_Isabel", "America/Tijuana")
+ZONE_ALIAS( 727, "America/Shiprock", "America/Denver")
+ZONE_ALIAS( 789, "America/St_Barthelemy", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/St_Kitts", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/St_Lucia", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/St_Thomas", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/St_Vincent", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Tortola", "America/Puerto_Rico")
+ZONE_ALIAS( 789, "America/Virgin", "America/Puerto_Rico")
+ZONE_ALIAS(1005, "Antarctica/DumontDUrville", "Pacific/Port_Moresby")
+ZONE_ALIAS( 977, "Antarctica/McMurdo", "Pacific/Auckland")
+ZONE_ALIAS( 977, "Antarctica/South_Pole", "Pacific/Auckland")
+ZONE_ALIAS( 878, "Antarctica/Syowa", "Asia/Riyadh")
+ZONE_ALIAS( 948, "Arctic/Longyearbyen", "Europe/Oslo")
+ZONE_ALIAS( 878, "Asia/Aden", "Asia/Riyadh")
+ZONE_ALIAS( 828, "Asia/Ashkhabad", "Asia/Ashgabat")
+ZONE_ALIAS( 875, "Asia/Bahrain", "Asia/Qatar")
+ZONE_ALIAS( 860, "Asia/Calcutta", "Asia/Kolkata")
+ZONE_ALIAS( 882, "Asia/Chongqing", "Asia/Shanghai")
+ZONE_ALIAS( 882, "Asia/Chungking", "Asia/Shanghai")
+ZONE_ALIAS( 841, "Asia/Dacca", "Asia/Dhaka")
+ZONE_ALIAS( 882, "Asia/Harbin", "Asia/Shanghai")
+ZONE_ALIAS( 936, "Asia/Istanbul", "Europe/Istanbul")
+ZONE_ALIAS( 893, "Asia/Kashgar", "Asia/Urumqi")
+ZONE_ALIAS( 858, "Asia/Katmandu", "Asia/Kathmandu")
+ZONE_ALIAS( 878, "Asia/Kuwait", "Asia/Riyadh")
+ZONE_ALIAS( 864, "Asia/Macao", "Asia/Macau")
+ZONE_ALIAS( 843, "Asia/Muscat", "Asia/Dubai")
+ZONE_ALIAS( 832, "Asia/Phnom_Penh", "Asia/Bangkok")
+ZONE_ALIAS( 897, "Asia/Rangoon", "Asia/Yangon")
+ZONE_ALIAS( 848, "Asia/Saigon", "Asia/Ho_Chi_Minh")
+ZONE_ALIAS( 854, "Asia/Tel_Aviv", "Asia/Jerusalem")
+ZONE_ALIAS( 889, "Asia/Thimbu", "Asia/Thimphu")
+ZONE_ALIAS( 866, "Asia/Ujung_Pandang", "Asia/Makassar")
+ZONE_ALIAS( 892, "Asia/Ulan_Bator", "Asia/Ulaanbaatar")
+ZONE_ALIAS( 832, "Asia/Vientiane", "Asia/Bangkok")
+ZONE_ALIAS( 904, "Atlantic/Faeroe", "Atlantic/Faroe")
+ZONE_ALIAS( 948, "Atlantic/Jan_Mayen", "Europe/Oslo")
+ZONE_ALIAS( 672, "Atlantic/St_Helena", "Africa/Abidjan")
+ZONE_ALIAS( 919, "Australia/ACT", "Australia/Sydney")
+ZONE_ALIAS( 919, "Australia/Canberra", "Australia/Sydney")
+ZONE_ALIAS( 914, "Australia/Currie", "Australia/Hobart")
+ZONE_ALIAS( 916, "Australia/LHI", "Australia/Lord_Howe")
+ZONE_ALIAS( 919, "Australia/NSW", "Australia/Sydney")
+ZONE_ALIAS( 912, "Australia/North", "Australia/Darwin")
+ZONE_ALIAS( 910, "Australia/Queensland", "Australia/Brisbane")
+ZONE_ALIAS( 909, "Australia/South", "Australia/Adelaide")
+ZONE_ALIAS( 914, "Australia/Tasmania", "Australia/Hobart")
+ZONE_ALIAS( 917, "Australia/Victoria", "Australia/Melbourne")
+ZONE_ALIAS( 918, "Australia/West", "Australia/Perth")
+ZONE_ALIAS( 911, "Australia/Yancowinna", "Australia/Broken_Hill")
+ZONE_ALIAS( 796, "Brazil/Acre", "America/Rio_Branco")
+ZONE_ALIAS( 777, "Brazil/DeNoronha", "America/Noronha")
+ZONE_ALIAS( 800, "Brazil/East", "America/Sao_Paulo")
+ZONE_ALIAS( 762, "Brazil/West", "America/Manaus")
+ZONE_ALIAS( 740, "Canada/Atlantic", "America/Halifax")
+ZONE_ALIAS( 812, "Canada/Central", "America/Winnipeg")
+ZONE_ALIAS( 809, "Canada/Eastern", "America/Toronto")
+ZONE_ALIAS( 729, "Canada/Mountain", "America/Edmonton")
+ZONE_ALIAS( 803, "Canada/Newfoundland", "America/St_Johns")
+ZONE_ALIAS( 810, "Canada/Pacific", "America/Vancouver")
+ZONE_ALIAS( 794, "Canada/Saskatchewan", "America/Regina")
+ZONE_ALIAS( 811, "Canada/Yukon", "America/Whitehorse")
+ZONE_ALIAS( 798, "Chile/Continental", "America/Santiago")
+ZONE_ALIAS( 981, "Chile/EasterIsland", "Pacific/Easter")
+ZONE_ALIAS( 741, "Cuba", "America/Havana")
+ZONE_ALIAS( 675, "Egypt", "Africa/Cairo")
+ZONE_ALIAS( 933, "Eire", "Europe/Dublin")
+ZONE_ALIAS( 920, "Etc/GMT+0", "Etc/GMT")
+ZONE_ALIAS( 920, "Etc/GMT-0", "Etc/GMT")
+ZONE_ALIAS( 920, "Etc/GMT0", "Etc/GMT")
+ZONE_ALIAS( 920, "Etc/Greenwich", "Etc/GMT")
+ZONE_ALIAS( 921, "Etc/UCT", "Etc/UTC")
+ZONE_ALIAS( 921, "Etc/Universal", "Etc/UTC")
+ZONE_ALIAS( 921, "Etc/Zulu", "Etc/UTC")
+ZONE_ALIAS( 941, "Europe/Belfast", "Europe/London")
+ZONE_ALIAS( 950, "Europe/Bratislava", "Europe/Prague")
+ZONE_ALIAS( 967, "Europe/Busingen", "Europe/Zurich")
+ZONE_ALIAS( 941, "Europe/Guernsey", "Europe/London")
+ZONE_ALIAS( 941, "Europe/Isle_of_Man", "Europe/London")
+ZONE_ALIAS( 941, "Europe/Jersey", "Europe/London")
+ZONE_ALIAS( 926, "Europe/Ljubljana", "Europe/Belgrade")
+ZONE_ALIAS( 935, "Europe/Mariehamn", "Europe/Helsinki")
+ZONE_ALIAS( 868, "Europe/Nicosia", "Asia/Nicosia")
+ZONE_ALIAS( 926, "Europe/Podgorica", "Europe/Belgrade")
+ZONE_ALIAS( 952, "Europe/San_Marino", "Europe/Rome")
+ZONE_ALIAS( 926, "Europe/Sarajevo", "Europe/Belgrade")
+ZONE_ALIAS( 926, "Europe/Skopje", "Europe/Belgrade")
+ZONE_ALIAS( 931, "Europe/Tiraspol", "Europe/Chisinau")
+ZONE_ALIAS( 967, "Europe/Vaduz", "Europe/Zurich")
+ZONE_ALIAS( 952, "Europe/Vatican", "Europe/Rome")
+ZONE_ALIAS( 926, "Europe/Zagreb", "Europe/Belgrade")
+ZONE_ALIAS( 941, "GB", "Europe/London")
+ZONE_ALIAS( 941, "GB-Eire", "Europe/London")
+ZONE_ALIAS( 920, "GMT+0", "Etc/GMT")
+ZONE_ALIAS( 920, "GMT-0", "Etc/GMT")
+ZONE_ALIAS( 920, "GMT0", "Etc/GMT")
+ZONE_ALIAS( 920, "Greenwich", "Etc/GMT")
+ZONE_ALIAS( 849, "Hongkong", "Asia/Hong_Kong")
+ZONE_ALIAS( 906, "Iceland", "Atlantic/Reykjavik")
+ZONE_ALIAS( 685, "Indian/Antananarivo", "Africa/Nairobi")
+ZONE_ALIAS( 685, "Indian/Comoro", "Africa/Nairobi")
+ZONE_ALIAS( 685, "Indian/Mayotte", "Africa/Nairobi")
+ZONE_ALIAS( 888, "Iran", "Asia/Tehran")
+ZONE_ALIAS( 854, "Israel", "Asia/Jerusalem")
+ZONE_ALIAS( 753, "Jamaica", "America/Jamaica")
+ZONE_ALIAS( 890, "Japan", "Asia/Tokyo")
+ZONE_ALIAS( 994, "Kwajalein", "Pacific/Kwajalein")
+ZONE_ALIAS( 688, "Libya", "Africa/Tripoli")
+ZONE_ALIAS( 808, "Mexico/BajaNorte", "America/Tijuana")
+ZONE_ALIAS( 765, "Mexico/BajaSur", "America/Mazatlan")
+ZONE_ALIAS( 769, "Mexico/General", "America/Mexico_City")
+ZONE_ALIAS( 977, "NZ", "Pacific/Auckland")
+ZONE_ALIAS( 979, "NZ-CHAT", "Pacific/Chatham")
+ZONE_ALIAS( 727, "Navajo", "America/Denver")
+ZONE_ALIAS( 882, "PRC", "Asia/Shanghai")
+ZONE_ALIAS( 991, "Pacific/Enderbury", "Pacific/Kanton")
+ZONE_ALIAS( 990, "Pacific/Johnston", "Pacific/Honolulu")
+ZONE_ALIAS(1001, "Pacific/Midway", "Pacific/Pago_Pago")
+ZONE_ALIAS(1004, "Pacific/Ponape", "Pacific/Pohnpei")
+ZONE_ALIAS( 989, "Pacific/Saipan", "Pacific/Guam")
+ZONE_ALIAS(1001, "Pacific/Samoa", "Pacific/Pago_Pago")
+ZONE_ALIAS( 980, "Pacific/Truk", "Pacific/Chuuk")
+ZONE_ALIAS( 980, "Pacific/Yap", "Pacific/Chuuk")
+ZONE_ALIAS( 965, "Poland", "Europe/Warsaw")
+ZONE_ALIAS( 940, "Portugal", "Europe/Lisbon")
+ZONE_ALIAS( 885, "ROC", "Asia/Taipei")
+ZONE_ALIAS( 881, "ROK", "Asia/Seoul")
+ZONE_ALIAS( 883, "Singapore", "Asia/Singapore")
+ZONE_ALIAS( 936, "Turkey", "Europe/Istanbul")
+ZONE_ALIAS( 921, "UCT", "Etc/UTC")
+ZONE_ALIAS( 692, "US/Alaska", "America/Anchorage")
+ZONE_ALIAS( 691, "US/Aleutian", "America/Adak")
+ZONE_ALIAS( 786, "US/Arizona", "America/Phoenix")
+ZONE_ALIAS( 720, "US/Central", "America/Chicago")
+ZONE_ALIAS( 743, "US/East-Indiana", "America/Indiana/Indianapolis")
+ZONE_ALIAS( 774, "US/Eastern", "America/New_York")
+ZONE_ALIAS( 990, "US/Hawaii", "Pacific/Honolulu")
+ZONE_ALIAS( 744, "US/Indiana-Starke", "America/Indiana/Knox")
+ZONE_ALIAS( 728, "US/Michigan", "America/Detroit")
+ZONE_ALIAS( 727, "US/Mountain", "America/Denver")
+ZONE_ALIAS( 759, "US/Pacific", "America/Los_Angeles")
+ZONE_ALIAS(1001, "US/Samoa", "Pacific/Pago_Pago")
+ZONE_ALIAS( 921, "Universal", "Etc/UTC")
+ZONE_ALIAS( 947, "W-SU", "Europe/Moscow")
+ZONE_ALIAS( 921, "Zulu", "Etc/UTC")
diff --git a/src/lib/tzcode/tzcode.h b/src/lib/tzcode/tzcode.h
index 59bb6c94eb991d525ebf23abbcc225309bd354b3..8e752c6325414cc7b6b87a337604ab31f156ee9d 100644
--- a/src/lib/tzcode/tzcode.h
+++ b/src/lib/tzcode/tzcode.h
@@ -66,6 +66,13 @@ char *
 tnt_strptime(const char *__restrict buf, const char *__restrict fmt,
 	     struct tnt_tm *__restrict tm);
 
+typedef struct state *timezone_t;
+
+/** Find installed timezone definition and load it to memory */
+timezone_t tzalloc(const char *);
+/** Free loaded timezone definition */
+void tzfree(timezone_t);
+
 #if defined(__cplusplus)
 } /* extern "C" */
 #endif /* defined(__cplusplus) */