]> git.saurik.com Git - apple/icu.git/commitdiff
ICU-6.2.21.tar.gz mac-os-x-10411ppc v6.2.21
authorApple <opensource@apple.com>
Tue, 2 Oct 2007 00:44:14 +0000 (00:44 +0000)
committerApple <opensource@apple.com>
Tue, 2 Oct 2007 00:44:14 +0000 (00:44 +0000)
24 files changed:
icuSources/allinone/all/all.dsp [deleted file]
icuSources/data/misc/zoneinfo.txt
icuSources/layout/unicode/loengine.h [deleted file]
icuSources/samples/xml2txt/readme.txt [deleted file]
icuSources/test/collperf/Makefile.in [deleted file]
icuSources/test/collperf/collperf.cpp [deleted file]
icuSources/test/collperf/collperf.dsp [deleted file]
icuSources/test/collperf/readme.html [deleted file]
icuSources/test/perf/all/all.dsp [deleted file]
icuSources/test/unalignedtest/Makefile.in [deleted file]
icuSources/test/unalignedtest/readme [deleted file]
icuSources/test/unalignedtest/unaligned.c [deleted file]
icuSources/test/usetperf/bitset.cpp [deleted file]
icuSources/test/usetperf/bitset.h [deleted file]
icuSources/test/usetperf/timer.h [deleted file]
icuSources/test/usetperf/usetperf.cpp [deleted file]
icuSources/test/usetperf/usetperf.dsp [deleted file]
icuSources/test/utfperf/utfperf.c [deleted file]
icuSources/test/utfperf/utfperf.dsp [deleted file]
icuSources/tools/makeconv/misc/canonucm.c [deleted file]
icuSources/tools/makeconv/misc/rptp2ucm.c [deleted file]
icuSources/tools/makeconv/misc/ucmmerge.c [deleted file]
icuSources/tools/makeconv/misc/ucmstrip.c [deleted file]
makefile

diff --git a/icuSources/allinone/all/all.dsp b/icuSources/allinone/all/all.dsp
deleted file mode 100644 (file)
index 5336d61..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=ALL - WIN32 DEBUG
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "all.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "all.mak" CFG="ALL - WIN32 DEBUG"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "all - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all - Win64 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all - Win64 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-MTL=midl.exe
-
-!IF  "$(CFG)" == "all - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-
-!ELSEIF  "$(CFG)" == "all - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-
-!ELSEIF  "$(CFG)" == "all - Win64 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-
-!ELSEIF  "$(CFG)" == "all - Win64 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-
-!ENDIF 
-
-# Begin Target
-
-# Name "all - Win32 Release"
-# Name "all - Win32 Debug"
-# Name "all - Win64 Release"
-# Name "all - Win64 Debug"
-# End Target
-# End Project
index 28cbe31913009c9a70ed37b1835442be9be427d0..44deb9d692a9362ec77e529c7ded8499fe4582fb 100644 (file)
@@ -3,9 +3,9 @@
 // Corporation and others.  All Rights Reserved.
 //---------------------------------------------------------
 // Build tool: tz2icu
 // Corporation and others.  All Rights Reserved.
 //---------------------------------------------------------
 // Build tool: tz2icu
-// Build date: Mon Jan  8 13:03:38 2007
+// Build date: Mon Oct  1 16:11:06 2007
 // Olson source: ftp://elsie.nci.nih.gov/pub/
 // Olson source: ftp://elsie.nci.nih.gov/pub/
-// Olson version: 2007a
+// Olson version: 2007h
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
@@ -13,8 +13,8 @@
 
 zoneinfo {
  Zones:array { 
 
 zoneinfo {
  Zones:array { 
-  /* ACT */ :int { 320 } //Z#0
-,  /* AET */ :int { 332 } //Z#1
+  /* ACT */ :int { 323 } //Z#0
+,  /* AET */ :int { 335 } //Z#1
 ,  /* AGT */ :int { 63 } //Z#2
 ,  /* ART */ :int { 18 } //Z#3
 ,  /* AST */ :int { 59 } //Z#4
 ,  /* AGT */ :int { 63 } //Z#2
 ,  /* ART */ :int { 18 } //Z#3
 ,  /* AST */ :int { 59 } //Z#4
@@ -32,7 +32,7 @@ zoneinfo {
     :intvector { -1062210920 }
     :intvector { 10800, 0 }
     :bin { "00" }
     :intvector { -1062210920 }
     :intvector { 10800, 0 }
     :bin { "00" }
-    :intvector { 7, 361 }
+    :intvector { 7, 364 }
   } //Z#7
 ,  /* Africa/Algiers */ :array {
     :intvector { -1855958961, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1531443600, -956365200, -950486400, -942012000, -812502000, -796262400, -781052400, -766630800, -733280400, -439430400, -212029200, 41468400, 54774000, 231724800, 246236400, 259545600, 275274000, 309740400, 325468800, 341802000, 357523200 }
   } //Z#7
 ,  /* Africa/Algiers */ :array {
     :intvector { -1855958961, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1531443600, -956365200, -950486400, -942012000, -812502000, -796262400, -781052400, -766630800, -733280400, -439430400, -212029200, 41468400, 54774000, 231724800, 246236400, 259545600, 275274000, 309740400, 325468800, 341802000, 357523200 }
@@ -83,12 +83,12 @@ zoneinfo {
     :bin { "" }
   } //Z#17
 ,  /* Africa/Cairo */ :array {
     :bin { "" }
   } //Z#17
 ,  /* Africa/Cairo */ :array {
-    :intvector { -929844000, -923108400, -906170400, -892868400, -875844000, -857790000, -844308000, -825822000, -812685600, -794199600, -779853600, -762663600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -71107200, -52707600, -39484800, -21171600, -7948800, 10364400, 23587200, 41900400, 55123200, 73522800, 86745600, 105058800, 118281600, 136594800, 149817600, 168130800, 181353600, 199753200, 212976000, 231289200, 244512000, 262825200, 276048000, 294361200, 307584000, 325983600, 339206400, 357519600, 370742400, 396399600, 402278400, 426812400, 433814400, 452214000, 465436800, 483750000, 496972800, 515286000, 528508800, 546822000, 560044800, 578444400, 591667200, 610412400, 623203200, 641516400, 654739200, 673052400, 686275200, 704674800, 717897600, 736210800, 749433600, 767746800, 780969600, 799020000, 812322000, 830469600, 843771600, 861919200, 875221200, 893368800, 906670800, 925423200, 938725200, 956872800, 970174800, 988322400, 1001624400, 1019772000, 1033074000, 1051221600, 1064523600, 1083276000, 1096578000, 1114725600, 1128027600, 1146175200, 1158872400 }
+    :intvector { -929844000, -923108400, -906170400, -892868400, -875844000, -857790000, -844308000, -825822000, -812685600, -794199600, -779853600, -762663600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -71107200, -52707600, -39484800, -21171600, -7948800, 10364400, 23587200, 41900400, 55123200, 73522800, 86745600, 105058800, 118281600, 136594800, 149817600, 168130800, 181353600, 199753200, 212976000, 231289200, 244512000, 262825200, 276048000, 294361200, 307584000, 325983600, 339206400, 357519600, 370742400, 396399600, 402278400, 426812400, 433814400, 452214000, 465436800, 483750000, 496972800, 515286000, 528508800, 546822000, 560044800, 578444400, 591667200, 610412400, 623203200, 641516400, 654739200, 673052400, 686275200, 704674800, 717897600, 736210800, 749433600, 767746800, 780969600, 799020000, 812322000, 830469600, 843771600, 861919200, 875221200, 893368800, 906670800, 925423200, 938725200, 956872800, 970174800, 988322400, 1001624400, 1019772000, 1033074000, 1051221600, 1064523600, 1083276000, 1096578000, 1114725600, 1128027600, 1146175200, 1158872400, 1177624800, 1189112400 }
     :intvector { 7200, 0, 7200, 3600 }
     :intvector { 7200, 0, 7200, 3600 }
-    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
+    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Egypt"
     "Egypt"
-    :intvector { 7200, 2007 }
-    :intvector { 3, 18, 366 }
+    :intvector { 7200, 2008 }
+    :intvector { 3, 18, 369 }
   } //Z#18
 ,  /* Africa/Casablanca */ :array {
     :intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000 }
   } //Z#18
 ,  /* Africa/Casablanca */ :array {
     :intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000 }
@@ -146,7 +146,7 @@ zoneinfo {
     :intvector { -2109290652 }
     :intvector { 7200, 0 }
     :bin { "00" }
     :intvector { -2109290652 }
     :intvector { 7200, 0 }
     :bin { "00" }
-    :intvector { 29, 343 }
+    :intvector { 29, 346 }
   } //Z#29
 ,  /* Africa/Johannesburg */ :array {
     :intvector { -2109288600, -860976000, -845254800, -829526400, -813805200 }
   } //Z#29
 ,  /* Africa/Johannesburg */ :array {
     :intvector { -2109288600, -860976000, -845254800, -829526400, -813805200 }
@@ -273,7 +273,7 @@ zoneinfo {
     :intvector { -1577926364, -574902000, -568087200, -512175600, -504928800, -449888400, -441856800, -347158800, 378684000, 386463600, 402271200, 417999600, 433807200, 449622000, 465429600, 481590000, 496965600, 512953200, 528674400, 544230000, 560037600, 575852400, 591660000, 607388400, 623196000, 641775600, 844034400, 860108400, 875916000 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0 }
     :bin { "0001000100010002000100010001000100010001000100010002000102" }
     :intvector { -1577926364, -574902000, -568087200, -512175600, -504928800, -449888400, -441856800, -347158800, 378684000, 386463600, 402271200, 417999600, 433807200, 449622000, 465429600, 481590000, 496965600, 512953200, 528674400, 544230000, 560037600, 575852400, 591660000, 607388400, 623196000, 641775600, 844034400, 860108400, 875916000 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0 }
     :bin { "0001000100010002000100010001000100010001000100010002000102" }
-    :intvector { 55, 491 }
+    :intvector { 55, 494 }
   } //Z#55
 ,  /* Africa/Tunis */ :array {
     :intvector { -1855958961, -969242400, -950493600, -941940000, -891136800, -877827600, -857257200, -844556400, -842918400, -842223600, -828230400, -812502000, -796269600, -781052400, -766634400, 231202800, 243903600, 262825200, 276044400, 581122800, 591145200, 606870000, 622594800, 641516400, 654649200, 1114902000, 1128038400 }
   } //Z#55
 ,  /* Africa/Tunis */ :array {
     :intvector { -1855958961, -969242400, -950493600, -941940000, -891136800, -877827600, -857257200, -844556400, -842918400, -842223600, -828230400, -812502000, -796269600, -781052400, -766634400, 231202800, 243903600, 262825200, 276044400, 581122800, 591145200, 606870000, 622594800, 641516400, 654649200, 1114902000, 1128038400 }
@@ -295,7 +295,7 @@ zoneinfo {
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -36000, 2007 }
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -36000, 2007 }
-    :intvector { 58, 77, 562 }
+    :intvector { 58, 77, 565 }
   } //Z#58
 ,  /* America/Anchorage */ :array {
     :intvector { -880200000, -769395600, -765378000, -86882400, -21470400, -5749200, 9979200, 25700400, 41428800, 57754800, 73483200, 89204400, 104932800, 120654000, 126705600, 152103600, 162388800, 183553200, 199281600, 215607600, 230731200, 247057200, 262785600, 278506800, 294235200, 309956400, 325684800, 341406000, 357134400, 372855600, 388584000, 404910000, 420033600, 436359600, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
   } //Z#58
 ,  /* America/Anchorage */ :array {
     :intvector { -880200000, -769395600, -765378000, -86882400, -21470400, -5749200, 9979200, 25700400, 41428800, 57754800, 73483200, 89204400, 104932800, 120654000, 126705600, 152103600, 162388800, 183553200, 199281600, 215607600, 230731200, 247057200, 262785600, 278506800, 294235200, 309956400, 325684800, 341406000, 357134400, 372855600, 388584000, 404910000, 420033600, 436359600, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
@@ -303,7 +303,7 @@ zoneinfo {
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -32400, 2007 }
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -32400, 2007 }
-    :intvector { 4, 59, 561 }
+    :intvector { 4, 59, 564 }
   } //Z#59
 ,  /* America/Anguilla */ :array {
     :intvector { -1825098464 }
   } //Z#59
 ,  /* America/Anguilla */ :array {
     :intvector { -1825098464 }
@@ -337,13 +337,13 @@ zoneinfo {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667965600, 687931200, 699415200, 719377200, 731469600, 938919600, 952052400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100020302030203020300030203020102" }
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667965600, 687931200, 699415200, 719377200, 731469600, 938919600, 952052400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100020302030203020300030203020102" }
-    :intvector { 66, 97, 180 }
+    :intvector { 66, 97, 183 }
   } //Z#66
 ,  /* America/Argentina/Jujuy */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 657086400, 669178800, 686721600, 699415200, 719377200, 731469600, 938919600, 952052400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100020302030203000100030203020102" }
   } //Z#66
 ,  /* America/Argentina/Jujuy */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 657086400, 669178800, 686721600, 699415200, 719377200, 731469600, 938919600, 952052400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100020302030203000100030203020102" }
-    :intvector { 67, 135 }
+    :intvector { 67, 137 }
   } //Z#67
 ,  /* America/Argentina/La_Rioja */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667792800, 673588800, 687927600, 699415200, 719377200, 731469600, 938919600, 952052400, 1086058800, 1087704000 }
   } //Z#67
 ,  /* America/Argentina/La_Rioja */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667792800, 673588800, 687927600, 699415200, 719377200, 731469600, 938919600, 952052400, 1086058800, 1087704000 }
@@ -354,7 +354,7 @@ zoneinfo {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 655963200, 667796400, 687499200, 699418800, 719380800, 731469600, 938919600, 952052400, 1085281200, 1096171200 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000203020302030001000100030201020002" }
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 655963200, 667796400, 687499200, 699418800, 719380800, 731469600, 938919600, 952052400, 1085281200, 1096171200 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000203020302030001000100030201020002" }
-    :intvector { 69, 149 }
+    :intvector { 69, 151 }
   } //Z#69
 ,  /* America/Argentina/Rio_Gallegos */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667965600, 687927600, 699415200, 719377200, 731469600, 938919600, 952052400, 1086058800, 1087704000 }
   } //Z#69
 ,  /* America/Argentina/Rio_Gallegos */ :array {
     :intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 636516000, 656478000, 667965600, 687927600, 699415200, 719377200, 731469600, 938919600, 952052400, 1086058800, 1087704000 }
@@ -439,18 +439,18 @@ zoneinfo {
   } //Z#85
 ,  /* America/Buenos_Aires */ :int { 63 } //Z#86
 ,  /* America/Cambridge_Bay */ :array {
   } //Z#85
 ,  /* America/Buenos_Aires */ :int { 63 } //Z#86
 ,  /* America/Cambridge_Bay */ :array {
-    :intvector { -1632063600, -1615132800, -1596985200, -1583172000, -880210800, -769395600, -765388800, -147891600, -131562000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954662400, 972802800, 973400400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
+    :intvector { -1577923200, -880210800, -769395600, -765388800, -147891600, -131562000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954662400, 972802800, 973400400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
     :intvector { -25200, 0, -25200, 3600, -25200, 7200, -21600, 0, -21600, 3600, -18000, 0 }
     :intvector { -25200, 0, -25200, 3600, -25200, 7200, -21600, 0, -21600, 3600, -18000, 0 }
-    :bin { "01000100010100020001000100010001000100010001000100010001000100010001000100010001000100010001000103040503010001000100010001000100" }
+    :bin { "00010100020001000100010001000100010001000100010001000100010001000100010001000100010001000103040503010001000100010001000100" }
     "Canada"
     :intvector { -25200, 2007 }
   } //Z#87
 ,  /* America/Campo_Grande */ :array {
     "Canada"
     :intvector { -25200, 2007 }
   } //Z#87
 ,  /* America/Campo_Grande */ :array {
-    :intvector { -1767212492, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1066536000, 1076814000, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200 }
+    :intvector { -1767212492, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1066536000, 1076814000, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400 }
     :intvector { -14400, 0, -14400, 3600 }
     :intvector { -14400, 0, -14400, 3600 }
-    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "Brazil"
     "Brazil"
-    :intvector { -14400, 2007 }
+    :intvector { -14400, 2008 }
   } //Z#88
 ,  /* America/Cancun */ :array {
     :intvector { -1514743200, 377935200, 828860400, 846396000, 860310000, 877845600, 891759600, 902037600, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
   } //Z#88
 ,  /* America/Cancun */ :array {
     :intvector { -1514743200, 377935200, 828860400, 846396000, 860310000, 877845600, 891759600, 902037600, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
@@ -460,9 +460,9 @@ zoneinfo {
     :intvector { -21600, 2002 }
   } //Z#89
 ,  /* America/Caracas */ :array {
     :intvector { -21600, 2002 }
   } //Z#89
 ,  /* America/Caracas */ :array {
-    :intvector { -1826739140, -157750200 }
+    :intvector { -1826739140, -157750200, 1199160000 }
     :intvector { -16200, 0, -14400, 0 }
     :intvector { -16200, 0, -14400, 0 }
-    :bin { "0001" }
+    :bin { "000100" }
   } //Z#90
 ,  /* America/Catamarca */ :int { 64 } //Z#91
 ,  /* America/Cayenne */ :array {
   } //Z#90
 ,  /* America/Catamarca */ :int { 64 } //Z#91
 ,  /* America/Cayenne */ :array {
@@ -481,7 +481,7 @@ zoneinfo {
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000200010001000100010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000200010001000100010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
-    :intvector { 94, 346, 564 }
+    :intvector { 94, 349, 567 }
   } //Z#94
 ,  /* America/Chihuahua */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800 }
   } //Z#94
 ,  /* America/Chihuahua */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800 }
@@ -498,11 +498,11 @@ zoneinfo {
     :bin { "000100010001000100" }
   } //Z#98
 ,  /* America/Cuiaba */ :array {
     :bin { "000100010001000100" }
   } //Z#98
 ,  /* America/Cuiaba */ :array {
-    :intvector { -1767212140, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200 }
+    :intvector { -1767212140, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 592977600, 602046000, 624427200, 634705200, 656481600, 666759600, 687931200, 697604400, 719985600, 728449200, 750830400, 761713200, 782280000, 793162800, 813729600, 824007600, 844574400, 856062000, 876110400, 888721200, 908078400, 919566000, 938923200, 951620400, 970977600, 982465200, 1003032000, 1013914800, 1036296000, 1045364400, 1099368000, 1108868400, 1129435200, 1140318000, 1162699200, 1172372400, 1192334400 }
     :intvector { -14400, 0, -14400, 3600 }
     :intvector { -14400, 0, -14400, 3600 }
-    :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "Brazil"
     "Brazil"
-    :intvector { -14400, 2007 }
+    :intvector { -14400, 2008 }
   } //Z#99
 ,  /* America/Curacao */ :array {
     :intvector { -1826738656, -157750200 }
   } //Z#99
 ,  /* America/Curacao */ :array {
     :intvector { -1826738656, -157750200 }
@@ -532,7 +532,7 @@ zoneinfo {
     :bin { "0100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -25200, 2007 }
     :bin { "0100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -25200, 2007 }
-    :intvector { 104, 185, 506, 570 }
+    :intvector { 104, 188, 509, 573 }
   } //Z#104
 ,  /* America/Detroit */ :array {
     :intvector { -2051202469, -1724083200, -880218000, -769395600, -765396000, -684349200, -671047200, -80499600, -68666400, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
   } //Z#104
 ,  /* America/Detroit */ :array {
     :intvector { -2051202469, -1724083200, -880218000, -769395600, -765396000, -684349200, -671047200, -80499600, -68666400, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
@@ -540,7 +540,7 @@ zoneinfo {
     :bin { "0001020201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "US"
     :intvector { -18000, 2007 }
     :bin { "0001020201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "US"
     :intvector { -18000, 2007 }
-    :intvector { 105, 569 }
+    :intvector { 105, 572 }
   } //Z#105
 ,  /* America/Dominica */ :array {
     :intvector { -1846266804 }
   } //Z#105
 ,  /* America/Dominica */ :array {
     :intvector { -1846266804 }
@@ -553,7 +553,7 @@ zoneinfo {
     :bin { "0001000100010001000100010001010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -25200, 2007 }
     :bin { "0001000100010001000100010001010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -25200, 2007 }
-    :intvector { 107, 353 }
+    :intvector { 107, 356 }
   } //Z#107
 ,  /* America/Eirunepe */ :array {
     :intvector { -1767208832, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800, 750834000, 761716800 }
   } //Z#107
 ,  /* America/Eirunepe */ :array {
     :intvector { -1767208832, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800, 750834000, 761716800 }
@@ -565,7 +565,7 @@ zoneinfo {
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "0001000100" }
   } //Z#109
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "0001000100" }
   } //Z#109
-,  /* America/Ensenada */ :int { 195 } //Z#110
+,  /* America/Ensenada */ :int { 198 } //Z#110
 ,  /* America/Fort_Wayne */ :int { 125 } //Z#111
 ,  /* America/Fortaleza */ :array {
     :intvector { -1767216360, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 938919600, 951616800, 970974000, 972180000, 1003028400, 1013911200 }
 ,  /* America/Fort_Wayne */ :int { 125 } //Z#111
 ,  /* America/Fortaleza */ :array {
     :intvector { -1767216360, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 938919600, 951616800, 970974000, 972180000, 1003028400, 1013911200 }
@@ -594,11 +594,11 @@ zoneinfo {
     :intvector { -14400, 2007 }
   } //Z#115
 ,  /* America/Grand_Turk */ :array {
     :intvector { -14400, 2007 }
   } //Z#115
 ,  /* America/Grand_Turk */ :array {
-    :intvector { -1827687168, 294210000, 309931200, 325659600, 341380800, 357109200, 372830400, 388558800, 404884800, 420008400, 436334400, 452062800, 467784000, 483512400, 499233600, 514962000, 530683200 }
+    :intvector { -1827687168, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :intvector { -18000, 0, -18000, 3600 }
-    :bin { "0001000100010001000100010001000100" }
+    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "TC"
     "TC"
-    :intvector { -18000, 1987 }
+    :intvector { -18000, 2007 }
   } //Z#116
 ,  /* America/Grenada */ :array {
     :intvector { -1846266780 }
   } //Z#116
 ,  /* America/Grenada */ :array {
     :intvector { -1846266780 }
@@ -631,15 +631,15 @@ zoneinfo {
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -14400, 2007 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -14400, 2007 }
-    :intvector { 122, 349 }
+    :intvector { 122, 352 }
   } //Z#122
 ,  /* America/Havana */ :array {
   } //Z#122
 ,  /* America/Havana */ :array {
-    :intvector { -1402813824, -1311534000, -1300996800, -933534000, -925675200, -902084400, -893620800, -870030000, -862171200, -775681200, -767822400, -744231600, -736372800, -144702000, -134251200, -113425200, -102542400, -86295600, -72907200, -54154800, -41457600, -21495600, -5774400, 9954000, 25675200, 41403600, 57729600, 73458000, 87364800, 104907600, 118900800, 136357200, 150436800, 167806800, 183528000, 199256400, 215582400, 230706000, 247032000, 263365200, 276667200, 290581200, 308721600, 322030800, 340171200, 358318800, 371620800, 389768400, 403070400, 421218000, 434520000, 452667600, 466574400, 484117200, 498024000, 511333200, 529473600, 542782800, 560923200, 574837200, 592372800, 606286800, 623822400, 638946000, 655876800, 671000400, 687330000, 702450000, 718779600, 733899600, 750229200, 765349200, 781678800, 796798800, 813128400, 828853200, 844578000, 860302800, 876632400, 891147600, 909291600, 922597200, 941346000, 954651600, 972795600, 986101200, 1004245200, 1018155600, 1035694800, 1049605200, 1067144400, 1081054800 }
+    :intvector { -1402813824, -1311534000, -1300996800, -933534000, -925675200, -902084400, -893620800, -870030000, -862171200, -775681200, -767822400, -744231600, -736372800, -144702000, -134251200, -113425200, -102542400, -86295600, -72907200, -54154800, -41457600, -21495600, -5774400, 9954000, 25675200, 41403600, 57729600, 73458000, 87364800, 104907600, 118900800, 136357200, 150436800, 167806800, 183528000, 199256400, 215582400, 230706000, 247032000, 263365200, 276667200, 290581200, 308721600, 322030800, 340171200, 358318800, 371620800, 389768400, 403070400, 421218000, 434520000, 452667600, 466574400, 484117200, 498024000, 511333200, 529473600, 542782800, 560923200, 574837200, 592372800, 606286800, 623822400, 638946000, 655876800, 671000400, 687330000, 702450000, 718779600, 733899600, 750229200, 765349200, 781678800, 796798800, 813128400, 828853200, 844578000, 860302800, 876632400, 891147600, 909291600, 922597200, 941346000, 954651600, 972795600, 986101200, 1004245200, 1018155600, 1035694800, 1049605200, 1067144400, 1081054800, 1162098000 }
     :intvector { -18000, 0, -18000, 3600 }
     :intvector { -18000, 0, -18000, 3600 }
-    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Cuba"
     "Cuba"
-    :intvector { -18000, 2006 }
-    :intvector { 123, 360 }
+    :intvector { -18000, 2007 }
+    :intvector { 123, 363 }
   } //Z#123
 ,  /* America/Hermosillo */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400 }
   } //Z#123
 ,  /* America/Hermosillo */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400 }
@@ -652,7 +652,7 @@ zoneinfo {
     :bin { "010001000100010100010001000100010001000100010001000100020002030203020302" }
     "US"
     :intvector { -18000, 2007 }
     :bin { "010001000100010100010001000100010001000100010001000100020002030203020302" }
     "US"
     :intvector { -18000, 2007 }
-    :intvector { 111, 125, 131, 471, 565 }
+    :intvector { 111, 125, 133, 474, 568 }
   } //Z#125
 ,  /* America/Indiana/Knox */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -715795200, -702493200, -684345600, -671043600, -652896000, -639594000, -620841600, -608144400, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -447267600, -431539200, -415818000, -400089600, -386787600, -368640000, -355338000, -337190400, -321469200, -305740800, -289414800, -273686400, -257965200, -242236800, -195066000, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 1143961200, 1162105200 }
   } //Z#125
 ,  /* America/Indiana/Knox */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -715795200, -702493200, -684345600, -671043600, -652896000, -639594000, -620841600, -608144400, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -447267600, -431539200, -415818000, -400089600, -386787600, -368640000, -355338000, -337190400, -321469200, -305740800, -289414800, -273686400, -257965200, -242236800, -195066000, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 1143961200, 1162105200 }
@@ -660,7 +660,7 @@ zoneinfo {
     :bin { "01000100010100010001000100010001000100010001000100010001000100010001000100020001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020100" }
     "US"
     :intvector { -21600, 2007 }
     :bin { "01000100010100010001000100010001000100010001000100010001000100010001000100020001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020100" }
     "US"
     :intvector { -21600, 2007 }
-    :intvector { 126, 139, 568 }
+    :intvector { 126, 141, 571 }
   } //Z#126
 ,  /* America/Indiana/Marengo */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -589392000, -576090000, -495043200, -481741200, -463593600, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -292438800, -273686400, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152089200, 162370800, 183535200, 1143961200, 1162101600 }
   } //Z#126
 ,  /* America/Indiana/Marengo */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -589392000, -576090000, -495043200, -481741200, -463593600, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -292438800, -273686400, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152089200, 162370800, 183535200, 1143961200, 1162101600 }
@@ -674,2030 +674,2041 @@ zoneinfo {
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "0100010001010001000100010001000100010001000100010001000200010001000100010001000100010001000100010001020100" }
     "US"
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "0100010001010001000100010001000100010001000100010001000200010001000100010001000100010001000100010001020100" }
     "US"
-    :intvector { -21600, 2007 }
+    :intvector { -18000, 2007 }
   } //Z#128
   } //Z#128
+,  /* America/Indiana/Tell_City */ :array {
+    :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -526492800, -513190800, -495043200, -481741200, -462996000, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -289414800, -273686400, -260989200, -242236800, -226515600, -210787200, -195066000, -179337600, -21488400, -5767200, 9961200, 25682400, 1143961200, 1162105200 }
+    :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
+    :bin { "0100010001010001000100010001000100010001000100010001000100010002030203020100" }
+    "US"
+    :intvector { -21600, 2007 }
+  } //Z#129
 ,  /* America/Indiana/Vevay */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -495043200, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "010001000101000203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* America/Indiana/Vevay */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -495043200, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "010001000101000203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
-  } //Z#129
+  } //Z#130
 ,  /* America/Indiana/Vincennes */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -526492800, -513190800, -495043200, -481741200, -462996000, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -289414800, -273686400, -260989200, -242236800, -226515600, -210787200, -195066000, -179337600, -21488400, -5767200, 9961200, 25682400, 1143961200, 1162105200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "0100010001010001000100010001000100010001000100010001000100010002030203020100" }
     "US"
 ,  /* America/Indiana/Vincennes */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -526492800, -513190800, -495043200, -481741200, -462996000, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -289414800, -273686400, -260989200, -242236800, -226515600, -210787200, -195066000, -179337600, -21488400, -5767200, 9961200, 25682400, 1143961200, 1162105200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "0100010001010001000100010001000100010001000100010001000100010002030203020100" }
     "US"
-    :intvector { -21600, 2007 }
-  } //Z#130
-,  /* America/Indianapolis */ :int { 125 } //Z#131
+    :intvector { -18000, 2007 }
+  } //Z#131
+,  /* America/Indiana/Winamac */ :array {
+    :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -715795200, -702493200, -684345600, -671043600, -652896000, -639594000, -620841600, -608144400, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -447267600, -431539200, -415818000, -400089600, -386787600, -368640000, -355338000, -337190400, -323888400, -305740800, -292438800, -273686400, -21488400, -5767200, 9961200, 25682400, 1143961200, 1162105200 }
+    :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
+    :bin { "0100010001010001000100010001000100010001000100010001000100010001000100010002030203020100" }
+    "US"
+    :intvector { -18000, 2007 }
+  } //Z#132
+,  /* America/Indianapolis */ :int { 125 } //Z#133
 ,  /* America/Inuvik */ :array {
 ,  /* America/Inuvik */ :array {
-    :intvector { -1632060000, -1615129200, -1596981600, -1583168400, -880207200, -769395600, -765385200, -147888000, -131558400, 294228000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
-    :intvector { -28800, 0, -28800, 3600, -28800, 7200, -25200, 0, -25200, 3600 }
-    :bin { "01000100010100020003040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
+    :intvector { -536457600, -147888000, -131558400, 294228000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
+    :intvector { -28800, 0, -28800, 7200, -25200, 0, -25200, 3600 }
+    :bin { "00010002030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "Canada"
     :intvector { -25200, 2007 }
     "Canada"
     :intvector { -25200, 2007 }
-  } //Z#132
+  } //Z#134
 ,  /* America/Iqaluit */ :array {
 ,  /* America/Iqaluit */ :array {
-    :intvector { -1632070800, -1615140000, -1596992400, -1583179200, -880218000, -769395600, -765396000, -147898800, -131569200, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
+    :intvector { -865296000, -769395600, -765396000, -147898800, -131569200, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600, -18000, 7200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600, -18000, 7200 }
-    :bin { "030203020303020402030203020302030203020302030203020302030203020302030203020302030203020302030203000102030203020302030203020302" }
+    :bin { "0303020402030203020302030203020302030203020302030203020302030203020302030203020302030203000102030203020302030203020302" }
     "Canada"
     :intvector { -18000, 2007 }
     "Canada"
     :intvector { -18000, 2007 }
-  } //Z#133
+  } //Z#135
 ,  /* America/Jamaica */ :array {
     :intvector { -1827687168, 136364400, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100010001000100" }
 ,  /* America/Jamaica */ :array {
     :intvector { -1827687168, 136364400, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100010001000100" }
-    :intvector { 134, 488 }
-  } //Z#134
-,  /* America/Jujuy */ :int { 67 } //Z#135
+    :intvector { 136, 491 }
+  } //Z#136
+,  /* America/Jujuy */ :int { 67 } //Z#137
 ,  /* America/Juneau */ :array {
     :intvector { -880207200, -769395600, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -32400, 0, -32400, 3600, -28800, 0, -28800, 3600 }
     :bin { "0303020302030203020302030203020302030203020302030203020302030203000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -32400, 2007 }
 ,  /* America/Juneau */ :array {
     :intvector { -880207200, -769395600, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -32400, 0, -32400, 3600, -28800, 0, -28800, 3600 }
     :bin { "0303020302030203020302030203020302030203020302030203020302030203000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -32400, 2007 }
-  } //Z#136
+  } //Z#138
 ,  /* America/Kentucky/Louisville */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -1535904000, -1525280400, -905097600, -891795600, -880214400, -769395600, -765392400, -757360800, -744224400, -715795200, -608144400, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -450291600, -431539200, -415818000, -400089600, -384368400, -368640000, -352918800, -337190400, -321469200, -305740800, -289414800, -273686400, -266432400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152089200, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "01000100010001000101000100010001000100010001000100010001000100010001000102030203020302030203020302010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* America/Kentucky/Louisville */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -1535904000, -1525280400, -905097600, -891795600, -880214400, -769395600, -765392400, -757360800, -744224400, -715795200, -608144400, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -450291600, -431539200, -415818000, -400089600, -384368400, -368640000, -352918800, -337190400, -321469200, -305740800, -289414800, -273686400, -266432400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152089200, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "01000100010001000101000100010001000100010001000100010001000100010001000102030203020302030203020302010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
-    :intvector { 137, 143 }
-  } //Z#137
+    :intvector { 139, 145 }
+  } //Z#139
 ,  /* America/Kentucky/Monticello */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "01000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102030203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* America/Kentucky/Monticello */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600 }
     :bin { "01000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102030203020302030203020302" }
     "US"
     :intvector { -18000, 2007 }
-  } //Z#138
-,  /* America/Knox_IN */ :int { 126 } //Z#139
+  } //Z#140
+,  /* America/Knox_IN */ :int { 126 } //Z#141
 ,  /* America/La_Paz */ :array {
     :intvector { -1205954844, -1192307244 }
     :intvector { -16356, 3600, -14400, 0 }
     :bin { "0001" }
 ,  /* America/La_Paz */ :array {
     :intvector { -1205954844, -1192307244 }
     :intvector { -16356, 3600, -14400, 0 }
     :bin { "0001" }
-  } //Z#140
+  } //Z#142
 ,  /* America/Lima */ :array {
     :intvector { -1938538284, -1009825200, -1002052800, -986756400, -971035200, -955306800, -939585600, 504939600, 512712000, 536475600, 544248000, 631170000, 638942400, 757400400, 765172800 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100" }
 ,  /* America/Lima */ :array {
     :intvector { -1938538284, -1009825200, -1002052800, -986756400, -971035200, -955306800, -939585600, 504939600, 512712000, 536475600, 544248000, 631170000, 638942400, 757400400, 765172800 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100" }
-  } //Z#141
+  } //Z#143
 ,  /* America/Los_Angeles */ :array {
     :intvector { -1633269600, -1615129200, -1601820000, -1583679600, -880207200, -769395600, -765385200, -687967200, -662655600, -620834400, -608137200, -589384800, -576082800, -557935200, -544633200, -526485600, -513183600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, -273679200, -260982000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -28800, 2007 }
 ,  /* America/Los_Angeles */ :array {
     :intvector { -1633269600, -1615129200, -1601820000, -1583679600, -880207200, -769395600, -765385200, -687967200, -662655600, -620834400, -608137200, -589384800, -576082800, -557935200, -544633200, -526485600, -513183600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, -273679200, -260982000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -28800, 2007 }
-    :intvector { 142, 511, 571, 572 }
-  } //Z#142
-,  /* America/Louisville */ :int { 137 } //Z#143
+    :intvector { 144, 514, 574, 575 }
+  } //Z#144
+,  /* America/Louisville */ :int { 139 } //Z#145
 ,  /* America/Maceio */ :array {
     :intvector { -1767217028, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 813726000, 824004000, 938919600, 951616800, 970974000, 972180000, 1003028400, 1013911200 }
     :intvector { -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Maceio */ :array {
     :intvector { -1767217028, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 813726000, 824004000, 938919600, 951616800, 970974000, 972180000, 1003028400, 1013911200 }
     :intvector { -10800, 0, -10800, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-  } //Z#144
+  } //Z#146
 ,  /* America/Managua */ :array {
     :intvector { -1121105688, 105084000, 161758800, 290584800, 299134800, 322034400, 330584400, 694260000, 717310800, 725868000, 852094800, 1113112800, 1128229200, 1146384000, 1159682400 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "000200010001000200020001000100" }
 ,  /* America/Managua */ :array {
     :intvector { -1121105688, 105084000, 161758800, 290584800, 299134800, 322034400, 330584400, 694260000, 717310800, 725868000, 852094800, 1113112800, 1128229200, 1146384000, 1159682400 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "000200010001000200020001000100" }
-  } //Z#145
+  } //Z#147
 ,  /* America/Manaus */ :array {
     :intvector { -1767211196, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 750830400, 761713200 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Manaus */ :array {
     :intvector { -1767211196, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 750830400, 761713200 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 146, 342 }
-  } //Z#146
+    :intvector { 148, 345 }
+  } //Z#148
 ,  /* America/Martinique */ :array {
     :intvector { -1851537340, 323841600, 338958000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100" }
 ,  /* America/Martinique */ :array {
     :intvector { -1851537340, 323841600, 338958000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100" }
-  } //Z#147
+  } //Z#149
 ,  /* America/Mazatlan */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800 }
     :intvector { -28800, 0, -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "010301030103010001020102010201020102010201" }
     "Mexico"
     :intvector { -25200, 2002 }
 ,  /* America/Mazatlan */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800 }
     :intvector { -28800, 0, -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "010301030103010001020102010201020102010201" }
     "Mexico"
     :intvector { -25200, 2002 }
-    :intvector { 148, 497 }
-  } //Z#148
-,  /* America/Mendoza */ :int { 69 } //Z#149
+    :intvector { 150, 500 }
+  } //Z#150
+,  /* America/Mendoza */ :int { 69 } //Z#151
 ,  /* America/Menominee */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -116438400, -100112400, -21484800, 104914800, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "0100010001010001000100020100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
 ,  /* America/Menominee */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -747244800, -733942800, -116438400, -100112400, -21484800, 104914800, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "0100010001010001000100020100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
-  } //Z#150
+  } //Z#152
 ,  /* America/Merida */ :array {
     :intvector { -1514743200, 377935200, 407653200, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "000200010001000100010001000100" }
     "Mexico"
     :intvector { -21600, 2002 }
 ,  /* America/Merida */ :array {
     :intvector { -1514743200, 377935200, 407653200, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0 }
     :bin { "000200010001000100010001000100" }
     "Mexico"
     :intvector { -21600, 2002 }
-  } //Z#151
+  } //Z#153
 ,  /* America/Mexico_City */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -975261600, -963169200, -917114400, -907354800, -821901600, -810068400, -627501600, -612990000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -25200, 0, -21600, 0, -21600, 3600 }
     :bin { "0001000100010201020102010201020102010201020102010201" }
     "Mexico"
     :intvector { -21600, 2002 }
 ,  /* America/Mexico_City */ :array {
     :intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -975261600, -963169200, -917114400, -907354800, -821901600, -810068400, -627501600, -612990000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -25200, 0, -21600, 0, -21600, 3600 }
     :bin { "0001000100010201020102010201020102010201020102010201" }
     "Mexico"
     :intvector { -21600, 2002 }
-    :intvector { 152, 498 }
-  } //Z#152
+    :intvector { 154, 501 }
+  } //Z#154
 ,  /* America/Miquelon */ :array {
     :intvector { -1850328920, 326001600, 544597200, 562132800, 576046800, 594187200, 607496400, 625636800, 638946000, 657086400, 671000400, 688536000, 702450000, 719985600, 733899600, 752040000, 765349200, 783489600, 796798800, 814939200, 828853200, 846388800, 860302800, 877838400, 891752400, 909288000, 923202000, 941342400, 954651600, 972792000, 986101200, 1004241600, 1018155600, 1035691200, 1049605200, 1067140800, 1081054800, 1099195200, 1112504400, 1130644800, 1143954000, 1162094400 }
     :intvector { -14400, 0, -10800, 0, -10800, 3600 }
     :bin { "000102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "Canada"
     :intvector { -10800, 2007 }
 ,  /* America/Miquelon */ :array {
     :intvector { -1850328920, 326001600, 544597200, 562132800, 576046800, 594187200, 607496400, 625636800, 638946000, 657086400, 671000400, 688536000, 702450000, 719985600, 733899600, 752040000, 765349200, 783489600, 796798800, 814939200, 828853200, 846388800, 860302800, 877838400, 891752400, 909288000, 923202000, 941342400, 954651600, 972792000, 986101200, 1004241600, 1018155600, 1035691200, 1049605200, 1067140800, 1081054800, 1099195200, 1112504400, 1130644800, 1143954000, 1162094400 }
     :intvector { -14400, 0, -10800, 0, -10800, 3600 }
     :bin { "000102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "Canada"
     :intvector { -10800, 2007 }
-  } //Z#153
+  } //Z#155
 ,  /* America/Moncton */ :array {
     :intvector { -2131642800, -1632074400, -1614798000, -1153681200, -1145822400, -1122231600, -1114372800, -1090782000, -1082923200, -1059332400, -1051473600, -1027882800, -1020024000, -996433200, -988574400, -965674800, -955396800, -934743600, -923947200, -904503600, -891892800, -880221600, -769395600, -765399600, -747252000, -733950000, -715802400, -702500400, -684352800, -671050800, -652903200, -639601200, -620848800, -608151600, -589399200, -576097200, -557949600, -544647600, -526500000, -513198000, -495050400, -481748400, -463600800, -450298800, -431546400, -418244400, -400096800, -384375600, -368647200, -352926000, -337197600, -321476400, -305748000, -289422000, -273693600, -257972400, -242244000, -226522800, -210794400, -195073200, -179344800, -163623600, -147895200, -131569200, -116445600, -100119600, -84391200, -68670000, -52941600, -37220400, -21492000, -5770800, 9957600, 25678800, 41407200, 57733200, 73461600, 89182800, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733896060, 752036460, 765345660, 783486060, 796795260, 814935660, 828849660, 846385260, 860299260, 877834860, 891748860, 909284460, 923198460, 941338860, 954648060, 972788460, 986097660, 1004238060, 1018152060, 1035687660, 1049601660, 1067137260, 1081051260, 1099191660, 1112500860, 1130641260, 1143950460, 1162090860 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -14400, 2007 }
 ,  /* America/Moncton */ :array {
     :intvector { -2131642800, -1632074400, -1614798000, -1153681200, -1145822400, -1122231600, -1114372800, -1090782000, -1082923200, -1059332400, -1051473600, -1027882800, -1020024000, -996433200, -988574400, -965674800, -955396800, -934743600, -923947200, -904503600, -891892800, -880221600, -769395600, -765399600, -747252000, -733950000, -715802400, -702500400, -684352800, -671050800, -652903200, -639601200, -620848800, -608151600, -589399200, -576097200, -557949600, -544647600, -526500000, -513198000, -495050400, -481748400, -463600800, -450298800, -431546400, -418244400, -400096800, -384375600, -368647200, -352926000, -337197600, -321476400, -305748000, -289422000, -273693600, -257972400, -242244000, -226522800, -210794400, -195073200, -179344800, -163623600, -147895200, -131569200, -116445600, -100119600, -84391200, -68670000, -52941600, -37220400, -21492000, -5770800, 9957600, 25678800, 41407200, 57733200, 73461600, 89182800, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733896060, 752036460, 765345660, 783486060, 796795260, 814935660, 828849660, 846385260, 860299260, 877834860, 891748860, 909284460, 923198460, 941338860, 954648060, 972788460, 986097660, 1004238060, 1018152060, 1035687660, 1049601660, 1067137260, 1081051260, 1099191660, 1112500860, 1130641260, 1143950460, 1162090860 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -14400, 2007 }
-  } //Z#154
+  } //Z#156
 ,  /* America/Monterrey */ :array {
     :intvector { -1514743200, 576057600, 594198000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "000100010001000100010001000100" }
     "Mexico"
     :intvector { -21600, 2002 }
 ,  /* America/Monterrey */ :array {
     :intvector { -1514743200, 576057600, 594198000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "000100010001000100010001000100" }
     "Mexico"
     :intvector { -21600, 2002 }
-  } //Z#155
+  } //Z#157
 ,  /* America/Montevideo */ :array {
     :intvector { -1567455316, -1459542600, -1443819600, -1428006600, -1412283600, -1396470600, -1380747600, -1141590600, -1128286800, -1110141000, -1096837200, -1078691400, -1065387600, -1046637000, -1033938000, -1015187400, -1002488400, -983737800, -971038800, -952288200, -938984400, -920838600, -907534800, -896819400, -883602000, -853619400, -845848800, -334789200, -319672800, -314226000, -309996000, -149720400, -134604000, -118270800, -100044000, -86821200, -68508000, -50446800, -34119000, -18910800, -2583000, 12625200, 28953000, 72932400, 82692000, 132116400, 156911400, 212983200, 250052400, 260244000, 307594800, 325994400, 566449200, 574308000, 597812400, 605671200, 625633200, 636516000, 656478000, 667965600, 688532400, 699415200, 719377200, 730864800, 1095562800, 1111896000, 1128834000, 1142136000, 1159678800 }
     :intvector { -12600, 0, -12600, 1800, -10800, 0, -10800, 1800, -10800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000402040204020402040204020302030203020402030402040204020402040204020402040204020402040204" }
     "Uruguay"
     :intvector { -10800, 2007 }
 ,  /* America/Montevideo */ :array {
     :intvector { -1567455316, -1459542600, -1443819600, -1428006600, -1412283600, -1396470600, -1380747600, -1141590600, -1128286800, -1110141000, -1096837200, -1078691400, -1065387600, -1046637000, -1033938000, -1015187400, -1002488400, -983737800, -971038800, -952288200, -938984400, -920838600, -907534800, -896819400, -883602000, -853619400, -845848800, -334789200, -319672800, -314226000, -309996000, -149720400, -134604000, -118270800, -100044000, -86821200, -68508000, -50446800, -34119000, -18910800, -2583000, 12625200, 28953000, 72932400, 82692000, 132116400, 156911400, 212983200, 250052400, 260244000, 307594800, 325994400, 566449200, 574308000, 597812400, 605671200, 625633200, 636516000, 656478000, 667965600, 688532400, 699415200, 719377200, 730864800, 1095562800, 1111896000, 1128834000, 1142136000, 1159678800 }
     :intvector { -12600, 0, -12600, 1800, -10800, 0, -10800, 1800, -10800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000402040204020402040204020302030203020402030402040204020402040204020402040204020402040204" }
     "Uruguay"
     :intvector { -10800, 2007 }
-  } //Z#156
+  } //Z#158
 ,  /* America/Montreal */ :array {
     :intvector { -1665334800, -1662753600, -1632070800, -1614794400, -1601742600, -1583775000, -1567355400, -1554053400, -1535907600, -1522603800, -1504458000, -1491154200, -1439830800, -1428255000, -1409504400, -1396805400, -1378054800, -1365355800, -1346612400, -1333915200, -1315162800, -1301860800, -1283713200, -1270411200, -1252263600, -1238961600, -1220814000, -1207512000, -1188759600, -1176062400, -1157310000, -1144008000, -1125860400, -1112558400, -1094410800, -1081108800, -1062961200, -1049659200, -1031511600, -1018209600, -1000062000, -986760000, -968007600, -955310400, -936558000, -880218000, -769395600, -765396000, -747248400, -733946400, -715798800, -702496800, -684349200, -671047200, -652899600, -636573600, -620845200, -605124000, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
 ,  /* America/Montreal */ :array {
     :intvector { -1665334800, -1662753600, -1632070800, -1614794400, -1601742600, -1583775000, -1567355400, -1554053400, -1535907600, -1522603800, -1504458000, -1491154200, -1439830800, -1428255000, -1409504400, -1396805400, -1378054800, -1365355800, -1346612400, -1333915200, -1315162800, -1301860800, -1283713200, -1270411200, -1252263600, -1238961600, -1220814000, -1207512000, -1188759600, -1176062400, -1157310000, -1144008000, -1125860400, -1112558400, -1094410800, -1081108800, -1062961200, -1049659200, -1031511600, -1018209600, -1000062000, -986760000, -968007600, -955310400, -936558000, -880218000, -769395600, -765396000, -747248400, -733946400, -715798800, -702496800, -684349200, -671047200, -652899600, -636573600, -620845200, -605124000, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
-  } //Z#157
+  } //Z#159
 ,  /* America/Montserrat */ :array {
     :intvector { -1846266608 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/Montserrat */ :array {
     :intvector { -1846266608 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#158
+  } //Z#160
 ,  /* America/Nassau */ :array {
     :intvector { -1825095036, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* America/Nassau */ :array {
     :intvector { -1825095036, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
-  } //Z#159
+  } //Z#161
 ,  /* America/New_York */ :array {
     :intvector { -1633280400, -1615140000, -1601830800, -1583690400, -1570381200, -1551636000, -1536512400, -1523210400, -1504458000, -1491760800, -1473008400, -1459706400, -1441558800, -1428256800, -1410109200, -1396807200, -1378659600, -1365357600, -1347210000, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1189357200, -1176055200, -1157302800, -1144605600, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -923248800, -905101200, -891799200, -880218000, -769395600, -765396000, -747248400, -733946400, -715798800, -702496800, -684349200, -671047200, -652899600, -639597600, -620845200, -608148000, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -447271200, -431542800, -415821600, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* America/New_York */ :array {
     :intvector { -1633280400, -1615140000, -1601830800, -1583690400, -1570381200, -1551636000, -1536512400, -1523210400, -1504458000, -1491760800, -1473008400, -1459706400, -1441558800, -1428256800, -1410109200, -1396807200, -1378659600, -1365357600, -1347210000, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1189357200, -1176055200, -1157302800, -1144605600, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -923248800, -905101200, -891799200, -880218000, -769395600, -765396000, -747248400, -733946400, -715798800, -702496800, -684349200, -671047200, -652899600, -639597600, -620845200, -608148000, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -447271200, -431542800, -415821600, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
-    :intvector { 160, 566 }
-  } //Z#160
+    :intvector { 162, 569 }
+  } //Z#162
 ,  /* America/Nipigon */ :array {
     :intvector { -1632070800, -1614794400, -923252400, -880218000, -769395600, -765396000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "010001010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
 ,  /* America/Nipigon */ :array {
     :intvector { -1632070800, -1614794400, -923252400, -880218000, -769395600, -765396000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "010001010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
-  } //Z#161
+  } //Z#163
 ,  /* America/Nome */ :array {
     :intvector { -880196400, -769395600, -765374400, -86878800, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -32400, 2007 }
 ,  /* America/Nome */ :array {
     :intvector { -880196400, -769395600, -765374400, -86878800, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
     :bin { "010100000100010001000100010001000100010001000100010001000100010001020203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -32400, 2007 }
-  } //Z#162
+  } //Z#164
 ,  /* America/Noronha */ :array {
     :intvector { -1767217820, -1206961200, -1191366000, -1175378400, -1159830000, -633823200, -622072800, -602287200, -591836400, -570751200, -560214000, -539128800, -531356400, -191368800, -184201200, -155167200, -150073200, -128901600, -121129200, -99957600, -89593200, -68421600, -57970800, 499744800, 511232400, 530589600, 540262800, 562125600, 571194000, 592970400, 602038800, 624420000, 634698000, 938916000, 951613200, 970970400, 971571600, 1003024800, 1013907600 }
     :intvector { -7200, 0, -7200, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Noronha */ :array {
     :intvector { -1767217820, -1206961200, -1191366000, -1175378400, -1159830000, -633823200, -622072800, -602287200, -591836400, -570751200, -560214000, -539128800, -531356400, -191368800, -184201200, -155167200, -150073200, -128901600, -121129200, -99957600, -89593200, -68421600, -57970800, 499744800, 511232400, 530589600, 540262800, 562125600, 571194000, 592970400, 602038800, 624420000, 634698000, 938916000, 951613200, 970970400, 971571600, 1003024800, 1013907600 }
     :intvector { -7200, 0, -7200, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 163, 340 }
-  } //Z#163
+    :intvector { 165, 343 }
+  } //Z#165
 ,  /* America/North_Dakota/Center */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -21600, 2007 }
 ,  /* America/North_Dakota/Center */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010203020302030203020302030203020302030203020302030203020302" }
     "US"
     :intvector { -21600, 2007 }
-  } //Z#164
+  } //Z#166
 ,  /* America/North_Dakota/New_Salem */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102030203020302" }
     "US"
     :intvector { -21600, 2007 }
 ,  /* America/North_Dakota/New_Salem */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102030203020302" }
     "US"
     :intvector { -21600, 2007 }
-  } //Z#165
+  } //Z#167
 ,  /* America/Panama */ :array {
     :intvector { -1946918424 }
     :intvector { -18000, 0 }
     :bin { "00" }
 ,  /* America/Panama */ :array {
     :intvector { -1946918424 }
     :intvector { -18000, 0 }
     :bin { "00" }
-  } //Z#166
+  } //Z#168
 ,  /* America/Pangnirtung */ :array {
 ,  /* America/Pangnirtung */ :array {
-    :intvector { -1632074400, -1615143600, -1596996000, -1583182800, -880221600, -769395600, -765399600, -147902400, -131572800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
+    :intvector { -1546300800, -880221600, -769395600, -765399600, -147902400, -131572800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954662400, 972802800, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600, -14400, 0, -14400, 3600, -14400, 7200 }
     :intvector { -21600, 0, -21600, 3600, -18000, 0, -18000, 3600, -14400, 0, -14400, 3600, -14400, 7200 }
-    :bin { "050405040505040604050405040504050405040504050405040504050405040504050405040504030203020302030203000102030203020302030203020302" }
+    :bin { "040505040604050405040504050405040504050405040504050405040504050405040504030203020302030203000102030203020302030203020302" }
     "Canada"
     :intvector { -18000, 2007 }
     "Canada"
     :intvector { -18000, 2007 }
-  } //Z#167
+  } //Z#169
 ,  /* America/Paramaribo */ :array {
     :intvector { -1861906760, -1104524348, -765317964, 185686200, 465449400 }
     :intvector { -13252, 0, -13236, 0, -12600, 0, -10800, 0 }
     :bin { "0001020203" }
 ,  /* America/Paramaribo */ :array {
     :intvector { -1861906760, -1104524348, -765317964, 185686200, 465449400 }
     :intvector { -13252, 0, -13236, 0, -12600, 0, -10800, 0 }
     :bin { "0001020203" }
-  } //Z#168
+  } //Z#170
 ,  /* America/Phoenix */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -820519140, -812653140, -796845540, -84380400, -68659200 }
     :intvector { -25200, 0, -25200, 3600 }
     :bin { "01000100010001000100" }
 ,  /* America/Phoenix */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -820519140, -812653140, -796845540, -84380400, -68659200 }
     :intvector { -25200, 0, -25200, 3600 }
     :bin { "01000100010001000100" }
-    :intvector { 169, 508, 563 }
-  } //Z#169
+    :intvector { 171, 511, 566 }
+  } //Z#171
 ,  /* America/Port-au-Prince */ :array {
 ,  /* America/Port-au-Prince */ :array {
-    :intvector { -1670483460, 421218000, 436334400, 452062800, 467784000, 483512400, 499233600, 514962000, 530683200, 546411600, 562132800, 576050400, 594194400, 607500000, 625644000, 638949600, 657093600, 671004000, 688543200, 702453600, 719992800, 733903200, 752047200, 765352800, 783496800, 796802400, 814946400, 828856800, 846396000, 860306400, 877845600 }
+    :intvector { -1670483460, 421218000, 436334400, 452062800, 467784000, 483512400, 499233600, 514962000, 530683200, 546411600, 562132800, 576050400, 594194400, 607500000, 625644000, 638949600, 657093600, 671004000, 688543200, 702453600, 719992800, 733903200, 752047200, 765352800, 783496800, 796802400, 814946400, 828856800, 846396000, 860306400, 877845600, 1112504400, 1130644800, 1143954000, 1162094400 }
     :intvector { -18000, 0, -18000, 3600 }
     :intvector { -18000, 0, -18000, 3600 }
-    :bin { "00010001000100010001000100010001000100010001000100010001000100" }
-    "Haiti"
-    :intvector { -18000, 2005 }
-  } //Z#170
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100" }
+  } //Z#172
 ,  /* America/Port_of_Spain */ :array {
     :intvector { -1825098836 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/Port_of_Spain */ :array {
     :intvector { -1825098836 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#171
-,  /* America/Porto_Acre */ :int { 179 } //Z#172
+  } //Z#173
+,  /* America/Porto_Acre */ :int { 182 } //Z#174
 ,  /* America/Porto_Velho */ :array {
     :intvector { -1767210264, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Porto_Velho */ :array {
     :intvector { -1767210264, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100" }
-  } //Z#173
+  } //Z#175
 ,  /* America/Puerto_Rico */ :array {
     :intvector { -873057600, -769395600, -765399600 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "010100" }
 ,  /* America/Puerto_Rico */ :array {
     :intvector { -873057600, -769395600, -765399600 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "010100" }
-    :intvector { 174, 510 }
-  } //Z#174
+    :intvector { 176, 513 }
+  } //Z#176
 ,  /* America/Rainy_River */ :array {
     :intvector { -1632067200, -1614790800, -923248800, -880214400, -769395600, -765392400, 136368000, 152089200, 167817600, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "010001010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -21600, 2007 }
 ,  /* America/Rainy_River */ :array {
     :intvector { -1632067200, -1614790800, -923248800, -880214400, -769395600, -765392400, 136368000, 152089200, 167817600, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "010001010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -21600, 2007 }
-  } //Z#175
+  } //Z#177
 ,  /* America/Rankin_Inlet */ :array {
 ,  /* America/Rankin_Inlet */ :array {
-    :intvector { -1632067200, -1615136400, -1596988800, -1583175600, -880214400, -769395600, -765392400, -147895200, -131565600, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
+    :intvector { -410227200, -147895200, -131565600, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600, -21600, 7200, -18000, 0 }
     :intvector { -21600, 0, -21600, 3600, -21600, 7200, -18000, 0 }
-    :bin { "010001000101000200010001000100010001000100010001000100010001000100010001000100010001000100010001000103010001000100010001000100" }
+    :bin { "000200010001000100010001000100010001000100010001000100010001000100010001000100010001000103010001000100010001000100" }
     "Canada"
     :intvector { -21600, 2007 }
     "Canada"
     :intvector { -21600, 2007 }
-  } //Z#176
+  } //Z#178
 ,  /* America/Recife */ :array {
     :intvector { -1767217224, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 938919600, 951616800, 970974000, 971575200, 1003028400, 1013911200 }
     :intvector { -10800, 0, -10800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Recife */ :array {
     :intvector { -1767217224, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 938919600, 951616800, 970974000, 971575200, 1003028400, 1013911200 }
     :intvector { -10800, 0, -10800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-  } //Z#177
+  } //Z#179
 ,  /* America/Regina */ :array {
     :intvector { -2030202084, -1632063600, -1614787200, -1251651600, -1238349600, -1220202000, -1206900000, -1188752400, -1175450400, -1156698000, -1144000800, -1125248400, -1111946400, -1032714000, -1016992800, -1001264400, -986148000, -969814800, -954093600, -937760400, -922039200, -906310800, -890589600, -880210800, -769395600, -765388800, -748450800, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -620838000, -608140800, -589388400, -576086400, -557938800, -544636800, -526489200, -513187200, -495039600, -481737600, -463590000, -450288000, -431535600, -418233600, -400086000, -386784000, -337186800, -321465600, -305737200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "0001000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010002" }
 ,  /* America/Regina */ :array {
     :intvector { -2030202084, -1632063600, -1614787200, -1251651600, -1238349600, -1220202000, -1206900000, -1188752400, -1175450400, -1156698000, -1144000800, -1125248400, -1111946400, -1032714000, -1016992800, -1001264400, -986148000, -969814800, -954093600, -937760400, -922039200, -906310800, -890589600, -880210800, -769395600, -765388800, -748450800, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -620838000, -608140800, -589388400, -576086400, -557938800, -544636800, -526489200, -513187200, -495039600, -481737600, -463590000, -450288000, -431535600, -418233600, -400086000, -386784000, -337186800, -321465600, -305737200 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "0001000100010001000100010001000100010001000100010100010001000100010001000100010001000100010001000100010002" }
-    :intvector { 178, 351, 356 }
-  } //Z#178
+    :intvector { 180, 354, 359 }
+  } //Z#180
+,  /* America/Resolute */ :array {
+    :intvector { -704937600, -147895200, -131565600, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
+    :intvector { -21600, 0, -21600, 3600, -21600, 7200, -18000, 0 }
+    :bin { "000200010001000100010001000100010001000100010001000100010001000100010001000100010001000103010001000100010001000103" }
+  } //Z#181
 ,  /* America/Rio_Branco */ :array {
     :intvector { -1767209328, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100" }
 ,  /* America/Rio_Branco */ :array {
     :intvector { -1767209328, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 172, 179, 339 }
-  } //Z#179
-,  /* America/Rosario */ :int { 66 } //Z#180
+    :intvector { 174, 182, 342 }
+  } //Z#182
+,  /* America/Rosario */ :int { 66 } //Z#183
 ,  /* America/Santiago */ :array {
     :intvector { -1893439034, -1688410800, -1619983034, -1593806400, -1335986234, -1317585600, -1304362800, -1286049600, -1272826800, -1254513600, -1241290800, -1222977600, -1209754800, -1191355200, -1178132400, -870552000, -865278000, -736376400, -713646000, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
     :intvector { -18000, 0, -18000, 3600, -16966, 0, -14400, 0, -14400, 3600 }
     :bin { "00020302010001000100010001000100010003040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304" }
     "Chile"
     :intvector { -14400, 2000 }
 ,  /* America/Santiago */ :array {
     :intvector { -1893439034, -1688410800, -1619983034, -1593806400, -1335986234, -1317585600, -1304362800, -1286049600, -1272826800, -1254513600, -1241290800, -1222977600, -1209754800, -1191355200, -1178132400, -870552000, -865278000, -736376400, -713646000, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
     :intvector { -18000, 0, -18000, 3600, -16966, 0, -14400, 0, -14400, 3600 }
     :bin { "00020302010001000100010001000100010003040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304" }
     "Chile"
     :intvector { -14400, 2000 }
-    :intvector { 181, 358 }
-  } //Z#181
+    :intvector { 184, 361 }
+  } //Z#184
 ,  /* America/Santo_Domingo */ :array {
     :intvector { -1159773600, -100119600, -89668800, -5770800, 4422600, 25678800, 33193800, 57733200, 64816200, 89182800, 96438600, 120632400, 127974600, 152082000, 972799200, 975823200 }
     :intvector { -18000, 0, -18000, 1800, -18000, 3600, -14400, 0 }
     :bin { "00020001000100010001000100030003" }
 ,  /* America/Santo_Domingo */ :array {
     :intvector { -1159773600, -100119600, -89668800, -5770800, 4422600, 25678800, 33193800, 57733200, 64816200, 89182800, 96438600, 120632400, 127974600, 152082000, 972799200, 975823200 }
     :intvector { -18000, 0, -18000, 1800, -18000, 3600, -14400, 0 }
     :bin { "00020001000100010001000100030003" }
-  } //Z#182
+  } //Z#185
 ,  /* America/Sao_Paulo */ :array {
 ,  /* America/Sao_Paulo */ :array {
-    :intvector { -1767214412, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -195426000, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 656478000, 666756000, 687927600, 697600800, 719982000, 728445600, 750826800, 761709600, 782276400, 793159200, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1066532400, 1076810400, 1099364400, 1108864800, 1129431600, 1140314400, 1162695600 }
+    :intvector { -1767214412, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -195426000, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 656478000, 666756000, 687927600, 697600800, 719982000, 728445600, 750826800, 761709600, 782276400, 793159200, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1066532400, 1076810400, 1099364400, 1108864800, 1129431600, 1140314400, 1162695600, 1172368800, 1192330800 }
     :intvector { -10800, 0, -10800, 3600 }
     :intvector { -10800, 0, -10800, 3600 }
-    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "Brazil"
     "Brazil"
-    :intvector { -10800, 2007 }
-    :intvector { 183, 337, 341 }
-  } //Z#183
+    :intvector { -10800, 2008 }
+    :intvector { 186, 340, 344 }
+  } //Z#186
 ,  /* America/Scoresbysund */ :array {
     :intvector { -1686090728, 323841600, 338961600, 354679200, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -7200, 0, -7200, 3600, -3600, 0, -3600, 3600 }
     :bin { "000100030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { -3600, 1996 }
 ,  /* America/Scoresbysund */ :array {
     :intvector { -1686090728, 323841600, 338961600, 354679200, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -7200, 0, -7200, 3600, -3600, 0, -3600, 3600 }
     :bin { "000100030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { -3600, 1996 }
-  } //Z#184
-,  /* America/Shiprock */ :int { 104 } //Z#185
+  } //Z#187
+,  /* America/Shiprock */ :int { 104 } //Z#188
 ,  /* America/St_Johns */ :array {
     :intvector { -1664130548, -1650137348, -1632076148, -1614799748, -1598650148, -1590100148, -1567286948, -1551565748, -1535837348, -1520116148, -1503782948, -1488666548, -1472333348, -1457216948, -1440883748, -1425767348, -1409434148, -1394317748, -1377984548, -1362263348, -1346534948, -1330813748, -1314480548, -1299364148, -1283030948, -1267914548, -1251581348, -1236464948, -1220131748, -1205015348, -1188682148, -1172960948, -1156627748, -1141511348, -1125178148, -1110061748, -1096921748, -1093728600, -1078612200, -1061670600, -1048973400, -1030221000, -1017523800, -998771400, -986074200, -966717000, -954624600, -935267400, -922570200, -903817800, -891120600, -872368200, -769395600, -765401400, -746044200, -733347000, -714594600, -701897400, -683145000, -670447800, -651695400, -638998200, -619641000, -606943800, -589401000, -576099000, -557951400, -544649400, -526501800, -513199800, -495052200, -481750200, -463602600, -450300600, -431548200, -418246200, -400098600, -386796600, -368649000, -355347000, -337199400, -323897400, -305749800, -289423800, -273695400, -257974200, -242245800, -226524600, -210796200, -195075000, -179346600, -163625400, -147897000, -131571000, -116447400, -100121400, -84393000, -68671800, -52943400, -37222200, -21493800, -5772600, 9955800, 25677000, 41405400, 57731400, 73459800, 89181000, 104909400, 120630600, 136359000, 152080200, 167808600, 183529800, 199258200, 215584200, 230707800, 247033800, 262762200, 278483400, 294211800, 309933000, 325661400, 341382600, 357111000, 372832200, 388560600, 404886600, 420010200, 436336200, 452064600, 467785800, 483514200, 499235400, 514963800, 530685000, 544591860, 562127460, 576041460, 594178260, 607491060, 625631460, 638940660, 657081060, 670995060, 688530660, 702444660, 719980260, 733894260, 752034660, 765343860, 783484260, 796793460, 814933860, 828847860, 846383460, 860297460, 877833060, 891747060, 909282660, 923196660, 941337060, 954646260, 972786660, 986095860, 1004236260, 1018150260, 1035685860, 1049599860, 1067135460, 1081049460, 1099189860, 1112499060, 1130639460, 1143948660, 1162089060 }
     :intvector { -12652, 0, -12652, 3600, -12600, 0, -12600, 3600, -12600, 7200 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000203020302030203020302030203020303020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020402030203020302030203020302030203020302030203020302030203020302030203020302" }
     "StJohns"
     :intvector { -12600, 2007 }
 ,  /* America/St_Johns */ :array {
     :intvector { -1664130548, -1650137348, -1632076148, -1614799748, -1598650148, -1590100148, -1567286948, -1551565748, -1535837348, -1520116148, -1503782948, -1488666548, -1472333348, -1457216948, -1440883748, -1425767348, -1409434148, -1394317748, -1377984548, -1362263348, -1346534948, -1330813748, -1314480548, -1299364148, -1283030948, -1267914548, -1251581348, -1236464948, -1220131748, -1205015348, -1188682148, -1172960948, -1156627748, -1141511348, -1125178148, -1110061748, -1096921748, -1093728600, -1078612200, -1061670600, -1048973400, -1030221000, -1017523800, -998771400, -986074200, -966717000, -954624600, -935267400, -922570200, -903817800, -891120600, -872368200, -769395600, -765401400, -746044200, -733347000, -714594600, -701897400, -683145000, -670447800, -651695400, -638998200, -619641000, -606943800, -589401000, -576099000, -557951400, -544649400, -526501800, -513199800, -495052200, -481750200, -463602600, -450300600, -431548200, -418246200, -400098600, -386796600, -368649000, -355347000, -337199400, -323897400, -305749800, -289423800, -273695400, -257974200, -242245800, -226524600, -210796200, -195075000, -179346600, -163625400, -147897000, -131571000, -116447400, -100121400, -84393000, -68671800, -52943400, -37222200, -21493800, -5772600, 9955800, 25677000, 41405400, 57731400, 73459800, 89181000, 104909400, 120630600, 136359000, 152080200, 167808600, 183529800, 199258200, 215584200, 230707800, 247033800, 262762200, 278483400, 294211800, 309933000, 325661400, 341382600, 357111000, 372832200, 388560600, 404886600, 420010200, 436336200, 452064600, 467785800, 483514200, 499235400, 514963800, 530685000, 544591860, 562127460, 576041460, 594178260, 607491060, 625631460, 638940660, 657081060, 670995060, 688530660, 702444660, 719980260, 733894260, 752034660, 765343860, 783484260, 796793460, 814933860, 828847860, 846383460, 860297460, 877833060, 891747060, 909282660, 923196660, 941337060, 954646260, 972786660, 986095860, 1004236260, 1018150260, 1035685860, 1049599860, 1067135460, 1081049460, 1099189860, 1112499060, 1130639460, 1143948660, 1162089060 }
     :intvector { -12652, 0, -12652, 3600, -12600, 0, -12600, 3600, -12600, 7200 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000203020302030203020302030203020303020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020402030203020302030203020302030203020302030203020302030203020302030203020302" }
     "StJohns"
     :intvector { -12600, 2007 }
-    :intvector { 186, 345, 354 }
-  } //Z#186
+    :intvector { 189, 348, 357 }
+  } //Z#189
 ,  /* America/St_Kitts */ :array {
     :intvector { -1825098548 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/St_Kitts */ :array {
     :intvector { -1825098548 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#187
+  } //Z#190
 ,  /* America/St_Lucia */ :array {
     :intvector { -1830369360 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/St_Lucia */ :array {
     :intvector { -1830369360 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#188
+  } //Z#191
 ,  /* America/St_Thomas */ :array {
     :intvector { -1846266016 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/St_Thomas */ :array {
     :intvector { -1846266016 }
     :intvector { -14400, 0 }
     :bin { "00" }
-    :intvector { 189, 199 }
-  } //Z#189
+    :intvector { 192, 202 }
+  } //Z#192
 ,  /* America/St_Vincent */ :array {
     :intvector { -1830369304 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/St_Vincent */ :array {
     :intvector { -1830369304 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#190
+  } //Z#193
 ,  /* America/Swift_Current */ :array {
     :intvector { -2030201320, -1632063600, -1614787200, -880210800, -769395600, -765388800, -747241200, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -400086000, -384364800, -337186800, -321465600, -305737200, -292435200, -273682800, -260985600, 73472400 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "0001000101000100010001000100010001000100010002" }
 ,  /* America/Swift_Current */ :array {
     :intvector { -2030201320, -1632063600, -1614787200, -880210800, -769395600, -765388800, -747241200, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -400086000, -384364800, -337186800, -321465600, -305737200, -292435200, -273682800, -260985600, 73472400 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0 }
     :bin { "0001000101000100010001000100010001000100010002" }
-  } //Z#191
+  } //Z#194
 ,  /* America/Tegucigalpa */ :array {
 ,  /* America/Tegucigalpa */ :array {
-    :intvector { -1538503868, 547020000, 559717200, 578469600, 591166800, 1146981600, 1154926800, 1178431200, 1186376400, 1209880800, 1217826000, 1241330400, 1249275600 }
+    :intvector { -1538503868, 547020000, 559717200, 578469600, 591166800, 1146981600, 1154926800 }
     :intvector { -21600, 0, -21600, 3600 }
     :intvector { -21600, 0, -21600, 3600 }
-    :bin { "00010001000100010001000100" }
-  } //Z#192
+    :bin { "00010001000100" }
+  } //Z#195
 ,  /* America/Thule */ :array {
     :intvector { -1686079492, 670399200, 686120400, 701848800, 717570000, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100" }
     "Thule"
     :intvector { -14400, 2007 }
 ,  /* America/Thule */ :array {
     :intvector { -1686079492, 670399200, 686120400, 701848800, 717570000, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100" }
     "Thule"
     :intvector { -14400, 2007 }
-  } //Z#193
+  } //Z#196
 ,  /* America/Thunder_Bay */ :array {
     :intvector { -1893434400, -880218000, -769395600, -765396000, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "00010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
 ,  /* America/Thunder_Bay */ :array {
     :intvector { -1893434400, -880218000, -769395600, -765396000, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "00010100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
-  } //Z#194
+  } //Z#197
 ,  /* America/Tijuana */ :array {
     :intvector { -1514736000, -1451667600, -1343062800, -1234803600, -1222963200, -1207242000, -873820800, -769395600, -761677200, -686073600, -661539600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600 }
     :intvector { -28800, 0, -28800, 3600, -25200, 0 }
     :bin { "0200020001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Mexico"
     :intvector { -28800, 2002 }
 ,  /* America/Tijuana */ :array {
     :intvector { -1514736000, -1451667600, -1343062800, -1234803600, -1222963200, -1207242000, -873820800, -769395600, -761677200, -686073600, -661539600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600 }
     :intvector { -28800, 0, -28800, 3600, -25200, 0 }
     :bin { "0200020001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Mexico"
     :intvector { -28800, 2002 }
-    :intvector { 110, 195, 496 }
-  } //Z#195
+    :intvector { 110, 198, 499 }
+  } //Z#198
 ,  /* America/Toronto */ :array {
     :intvector { -1632070800, -1614794400, -1601753400, -1583697600, -1567357200, -1554667200, -1534698000, -1524074400, -1503248400, -1492365600, -1471798800, -1460916000, -1440954000, -1428861600, -1409504400, -1397412000, -1378054800, -1365962400, -1346605200, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1188752400, -1176055200, -1157302800, -1144000800, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -880218000, -769395600, -765396000, -747248400, -733946400, -715806000, -702504000, -684356400, -671054400, -652906800, -634161600, -620845200, -602704800, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
 ,  /* America/Toronto */ :array {
     :intvector { -1632070800, -1614794400, -1601753400, -1583697600, -1567357200, -1554667200, -1534698000, -1524074400, -1503248400, -1492365600, -1471798800, -1460916000, -1440954000, -1428861600, -1409504400, -1397412000, -1378054800, -1365962400, -1346605200, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1188752400, -1176055200, -1157302800, -1144000800, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -880218000, -769395600, -765396000, -747248400, -733946400, -715806000, -702504000, -684356400, -671054400, -652906800, -634161600, -620845200, -602704800, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -18000, 2007 }
-    :intvector { 196, 352 }
-  } //Z#196
+    :intvector { 199, 355 }
+  } //Z#199
 ,  /* America/Tortola */ :array {
     :intvector { -1846266092 }
     :intvector { -14400, 0 }
     :bin { "00" }
 ,  /* America/Tortola */ :array {
     :intvector { -1846266092 }
     :intvector { -14400, 0 }
     :bin { "00" }
-  } //Z#197
+  } //Z#200
 ,  /* America/Vancouver */ :array {
     :intvector { -1632060000, -1614783600, -880207200, -769395600, -765385200, -747237600, -732726000, -715788000, -702486000, -684338400, -671036400, -652888800, -639586800, -620834400, -608137200, -589384800, -576082800, -557935200, -544633200, -526485600, -513183600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, -273679200, -260982000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 136375200, 152096400, 167824800, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "01000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -28800, 2007 }
 ,  /* America/Vancouver */ :array {
     :intvector { -1632060000, -1614783600, -880207200, -769395600, -765385200, -747237600, -732726000, -715788000, -702486000, -684338400, -671036400, -652888800, -639586800, -620834400, -608137200, -589384800, -576082800, -557935200, -544633200, -526485600, -513183600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, -273679200, -260982000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 136375200, 152096400, 167824800, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "01000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -28800, 2007 }
-    :intvector { 198, 355 }
-  } //Z#198
-,  /* America/Virgin */ :int { 189 } //Z#199
+    :intvector { 201, 358 }
+  } //Z#201
+,  /* America/Virgin */ :int { 192 } //Z#202
 ,  /* America/Whitehorse */ :array {
     :intvector { -1632056400, -1615125600, -1596978000, -1583164800, -880203600, -769395600, -765381600, -147884400, -131554800, -110552400, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -32400, 0, -32400, 3600, -32400, 7200, -28800, 0, -28800, 3600 }
     :bin { "01000100010100020003040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "Canada"
     :intvector { -28800, 2007 }
 ,  /* America/Whitehorse */ :array {
     :intvector { -1632056400, -1615125600, -1596978000, -1583164800, -880203600, -769395600, -765381600, -147884400, -131554800, -110552400, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -32400, 0, -32400, 3600, -32400, 7200, -28800, 0, -28800, 3600 }
     :bin { "01000100010100020003040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "Canada"
     :intvector { -28800, 2007 }
-    :intvector { 200, 357 }
-  } //Z#200
+    :intvector { 203, 360 }
+  } //Z#203
 ,  /* America/Winnipeg */ :array {
     :intvector { -1694368800, -1681671600, -1632067200, -1614790800, -1029686400, -1018198800, -880214400, -769395600, -765392400, -746035200, -732733200, -715795200, -702493200, -684345600, -671043600, -652896000, -639594000, -620755200, -607626000, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -321469200, -305740800, -292438800, -210787200, -198090000, -116438400, -100108800, -84384000, -68659200, -52934400, -37209600, -21484800, -5760000, 9964800, 25689600, 41414400, 57744000, 73468800, 89193600, 104918400, 120643200, 136368000, 152092800, 167817600, 183542400, 199267200, 215596800, 230716800, 247046400, 262771200, 278496000, 294220800, 309945600, 325670400, 341395200, 357120000, 372844800, 388569600, 404899200, 420019200, 436348800, 452073600, 467798400, 483523200, 499248000, 514972800, 530697600, 544608000, 562147200, 576057600, 594201600, 607507200, 625651200, 638956800, 657100800, 671011200, 688550400, 702460800, 720000000, 733910400, 752054400, 765360000, 783504000, 796809600, 814953600, 828864000, 846403200, 860313600, 877852800, 891763200, 909302400, 923212800, 941356800, 954662400, 972806400, 986112000, 1004256000, 1018166400, 1035705600, 1049616000, 1067155200, 1081065600, 1099209600, 1112515200, 1130659200, 1136095200, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "01000100010001010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100000100" }
     "Canada"
     :intvector { -21600, 2007 }
 ,  /* America/Winnipeg */ :array {
     :intvector { -1694368800, -1681671600, -1632067200, -1614790800, -1029686400, -1018198800, -880214400, -769395600, -765392400, -746035200, -732733200, -715795200, -702493200, -684345600, -671043600, -652896000, -639594000, -620755200, -607626000, -589392000, -576090000, -557942400, -544640400, -526492800, -513190800, -495043200, -481741200, -463593600, -450291600, -431539200, -418237200, -400089600, -386787600, -368640000, -355338000, -337190400, -321469200, -305740800, -292438800, -210787200, -198090000, -116438400, -100108800, -84384000, -68659200, -52934400, -37209600, -21484800, -5760000, 9964800, 25689600, 41414400, 57744000, 73468800, 89193600, 104918400, 120643200, 136368000, 152092800, 167817600, 183542400, 199267200, 215596800, 230716800, 247046400, 262771200, 278496000, 294220800, 309945600, 325670400, 341395200, 357120000, 372844800, 388569600, 404899200, 420019200, 436348800, 452073600, 467798400, 483523200, 499248000, 514972800, 530697600, 544608000, 562147200, 576057600, 594201600, 607507200, 625651200, 638956800, 657100800, 671011200, 688550400, 702460800, 720000000, 733910400, 752054400, 765360000, 783504000, 796809600, 814953600, 828864000, 846403200, 860313600, 877852800, 891763200, 909302400, 923212800, 941356800, 954662400, 972806400, 986112000, 1004256000, 1018166400, 1035705600, 1049616000, 1067155200, 1081065600, 1099209600, 1112515200, 1130659200, 1136095200, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "01000100010001010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100000100" }
     "Canada"
     :intvector { -21600, 2007 }
-    :intvector { 201, 350 }
-  } //Z#201
+    :intvector { 204, 353 }
+  } //Z#204
 ,  /* America/Yakutat */ :array {
     :intvector { -880203600, -769395600, -765381600, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 152100000, 162385200, 183549600, 199278000, 215604000, 230727600, 247053600, 262782000, 278503200, 294231600, 309952800, 325681200, 341402400, 357130800, 372852000, 388580400, 404906400, 420030000, 436356000, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -32400, 0, -32400, 3600 }
     :bin { "0101000100010001000100010001000100010001000100010001000100010001000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -32400, 2007 }
 ,  /* America/Yakutat */ :array {
     :intvector { -880203600, -769395600, -765381600, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 152100000, 162385200, 183549600, 199278000, 215604000, 230727600, 247053600, 262782000, 278503200, 294231600, 309952800, 325681200, 341402400, 357130800, 372852000, 388580400, 404906400, 420030000, 436356000, 439030800, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000 }
     :intvector { -32400, 0, -32400, 3600 }
     :bin { "0101000100010001000100010001000100010001000100010001000100010001000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -32400, 2007 }
-  } //Z#202
+  } //Z#205
 ,  /* America/Yellowknife */ :array {
 ,  /* America/Yellowknife */ :array {
-    :intvector { -1632063600, -1615132800, -1596985200, -1583172000, -880210800, -769395600, -765388800, -147891600, -131562000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
+    :intvector { -1104537600, -880210800, -769395600, -765388800, -147891600, -131562000, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
     :intvector { -25200, 0, -25200, 3600, -25200, 7200 }
     :intvector { -25200, 0, -25200, 3600, -25200, 7200 }
-    :bin { "010001000101000200010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
+    :bin { "000101000200010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Canada"
     :intvector { -25200, 2007 }
     "Canada"
     :intvector { -25200, 2007 }
-  } //Z#203
+  } //Z#206
 ,  /* Antarctica/Casey */ :array {
     :intvector { -31536000 }
     :intvector { 28800, 0 }
     :bin { "00" }
 ,  /* Antarctica/Casey */ :array {
     :intvector { -31536000 }
     :intvector { 28800, 0 }
     :bin { "00" }
-  } //Z#204
+  } //Z#207
 ,  /* Antarctica/Davis */ :array {
     :intvector { -409190400, -163062000, -28857600 }
     :intvector { 0, 0, 25200, 0 }
     :bin { "010001" }
 ,  /* Antarctica/Davis */ :array {
     :intvector { -409190400, -163062000, -28857600 }
     :intvector { 0, 0, 25200, 0 }
     :bin { "010001" }
-  } //Z#205
+  } //Z#208
 ,  /* Antarctica/DumontDUrville */ :array {
     :intvector { -725846400, -566992800, -415497600 }
     :intvector { 0, 0, 36000, 0 }
     :bin { "010001" }
 ,  /* Antarctica/DumontDUrville */ :array {
     :intvector { -725846400, -566992800, -415497600 }
     :intvector { 0, 0, 36000, 0 }
     :bin { "010001" }
-  } //Z#206
+  } //Z#209
 ,  /* Antarctica/Mawson */ :array {
     :intvector { -501206400 }
     :intvector { 21600, 0 }
     :bin { "00" }
 ,  /* Antarctica/Mawson */ :array {
     :intvector { -501206400 }
     :intvector { 21600, 0 }
     :bin { "00" }
-  } //Z#207
+  } //Z#210
 ,  /* Antarctica/McMurdo */ :array {
 ,  /* Antarctica/McMurdo */ :array {
-    :intvector { -441849600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000 }
+    :intvector { -441849600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400 }
     :intvector { 43200, 0, 43200, 3600 }
     :intvector { 43200, 0, 43200, 3600 }
-    :bin { "0001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "NZAQ"
     "NZAQ"
-    :intvector { 43200, 1990 }
-    :intvector { 208, 211 }
-  } //Z#208
+    :intvector { 43200, 2008 }
+    :intvector { 211, 214 }
+  } //Z#211
 ,  /* Antarctica/Palmer */ :array {
     :intvector { -157766400, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 389070000, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "01000100010001000100020302000100010001000100010001000100010001000100010001000100010001000100010001" }
     "ChileAQ"
     :intvector { -14400, 2000 }
 ,  /* Antarctica/Palmer */ :array {
     :intvector { -157766400, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 389070000, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "01000100010001000100020302000100010001000100010001000100010001000100010001000100010001000100010001" }
     "ChileAQ"
     :intvector { -14400, 2000 }
-  } //Z#209
+  } //Z#212
 ,  /* Antarctica/Rothera */ :array {
     :intvector { 218246400 }
     :intvector { -10800, 0 }
     :bin { "00" }
 ,  /* Antarctica/Rothera */ :array {
     :intvector { 218246400 }
     :intvector { -10800, 0 }
     :bin { "00" }
-  } //Z#210
-,  /* Antarctica/South_Pole */ :int { 208 } //Z#211
+  } //Z#213
+,  /* Antarctica/South_Pole */ :int { 211 } //Z#214
 ,  /* Antarctica/Syowa */ :array {
     :intvector { -407808000 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Antarctica/Syowa */ :array {
     :intvector { -407808000 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#212
+  } //Z#215
 ,  /* Antarctica/Vostok */ :array {
     :intvector { -380073600 }
     :intvector { 21600, 0 }
     :bin { "00" }
 ,  /* Antarctica/Vostok */ :array {
     :intvector { -380073600 }
     :intvector { 21600, 0 }
     :bin { "00" }
-  } //Z#213
-,  /* Arctic/Longyearbyen */ :int { 435 } //Z#214
+  } //Z#216
+,  /* Arctic/Longyearbyen */ :int { 438 } //Z#217
 ,  /* Asia/Aden */ :array {
     :intvector { -631162848 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Asia/Aden */ :array {
     :intvector { -631162848 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#215
+  } //Z#218
 ,  /* Asia/Almaty */ :array {
     :intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 662666400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1110823200 }
     :intvector { 18000, 0, 21600, 0, 21600, 3600 }
     :bin { "0001020102010201020102010201020102010201020101020102010201020102010201020102010201020102010201020101" }
 ,  /* Asia/Almaty */ :array {
     :intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 662666400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1110823200 }
     :intvector { 18000, 0, 21600, 0, 21600, 3600 }
     :bin { "0001020102010201020102010201020102010201020101020102010201020102010201020102010201020102010201020101" }
-  } //Z#216
+  } //Z#219
 ,  /* Asia/Amman */ :array {
     :intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938642400, 954367200, 970092000, 985816800, 1001541600, 1017266400, 1032991200, 1048716000, 1066946400, 1080165600, 1097791200, 1112220000, 1128031200 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Jordan"
     :intvector { 7200, 2006 }
 ,  /* Asia/Amman */ :array {
     :intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938642400, 954367200, 970092000, 985816800, 1001541600, 1017266400, 1032991200, 1048716000, 1066946400, 1080165600, 1097791200, 1112220000, 1128031200 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Jordan"
     :intvector { 7200, 2006 }
-  } //Z#217
+  } //Z#220
 ,  /* Asia/Anadyr */ :array {
     :intvector { -1441194596, -1247572800, 354884400, 370692000, 386420400, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800 }
     :intvector { 39600, 0, 39600, 3600, 43200, 0, 43200, 3600, 46800, 0, 46800, 3600 }
     :bin { "020405040302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 43200, 1996 }
 ,  /* Asia/Anadyr */ :array {
     :intvector { -1441194596, -1247572800, 354884400, 370692000, 386420400, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800 }
     :intvector { 39600, 0, 39600, 3600, 43200, 0, 43200, 3600, 46800, 0, 46800, 3600 }
     :bin { "020405040302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 43200, 1996 }
-  } //Z#218
+  } //Z#221
 ,  /* Asia/Aqtau */ :array {
     :intvector { -1441164064, -1247544000, -220942800, 370724400, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000202040302030203020302030203020302030203020202030203020302010001000100010001000100010001000100010002" }
 ,  /* Asia/Aqtau */ :array {
     :intvector { -1441164064, -1247544000, -220942800, 370724400, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000202040302030203020302030203020302030203020202030203020302010001000100010001000100010001000100010002" }
-  } //Z#219
+  } //Z#222
 ,  /* Asia/Aqtobe */ :array {
     :intvector { -1441165720, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1110826800 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000102030201020102010201020102010201020102010101020102010201020102010201020102010201020102010201020101" }
 ,  /* Asia/Aqtobe */ :array {
     :intvector { -1441165720, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1110826800 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000102030201020102010201020102010201020102010101020102010201020102010201020102010201020102010201020101" }
-  } //Z#220
+  } //Z#223
 ,  /* Asia/Ashgabat */ :array {
     :intvector { -1441166012, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 688507200, 695772000 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600 }
     :bin { "0002030203020302030203020302030203020302030201000002" }
 ,  /* Asia/Ashgabat */ :array {
     :intvector { -1441166012, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 688507200, 695772000 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600 }
     :bin { "0002030203020302030203020302030203020302030201000002" }
-    :intvector { 221, 222 }
-  } //Z#221
-,  /* Asia/Ashkhabad */ :int { 221 } //Z#222
+    :intvector { 224, 225 }
+  } //Z#224
+,  /* Asia/Ashkhabad */ :int { 224 } //Z#225
 ,  /* Asia/Baghdad */ :array {
     :intvector { -1641005856, 389048400, 402264000, 417906000, 433800000, 449614800, 465422400, 481150800, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600 }
     :intvector { 10800, 0, 10800, 3600 }
     :bin { "00010001000100010001000100010001000100" }
     "Iraq"
     :intvector { 10800, 1991 }
 ,  /* Asia/Baghdad */ :array {
     :intvector { -1641005856, 389048400, 402264000, 417906000, 433800000, 449614800, 465422400, 481150800, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600 }
     :intvector { 10800, 0, 10800, 3600 }
     :bin { "00010001000100010001000100010001000100" }
     "Iraq"
     :intvector { 10800, 1991 }
-  } //Z#223
+  } //Z#226
 ,  /* Asia/Bahrain */ :array {
     :intvector { -1577935340, 76190400 }
     :intvector { 10800, 0, 14400, 0 }
     :bin { "0100" }
 ,  /* Asia/Bahrain */ :array {
     :intvector { -1577935340, 76190400 }
     :intvector { 10800, 0, 14400, 0 }
     :bin { "0100" }
-  } //Z#224
+  } //Z#227
 ,  /* Asia/Baku */ :array {
     :intvector { -1441163964, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 683496000, 686098800, 701812800, 717534000, 828234000, 846378000, 852062400 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000203020302030203020302030203020302030203020101000102030202" }
     "Azer"
     :intvector { 14400, 1997 }
 ,  /* Asia/Baku */ :array {
     :intvector { -1441163964, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 683496000, 686098800, 701812800, 717534000, 828234000, 846378000, 852062400 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000203020302030203020302030203020302030203020101000102030202" }
     "Azer"
     :intvector { 14400, 1997 }
-  } //Z#225
+  } //Z#228
 ,  /* Asia/Bangkok */ :array {
     :intvector { -1570084924 }
     :intvector { 25200, 0 }
     :bin { "00" }
 ,  /* Asia/Bangkok */ :array {
     :intvector { -1570084924 }
     :intvector { 25200, 0 }
     :bin { "00" }
-  } //Z#226
+  } //Z#229
 ,  /* Asia/Beirut */ :array {
     :intvector { -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1473645600, -1460948400, -399866400, -386650800, -368330400, -355114800, -336794400, -323578800, -305172000, -291956400, -273636000, -260420400, 78012000, 86734800, 105055200, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 212965200, 231285600, 244501200, 262735200, 275950800, 452210400, 466722000, 483746400, 498258000, 515282400, 529794000, 546818400, 561330000, 581119200, 592952400, 610754400, 624488400, 641512800, 656024400, 673048800, 687560400, 704671200, 718146000, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 906843600 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Lebanon"
     :intvector { 7200, 1999 }
 ,  /* Asia/Beirut */ :array {
     :intvector { -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1473645600, -1460948400, -399866400, -386650800, -368330400, -355114800, -336794400, -323578800, -305172000, -291956400, -273636000, -260420400, 78012000, 86734800, 105055200, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 212965200, 231285600, 244501200, 262735200, 275950800, 452210400, 466722000, 483746400, 498258000, 515282400, 529794000, 546818400, 561330000, 581119200, 592952400, 610754400, 624488400, 641512800, 656024400, 673048800, 687560400, 704671200, 718146000, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 906843600 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Lebanon"
     :intvector { 7200, 1999 }
-  } //Z#227
+  } //Z#230
 ,  /* Asia/Bishkek */ :array {
     :intvector { -1441169904, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 683582400, 703018800, 717530400, 734468400, 748980000, 765918000, 780429600, 797367600, 811879200, 828817200, 843933600, 859671000, 877811400, 891120600, 909261000, 922570200, 941315400, 954019800, 972765000, 985469400, 1004214600, 1017523800, 1035664200, 1048973400, 1067113800, 1080423000, 1099168200, 1111872600, 1123783200 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "00020302030203020302030203020302030203020302010001000100010001000100010001000100010001000100010001000102" }
 ,  /* Asia/Bishkek */ :array {
     :intvector { -1441169904, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 683582400, 703018800, 717530400, 734468400, 748980000, 765918000, 780429600, 797367600, 811879200, 828817200, 843933600, 859671000, 877811400, 891120600, 909261000, 922570200, 941315400, 954019800, 972765000, 985469400, 1004214600, 1017523800, 1035664200, 1048973400, 1067113800, 1080423000, 1099168200, 1111872600, 1123783200 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "00020302030203020302030203020302030203020302010001000100010001000100010001000100010001000100010001000102" }
-  } //Z#228
+  } //Z#231
 ,  /* Asia/Brunei */ :array {
     :intvector { -1383464380, -1167636600 }
     :intvector { 27000, 0, 28800, 0 }
     :bin { "0001" }
 ,  /* Asia/Brunei */ :array {
     :intvector { -1383464380, -1167636600 }
     :intvector { 27000, 0, 28800, 0 }
     :bin { "0001" }
-  } //Z#229
+  } //Z#232
 ,  /* Asia/Calcutta */ :array {
     :intvector { -891582800, -872058600, -862637400, -764145000 }
     :intvector { 19800, 0, 19800, 3600, 23400, 0 }
     :bin { "02000100" }
 ,  /* Asia/Calcutta */ :array {
     :intvector { -891582800, -872058600, -862637400, -764145000 }
     :intvector { 19800, 0, 19800, 3600, 23400, 0 }
     :bin { "02000100" }
-    :intvector { 230, 472 }
-  } //Z#230
+    :intvector { 233, 475 }
+  } //Z#233
 ,  /* Asia/Choibalsan */ :array {
 ,  /* Asia/Choibalsan */ :array {
-    :intvector { -2032933080, 252435600, 417974400, 433778400, 449593200, 465314400, 481042800, 496764000, 512492400, 528213600, 543942000, 559663200, 575391600, 591112800, 606841200, 622562400, 638290800, 654616800, 670345200, 686066400, 701794800, 717516000, 733244400, 748965600, 764694000, 780415200, 796143600, 811864800, 828198000, 843919200, 859647600, 875368800, 891097200, 906818400, 988390800, 1001692800 }
+    :intvector { -2032933080, 252435600, 417974400, 433778400, 449593200, 465314400, 481042800, 496764000, 512492400, 528213600, 543942000, 559663200, 575391600, 591112800, 606841200, 622562400, 638290800, 654616800, 670345200, 686066400, 701794800, 717516000, 733244400, 748965600, 764694000, 780415200, 796143600, 811864800, 828198000, 843919200, 859647600, 875368800, 891097200, 906818400, 988390800, 1001692800, 1017421200, 1033142400, 1048870800, 1064592000, 1080320400, 1096041600, 1111770000, 1127491200, 1143219600, 1159545600 }
     :intvector { 25200, 0, 28800, 0, 32400, 0, 32400, 3600 }
     :intvector { 25200, 0, 28800, 0, 32400, 0, 32400, 3600 }
-    :bin { "000103020302030203020302030203020302030203020302030203020302030203020302" }
-    "Mongol"
-    :intvector { 32400, 2002 }
-  } //Z#231
+    :bin { "00010302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
+  } //Z#234
 ,  /* Asia/Chongqing */ :array {
     :intvector { -1325487980, 325962000, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 25200, 0, 28800, 0, 28800, 3600 }
     :bin { "0001020102010201020102010201" }
 ,  /* Asia/Chongqing */ :array {
     :intvector { -1325487980, 325962000, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 25200, 0, 28800, 0, 28800, 3600 }
     :bin { "0001020102010201020102010201" }
-    :intvector { 232, 233 }
-  } //Z#232
-,  /* Asia/Chungking */ :int { 232 } //Z#233
+    :intvector { 235, 236 }
+  } //Z#235
+,  /* Asia/Chungking */ :int { 235 } //Z#236
 ,  /* Asia/Colombo */ :array {
     :intvector { -2019705572, -883287000, -862639200, -764051400, 832962600, 846266400, 1145039400 }
     :intvector { 19800, 0, 19800, 1800, 19800, 3600, 21600, 0, 23400, 0 }
     :bin { "00010200040300" }
 ,  /* Asia/Colombo */ :array {
     :intvector { -2019705572, -883287000, -862639200, -764051400, 832962600, 846266400, 1145039400 }
     :intvector { 19800, 0, 19800, 1800, 19800, 3600, 21600, 0, 23400, 0 }
     :bin { "00010200040300" }
-  } //Z#234
-,  /* Asia/Dacca */ :int { 237 } //Z#235
+  } //Z#237
+,  /* Asia/Dacca */ :int { 240 } //Z#238
 ,  /* Asia/Damascus */ :array {
     :intvector { -1577931912, -1568592000, -1554080400, -1537142400, -1522630800, -1505692800, -1491181200, -1474243200, -1459126800, -242265600, -228877200, -210556800, -197427600, -178934400, -165718800, -147398400, -134269200, -116467200, -102646800, -84326400, -71110800, -52704000, -39488400, -21168000, -7952400, 10368000, 23583600, 41904000, 55119600, 73526400, 86742000, 105062400, 118278000, 136598400, 149814000, 168134400, 181350000, 199756800, 212972400, 231292800, 241916400, 262828800, 273452400, 418694400, 433810800, 450316800, 465433200, 508896000, 529196400, 541555200, 562633200, 574387200, 594255600, 607305600, 623199600, 638928000, 654649200, 670456800, 686264400, 702684000, 717886800, 733096800, 748904400, 765151200, 780958800, 796687200, 812494800, 828309600, 844117200, 859759200, 875653200, 891208800, 907189200, 922917600, 938725200, 954540000, 970347600, 986076000, 1001883600, 1017612000, 1033419600, 1049148000, 1064955600, 1080770400, 1096578000, 1112306400, 1128114000, 1143842400, 1158872400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Syria"
     :intvector { 7200, 2007 }
 ,  /* Asia/Damascus */ :array {
     :intvector { -1577931912, -1568592000, -1554080400, -1537142400, -1522630800, -1505692800, -1491181200, -1474243200, -1459126800, -242265600, -228877200, -210556800, -197427600, -178934400, -165718800, -147398400, -134269200, -116467200, -102646800, -84326400, -71110800, -52704000, -39488400, -21168000, -7952400, 10368000, 23583600, 41904000, 55119600, 73526400, 86742000, 105062400, 118278000, 136598400, 149814000, 168134400, 181350000, 199756800, 212972400, 231292800, 241916400, 262828800, 273452400, 418694400, 433810800, 450316800, 465433200, 508896000, 529196400, 541555200, 562633200, 574387200, 594255600, 607305600, 623199600, 638928000, 654649200, 670456800, 686264400, 702684000, 717886800, 733096800, 748904400, 765151200, 780958800, 796687200, 812494800, 828309600, 844117200, 859759200, 875653200, 891208800, 907189200, 922917600, 938725200, 954540000, 970347600, 986076000, 1001883600, 1017612000, 1033419600, 1049148000, 1064955600, 1080770400, 1096578000, 1112306400, 1128114000, 1143842400, 1158872400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "Syria"
     :intvector { 7200, 2007 }
-  } //Z#236
+  } //Z#239
 ,  /* Asia/Dhaka */ :array {
     :intvector { -891582800, -872058600, -862637400, -576138600, 38772000 }
     :intvector { 19800, 0, 21600, 0, 23400, 0 }
     :bin { "0200020101" }
 ,  /* Asia/Dhaka */ :array {
     :intvector { -891582800, -872058600, -862637400, -576138600, 38772000 }
     :intvector { 19800, 0, 21600, 0, 23400, 0 }
     :bin { "0200020101" }
-    :intvector { 235, 237, 338 }
-  } //Z#237
+    :intvector { 238, 240, 341 }
+  } //Z#240
 ,  /* Asia/Dili */ :array {
 ,  /* Asia/Dili */ :array {
-    :intvector { -1830414140, -879152400, -770634000, 199897200, 969120000 }
+    :intvector { -1830414140, -879152400, -766054800, 199897200, 969120000 }
     :intvector { 28800, 0, 32400, 0 }
     :bin { "0001010001" }
     :intvector { 28800, 0, 32400, 0 }
     :bin { "0001010001" }
-  } //Z#238
+  } //Z#241
 ,  /* Asia/Dubai */ :array {
     :intvector { -1577936472 }
     :intvector { 14400, 0 }
     :bin { "00" }
 ,  /* Asia/Dubai */ :array {
     :intvector { -1577936472 }
     :intvector { 14400, 0 }
     :bin { "00" }
-  } //Z#239
+  } //Z#242
 ,  /* Asia/Dushanbe */ :array {
     :intvector { -1441168512, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 684363600 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100" }
 ,  /* Asia/Dushanbe */ :array {
     :intvector { -1441168512, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 684363600 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100" }
-  } //Z#240
+  } //Z#243
 ,  /* Asia/Gaza */ :array {
     :intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 820447200, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 915141600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000001000100010001000100010001000100" }
     "Palestine"
     :intvector { 7200, 2007 }
 ,  /* Asia/Gaza */ :array {
     :intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 820447200, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 915141600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000001000100010001000100010001000100" }
     "Palestine"
     :intvector { 7200, 2007 }
-  } //Z#241
+  } //Z#244
 ,  /* Asia/Harbin */ :array {
     :intvector { -1325492804, -1194078600, -946800000, -115894800, 325956600, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 28800, 0, 28800, 3600, 30600, 0, 32400, 0 }
     :bin { "0200030200010001000100010001000100" }
 ,  /* Asia/Harbin */ :array {
     :intvector { -1325492804, -1194078600, -946800000, -115894800, 325956600, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 28800, 0, 28800, 3600, 30600, 0, 32400, 0 }
     :bin { "0200030200010001000100010001000100" }
-  } //Z#242
+  } //Z#245
 ,  /* Asia/Hong_Kong */ :array {
     :intvector { -2056692996, -747981000, -728544600, -717049800, -694503000, -683785800, -668064600, -654755400, -636615000, -623305800, -605165400, -591856200, -573715800, -559801800, -542266200, -528352200, -510211800, -498112200, -478762200, -466662600, -446707800, -435213000, -415258200, -403158600, -383808600, -371709000, -352359000, -340259400, -320909400, -308809800, -288855000, -277360200, -257405400, -245910600, -225955800, -213856200, -194506200, -182406600, -163056600, -148537800, -132816600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72214200, 88540200, 104268600, 119989800, 135718200, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 295385400, 309292200, 326835000, 340741800 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* Asia/Hong_Kong */ :array {
     :intvector { -2056692996, -747981000, -728544600, -717049800, -694503000, -683785800, -668064600, -654755400, -636615000, -623305800, -605165400, -591856200, -573715800, -559801800, -542266200, -528352200, -510211800, -498112200, -478762200, -466662600, -446707800, -435213000, -415258200, -403158600, -383808600, -371709000, -352359000, -340259400, -320909400, -308809800, -288855000, -277360200, -257405400, -245910600, -225955800, -213856200, -194506200, -182406600, -163056600, -148537800, -132816600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72214200, 88540200, 104268600, 119989800, 135718200, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 295385400, 309292200, 326835000, 340741800 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 243, 470 }
-  } //Z#243
+    :intvector { 246, 473 }
+  } //Z#246
 ,  /* Asia/Hovd */ :array {
 ,  /* Asia/Hovd */ :array {
-    :intvector { -2032927596, 252439200, 417978000, 433785600, 449600400, 465321600, 481050000, 496771200, 512499600, 528220800, 543949200, 559670400, 575398800, 591120000, 606848400, 622569600, 638298000, 654624000, 670352400, 686073600, 701802000, 717523200, 733251600, 748972800, 764701200, 780422400, 796150800, 811872000, 828205200, 843926400, 859654800, 875376000, 891104400, 906825600, 988398000, 1001700000 }
+    :intvector { -2032927596, 252439200, 417978000, 433785600, 449600400, 465321600, 481050000, 496771200, 512499600, 528220800, 543949200, 559670400, 575398800, 591120000, 606848400, 622569600, 638298000, 654624000, 670352400, 686073600, 701802000, 717523200, 733251600, 748972800, 764701200, 780422400, 796150800, 811872000, 828205200, 843926400, 859654800, 875376000, 891104400, 906825600, 988398000, 1001700000, 1017428400, 1033149600, 1048878000, 1064599200, 1080327600, 1096048800, 1111777200, 1127498400, 1143226800, 1159552800 }
     :intvector { 21600, 0, 25200, 0, 25200, 3600 }
     :intvector { 21600, 0, 25200, 0, 25200, 3600 }
-    :bin { "000102010201020102010201020102010201020102010201020102010201020102010201" }
-    "Mongol"
-    :intvector { 25200, 2002 }
-  } //Z#244
+    :bin { "00010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+  } //Z#247
 ,  /* Asia/Irkutsk */ :array {
     :intvector { -1575874640, -1247554800, 354902400, 370710000, 386438400, 402246000, 417974400, 433782000, 449596800, 465328800, 481053600, 496778400, 512503200, 528228000, 543952800, 559677600, 575402400, 591127200, 606852000, 622576800, 638301600, 654631200, 670356000, 686084400, 695761200, 701794800, 717516000, 733255200, 748980000, 764704800, 780429600, 796154400, 811879200 }
     :intvector { 25200, 0, 25200, 3600, 28800, 0, 28800, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 28800, 1996 }
 ,  /* Asia/Irkutsk */ :array {
     :intvector { -1575874640, -1247554800, 354902400, 370710000, 386438400, 402246000, 417974400, 433782000, 449596800, 465328800, 481053600, 496778400, 512503200, 528228000, 543952800, 559677600, 575402400, 591127200, 606852000, 622576800, 638301600, 654631200, 670356000, 686084400, 695761200, 701794800, 717516000, 733255200, 748980000, 764704800, 780429600, 796154400, 811879200 }
     :intvector { 25200, 0, 25200, 3600, 28800, 0, 28800, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 28800, 1996 }
-  } //Z#245
-,  /* Asia/Istanbul */ :int { 420 } //Z#246
+  } //Z#248
+,  /* Asia/Istanbul */ :int { 423 } //Z#249
 ,  /* Asia/Jakarta */ :array {
 ,  /* Asia/Jakarta */ :array {
-    :intvector { -1451719200, -1172906400, -876641400, -770634000, -683883000, -620812800, -189415800 }
+    :intvector { -1451719200, -1172906400, -876641400, -766054800, -683883000, -620812800, -189415800 }
     :intvector { 25200, 0, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "01020402030200" }
     :intvector { 25200, 0, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "01020402030200" }
-  } //Z#247
+  } //Z#250
 ,  /* Asia/Jayapura */ :array {
 ,  /* Asia/Jayapura */ :array {
-    :intvector { -1172913768, -820573200, -189423000 }
+    :intvector { -1172913768, -799491600, -189423000 }
     :intvector { 32400, 0, 34200, 0 }
     :bin { "000100" }
     :intvector { 32400, 0, 34200, 0 }
     :bin { "000100" }
-  } //Z#248
+  } //Z#251
 ,  /* Asia/Jerusalem */ :array {
     :intvector { -1641003640, -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -681962400, -673243200, -667962000, -652327200, -636426000, -622087200, -608947200, -591847200, -572486400, -558576000, -542851200, -527731200, -514425600, -490845600, -482986800, -459475200, -451537200, -428551200, -418262400, -400032000, -387428400, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1378594800, 1395964800, 1411858800, 1427414400, 1442703600, 1459468800, 1475967600, 1490918400, 1506207600, 1522368000, 1537052400, 1553817600, 1570316400, 1585267200, 1601161200, 1616716800, 1631401200, 1648771200, 1664665200, 1680220800, 1695510000, 1711670400, 1728169200, 1743120000, 1759014000, 1774569600, 1789858800, 1806019200, 1823122800, 1838073600, 1853362800, 1869523200, 1884207600, 1900972800, 1917471600, 1932422400, 1947711600, 1963872000, 1978556400, 1995926400, 2011820400, 2027376000, 2042060400, 2058825600, 2075324400, 2090275200, 2106169200, 2121724800, 2136409200 }
     :intvector { 7200, 0, 7200, 3600, 7200, 7200 }
     :bin { "00010001000100010001000201000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* Asia/Jerusalem */ :array {
     :intvector { -1641003640, -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -681962400, -673243200, -667962000, -652327200, -636426000, -622087200, -608947200, -591847200, -572486400, -558576000, -542851200, -527731200, -514425600, -490845600, -482986800, -459475200, -451537200, -428551200, -418262400, -400032000, -387428400, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1378594800, 1395964800, 1411858800, 1427414400, 1442703600, 1459468800, 1475967600, 1490918400, 1506207600, 1522368000, 1537052400, 1553817600, 1570316400, 1585267200, 1601161200, 1616716800, 1631401200, 1648771200, 1664665200, 1680220800, 1695510000, 1711670400, 1728169200, 1743120000, 1759014000, 1774569600, 1789858800, 1806019200, 1823122800, 1838073600, 1853362800, 1869523200, 1884207600, 1900972800, 1917471600, 1932422400, 1947711600, 1963872000, 1978556400, 1995926400, 2011820400, 2027376000, 2042060400, 2058825600, 2075324400, 2090275200, 2106169200, 2121724800, 2136409200 }
     :intvector { 7200, 0, 7200, 3600, 7200, 7200 }
     :bin { "00010001000100010001000201000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 249, 289, 486 }
-  } //Z#249
+    :intvector { 252, 292, 489 }
+  } //Z#252
 ,  /* Asia/Kabul */ :array {
     :intvector { -788932800 }
     :intvector { 16200, 0 }
     :bin { "00" }
 ,  /* Asia/Kabul */ :array {
     :intvector { -788932800 }
     :intvector { 16200, 0 }
     :bin { "00" }
-  } //Z#250
+  } //Z#253
 ,  /* Asia/Kamchatka */ :array {
     :intvector { -1487759676, -1247569200, 354888000, 370695600, 386424000, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800 }
     :intvector { 39600, 0, 39600, 3600, 43200, 0, 43200, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 43200, 1996 }
 ,  /* Asia/Kamchatka */ :array {
     :intvector { -1487759676, -1247569200, 354888000, 370695600, 386424000, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800 }
     :intvector { 39600, 0, 39600, 3600, 43200, 0, 43200, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 43200, 1996 }
-  } //Z#251
+  } //Z#254
 ,  /* Asia/Karachi */ :array {
     :intvector { -1988166492, -862637400, -764145000, -576135000, 38775600, 1018119660, 1033840860 }
     :intvector { 18000, 0, 18000, 3600, 19800, 0, 19800, 3600 }
     :bin { "02030200000100" }
 ,  /* Asia/Karachi */ :array {
     :intvector { -1988166492, -862637400, -764145000, -576135000, 38775600, 1018119660, 1033840860 }
     :intvector { 18000, 0, 18000, 3600, 19800, 0, 19800, 3600 }
     :bin { "02030200000100" }
-    :intvector { 252, 507 }
-  } //Z#252
+    :intvector { 255, 510 }
+  } //Z#255
 ,  /* Asia/Kashgar */ :array {
     :intvector { -1325480636, -946791000, 325969200, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 18000, 0, 19800, 0, 28800, 0, 28800, 3600 }
     :bin { "010002030203020302030203020302" }
 ,  /* Asia/Kashgar */ :array {
     :intvector { -1325480636, -946791000, 325969200, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 18000, 0, 19800, 0, 28800, 0, 28800, 3600 }
     :bin { "010002030203020302030203020302" }
-  } //Z#253
+  } //Z#256
 ,  /* Asia/Katmandu */ :array {
     :intvector { -1577943676, 504901800 }
     :intvector { 19800, 0, 20700, 0 }
     :bin { "0001" }
 ,  /* Asia/Katmandu */ :array {
     :intvector { -1577943676, 504901800 }
     :intvector { 19800, 0, 20700, 0 }
     :bin { "0001" }
-  } //Z#254
+  } //Z#257
 ,  /* Asia/Krasnoyarsk */ :array {
     :intvector { -1577513480, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800 }
     :intvector { 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 25200, 1996 }
 ,  /* Asia/Krasnoyarsk */ :array {
     :intvector { -1577513480, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800 }
     :intvector { 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 25200, 1996 }
-  } //Z#255
+  } //Z#258
 ,  /* Asia/Kuala_Lumpur */ :array {
     :intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, 378664200 }
     :intvector { 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "00010203050304" }
 ,  /* Asia/Kuala_Lumpur */ :array {
     :intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, 378664200 }
     :intvector { 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "00010203050304" }
-  } //Z#256
+  } //Z#259
 ,  /* Asia/Kuching */ :array {
     :intvector { -1383463280, -1167636600, -1082448000, -1074586800, -1050825600, -1042964400, -1019289600, -1011428400, -987753600, -979892400, -956217600, -948356400, -924595200, -916734000, -893059200, -885198000, -879667200, -767005200, 378662400 }
     :intvector { 27000, 0, 28800, 0, 28800, 1200, 32400, 0 }
     :bin { "00010201020102010201020102010201030101" }
 ,  /* Asia/Kuching */ :array {
     :intvector { -1383463280, -1167636600, -1082448000, -1074586800, -1050825600, -1042964400, -1019289600, -1011428400, -987753600, -979892400, -956217600, -948356400, -924595200, -916734000, -893059200, -885198000, -879667200, -767005200, 378662400 }
     :intvector { 27000, 0, 28800, 0, 28800, 1200, 32400, 0 }
     :bin { "00010201020102010201020102010201030101" }
-  } //Z#257
+  } //Z#260
 ,  /* Asia/Kuwait */ :array {
     :intvector { -631163516 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Asia/Kuwait */ :array {
     :intvector { -631163516 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#258
-,  /* Asia/Macao */ :int { 260 } //Z#259
+  } //Z#261
+,  /* Asia/Macao */ :int { 263 } //Z#262
 ,  /* Asia/Macau */ :array {
     :intvector { -1830411260, -277360200, -257405400, -245910600, -225955800, -214473600, -194506200, -182406600, -163056600, -150969600, -131619600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72201600, 87922800, 103651200, 119977200, 135705600, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 261504000, 277225200, 292953600, 309279600, 325008000, 340729200, 945619200 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010000" }
 ,  /* Asia/Macau */ :array {
     :intvector { -1830411260, -277360200, -257405400, -245910600, -225955800, -214473600, -194506200, -182406600, -163056600, -150969600, -131619600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72201600, 87922800, 103651200, 119977200, 135705600, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 261504000, 277225200, 292953600, 309279600, 325008000, 340729200, 945619200 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010000" }
-    :intvector { 259, 260 }
-  } //Z#260
+    :intvector { 262, 263 }
+  } //Z#263
 ,  /* Asia/Magadan */ :array {
     :intvector { -1441188192, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400 }
     :intvector { 36000, 0, 36000, 3600, 39600, 0, 39600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 39600, 1996 }
 ,  /* Asia/Magadan */ :array {
     :intvector { -1441188192, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400 }
     :intvector { 36000, 0, 36000, 3600, 39600, 0, 39600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 39600, 1996 }
-  } //Z#261
+  } //Z#264
 ,  /* Asia/Makassar */ :array {
 ,  /* Asia/Makassar */ :array {
-    :intvector { -1577951856, -1172908656, -880272000, -770634000 }
+    :intvector { -1577951856, -1172908656, -880272000, -766054800 }
     :intvector { 28656, 0, 28800, 0, 32400, 0 }
     :bin { "00010201" }
     :intvector { 28656, 0, 28800, 0, 32400, 0 }
     :bin { "00010201" }
-    :intvector { 262, 293 }
-  } //Z#262
+    :intvector { 265, 296 }
+  } //Z#265
 ,  /* Asia/Manila */ :array {
     :intvector { -1046678400, -1038733200, -873273600, -794221200, -496224000, -489315600, 259344000, 275151600 }
     :intvector { 28800, 0, 28800, 3600, 32400, 0 }
     :bin { "0100020001000100" }
 ,  /* Asia/Manila */ :array {
     :intvector { -1046678400, -1038733200, -873273600, -794221200, -496224000, -489315600, 259344000, 275151600 }
     :intvector { 28800, 0, 28800, 3600, 32400, 0 }
     :bin { "0100020001000100" }
-  } //Z#263
+  } //Z#266
 ,  /* Asia/Muscat */ :array {
     :intvector { -1577937260 }
     :intvector { 14400, 0 }
     :bin { "00" }
 ,  /* Asia/Muscat */ :array {
     :intvector { -1577937260 }
     :intvector { 14400, 0 }
     :bin { "00" }
-  } //Z#264
+  } //Z#267
 ,  /* Asia/Nicosia */ :array {
     :intvector { -1518920008, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EUAsia"
     :intvector { 7200, 1996 }
 ,  /* Asia/Nicosia */ :array {
     :intvector { -1518920008, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EUAsia"
     :intvector { 7200, 1996 }
-    :intvector { 265, 434 }
-  } //Z#265
+    :intvector { 268, 437 }
+  } //Z#268
 ,  /* Asia/Novosibirsk */ :array {
     :intvector { -1579476700, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 738086400, 748987200, 764712000, 780436800, 796161600, 811886400 }
     :intvector { 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     :bin { "00020302030203020302030203020302030203020302010002030203010001000100" }
     "Russia"
     :intvector { 21600, 1996 }
 ,  /* Asia/Novosibirsk */ :array {
     :intvector { -1579476700, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 738086400, 748987200, 764712000, 780436800, 796161600, 811886400 }
     :intvector { 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     :bin { "00020302030203020302030203020302030203020302010002030203010001000100" }
     "Russia"
     :intvector { 21600, 1996 }
-  } //Z#266
+  } //Z#269
 ,  /* Asia/Omsk */ :array {
     :intvector { -1582088016, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 21600, 1996 }
 ,  /* Asia/Omsk */ :array {
     :intvector { -1582088016, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 21600, 1996 }
-  } //Z#267
+  } //Z#270
 ,  /* Asia/Oral */ :array {
     :intvector { -1441164324, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622591200, 638316000, 654645600, 662673600, 692827200, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000203040302030203020302030203020302010001000000010001000100010001000100010001000100010001000100010002" }
 ,  /* Asia/Oral */ :array {
     :intvector { -1441164324, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622591200, 638316000, 654645600, 662673600, 692827200, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "000203040302030203020302030203020302010001000000010001000100010001000100010001000100010001000100010002" }
-  } //Z#268
+  } //Z#271
 ,  /* Asia/Phnom_Penh */ :array {
     :intvector { -2005973980, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
 ,  /* Asia/Phnom_Penh */ :array {
     :intvector { -2005973980, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
-  } //Z#269
+  } //Z#272
 ,  /* Asia/Pontianak */ :array {
 ,  /* Asia/Pontianak */ :array {
-    :intvector { -1946186240, -1172906240, -881220600, -770634000, -683883000, -620812800, -189415800, 567964800 }
+    :intvector { -1946186240, -1172906240, -881220600, -766054800, -683883000, -620812800, -189415800, 567964800 }
     :intvector { 25200, 0, 26240, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "0102040203020300" }
     :intvector { 25200, 0, 26240, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "0102040203020300" }
-  } //Z#270
+  } //Z#273
 ,  /* Asia/Pyongyang */ :array {
     :intvector { -2053931400, -1325494800, -1199262600, -498128400, -264931200 }
     :intvector { 28800, 0, 30600, 0, 32400, 0 }
     :bin { "0201020002" }
 ,  /* Asia/Pyongyang */ :array {
     :intvector { -2053931400, -1325494800, -1199262600, -498128400, -264931200 }
     :intvector { 28800, 0, 30600, 0, 32400, 0 }
     :bin { "0201020002" }
-  } //Z#271
+  } //Z#274
 ,  /* Asia/Qatar */ :array {
     :intvector { -1577935568, 76190400 }
     :intvector { 10800, 0, 14400, 0 }
     :bin { "0100" }
 ,  /* Asia/Qatar */ :array {
     :intvector { -1577935568, 76190400 }
     :intvector { 10800, 0, 14400, 0 }
     :bin { "0100" }
-  } //Z#272
+  } //Z#275
 ,  /* Asia/Qyzylorda */ :array {
     :intvector { -1441167712, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1110823200 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "00010203020102010201020102010201020102010201010103040304030403040304030403040304030403040304030403040303" }
 ,  /* Asia/Qyzylorda */ :array {
     :intvector { -1441167712, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 662670000, 692823600, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1110823200 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "00010203020102010201020102010201020102010201010103040304030403040304030403040304030403040304030403040303" }
-  } //Z#273
+  } //Z#276
 ,  /* Asia/Rangoon */ :array {
     :intvector { -1577946276, -873268200, -778410000 }
     :intvector { 23400, 0, 32400, 0 }
     :bin { "000100" }
 ,  /* Asia/Rangoon */ :array {
     :intvector { -1577946276, -873268200, -778410000 }
     :intvector { 23400, 0, 32400, 0 }
     :bin { "000100" }
-  } //Z#274
+  } //Z#277
 ,  /* Asia/Riyadh */ :array {
     :intvector { -631163212 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Asia/Riyadh */ :array {
     :intvector { -631163212 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#275
+  } //Z#278
 ,  /* Asia/Riyadh87 */ :array {
     :intvector { 536489776, 536576206, 536662631, 536749061, 536835486, 536921916, 537008341, 537094766, 537181191, 537267616, 537354041, 537440466, 537526886, 537613311, 537699731, 537786151, 537872571, 537958991, 538045411, 538131831, 538218246, 538304666, 538391081, 538477496, 538563911, 538650326, 538736736, 538823151, 538909561, 538995971, 539082381, 539168791, 539255196, 539341606, 539428011, 539514416, 539600821, 539687226, 539860031, 540378426, 540551221, 540637616, 540724011, 540810406, 540896801, 540983191, 541069586, 541155976, 541242366, 541328756, 541415146, 541501536, 541587926, 541674316, 541760701, 541847091, 541933476, 542019861, 542106251, 542192636, 542279021, 542365406, 542451791, 542538171, 542624556, 542710941, 542797326, 542883706, 542970091, 543056471, 543142856, 543229236, 543315621, 543402001, 543488386, 543574766, 543661146, 543747531, 543833911, 543920291, 544006676, 544093056, 544179441, 544265821, 544352201, 544438586, 544524966, 544611351, 544697731, 544784116, 544870501, 544956881, 545043266, 545129651, 545216031, 545302416, 545388801, 545475186, 545561571, 545647961, 545734346, 545820731, 545907121, 545993506, 546079896, 546166281, 546252671, 546339061, 546425451, 546511841, 546598231, 546684621, 546771011, 546857406, 546943796, 547030191, 547116586, 547202981, 547289376, 547375771, 547462166, 547548561, 547721356, 548412561, 548585366, 548671771, 548758176, 548844581, 548930986, 549017391, 549103796, 549190206, 549276611, 549363021, 549449426, 549535836, 549622246, 549708656, 549795066, 549881476, 549967886, 550054296, 550140706, 550227121, 550313531, 550399946, 550486356, 550572766, 550659181, 550745591, 550832006, 550918421, 551004831, 551091246, 551177656, 551264071, 551350486, 551436896, 551523311, 551609721, 551696136, 551782546, 551868961, 551955371, 552041786, 552128196, 552214606, 552301021, 552387431, 552473841, 552560251, 552646661, 552733071, 552819481, 552905891, 552992296, 553078706, 553165116, 553251521, 553337926, 553424336, 553510741, 553597146, 553683551, 553856356, 553942761, 554201966, 554547561, 554806756, 554893151, 554979546, 555065941, 555152336, 555238731, 555325126, 555411516, 555497911, 555584301, 555670691, 555757081, 555843471, 555929861, 556016251, 556102641, 556189026, 556275416, 556361801, 556448186, 556534571, 556620956, 556707341, 556793726, 556880111, 556966496, 557052876, 557139261, 557225641, 557312026, 557398406, 557484786, 557571166, 557657551, 557743931, 557830311, 557916691, 558003071, 558089451, 558175826, 558262206, 558348586, 558434966, 558521346, 558607721, 558694101, 558780481, 558866861, 558953236, 559039616, 559125996, 559212371, 559298751, 559385131, 559471511, 559557891, 559644271, 559730646, 559817026, 559903406, 559989786, 560076166, 560162551, 560248931, 560335311, 560421691, 560508076, 560594456, 560680841, 560767221, 560853606, 560939991, 561026376, 561112761, 561199146, 561285531, 561371921, 561458306, 561544696, 561631081, 561717471, 561803861, 561890251, 561976641, 562063036, 562149426, 562235821, 562322211, 562408606, 562495001, 562667796, 562840591, 563186196, 563359001, 563445406, 563531811, 563618216, 563704621, 563791031, 563877436, 563963846, 564050256, 564136666, 564223081, 564309491, 564395906, 564482321, 564568736, 564655151, 564741566, 564827986, 564914406, 565000821, 565087241, 565173661, 565260086, 565346506, 565432926, 565519351, 565605776, 565692201, 565778626, 565865051, 565951476, 566037901, 566124326, 566210756, 566297181, 566383611, 566470041, 566556466, 566642896, 566729326, 566815756, 566902186, 566988616, 567075046, 567161476, 567247906, 567334336, 567420766, 567507196, 567593621, 567680051, 567766481, 567852911, 567939341, 567982541 }
     :intvector { 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -815, 11224, -810, 11224, -805, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -760, 11224, -750, 11224, -740, 11224, -735, 11224, -725, 11224, -720, 11224, -715, 11224, -705, 11224, -700, 11224, -690, 11224, -685, 11224, -675, 11224, -670, 11224, -660, 11224, -655, 11224, -645, 11224, -635, 11224, -630, 11224, -615, 11224, -595, 11224, -580, 11224, -575, 11224, -565, 11224, -555, 11224, -550, 11224, -535, 11224, -530, 11224, -515, 11224, -510, 11224, -495, 11224, -490, 11224, -480, 11224, -465, 11224, -460, 11224, -445, 11224, -440, 11224, -425, 11224, -415, 11224, -410, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -315, 11224, -310, 11224, -305, 11224, -300, 11224, -295, 11224, -285, 11224, -280, 11224, -275, 11224, -265, 11224, -255, 11224, -250, 11224, -245, 11224, -240, 11224, -230, 11224, -225, 11224, -220, 11224, -210, 11224, -200, 11224, -195, 11224, -190, 11224, -185, 11224, -180, 11224, -175, 11224, -170, 11224, -165, 11224, -160, 11224, -155, 11224, -150, 11224, -145, 11224, -140, 11224, -135, 11224, -125, 11224, -120, 11224, -110, 11224, -105, 11224, -100, 11224, -95, 11224, -90, 11224, -85, 11224, -80, 11224, -75, 11224, -70, 11224, -65, 11224, -55, 11224, -50, 11224, -45, 11224, -40, 11224, -30, 11224, -25, 11224, -20, 11224, -15, 11224, -10, 11224, -5, 11224, 0, 11224, 5, 11224, 10, 11224, 15, 11224, 20, 11224, 25, 11224, 30, 11224, 40, 11224, 45, 11224, 55, 11224, 65, 11224, 70, 11224, 80, 11224, 85, 11224, 90, 11224, 95, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 155, 11224, 160, 11224, 165, 11224, 170, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 230, 11224, 250, 11224, 255, 11224, 275, 11224, 280, 11224, 295, 11224, 310, 11224, 315, 11224, 335, 11224, 340, 11224, 360, 11224, 365, 11224, 380, 11224, 395, 11224, 405, 11224, 420, 11224, 425, 11224, 445, 11224, 450, 11224, 465, 11224, 475, 11224, 485, 11224, 500, 11224, 505, 11224, 525, 11224, 530, 11224, 550, 11224, 570, 11224, 575, 11224, 590, 11224, 600, 11224, 610, 11224, 625, 11224, 645, 11224, 650, 11224, 665, 11224, 670, 11224, 685, 11224, 690, 11224, 700, 11224, 715, 11224, 720, 11224, 735, 11224, 755, 11224, 770, 11224, 785, 11224, 790, 11224, 800, 11224, 810, 11224, 815, 11224, 825, 11224, 830, 11224, 840, 11224, 845, 11224, 855, 11224, 870, 11224, 880, 11224, 885, 11224, 895, 11224, 905, 11224, 910, 11224, 915, 11224, 920, 11224, 925, 11224, 930, 11224, 935, 11224, 940, 11224, 945, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985 }
     :bin { "5955514d49433e39373532302e2b2927252422201e1b1917151312100e0c0a080705040302010001020304050608090b0d0f1112131416181a1c1d1f2123242526282a2c2d2f3133343638393d4044484b4e505356585b5e6265676a6d707376787b7e8083858688898c8e90929496989a9b9c9d9e9fa0a1a2a3a4a3a2a1a09f9e9d9c9b9a98979593918f8d8b8988868583817f7c7a777573716f6c69686664615f5c5a5857555351504f4d4c4a4847454342413f3e3d3c3b3a393a3b3c3d3e3f4041434446484a4c4d4f50525456585a5d606366686b6e7274777b7f8285878a8e92979b9ea2a5a7a8aaacaeafb1b3b5b6b8babcbebfc0c2c4c5c6c8cacccecfd0d1d2d4d6d8dadbdcdddfe0e2e4e6e7e9eaecedeeeff0efeeedecebeae8e7e5e3e1dfdedcdbd9d7d5d3d1d0cfcdcbc9c7c5c3c1bfbdbbb9b7b4b2b0adaba9a6a49e99938d88847f7975706a66607d" }
 ,  /* Asia/Riyadh87 */ :array {
     :intvector { 536489776, 536576206, 536662631, 536749061, 536835486, 536921916, 537008341, 537094766, 537181191, 537267616, 537354041, 537440466, 537526886, 537613311, 537699731, 537786151, 537872571, 537958991, 538045411, 538131831, 538218246, 538304666, 538391081, 538477496, 538563911, 538650326, 538736736, 538823151, 538909561, 538995971, 539082381, 539168791, 539255196, 539341606, 539428011, 539514416, 539600821, 539687226, 539860031, 540378426, 540551221, 540637616, 540724011, 540810406, 540896801, 540983191, 541069586, 541155976, 541242366, 541328756, 541415146, 541501536, 541587926, 541674316, 541760701, 541847091, 541933476, 542019861, 542106251, 542192636, 542279021, 542365406, 542451791, 542538171, 542624556, 542710941, 542797326, 542883706, 542970091, 543056471, 543142856, 543229236, 543315621, 543402001, 543488386, 543574766, 543661146, 543747531, 543833911, 543920291, 544006676, 544093056, 544179441, 544265821, 544352201, 544438586, 544524966, 544611351, 544697731, 544784116, 544870501, 544956881, 545043266, 545129651, 545216031, 545302416, 545388801, 545475186, 545561571, 545647961, 545734346, 545820731, 545907121, 545993506, 546079896, 546166281, 546252671, 546339061, 546425451, 546511841, 546598231, 546684621, 546771011, 546857406, 546943796, 547030191, 547116586, 547202981, 547289376, 547375771, 547462166, 547548561, 547721356, 548412561, 548585366, 548671771, 548758176, 548844581, 548930986, 549017391, 549103796, 549190206, 549276611, 549363021, 549449426, 549535836, 549622246, 549708656, 549795066, 549881476, 549967886, 550054296, 550140706, 550227121, 550313531, 550399946, 550486356, 550572766, 550659181, 550745591, 550832006, 550918421, 551004831, 551091246, 551177656, 551264071, 551350486, 551436896, 551523311, 551609721, 551696136, 551782546, 551868961, 551955371, 552041786, 552128196, 552214606, 552301021, 552387431, 552473841, 552560251, 552646661, 552733071, 552819481, 552905891, 552992296, 553078706, 553165116, 553251521, 553337926, 553424336, 553510741, 553597146, 553683551, 553856356, 553942761, 554201966, 554547561, 554806756, 554893151, 554979546, 555065941, 555152336, 555238731, 555325126, 555411516, 555497911, 555584301, 555670691, 555757081, 555843471, 555929861, 556016251, 556102641, 556189026, 556275416, 556361801, 556448186, 556534571, 556620956, 556707341, 556793726, 556880111, 556966496, 557052876, 557139261, 557225641, 557312026, 557398406, 557484786, 557571166, 557657551, 557743931, 557830311, 557916691, 558003071, 558089451, 558175826, 558262206, 558348586, 558434966, 558521346, 558607721, 558694101, 558780481, 558866861, 558953236, 559039616, 559125996, 559212371, 559298751, 559385131, 559471511, 559557891, 559644271, 559730646, 559817026, 559903406, 559989786, 560076166, 560162551, 560248931, 560335311, 560421691, 560508076, 560594456, 560680841, 560767221, 560853606, 560939991, 561026376, 561112761, 561199146, 561285531, 561371921, 561458306, 561544696, 561631081, 561717471, 561803861, 561890251, 561976641, 562063036, 562149426, 562235821, 562322211, 562408606, 562495001, 562667796, 562840591, 563186196, 563359001, 563445406, 563531811, 563618216, 563704621, 563791031, 563877436, 563963846, 564050256, 564136666, 564223081, 564309491, 564395906, 564482321, 564568736, 564655151, 564741566, 564827986, 564914406, 565000821, 565087241, 565173661, 565260086, 565346506, 565432926, 565519351, 565605776, 565692201, 565778626, 565865051, 565951476, 566037901, 566124326, 566210756, 566297181, 566383611, 566470041, 566556466, 566642896, 566729326, 566815756, 566902186, 566988616, 567075046, 567161476, 567247906, 567334336, 567420766, 567507196, 567593621, 567680051, 567766481, 567852911, 567939341, 567982541 }
     :intvector { 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -815, 11224, -810, 11224, -805, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -760, 11224, -750, 11224, -740, 11224, -735, 11224, -725, 11224, -720, 11224, -715, 11224, -705, 11224, -700, 11224, -690, 11224, -685, 11224, -675, 11224, -670, 11224, -660, 11224, -655, 11224, -645, 11224, -635, 11224, -630, 11224, -615, 11224, -595, 11224, -580, 11224, -575, 11224, -565, 11224, -555, 11224, -550, 11224, -535, 11224, -530, 11224, -515, 11224, -510, 11224, -495, 11224, -490, 11224, -480, 11224, -465, 11224, -460, 11224, -445, 11224, -440, 11224, -425, 11224, -415, 11224, -410, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -315, 11224, -310, 11224, -305, 11224, -300, 11224, -295, 11224, -285, 11224, -280, 11224, -275, 11224, -265, 11224, -255, 11224, -250, 11224, -245, 11224, -240, 11224, -230, 11224, -225, 11224, -220, 11224, -210, 11224, -200, 11224, -195, 11224, -190, 11224, -185, 11224, -180, 11224, -175, 11224, -170, 11224, -165, 11224, -160, 11224, -155, 11224, -150, 11224, -145, 11224, -140, 11224, -135, 11224, -125, 11224, -120, 11224, -110, 11224, -105, 11224, -100, 11224, -95, 11224, -90, 11224, -85, 11224, -80, 11224, -75, 11224, -70, 11224, -65, 11224, -55, 11224, -50, 11224, -45, 11224, -40, 11224, -30, 11224, -25, 11224, -20, 11224, -15, 11224, -10, 11224, -5, 11224, 0, 11224, 5, 11224, 10, 11224, 15, 11224, 20, 11224, 25, 11224, 30, 11224, 40, 11224, 45, 11224, 55, 11224, 65, 11224, 70, 11224, 80, 11224, 85, 11224, 90, 11224, 95, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 155, 11224, 160, 11224, 165, 11224, 170, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 230, 11224, 250, 11224, 255, 11224, 275, 11224, 280, 11224, 295, 11224, 310, 11224, 315, 11224, 335, 11224, 340, 11224, 360, 11224, 365, 11224, 380, 11224, 395, 11224, 405, 11224, 420, 11224, 425, 11224, 445, 11224, 450, 11224, 465, 11224, 475, 11224, 485, 11224, 500, 11224, 505, 11224, 525, 11224, 530, 11224, 550, 11224, 570, 11224, 575, 11224, 590, 11224, 600, 11224, 610, 11224, 625, 11224, 645, 11224, 650, 11224, 665, 11224, 670, 11224, 685, 11224, 690, 11224, 700, 11224, 715, 11224, 720, 11224, 735, 11224, 755, 11224, 770, 11224, 785, 11224, 790, 11224, 800, 11224, 810, 11224, 815, 11224, 825, 11224, 830, 11224, 840, 11224, 845, 11224, 855, 11224, 870, 11224, 880, 11224, 885, 11224, 895, 11224, 905, 11224, 910, 11224, 915, 11224, 920, 11224, 925, 11224, 930, 11224, 935, 11224, 940, 11224, 945, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985 }
     :bin { "5955514d49433e39373532302e2b2927252422201e1b1917151312100e0c0a080705040302010001020304050608090b0d0f1112131416181a1c1d1f2123242526282a2c2d2f3133343638393d4044484b4e505356585b5e6265676a6d707376787b7e8083858688898c8e90929496989a9b9c9d9e9fa0a1a2a3a4a3a2a1a09f9e9d9c9b9a98979593918f8d8b8988868583817f7c7a777573716f6c69686664615f5c5a5857555351504f4d4c4a4847454342413f3e3d3c3b3a393a3b3c3d3e3f4041434446484a4c4d4f50525456585a5d606366686b6e7274777b7f8285878a8e92979b9ea2a5a7a8aaacaeafb1b3b5b6b8babcbebfc0c2c4c5c6c8cacccecfd0d1d2d4d6d8dadbdcdddfe0e2e4e6e7e9eaecedeeeff0efeeedecebeae8e7e5e3e1dfdedcdbd9d7d5d3d1d0cfcdcbc9c7c5c3c1bfbdbbb9b7b4b2b0adaba9a6a49e99938d88847f7975706a66607d" }
-    :intvector { 276, 499 }
-  } //Z#276
+    :intvector { 279, 502 }
+  } //Z#279
 ,  /* Asia/Riyadh88 */ :array {
     :intvector { 568025771, 568112196, 568198626, 568285056, 568371481, 568457906, 568544336, 568630761, 568717186, 568803611, 568890036, 568976461, 569062881, 569149306, 569235726, 569322146, 569408566, 569494986, 569581406, 569667826, 569754241, 569840661, 569927076, 570013491, 570099906, 570186321, 570272736, 570359146, 570445556, 570531966, 570618376, 570704786, 570791196, 570877601, 570964011, 571050416, 571136821, 571223226, 571396031, 571914426, 572087221, 572173616, 572260011, 572346406, 572432801, 572519196, 572605586, 572691976, 572778371, 572864761, 572951151, 573037541, 573123926, 573210316, 573296706, 573383091, 573469481, 573555866, 573642251, 573728636, 573815021, 573901406, 573987791, 574074176, 574160561, 574246946, 574333326, 574419711, 574506096, 574592476, 574678861, 574765241, 574851626, 574938006, 575024386, 575110771, 575197151, 575283536, 575369916, 575456296, 575542681, 575629061, 575715441, 575801826, 575888206, 575974591, 576060971, 576147356, 576233736, 576320121, 576406501, 576492886, 576579271, 576665651, 576752036, 576838421, 576924806, 577011191, 577097576, 577183961, 577270346, 577356736, 577443121, 577529511, 577615896, 577702286, 577788671, 577875061, 577961451, 578047841, 578134231, 578220626, 578307016, 578393406, 578479801, 578566191, 578652586, 578738981, 578825376, 578911771, 578998166, 579084561, 579257356, 579948561, 580121366, 580207771, 580294176, 580380581, 580466986, 580553391, 580639796, 580726201, 580812611, 580899016, 580985426, 581071836, 581158246, 581244651, 581331061, 581417471, 581503886, 581590296, 581676706, 581763116, 581849531, 581935941, 582022351, 582108766, 582195176, 582281591, 582368001, 582454416, 582540831, 582627241, 582713656, 582800066, 582886481, 582972896, 583059306, 583145721, 583232131, 583318546, 583404956, 583491371, 583577781, 583664196, 583750606, 583837016, 583923426, 584009841, 584096251, 584182661, 584269071, 584355481, 584441886, 584528296, 584614706, 584701111, 584787521, 584873926, 584960331, 585046736, 585133141, 585219546, 585305951, 585392356, 585478761, 585737966, 586169961, 586342756, 586429151, 586601946, 586688341, 586774731, 586861126, 586947521, 587033911, 587120301, 587206696, 587293086, 587379476, 587465866, 587552251, 587638641, 587725031, 587811416, 587897806, 587984191, 588070576, 588156961, 588243346, 588329731, 588416116, 588502496, 588588881, 588675266, 588761646, 588848026, 588934411, 589020791, 589107171, 589193551, 589279936, 589366316, 589452696, 589539076, 589625456, 589711831, 589798211, 589884591, 589970971, 590057351, 590143726, 590230106, 590316486, 590402866, 590489241, 590575621, 590662001, 590748381, 590834756, 590921136, 591007516, 591093896, 591180276, 591266651, 591353031, 591439411, 591525791, 591612171, 591698551, 591784936, 591871316, 591957696, 592044081, 592130461, 592216846, 592303226, 592389611, 592475996, 592562381, 592648766, 592735151, 592821536, 592907921, 592994311, 593080696, 593167086, 593253476, 593339861, 593426256, 593512646, 593599036, 593685426, 593771821, 593858216, 593944611, 594031006, 594117401, 594203796, 594376591, 594722196, 594895001, 595067806, 595154216, 595240621, 595327026, 595413436, 595499846, 595586256, 595672666, 595759076, 595845491, 595931901, 596018316, 596104731, 596191146, 596277566, 596363981, 596450401, 596536816, 596623236, 596709656, 596796081, 596882501, 596968921, 597055346, 597141771, 597228191, 597314616, 597401041, 597487471, 597573896, 597660321, 597746751, 597833176, 597919606, 598006031, 598092461, 598178891, 598265321, 598351751, 598438176, 598524606, 598611036, 598697466, 598783896, 598870326, 598956756, 599043186, 599129616, 599216046, 599302476, 599388906, 599475331, 599561761, 599604961 }
     :intvector { 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -810, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -765, 11224, -760, 11224, -750, 11224, -745, 11224, -740, 11224, -730, 11224, -715, 11224, -705, 11224, -700, 11224, -690, 11224, -685, 11224, -675, 11224, -665, 11224, -660, 11224, -650, 11224, -645, 11224, -630, 11224, -615, 11224, -610, 11224, -600, 11224, -590, 11224, -585, 11224, -570, 11224, -550, 11224, -535, 11224, -530, 11224, -520, 11224, -505, 11224, -500, 11224, -485, 11224, -465, 11224, -460, 11224, -450, 11224, -435, 11224, -430, 11224, -410, 11224, -395, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -310, 11224, -305, 11224, -300, 11224, -295, 11224, -290, 11224, -285, 11224, -280, 11224, -275, 11224, -265, 11224, -255, 11224, -250, 11224, -240, 11224, -230, 11224, -220, 11224, -215, 11224, -205, 11224, -200, 11224, -195, 11224, -185, 11224, -180, 11224, -170, 11224, -160, 11224, -155, 11224, -145, 11224, -140, 11224, -130, 11224, -125, 11224, -120, 11224, -110, 11224, -105, 11224, -100, 11224, -95, 11224, -90, 11224, -80, 11224, -75, 11224, -70, 11224, -65, 11224, -60, 11224, -55, 11224, -50, 11224, -45, 11224, -40, 11224, -35, 11224, -30, 11224, -25, 11224, -15, 11224, -10, 11224, 0, 11224, 5, 11224, 10, 11224, 15, 11224, 20, 11224, 25, 11224, 30, 11224, 35, 11224, 40, 11224, 45, 11224, 50, 11224, 55, 11224, 60, 11224, 65, 11224, 70, 11224, 80, 11224, 90, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 160, 11224, 165, 11224, 170, 11224, 175, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 225, 11224, 250, 11224, 255, 11224, 270, 11224, 285, 11224, 290, 11224, 310, 11224, 315, 11224, 335, 11224, 345, 11224, 355, 11224, 370, 11224, 375, 11224, 395, 11224, 400, 11224, 420, 11224, 425, 11224, 440, 11224, 455, 11224, 460, 11224, 480, 11224, 500, 11224, 505, 11224, 525, 11224, 535, 11224, 545, 11224, 560, 11224, 565, 11224, 585, 11224, 605, 11224, 625, 11224, 630, 11224, 640, 11224, 655, 11224, 660, 11224, 675, 11224, 680, 11224, 695, 11224, 715, 11224, 720, 11224, 730, 11224, 740, 11224, 750, 11224, 760, 11224, 765, 11224, 775, 11224, 780, 11224, 795, 11224, 810, 11224, 825, 11224, 830, 11224, 840, 11224, 845, 11224, 855, 11224, 860, 11224, 865, 11224, 875, 11224, 880, 11224, 885, 11224, 890, 11224, 900, 11224, 910, 11224, 915, 11224, 920, 11224, 930, 11224, 940, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985 }
     :bin { "55514e4a45413b3633312f2d2b2927262422201e1c1a18161513110f0d0b0908070604030201000102030405060708090a0c0e101214151617191b1d1f202123252627282a2c2d2e30323334383b3f4345494c4e50525557595b5e606366696c6f717376797b7e8082838587898b8d8e8f91929495969798999a9b9a9998979695949392908f8e8c8a8987858382817f7c7a78757371706d6a686564615f5d5b5a5857555351504f4e4c4b494745444341403e3d3c3b3a3938373635363738393a3c3d3e4042434446484b4c4d4f50525456585a5c5f6164676b6e7174787b7f8284888d9094989c9d9fa1a2a4a6a8a9abadafb0b1b3b5b7b8b9babcbec0c1c2c4c6c8cacbcccdcfd1d3d5d7d8dadbdcdddedfe0e1e2e3e4e5e4e3e2e0dfdedddcdbd9d8d6d4d2d0cecccbc9c7c5c3c1bfbdbbb9b8b6b4b2b0aeacaaa7a5a3a09e9c97918c86827d77726d67625d5a5673" }
 ,  /* Asia/Riyadh88 */ :array {
     :intvector { 568025771, 568112196, 568198626, 568285056, 568371481, 568457906, 568544336, 568630761, 568717186, 568803611, 568890036, 568976461, 569062881, 569149306, 569235726, 569322146, 569408566, 569494986, 569581406, 569667826, 569754241, 569840661, 569927076, 570013491, 570099906, 570186321, 570272736, 570359146, 570445556, 570531966, 570618376, 570704786, 570791196, 570877601, 570964011, 571050416, 571136821, 571223226, 571396031, 571914426, 572087221, 572173616, 572260011, 572346406, 572432801, 572519196, 572605586, 572691976, 572778371, 572864761, 572951151, 573037541, 573123926, 573210316, 573296706, 573383091, 573469481, 573555866, 573642251, 573728636, 573815021, 573901406, 573987791, 574074176, 574160561, 574246946, 574333326, 574419711, 574506096, 574592476, 574678861, 574765241, 574851626, 574938006, 575024386, 575110771, 575197151, 575283536, 575369916, 575456296, 575542681, 575629061, 575715441, 575801826, 575888206, 575974591, 576060971, 576147356, 576233736, 576320121, 576406501, 576492886, 576579271, 576665651, 576752036, 576838421, 576924806, 577011191, 577097576, 577183961, 577270346, 577356736, 577443121, 577529511, 577615896, 577702286, 577788671, 577875061, 577961451, 578047841, 578134231, 578220626, 578307016, 578393406, 578479801, 578566191, 578652586, 578738981, 578825376, 578911771, 578998166, 579084561, 579257356, 579948561, 580121366, 580207771, 580294176, 580380581, 580466986, 580553391, 580639796, 580726201, 580812611, 580899016, 580985426, 581071836, 581158246, 581244651, 581331061, 581417471, 581503886, 581590296, 581676706, 581763116, 581849531, 581935941, 582022351, 582108766, 582195176, 582281591, 582368001, 582454416, 582540831, 582627241, 582713656, 582800066, 582886481, 582972896, 583059306, 583145721, 583232131, 583318546, 583404956, 583491371, 583577781, 583664196, 583750606, 583837016, 583923426, 584009841, 584096251, 584182661, 584269071, 584355481, 584441886, 584528296, 584614706, 584701111, 584787521, 584873926, 584960331, 585046736, 585133141, 585219546, 585305951, 585392356, 585478761, 585737966, 586169961, 586342756, 586429151, 586601946, 586688341, 586774731, 586861126, 586947521, 587033911, 587120301, 587206696, 587293086, 587379476, 587465866, 587552251, 587638641, 587725031, 587811416, 587897806, 587984191, 588070576, 588156961, 588243346, 588329731, 588416116, 588502496, 588588881, 588675266, 588761646, 588848026, 588934411, 589020791, 589107171, 589193551, 589279936, 589366316, 589452696, 589539076, 589625456, 589711831, 589798211, 589884591, 589970971, 590057351, 590143726, 590230106, 590316486, 590402866, 590489241, 590575621, 590662001, 590748381, 590834756, 590921136, 591007516, 591093896, 591180276, 591266651, 591353031, 591439411, 591525791, 591612171, 591698551, 591784936, 591871316, 591957696, 592044081, 592130461, 592216846, 592303226, 592389611, 592475996, 592562381, 592648766, 592735151, 592821536, 592907921, 592994311, 593080696, 593167086, 593253476, 593339861, 593426256, 593512646, 593599036, 593685426, 593771821, 593858216, 593944611, 594031006, 594117401, 594203796, 594376591, 594722196, 594895001, 595067806, 595154216, 595240621, 595327026, 595413436, 595499846, 595586256, 595672666, 595759076, 595845491, 595931901, 596018316, 596104731, 596191146, 596277566, 596363981, 596450401, 596536816, 596623236, 596709656, 596796081, 596882501, 596968921, 597055346, 597141771, 597228191, 597314616, 597401041, 597487471, 597573896, 597660321, 597746751, 597833176, 597919606, 598006031, 598092461, 598178891, 598265321, 598351751, 598438176, 598524606, 598611036, 598697466, 598783896, 598870326, 598956756, 599043186, 599129616, 599216046, 599302476, 599388906, 599475331, 599561761, 599604961 }
     :intvector { 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -810, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -765, 11224, -760, 11224, -750, 11224, -745, 11224, -740, 11224, -730, 11224, -715, 11224, -705, 11224, -700, 11224, -690, 11224, -685, 11224, -675, 11224, -665, 11224, -660, 11224, -650, 11224, -645, 11224, -630, 11224, -615, 11224, -610, 11224, -600, 11224, -590, 11224, -585, 11224, -570, 11224, -550, 11224, -535, 11224, -530, 11224, -520, 11224, -505, 11224, -500, 11224, -485, 11224, -465, 11224, -460, 11224, -450, 11224, -435, 11224, -430, 11224, -410, 11224, -395, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -310, 11224, -305, 11224, -300, 11224, -295, 11224, -290, 11224, -285, 11224, -280, 11224, -275, 11224, -265, 11224, -255, 11224, -250, 11224, -240, 11224, -230, 11224, -220, 11224, -215, 11224, -205, 11224, -200, 11224, -195, 11224, -185, 11224, -180, 11224, -170, 11224, -160, 11224, -155, 11224, -145, 11224, -140, 11224, -130, 11224, -125, 11224, -120, 11224, -110, 11224, -105, 11224, -100, 11224, -95, 11224, -90, 11224, -80, 11224, -75, 11224, -70, 11224, -65, 11224, -60, 11224, -55, 11224, -50, 11224, -45, 11224, -40, 11224, -35, 11224, -30, 11224, -25, 11224, -15, 11224, -10, 11224, 0, 11224, 5, 11224, 10, 11224, 15, 11224, 20, 11224, 25, 11224, 30, 11224, 35, 11224, 40, 11224, 45, 11224, 50, 11224, 55, 11224, 60, 11224, 65, 11224, 70, 11224, 80, 11224, 90, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 160, 11224, 165, 11224, 170, 11224, 175, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 225, 11224, 250, 11224, 255, 11224, 270, 11224, 285, 11224, 290, 11224, 310, 11224, 315, 11224, 335, 11224, 345, 11224, 355, 11224, 370, 11224, 375, 11224, 395, 11224, 400, 11224, 420, 11224, 425, 11224, 440, 11224, 455, 11224, 460, 11224, 480, 11224, 500, 11224, 505, 11224, 525, 11224, 535, 11224, 545, 11224, 560, 11224, 565, 11224, 585, 11224, 605, 11224, 625, 11224, 630, 11224, 640, 11224, 655, 11224, 660, 11224, 675, 11224, 680, 11224, 695, 11224, 715, 11224, 720, 11224, 730, 11224, 740, 11224, 750, 11224, 760, 11224, 765, 11224, 775, 11224, 780, 11224, 795, 11224, 810, 11224, 825, 11224, 830, 11224, 840, 11224, 845, 11224, 855, 11224, 860, 11224, 865, 11224, 875, 11224, 880, 11224, 885, 11224, 890, 11224, 900, 11224, 910, 11224, 915, 11224, 920, 11224, 930, 11224, 940, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985 }
     :bin { "55514e4a45413b3633312f2d2b2927262422201e1c1a18161513110f0d0b0908070604030201000102030405060708090a0c0e101214151617191b1d1f202123252627282a2c2d2e30323334383b3f4345494c4e50525557595b5e606366696c6f717376797b7e8082838587898b8d8e8f91929495969798999a9b9a9998979695949392908f8e8c8a8987858382817f7c7a78757371706d6a686564615f5d5b5a5857555351504f4e4c4b494745444341403e3d3c3b3a3938373635363738393a3c3d3e4042434446484b4c4d4f50525456585a5c5f6164676b6e7174787b7f8284888d9094989c9d9fa1a2a4a6a8a9abadafb0b1b3b5b7b8b9babcbec0c1c2c4c6c8cacbcccdcfd1d3d5d7d8dadbdcdddedfe0e1e2e3e4e5e4e3e2e0dfdedddcdbd9d8d6d4d2d0cecccbc9c7c5c3c1bfbdbbb9b8b6b4b2b0aeacaaa7a5a3a09e9c97918c86827d77726d67625d5a5673" }
-    :intvector { 277, 500 }
-  } //Z#277
+    :intvector { 280, 503 }
+  } //Z#280
 ,  /* Asia/Riyadh89 */ :array {
     :intvector { 599648191, 599734621, 599821046, 599907476, 599993901, 600080326, 600166751, 600253181, 600339606, 600426031, 600512451, 600598876, 600685301, 600771721, 600858141, 600944561, 601030981, 601117401, 601203821, 601290241, 601376656, 601463071, 601549491, 601635906, 601722316, 601808731, 601895146, 601981556, 602067966, 602154376, 602240786, 602327196, 602413601, 602500011, 602586416, 602672821, 602759226, 602932031, 603104836, 603364031, 603536826, 603709621, 603796016, 603882411, 603968806, 604055196, 604141591, 604227981, 604314371, 604400761, 604487151, 604573541, 604659931, 604746321, 604832706, 604919096, 605005481, 605091871, 605178256, 605264641, 605351026, 605437411, 605523796, 605610181, 605696566, 605782946, 605869331, 605955716, 606042096, 606128481, 606214861, 606301246, 606387626, 606474011, 606560391, 606646771, 606733156, 606819536, 606905916, 606992301, 607078681, 607165066, 607251446, 607337826, 607424211, 607510591, 607596976, 607683356, 607769741, 607856121, 607942506, 608028886, 608115271, 608201656, 608288041, 608374426, 608460811, 608547196, 608633581, 608719966, 608806351, 608892736, 608979126, 609065511, 609151901, 609238286, 609324676, 609411066, 609497456, 609583846, 609670236, 609756626, 609843016, 609929411, 610015801, 610102196, 610188586, 610274981, 610361376, 610447771, 610534166, 610706961, 610879756, 611484561, 611657366, 611743771, 611916576, 612002981, 612089391, 612175796, 612262201, 612348611, 612435016, 612521426, 612607831, 612694241, 612780651, 612867061, 612953471, 613039881, 613126291, 613212701, 613299116, 613385526, 613471936, 613558351, 613644761, 613731176, 613817586, 613904001, 613990411, 614076826, 614163241, 614249651, 614336066, 614422476, 614508891, 614595306, 614681716, 614768131, 614854541, 614940956, 615027366, 615113781, 615200191, 615286601, 615373016, 615459426, 615545836, 615632246, 615718656, 615805066, 615891476, 615977886, 616064296, 616150701, 616237111, 616323516, 616409926, 616496331, 616582736, 616669141, 616755546, 616841951, 616928356, 617101161, 617273966, 617705961, 617878756, 618051551, 618137946, 618224341, 618310736, 618397126, 618483521, 618569911, 618656306, 618742696, 618829086, 618915476, 619001866, 619088256, 619174646, 619261031, 619347421, 619433806, 619520191, 619606581, 619692966, 619779351, 619865736, 619952116, 620038501, 620124886, 620211266, 620297651, 620384031, 620470416, 620556796, 620643176, 620729561, 620815941, 620902321, 620988701, 621075081, 621161461, 621247841, 621334216, 621420596, 621506976, 621593356, 621679736, 621766111, 621852491, 621938871, 622025251, 622111626, 622198006, 622284386, 622370766, 622457141, 622543521, 622629901, 622716281, 622802661, 622889041, 622975416, 623061796, 623148176, 623234561, 623320941, 623407321, 623493701, 623580086, 623666466, 623752846, 623839231, 623925616, 624011996, 624098381, 624184766, 624271151, 624357536, 624443926, 624530311, 624616696, 624703086, 624789476, 624875866, 624962256, 625048646, 625135036, 625221426, 625307821, 625394216, 625480606, 625567001, 625653396, 625826191, 626085386, 626171791, 626430996, 626517401, 626603806, 626690211, 626776616, 626863021, 626949431, 627035841, 627122251, 627208661, 627295071, 627381486, 627467896, 627554311, 627640726, 627727141, 627813561, 627899976, 627986396, 628072816, 628159231, 628245651, 628332076, 628418496, 628504916, 628591341, 628677766, 628764191, 628850611, 628937036, 629023466, 629109891, 629196316, 629282746, 629369171, 629455601, 629542026, 629628456, 629714886, 629801316, 629887741, 629974171, 630060601, 630147031, 630233461, 630319891, 630406321, 630492751, 630579181, 630665611, 630752041, 630838471, 630924896, 631011326, 631097756, 631140956 }
     :intvector { 11224, -860, 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -815, 11224, -810, 11224, -805, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -765, 11224, -755, 11224, -745, 11224, -740, 11224, -730, 11224, -720, 11224, -715, 11224, -705, 11224, -695, 11224, -680, 11224, -665, 11224, -650, 11224, -645, 11224, -635, 11224, -625, 11224, -620, 11224, -605, 11224, -590, 11224, -585, 11224, -570, 11224, -565, 11224, -555, 11224, -545, 11224, -540, 11224, -525, 11224, -520, 11224, -505, 11224, -500, 11224, -485, 11224, -475, 11224, -470, 11224, -455, 11224, -450, 11224, -435, 11224, -430, 11224, -415, 11224, -405, 11224, -395, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -310, 11224, -305, 11224, -300, 11224, -290, 11224, -280, 11224, -270, 11224, -260, 11224, -255, 11224, -250, 11224, -245, 11224, -240, 11224, -235, 11224, -230, 11224, -225, 11224, -215, 11224, -205, 11224, -200, 11224, -190, 11224, -180, 11224, -175, 11224, -165, 11224, -160, 11224, -155, 11224, -150, 11224, -145, 11224, -140, 11224, -130, 11224, -125, 11224, -120, 11224, -115, 11224, -110, 11224, -100, 11224, -95, 11224, -90, 11224, -80, 11224, -75, 11224, -65, 11224, -55, 11224, -50, 11224, -40, 11224, -35, 11224, -25, 11224, -20, 11224, -10, 11224, -5, 11224, 0, 11224, 10, 11224, 15, 11224, 25, 11224, 35, 11224, 40, 11224, 50, 11224, 55, 11224, 60, 11224, 65, 11224, 75, 11224, 85, 11224, 90, 11224, 95, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 160, 11224, 165, 11224, 175, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 235, 11224, 240, 11224, 260, 11224, 265, 11224, 285, 11224, 290, 11224, 305, 11224, 320, 11224, 325, 11224, 350, 11224, 370, 11224, 375, 11224, 390, 11224, 405, 11224, 410, 11224, 430, 11224, 435, 11224, 455, 11224, 460, 11224, 475, 11224, 485, 11224, 495, 11224, 510, 11224, 515, 11224, 535, 11224, 540, 11224, 560, 11224, 565, 11224, 580, 11224, 585, 11224, 600, 11224, 610, 11224, 615, 11224, 635, 11224, 655, 11224, 660, 11224, 675, 11224, 680, 11224, 690, 11224, 700, 11224, 710, 11224, 725, 11224, 730, 11224, 745, 11224, 760, 11224, 780, 11224, 795, 11224, 800, 11224, 810, 11224, 815, 11224, 825, 11224, 835, 11224, 840, 11224, 850, 11224, 865, 11224, 880, 11224, 890, 11224, 900, 11224, 905, 11224, 910, 11224, 915, 11224, 920, 11224, 925, 11224, 930, 11224, 935, 11224, 940, 11224, 945, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985, 11224, 990 }
     :bin { "56514d4a46413c373532302e2b29272523211f1d1c1b1917161412100e0c0a080705040302010001020304050608090b0d0f1113141517181a1b1c1d1e2022232426282a2c2d2f31333436383b3f4346494b4d505356585a5c606266686a6c6e70727476787a7b7e7f81838587898b8d8e8f90919394959697989998979695949291908f8e8d8c8a88868482807f7d7b7a7877757371706e6c6b69676562615e5c5a5957565552504e4d4c4b4a484746444341403f3e3d3c3b3a393a3b3c3d3e3f4142444547484a4b4c4d4f51545657595b5d616366696b6d6f727577797c7f82868a8e9195999b9d9ea0a2a3a4a6a8aaabadafb1b2b4b6b8babbbcbec0c2c4c5c6c7c8cacccecfd0d1d2d3d5d7d9dbdddedfe1e2e3e4e5e4e3e2e1e0dfdedcdad8d6d4d2d1d0cfcdcbc9c7c6c5c3c1bfbdbbb9b7b5b3b0aeaca9a7a5a3a19f9c9a96908c86807c7874706c68645f5a75" }
 ,  /* Asia/Riyadh89 */ :array {
     :intvector { 599648191, 599734621, 599821046, 599907476, 599993901, 600080326, 600166751, 600253181, 600339606, 600426031, 600512451, 600598876, 600685301, 600771721, 600858141, 600944561, 601030981, 601117401, 601203821, 601290241, 601376656, 601463071, 601549491, 601635906, 601722316, 601808731, 601895146, 601981556, 602067966, 602154376, 602240786, 602327196, 602413601, 602500011, 602586416, 602672821, 602759226, 602932031, 603104836, 603364031, 603536826, 603709621, 603796016, 603882411, 603968806, 604055196, 604141591, 604227981, 604314371, 604400761, 604487151, 604573541, 604659931, 604746321, 604832706, 604919096, 605005481, 605091871, 605178256, 605264641, 605351026, 605437411, 605523796, 605610181, 605696566, 605782946, 605869331, 605955716, 606042096, 606128481, 606214861, 606301246, 606387626, 606474011, 606560391, 606646771, 606733156, 606819536, 606905916, 606992301, 607078681, 607165066, 607251446, 607337826, 607424211, 607510591, 607596976, 607683356, 607769741, 607856121, 607942506, 608028886, 608115271, 608201656, 608288041, 608374426, 608460811, 608547196, 608633581, 608719966, 608806351, 608892736, 608979126, 609065511, 609151901, 609238286, 609324676, 609411066, 609497456, 609583846, 609670236, 609756626, 609843016, 609929411, 610015801, 610102196, 610188586, 610274981, 610361376, 610447771, 610534166, 610706961, 610879756, 611484561, 611657366, 611743771, 611916576, 612002981, 612089391, 612175796, 612262201, 612348611, 612435016, 612521426, 612607831, 612694241, 612780651, 612867061, 612953471, 613039881, 613126291, 613212701, 613299116, 613385526, 613471936, 613558351, 613644761, 613731176, 613817586, 613904001, 613990411, 614076826, 614163241, 614249651, 614336066, 614422476, 614508891, 614595306, 614681716, 614768131, 614854541, 614940956, 615027366, 615113781, 615200191, 615286601, 615373016, 615459426, 615545836, 615632246, 615718656, 615805066, 615891476, 615977886, 616064296, 616150701, 616237111, 616323516, 616409926, 616496331, 616582736, 616669141, 616755546, 616841951, 616928356, 617101161, 617273966, 617705961, 617878756, 618051551, 618137946, 618224341, 618310736, 618397126, 618483521, 618569911, 618656306, 618742696, 618829086, 618915476, 619001866, 619088256, 619174646, 619261031, 619347421, 619433806, 619520191, 619606581, 619692966, 619779351, 619865736, 619952116, 620038501, 620124886, 620211266, 620297651, 620384031, 620470416, 620556796, 620643176, 620729561, 620815941, 620902321, 620988701, 621075081, 621161461, 621247841, 621334216, 621420596, 621506976, 621593356, 621679736, 621766111, 621852491, 621938871, 622025251, 622111626, 622198006, 622284386, 622370766, 622457141, 622543521, 622629901, 622716281, 622802661, 622889041, 622975416, 623061796, 623148176, 623234561, 623320941, 623407321, 623493701, 623580086, 623666466, 623752846, 623839231, 623925616, 624011996, 624098381, 624184766, 624271151, 624357536, 624443926, 624530311, 624616696, 624703086, 624789476, 624875866, 624962256, 625048646, 625135036, 625221426, 625307821, 625394216, 625480606, 625567001, 625653396, 625826191, 626085386, 626171791, 626430996, 626517401, 626603806, 626690211, 626776616, 626863021, 626949431, 627035841, 627122251, 627208661, 627295071, 627381486, 627467896, 627554311, 627640726, 627727141, 627813561, 627899976, 627986396, 628072816, 628159231, 628245651, 628332076, 628418496, 628504916, 628591341, 628677766, 628764191, 628850611, 628937036, 629023466, 629109891, 629196316, 629282746, 629369171, 629455601, 629542026, 629628456, 629714886, 629801316, 629887741, 629974171, 630060601, 630147031, 630233461, 630319891, 630406321, 630492751, 630579181, 630665611, 630752041, 630838471, 630924896, 631011326, 631097756, 631140956 }
     :intvector { 11224, -860, 11224, -855, 11224, -850, 11224, -845, 11224, -840, 11224, -835, 11224, -830, 11224, -825, 11224, -820, 11224, -815, 11224, -810, 11224, -805, 11224, -800, 11224, -795, 11224, -790, 11224, -785, 11224, -780, 11224, -775, 11224, -770, 11224, -765, 11224, -755, 11224, -745, 11224, -740, 11224, -730, 11224, -720, 11224, -715, 11224, -705, 11224, -695, 11224, -680, 11224, -665, 11224, -650, 11224, -645, 11224, -635, 11224, -625, 11224, -620, 11224, -605, 11224, -590, 11224, -585, 11224, -570, 11224, -565, 11224, -555, 11224, -545, 11224, -540, 11224, -525, 11224, -520, 11224, -505, 11224, -500, 11224, -485, 11224, -475, 11224, -470, 11224, -455, 11224, -450, 11224, -435, 11224, -430, 11224, -415, 11224, -405, 11224, -395, 11224, -390, 11224, -385, 11224, -380, 11224, -375, 11224, -370, 11224, -365, 11224, -360, 11224, -355, 11224, -350, 11224, -345, 11224, -340, 11224, -335, 11224, -330, 11224, -325, 11224, -320, 11224, -310, 11224, -305, 11224, -300, 11224, -290, 11224, -280, 11224, -270, 11224, -260, 11224, -255, 11224, -250, 11224, -245, 11224, -240, 11224, -235, 11224, -230, 11224, -225, 11224, -215, 11224, -205, 11224, -200, 11224, -190, 11224, -180, 11224, -175, 11224, -165, 11224, -160, 11224, -155, 11224, -150, 11224, -145, 11224, -140, 11224, -130, 11224, -125, 11224, -120, 11224, -115, 11224, -110, 11224, -100, 11224, -95, 11224, -90, 11224, -80, 11224, -75, 11224, -65, 11224, -55, 11224, -50, 11224, -40, 11224, -35, 11224, -25, 11224, -20, 11224, -10, 11224, -5, 11224, 0, 11224, 10, 11224, 15, 11224, 25, 11224, 35, 11224, 40, 11224, 50, 11224, 55, 11224, 60, 11224, 65, 11224, 75, 11224, 85, 11224, 90, 11224, 95, 11224, 100, 11224, 105, 11224, 110, 11224, 115, 11224, 120, 11224, 125, 11224, 130, 11224, 135, 11224, 140, 11224, 145, 11224, 150, 11224, 160, 11224, 165, 11224, 175, 11224, 180, 11224, 185, 11224, 190, 11224, 195, 11224, 200, 11224, 205, 11224, 210, 11224, 215, 11224, 220, 11224, 235, 11224, 240, 11224, 260, 11224, 265, 11224, 285, 11224, 290, 11224, 305, 11224, 320, 11224, 325, 11224, 350, 11224, 370, 11224, 375, 11224, 390, 11224, 405, 11224, 410, 11224, 430, 11224, 435, 11224, 455, 11224, 460, 11224, 475, 11224, 485, 11224, 495, 11224, 510, 11224, 515, 11224, 535, 11224, 540, 11224, 560, 11224, 565, 11224, 580, 11224, 585, 11224, 600, 11224, 610, 11224, 615, 11224, 635, 11224, 655, 11224, 660, 11224, 675, 11224, 680, 11224, 690, 11224, 700, 11224, 710, 11224, 725, 11224, 730, 11224, 745, 11224, 760, 11224, 780, 11224, 795, 11224, 800, 11224, 810, 11224, 815, 11224, 825, 11224, 835, 11224, 840, 11224, 850, 11224, 865, 11224, 880, 11224, 890, 11224, 900, 11224, 905, 11224, 910, 11224, 915, 11224, 920, 11224, 925, 11224, 930, 11224, 935, 11224, 940, 11224, 945, 11224, 950, 11224, 955, 11224, 960, 11224, 965, 11224, 970, 11224, 975, 11224, 980, 11224, 985, 11224, 990 }
     :bin { "56514d4a46413c373532302e2b29272523211f1d1c1b1917161412100e0c0a080705040302010001020304050608090b0d0f1113141517181a1b1c1d1e2022232426282a2c2d2f31333436383b3f4346494b4d505356585a5c606266686a6c6e70727476787a7b7e7f81838587898b8d8e8f90919394959697989998979695949291908f8e8d8c8a88868482807f7d7b7a7877757371706e6c6b69676562615e5c5a5957565552504e4d4c4b4a484746444341403f3e3d3c3b3a393a3b3c3d3e3f4142444547484a4b4c4d4f51545657595b5d616366696b6d6f727577797c7f82868a8e9195999b9d9ea0a2a3a4a6a8aaabadafb1b2b4b6b8babbbcbec0c2c4c5c6c7c8cacccecfd0d1d2d3d5d7d9dbdddedfe1e2e3e4e5e4e3e2e1e0dfdedcdad8d6d4d2d1d0cfcdcbc9c7c6c5c3c1bfbdbbb9b7b5b3b0aeaca9a7a5a3a19f9c9a96908c86807c7874706c68645f5a75" }
-    :intvector { 278, 501 }
-  } //Z#278
+    :intvector { 281, 504 }
+  } //Z#281
 ,  /* Asia/Saigon */ :array {
     :intvector { -2005974400, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
 ,  /* Asia/Saigon */ :array {
     :intvector { -2005974400, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
-    :intvector { 279, 576 }
-  } //Z#279
+    :intvector { 282, 579 }
+  } //Z#282
 ,  /* Asia/Sakhalin */ :array {
     :intvector { -2031039048, -1009875600, -768560400, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400 }
     :intvector { 32400, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600 }
     :bin { "00000304030403040304030403040304030403040304030201030403040304030403" }
     "Russia"
     :intvector { 36000, 1996 }
 ,  /* Asia/Sakhalin */ :array {
     :intvector { -2031039048, -1009875600, -768560400, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400 }
     :intvector { 32400, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600 }
     :bin { "00000304030403040304030403040304030403040304030201030403040304030403" }
     "Russia"
     :intvector { 36000, 1996 }
-  } //Z#280
+  } //Z#283
 ,  /* Asia/Samarkand */ :array {
     :intvector { -1441168032, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 683661600, 686091600, 694206000 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "0001020302010201020102010201020102010201020102020101" }
 ,  /* Asia/Samarkand */ :array {
     :intvector { -1441168032, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 683661600, 686091600, 694206000 }
     :intvector { 14400, 0, 18000, 0, 18000, 3600, 21600, 0 }
     :bin { "0001020302010201020102010201020102010201020102020101" }
-  } //Z#281
+  } //Z#284
 ,  /* Asia/Seoul */ :array {
     :intvector { -2053931400, -1325494800, -1199262600, -498128400, -303984000, -293533200, -264931200, -39515400, 547570800, 560872800, 579020400, 592322400 }
     :intvector { 28800, 0, 28800, 3600, 30600, 0, 32400, 0, 32400, 3600 }
     :bin { "030203000100020304030403" }
 ,  /* Asia/Seoul */ :array {
     :intvector { -2053931400, -1325494800, -1199262600, -498128400, -303984000, -293533200, -264931200, -39515400, 547570800, 560872800, 579020400, 592322400 }
     :intvector { 28800, 0, 28800, 3600, 30600, 0, 32400, 0, 32400, 3600 }
     :bin { "030203000100020304030403" }
-    :intvector { 282, 556 }
-  } //Z#282
+    :intvector { 285, 559 }
+  } //Z#285
 ,  /* Asia/Shanghai */ :array {
     :intvector { -1325491552, -933494400, -923130000, -908784000, -891594000, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "0001000100010001000100010001000100" }
 ,  /* Asia/Shanghai */ :array {
     :intvector { -1325491552, -933494400, -923130000, -908784000, -891594000, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "0001000100010001000100010001000100" }
-    :intvector { 283, 348, 509 }
-  } //Z#283
+    :intvector { 286, 351, 512 }
+  } //Z#286
 ,  /* Asia/Singapore */ :array {
     :intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, -138785400, 378664200 }
     :intvector { 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "0001020305030304" }
 ,  /* Asia/Singapore */ :array {
     :intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, -138785400, 378664200 }
     :intvector { 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     :bin { "0001020305030304" }
-    :intvector { 284, 558 }
-  } //Z#284
+    :intvector { 287, 561 }
+  } //Z#287
 ,  /* Asia/Taipei */ :array {
     :intvector { -778579200, -765363600, -747043200, -733827600, -715507200, -702291600, -683884800, -670669200, -652348800, -639133200, -620812800, -607597200, -589276800, -576061200, -562924800, -541760400, -528710400, -510224400, -497174400, -478688400, -465638400, -449830800, -434016000, -418208400, -402480000, -386672400, -370944000, -355136400, -339408000, -323600400, -302515200, -291978000, -270979200, -260442000, 133977600, 149785200, 165513600, 181321200, 331142400, 339087600 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100" }
 ,  /* Asia/Taipei */ :array {
     :intvector { -778579200, -765363600, -747043200, -733827600, -715507200, -702291600, -683884800, -670669200, -652348800, -639133200, -620812800, -607597200, -589276800, -576061200, -562924800, -541760400, -528710400, -510224400, -497174400, -478688400, -465638400, -449830800, -434016000, -418208400, -402480000, -386672400, -370944000, -355136400, -339408000, -323600400, -302515200, -291978000, -270979200, -260442000, 133977600, 149785200, 165513600, 181321200, 331142400, 339087600 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100" }
-    :intvector { 285, 555 }
-  } //Z#285
+    :intvector { 288, 558 }
+  } //Z#288
 ,  /* Asia/Tashkent */ :array {
     :intvector { -1441168632, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 683661600, 686091600, 694206000 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "0002030203020302030203020302030203020302030201010000" }
 ,  /* Asia/Tashkent */ :array {
     :intvector { -1441168632, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 683661600, 686091600, 694206000 }
     :intvector { 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
     :bin { "0002030203020302030203020302030203020302030201010000" }
-  } //Z#286
+  } //Z#289
 ,  /* Asia/Tbilisi */ :array {
     :intvector { -1441162756, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 671140800, 686098800, 694213200, 701816400, 717537600, 733266000, 748987200, 764715600, 780436800, 796161600, 811882800, 828216000, 859662000, 877806000, 891115200, 909255600, 922564800, 941310000, 954014400, 972759600, 985464000, 1004209200, 1017518400, 1035658800, 1048968000, 1067108400, 1080417600, 1088276400, 1099177200, 1111878000 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "0002030203020302030203020302030203020302030201010000010001000102030203030203020302030203020302030203010002" }
 ,  /* Asia/Tbilisi */ :array {
     :intvector { -1441162756, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 671140800, 686098800, 694213200, 701816400, 717537600, 733266000, 748987200, 764715600, 780436800, 796161600, 811882800, 828216000, 859662000, 877806000, 891115200, 909255600, 922564800, 941310000, 954014400, 972759600, 985464000, 1004209200, 1017518400, 1035658800, 1048968000, 1067108400, 1080417600, 1088276400, 1099177200, 1111878000 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "0002030203020302030203020302030203020302030201010000010001000102030203030203020302030203020302030203010002" }
-  } //Z#287
+  } //Z#290
 ,  /* Asia/Tehran */ :array {
 ,  /* Asia/Tehran */ :array {
-    :intvector { -1704165944, -757394744, 247177800, 259272000, 277758000, 283982400, 290809800, 306531000, 322432200, 338499000, 673216200, 685481400, 701209800, 717103800, 732745800, 748639800, 764281800, 780175800, 795817800, 811711800, 827353800, 843247800, 858976200, 874870200, 890512200, 906406200, 922048200, 937942200, 953584200, 969478200, 985206600, 1001100600, 1016742600, 1032636600, 1048278600, 1064172600, 1079814600, 1095708600, 1111437000, 1127331000 }
+    :intvector { -1704165944, -757394744, 247177800, 259272000, 277758000, 283982400, 290809800, 306531000, 322432200, 338499000, 673216200, 685481400, 701209800, 717103800, 732745800, 748639800, 764281800, 780175800, 795817800, 811711800, 827353800, 843247800, 858976200, 874870200, 890512200, 906406200, 922048200, 937942200, 953584200, 969478200, 985206600, 1001100600, 1016742600, 1032636600, 1048278600, 1064172600, 1079814600, 1095708600, 1111437000, 1127331000, 1206045000, 1221939000, 1237667400, 1253561400, 1269203400, 1285097400, 1300739400, 1316633400, 1332275400, 1348169400, 1363897800, 1379791800, 1395433800, 1411327800, 1426969800, 1442863800, 1458505800, 1474399800, 1490128200, 1506022200, 1521664200, 1537558200, 1553200200, 1569094200, 1584736200, 1600630200, 1616358600, 1632252600, 1647894600, 1663788600, 1679430600, 1695324600, 1710966600, 1726860600, 1742589000, 1758483000, 1774125000, 1790019000, 1805661000, 1821555000, 1837197000, 1853091000, 1868733000, 1884627000, 1900355400, 1916249400, 1931891400, 1947785400, 1963427400, 1979321400, 1994963400, 2010857400, 2026585800, 2042479800, 2058121800, 2074015800, 2089657800, 2105551800, 2121193800, 2137087800 }
     :intvector { 12344, 0, 12600, 0, 12600, 3600, 14400, 0, 14400, 3600 }
     :intvector { 12344, 0, 12600, 0, 12600, 3600, 14400, 0, 14400, 3600 }
-    :bin { "00010304030102010201020102010201020102010201020102010201020102010201020102010201" }
-    :intvector { 288, 485 }
-  } //Z#288
-,  /* Asia/Tel_Aviv */ :int { 249 } //Z#289
-,  /* Asia/Thimbu */ :int { 291 } //Z#290
+    :bin { "00010304030102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    :intvector { 291, 488 }
+  } //Z#291
+,  /* Asia/Tel_Aviv */ :int { 252 } //Z#292
+,  /* Asia/Thimbu */ :int { 294 } //Z#293
 ,  /* Asia/Thimphu */ :array {
     :intvector { -706341516, 560025000 }
     :intvector { 19800, 0, 21600, 0 }
     :bin { "0001" }
 ,  /* Asia/Thimphu */ :array {
     :intvector { -706341516, 560025000 }
     :intvector { 19800, 0, 21600, 0 }
     :bin { "0001" }
-    :intvector { 290, 291 }
-  } //Z#291
+    :intvector { 293, 294 }
+  } //Z#294
 ,  /* Asia/Tokyo */ :array {
     :intvector { -1009875600, -683794800, -672393600, -654764400, -640944000, -620290800, -609494400, -588841200, -578044800 }
     :intvector { 32400, 0, 32400, 3600 }
     :bin { "000100010001000100" }
 ,  /* Asia/Tokyo */ :array {
     :intvector { -1009875600, -683794800, -672393600, -654764400, -640944000, -620290800, -609494400, -588841200, -578044800 }
     :intvector { 32400, 0, 32400, 3600 }
     :bin { "000100010001000100" }
-    :intvector { 292, 487, 489 }
-  } //Z#292
-,  /* Asia/Ujung_Pandang */ :int { 262 } //Z#293
+    :intvector { 295, 490, 492 }
+  } //Z#295
+,  /* Asia/Ujung_Pandang */ :int { 265 } //Z#296
 ,  /* Asia/Ulaanbaatar */ :array {
 ,  /* Asia/Ulaanbaatar */ :array {
-    :intvector { -2032931252, 252435600, 417974400, 433782000, 449596800, 465318000, 481046400, 496767600, 512496000, 528217200, 543945600, 559666800, 575395200, 591116400, 606844800, 622566000, 638294400, 654620400, 670348800, 686070000, 701798400, 717519600, 733248000, 748969200, 764697600, 780418800, 796147200, 811868400, 828201600, 843922800, 859651200, 875372400, 891100800, 906822000, 988394400, 1001696400 }
+    :intvector { -2032931252, 252435600, 417974400, 433782000, 449596800, 465318000, 481046400, 496767600, 512496000, 528217200, 543945600, 559666800, 575395200, 591116400, 606844800, 622566000, 638294400, 654620400, 670348800, 686070000, 701798400, 717519600, 733248000, 748969200, 764697600, 780418800, 796147200, 811868400, 828201600, 843922800, 859651200, 875372400, 891100800, 906822000, 988394400, 1001696400, 1017424800, 1033146000, 1048874400, 1064595600, 1080324000, 1096045200, 1111773600, 1127494800, 1143223200, 1159549200 }
     :intvector { 25200, 0, 28800, 0, 28800, 3600 }
     :intvector { 25200, 0, 28800, 0, 28800, 3600 }
-    :bin { "000102010201020102010201020102010201020102010201020102010201020102010201" }
-    "Mongol"
-    :intvector { 28800, 2002 }
-    :intvector { 294, 295 }
-  } //Z#294
-,  /* Asia/Ulan_Bator */ :int { 294 } //Z#295
+    :bin { "00010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
+    :intvector { 297, 298 }
+  } //Z#297
+,  /* Asia/Ulan_Bator */ :int { 297 } //Z#298
 ,  /* Asia/Urumqi */ :array {
     :intvector { -1325483420, 325965600, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 21600, 0, 28800, 0, 28800, 3600 }
     :bin { "0001020102010201020102010201" }
 ,  /* Asia/Urumqi */ :array {
     :intvector { -1325483420, 325965600, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     :intvector { 21600, 0, 28800, 0, 28800, 3600 }
     :bin { "0001020102010201020102010201" }
-  } //Z#296
+  } //Z#299
 ,  /* Asia/Vientiane */ :array {
     :intvector { -2005973424, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
 ,  /* Asia/Vientiane */ :array {
     :intvector { -2005973424, -1855983920, -1819954800, -1220428800 }
     :intvector { 25200, 0, 25580, 0, 28800, 0 }
     :bin { "01000200" }
-  } //Z#297
+  } //Z#300
 ,  /* Asia/Vladivostok */ :array {
     :intvector { -1487321264, -1247562000, 354895200, 370702800, 386431200, 402238800, 417967200, 433774800, 449589600, 465321600, 481046400, 496771200, 512496000, 528220800, 543945600, 559670400, 575395200, 591120000, 606844800, 622569600, 638294400, 654624000, 670348800, 686077200, 695754000, 701787600, 717508800, 733248000, 748972800, 764697600, 780422400, 796147200, 811872000 }
     :intvector { 32400, 0, 32400, 3600, 36000, 0, 36000, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 36000, 1996 }
 ,  /* Asia/Vladivostok */ :array {
     :intvector { -1487321264, -1247562000, 354895200, 370702800, 386431200, 402238800, 417967200, 433774800, 449589600, 465321600, 481046400, 496771200, 512496000, 528220800, 543945600, 559670400, 575395200, 591120000, 606844800, 622569600, 638294400, 654624000, 670348800, 686077200, 695754000, 701787600, 717508800, 733248000, 748972800, 764697600, 780422400, 796147200, 811872000 }
     :intvector { 32400, 0, 32400, 3600, 36000, 0, 36000, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 36000, 1996 }
-  } //Z#298
+  } //Z#301
 ,  /* Asia/Yakutsk */ :array {
     :intvector { -1579423120, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701791200, 717512400, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600 }
     :intvector { 28800, 0, 28800, 3600, 32400, 0, 32400, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 32400, 1996 }
 ,  /* Asia/Yakutsk */ :array {
     :intvector { -1579423120, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701791200, 717512400, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600 }
     :intvector { 28800, 0, 28800, 3600, 32400, 0, 32400, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 32400, 1996 }
-  } //Z#299
+  } //Z#302
 ,  /* Asia/Yekaterinburg */ :array {
     :intvector { -1592611344, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 18000, 1996 }
 ,  /* Asia/Yekaterinburg */ :array {
     :intvector { -1592611344, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000 }
     :intvector { 14400, 0, 14400, 3600, 18000, 0, 18000, 3600 }
     :bin { "000203020302030203020302030203020302030203020100020302030203020302" }
     "Russia"
     :intvector { 18000, 1996 }
-  } //Z#300
+  } //Z#303
 ,  /* Asia/Yerevan */ :array {
     :intvector { -1441162680, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 685569600, 686098800, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000203020302030203020302030203020302030203020101000100010001000102" }
     "RussiaAsia"
     :intvector { 14400, 1996 }
 ,  /* Asia/Yerevan */ :array {
     :intvector { -1441162680, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 685569600, 686098800, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000203020302030203020302030203020302030203020101000100010001000102" }
     "RussiaAsia"
     :intvector { 14400, 1996 }
-    :intvector { 301, 502 }
-  } //Z#301
+    :intvector { 304, 505 }
+  } //Z#304
 ,  /* Atlantic/Azores */ :array {
     :intvector { -1849557928, -1689548400, -1677794400, -1667430000, -1647730800, -1635807600, -1616194800, -1604358000, -1584658800, -1572735600, -1553036400, -1541199600, -1521500400, -1442444400, -1426806000, -1379286000, -1364770800, -1348441200, -1333321200, -1316386800, -1301266800, -1284332400, -1269817200, -1221433200, -1206918000, -1191193200, -1175468400, -1127689200, -1111964400, -1096844400, -1080514800, -1063580400, -1049065200, -1033340400, -1017615600, -1002495600, -986166000, -969231600, -950482800, -942015600, -922662000, -906937200, -891126000, -877302000, -873676800, -864000000, -857948400, -845852400, -842832000, -831340800, -825894000, -814402800, -810777600, -799891200, -794444400, -782953200, -779328000, -768441600, -762994800, -749084400, -733359600, -717624000, -701899200, -686174400, -670449600, -654724800, -639000000, -591825600, -575496000, -559771200, -544046400, -528321600, -512596800, -496872000, -481147200, -465422400, -449697600, -433972800, -417643200, -401918400, -386193600, -370468800, -354744000, -339019200, -323294400, -307569600, -291844800, -276120000, -260395200, -244670400, -228340800, -212616000, -196891200, -181166400, -165441600, -149716800, -133992000, -118267200, 228272400, 243997200, 260326800, 276051600, 291776400, 307504800, 323226000, 338954400, 354679200, 370404000, 386128800, 401853600, 417582000, 433303200, 449028000, 465357600, 481082400, 496807200, 512532000, 528256800, 543981600, 559706400, 575431200, 591156000, 606880800, 622605600, 638330400, 654660000, 670384800, 686109600, 701834400, 717559200, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -7200, 0, -7200, 3600, -7200, 7200, -3600, 0, -3600, 3600, 0, 0 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201000102010001020100010201000100010001000100010001000100010001000100010001000100010001000100010001000100030403040304030403040304030403040304030403040304030403040304030405040304030403" }
     "EU"
     :intvector { -3600, 1996 }
 ,  /* Atlantic/Azores */ :array {
     :intvector { -1849557928, -1689548400, -1677794400, -1667430000, -1647730800, -1635807600, -1616194800, -1604358000, -1584658800, -1572735600, -1553036400, -1541199600, -1521500400, -1442444400, -1426806000, -1379286000, -1364770800, -1348441200, -1333321200, -1316386800, -1301266800, -1284332400, -1269817200, -1221433200, -1206918000, -1191193200, -1175468400, -1127689200, -1111964400, -1096844400, -1080514800, -1063580400, -1049065200, -1033340400, -1017615600, -1002495600, -986166000, -969231600, -950482800, -942015600, -922662000, -906937200, -891126000, -877302000, -873676800, -864000000, -857948400, -845852400, -842832000, -831340800, -825894000, -814402800, -810777600, -799891200, -794444400, -782953200, -779328000, -768441600, -762994800, -749084400, -733359600, -717624000, -701899200, -686174400, -670449600, -654724800, -639000000, -591825600, -575496000, -559771200, -544046400, -528321600, -512596800, -496872000, -481147200, -465422400, -449697600, -433972800, -417643200, -401918400, -386193600, -370468800, -354744000, -339019200, -323294400, -307569600, -291844800, -276120000, -260395200, -244670400, -228340800, -212616000, -196891200, -181166400, -165441600, -149716800, -133992000, -118267200, 228272400, 243997200, 260326800, 276051600, 291776400, 307504800, 323226000, 338954400, 354679200, 370404000, 386128800, 401853600, 417582000, 433303200, 449028000, 465357600, 481082400, 496807200, 512532000, 528256800, 543981600, 559706400, 575431200, 591156000, 606880800, 622605600, 638330400, 654660000, 670384800, 686109600, 701834400, 717559200, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -7200, 0, -7200, 3600, -7200, 7200, -3600, 0, -3600, 3600, 0, 0 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201000102010001020100010201000100010001000100010001000100010001000100010001000100010001000100010001000100030403040304030403040304030403040304030403040304030403040304030405040304030403" }
     "EU"
     :intvector { -3600, 1996 }
-  } //Z#302
+  } //Z#305
 ,  /* Atlantic/Bermuda */ :array {
     :intvector { -1262281256, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -14400, 2007 }
 ,  /* Atlantic/Bermuda */ :array {
     :intvector { -1262281256, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000 }
     :intvector { -14400, 0, -14400, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -14400, 2007 }
-  } //Z#303
+  } //Z#306
 ,  /* Atlantic/Canary */ :array {
     :intvector { -1509663504, -733874400, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -3600, 0, 0, 0, 0, 3600 }
     :bin { "00010201020102010201020102010201020102010201020102010201020102010201" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Atlantic/Canary */ :array {
     :intvector { -1509663504, -733874400, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -3600, 0, 0, 0, 0, 3600 }
     :bin { "00010201020102010201020102010201020102010201020102010201020102010201" }
     "EU"
     :intvector { 0, 1996 }
-  } //Z#304
+  } //Z#307
 ,  /* Atlantic/Cape_Verde */ :array {
     :intvector { -1988144756, -862610400, -764118000, 186120000 }
     :intvector { -7200, 0, -7200, 3600, -3600, 0 }
     :bin { "00010002" }
 ,  /* Atlantic/Cape_Verde */ :array {
     :intvector { -1988144756, -862610400, -764118000, 186120000 }
     :intvector { -7200, 0, -7200, 3600, -3600, 0 }
     :bin { "00010002" }
-  } //Z#305
-,  /* Atlantic/Faeroe */ :int { 307 } //Z#306
+  } //Z#308
+,  /* Atlantic/Faeroe */ :int { 310 } //Z#309
 ,  /* Atlantic/Faroe */ :array {
     :intvector { -1955748776, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Atlantic/Faroe */ :array {
     :intvector { -1955748776, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
-    :intvector { 306, 307 }
-  } //Z#307
-,  /* Atlantic/Jan_Mayen */ :int { 435 } //Z#308
+    :intvector { 309, 310 }
+  } //Z#310
+,  /* Atlantic/Jan_Mayen */ :int { 438 } //Z#311
 ,  /* Atlantic/Madeira */ :array {
     :intvector { -1849560744, -1689552000, -1677798000, -1667433600, -1647734400, -1635811200, -1616198400, -1604361600, -1584662400, -1572739200, -1553040000, -1541203200, -1521504000, -1442448000, -1426809600, -1379289600, -1364774400, -1348444800, -1333324800, -1316390400, -1301270400, -1284336000, -1269820800, -1221436800, -1206921600, -1191196800, -1175472000, -1127692800, -1111968000, -1096848000, -1080518400, -1063584000, -1049068800, -1033344000, -1017619200, -1002499200, -986169600, -969235200, -950486400, -942019200, -922665600, -906940800, -891129600, -877305600, -873680400, -864003600, -857952000, -845856000, -842835600, -831344400, -825897600, -814406400, -810781200, -799894800, -794448000, -782956800, -779331600, -768445200, -762998400, -749088000, -733363200, -717627600, -701902800, -686178000, -670453200, -654728400, -639003600, -591829200, -575499600, -559774800, -544050000, -528325200, -512600400, -496875600, -481150800, -465426000, -449701200, -433976400, -417646800, -401922000, -386197200, -370472400, -354747600, -339022800, -323298000, -307573200, -291848400, -276123600, -260398800, -244674000, -228344400, -212619600, -196894800, -181170000, -165445200, -149720400, -133995600, -118270800, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -3600, 0, -3600, 3600, -3600, 7200, 0, 0, 0, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201000102010001020100010201000100010001000100010001000100010001000100010001000100010001000100010001000100030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Atlantic/Madeira */ :array {
     :intvector { -1849560744, -1689552000, -1677798000, -1667433600, -1647734400, -1635811200, -1616198400, -1604361600, -1584662400, -1572739200, -1553040000, -1541203200, -1521504000, -1442448000, -1426809600, -1379289600, -1364774400, -1348444800, -1333324800, -1316390400, -1301270400, -1284336000, -1269820800, -1221436800, -1206921600, -1191196800, -1175472000, -1127692800, -1111968000, -1096848000, -1080518400, -1063584000, -1049068800, -1033344000, -1017619200, -1002499200, -986169600, -969235200, -950486400, -942019200, -922665600, -906940800, -891129600, -877305600, -873680400, -864003600, -857952000, -845856000, -842835600, -831344400, -825897600, -814406400, -810781200, -799894800, -794448000, -782956800, -779331600, -768445200, -762998400, -749088000, -733363200, -717627600, -701902800, -686178000, -670453200, -654728400, -639003600, -591829200, -575499600, -559774800, -544050000, -528325200, -512600400, -496875600, -481150800, -465426000, -449701200, -433976400, -417646800, -401922000, -386197200, -370472400, -354747600, -339022800, -323298000, -307573200, -291848400, -276123600, -260398800, -244674000, -228344400, -212619600, -196894800, -181170000, -165445200, -149720400, -133995600, -118270800, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { -3600, 0, -3600, 3600, -3600, 7200, 0, 0, 0, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201000102010001020100010201000100010001000100010001000100010001000100010001000100010001000100010001000100030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 0, 1996 }
-  } //Z#309
+  } //Z#312
 ,  /* Atlantic/Reykjavik */ :array {
     :intvector { -1956609132, -1668211200, -1647212400, -1636675200, -1613430000, -968025600, -949615200, -942008400, -920239200, -909957600, -888789600, -877903200, -857944800, -846453600, -826495200, -815004000, -795045600, -783554400, -762991200, -752104800, -731541600, -717631200, -700092000, -686181600, -668642400, -654732000, -636588000, -623282400, -605743200, -591832800, -573688800, -559778400, -542239200, -528328800, -510789600, -496879200, -479340000, -465429600, -447890400, -433980000, -415836000, -401925600, -384386400, -370476000, -352936800, -339026400, -321487200, -307576800, -290037600, -276127200, -258588000, -244677600, -226533600, -212623200, -195084000, -181173600, -163634400, -149724000, -132184800, -118274400, -100735200, -86824800, -68680800, -54770400 }
     :intvector { -3600, 0, -3600, 3600, 0, 0 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010002" }
 ,  /* Atlantic/Reykjavik */ :array {
     :intvector { -1956609132, -1668211200, -1647212400, -1636675200, -1613430000, -968025600, -949615200, -942008400, -920239200, -909957600, -888789600, -877903200, -857944800, -846453600, -826495200, -815004000, -795045600, -783554400, -762991200, -752104800, -731541600, -717631200, -700092000, -686181600, -668642400, -654732000, -636588000, -623282400, -605743200, -591832800, -573688800, -559778400, -542239200, -528328800, -510789600, -496879200, -479340000, -465429600, -447890400, -433980000, -415836000, -401925600, -384386400, -370476000, -352936800, -339026400, -321487200, -307576800, -290037600, -276127200, -258588000, -244677600, -226533600, -212623200, -195084000, -181173600, -163634400, -149724000, -132184800, -118274400, -100735200, -86824800, -68680800, -54770400 }
     :intvector { -3600, 0, -3600, 3600, 0, 0 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010002" }
-    :intvector { 310, 473 }
-  } //Z#310
+    :intvector { 313, 476 }
+  } //Z#313
 ,  /* Atlantic/South_Georgia */ :array {
     :intvector {  }
     :intvector { -7200, 0 }
     :bin { "" }
 ,  /* Atlantic/South_Georgia */ :array {
     :intvector {  }
     :intvector { -7200, 0 }
     :bin { "" }
-  } //Z#311
+  } //Z#314
 ,  /* Atlantic/St_Helena */ :array {
     :intvector { -599614632 }
     :intvector { 0, 0 }
     :bin { "00" }
 ,  /* Atlantic/St_Helena */ :array {
     :intvector { -599614632 }
     :intvector { 0, 0 }
     :bin { "00" }
-  } //Z#312
+  } //Z#315
 ,  /* Atlantic/Stanley */ :array {
     :intvector { -1824235716, -1018209600, -1003093200, -986760000, -971643600, -954705600, -939589200, -923256000, -908139600, -891806400, -876690000, -860356800, -852066000, 420609600, 433306800, 452052000, 464151600, 483501600, 495601200, 514350000, 527054400, 545799600, 558504000, 577249200, 589953600, 608698800, 621403200, 640753200, 652852800, 672202800, 684907200, 703652400, 716356800, 735102000, 747806400, 766551600, 779256000, 798001200, 810705600, 830055600, 842760000, 861505200, 874209600, 892954800, 905659200, 924404400, 937108800, 955854000, 968558400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "00010001000100010001000100020302030201000100010001000100010001000100010001000100010001000100010001" }
     "Falk"
     :intvector { -14400, 2001 }
 ,  /* Atlantic/Stanley */ :array {
     :intvector { -1824235716, -1018209600, -1003093200, -986760000, -971643600, -954705600, -939589200, -923256000, -908139600, -891806400, -876690000, -860356800, -852066000, 420609600, 433306800, 452052000, 464151600, 483501600, 495601200, 514350000, 527054400, 545799600, 558504000, 577249200, 589953600, 608698800, 621403200, 640753200, 652852800, 672202800, 684907200, 703652400, 716356800, 735102000, 747806400, 766551600, 779256000, 798001200, 810705600, 830055600, 842760000, 861505200, 874209600, 892954800, 905659200, 924404400, 937108800, 955854000, 968558400 }
     :intvector { -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     :bin { "00010001000100010001000100020302030201000100010001000100010001000100010001000100010001000100010001" }
     "Falk"
     :intvector { -14400, 2001 }
-  } //Z#313
-,  /* Australia/ACT */ :int { 332 } //Z#314
+  } //Z#316
+,  /* Australia/ACT */ :int { 335 } //Z#317
 ,  /* Australia/Adelaide */ :array {
 ,  /* Australia/Adelaide */ :array {
-    :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 384280200, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 637691400, 657045000, 667931400, 688494600, 701195400, 719944200, 731435400, 751998600, 764094600, 783448200, 796149000, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000 }
+    :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 384280200, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 637691400, 657045000, 667931400, 688494600, 701195400, 719944200, 731435400, 751998600, 764094600, 783448200, 796149000, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600 }
     :intvector { 34200, 0, 34200, 3600 }
     :intvector { 34200, 0, 34200, 3600 }
-    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "AS"
     "AS"
-    :intvector { 34200, 2007 }
-    :intvector { 315, 331 }
-  } //Z#315
+    :intvector { 34200, 2008 }
+    :intvector { 318, 334 }
+  } //Z#318
 ,  /* Australia/Brisbane */ :array {
     :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200 }
     :intvector { 36000, 0, 36000, 3600 }
     :bin { "01000100010001000100010001000100" }
 ,  /* Australia/Brisbane */ :array {
     :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200 }
     :intvector { 36000, 0, 36000, 3600 }
     :bin { "01000100010001000100010001000100" }
-    :intvector { 316, 330 }
-  } //Z#316
+    :intvector { 319, 333 }
+  } //Z#319
 ,  /* Australia/Broken_Hill */ :array {
 ,  /* Australia/Broken_Hill */ :array {
-    :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 386699400, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 636481800, 657045000, 667931400, 688494600, 699381000, 719944200, 731435400, 751998600, 762885000, 783448200, 794334600, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 946647000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000 }
+    :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 386699400, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 636481800, 657045000, 667931400, 688494600, 699381000, 719944200, 731435400, 751998600, 762885000, 783448200, 794334600, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 946647000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600 }
     :intvector { 34200, 0, 34200, 3600 }
     :intvector { 34200, 0, 34200, 3600 }
-    :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001010001000100010001000100010001" }
+    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010100010001000100010001000100010001" }
     "AS"
     "AS"
-    :intvector { 34200, 2007 }
-    :intvector { 317, 336 }
-  } //Z#317
-,  /* Australia/Canberra */ :int { 332 } //Z#318
+    :intvector { 34200, 2008 }
+    :intvector { 320, 339 }
+  } //Z#320
+,  /* Australia/Canberra */ :int { 335 } //Z#321
 ,  /* Australia/Currie */ :array {
 ,  /* Australia/Currie */ :array {
-    :intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000 }
+    :intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400 }
     :intvector { 36000, 0, 36000, 3600 }
     :intvector { 36000, 0, 36000, 3600 }
-    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "AT"
     "AT"
-    :intvector { 36000, 2007 }
-  } //Z#319
+    :intvector { 36000, 2008 }
+  } //Z#322
 ,  /* Australia/Darwin */ :array {
     :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400 }
     :intvector { 34200, 0, 34200, 3600 }
     :bin { "0100010001000100" }
 ,  /* Australia/Darwin */ :array {
     :intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400 }
     :intvector { 34200, 0, 34200, 3600 }
     :bin { "0100010001000100" }
-    :intvector { 0, 320, 328 }
-  } //Z#320
+    :intvector { 0, 323, 331 }
+  } //Z#323
 ,  /* Australia/Eucla */ :array {
     :intvector { -1672562640, -1665387900, -883637100, -876123900, -860395500, -844674300, 152039700, 162926100, 436295700, 447182100, 690311700, 699383700, 1165079700, 1174756500, 1193505300, 1206810900, 1224954900, 1238260500 }
     :intvector { 31500, 0, 31500, 3600 }
     :bin { "010001000100010001000100010001000100" }
 ,  /* Australia/Eucla */ :array {
     :intvector { -1672562640, -1665387900, -883637100, -876123900, -860395500, -844674300, 152039700, 162926100, 436295700, 447182100, 690311700, 699383700, 1165079700, 1174756500, 1193505300, 1206810900, 1224954900, 1238260500 }
     :intvector { 31500, 0, 31500, 3600 }
     :bin { "010001000100010001000100010001000100" }
-  } //Z#321
+  } //Z#324
 ,  /* Australia/Hobart */ :array {
 ,  /* Australia/Hobart */ :array {
-    :intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000 }
+    :intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400 }
     :intvector { 36000, 0, 36000, 3600 }
     :intvector { 36000, 0, 36000, 3600 }
-    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "AT"
     "AT"
-    :intvector { 36000, 2007 }
-    :intvector { 322, 333 }
-  } //Z#322
-,  /* Australia/LHI */ :int { 325 } //Z#323
+    :intvector { 36000, 2008 }
+    :intvector { 325, 336 }
+  } //Z#325
+,  /* Australia/LHI */ :int { 328 } //Z#326
 ,  /* Australia/Lindeman */ :array {
     :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 709912800, 719942400, 731433600, 751996800, 762883200 }
     :intvector { 36000, 0, 36000, 3600 }
     :bin { "010001000100010001000100010001000001000100" }
 ,  /* Australia/Lindeman */ :array {
     :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 709912800, 719942400, 731433600, 751996800, 762883200 }
     :intvector { 36000, 0, 36000, 3600 }
     :bin { "010001000100010001000100010001000001000100" }
-  } //Z#324
+  } //Z#327
 ,  /* Australia/Lord_Howe */ :array {
 ,  /* Australia/Lord_Howe */ :array {
-    :intvector { 352216800, 372785400, 384273000, 404839800, 415722600, 436289400, 447172200, 467739000, 478621800, 499188600, 511282800, 530033400, 542732400, 562087800, 574786800, 594142200, 606236400, 625591800, 636476400, 657041400, 667926000, 688491000, 699375600, 719940600, 731430000, 751995000, 762879600, 783444600, 794329200, 814894200, 828198000, 846343800, 859647600, 877793400, 891097200, 909243000, 922546800, 941297400, 953996400, 967303800, 985446000, 1004196600, 1017500400, 1035646200, 1048950000, 1067095800, 1080399600, 1099150200, 1111849200, 1130599800, 1143903600, 1162049400 }
+    :intvector { 352216800, 372785400, 384273000, 404839800, 415722600, 436289400, 447172200, 467739000, 478621800, 499188600, 511282800, 530033400, 542732400, 562087800, 574786800, 594142200, 606236400, 625591800, 636476400, 657041400, 667926000, 688491000, 699375600, 719940600, 731430000, 751995000, 762879600, 783444600, 794329200, 814894200, 828198000, 846343800, 859647600, 877793400, 891097200, 909243000, 922546800, 941297400, 953996400, 967303800, 985446000, 1004196600, 1017500400, 1035646200, 1048950000, 1067095800, 1080399600, 1099150200, 1111849200, 1130599800, 1143903600, 1162049400, 1174748400, 1193499000 }
     :intvector { 37800, 0, 37800, 1800, 37800, 3600 }
     :intvector { 37800, 0, 37800, 1800, 37800, 3600 }
-    :bin { "00020002000200020001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "000200020002000200010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "LH"
     "LH"
-    :intvector { 37800, 2007 }
-    :intvector { 323, 325 }
-  } //Z#325
+    :intvector { 37800, 2008 }
+    :intvector { 326, 328 }
+  } //Z#328
 ,  /* Australia/Melbourne */ :array {
 ,  /* Australia/Melbourne */ :array {
-    :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 384278400, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 561484800, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 796147200, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200 }
+    :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 384278400, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 561484800, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 796147200, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800 }
     :intvector { 36000, 0, 36000, 3600 }
     :intvector { 36000, 0, 36000, 3600 }
-    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "AV"
     "AV"
-    :intvector { 36000, 2007 }
-    :intvector { 326, 334 }
-  } //Z#326
-,  /* Australia/NSW */ :int { 332 } //Z#327
-,  /* Australia/North */ :int { 320 } //Z#328
+    :intvector { 36000, 2008 }
+    :intvector { 329, 337 }
+  } //Z#329
+,  /* Australia/NSW */ :int { 335 } //Z#330
+,  /* Australia/North */ :int { 323 } //Z#331
 ,  /* Australia/Perth */ :array {
     :intvector { -1672559940, -1665385200, -883634400, -876121200, -860392800, -844671600, 152042400, 162928800, 436298400, 447184800, 690314400, 699386400, 1165082400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "010001000100010001000100010001000100" }
 ,  /* Australia/Perth */ :array {
     :intvector { -1672559940, -1665385200, -883634400, -876121200, -860392800, -844671600, 152042400, 162928800, 436298400, 447184800, 690314400, 699386400, 1165082400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200 }
     :intvector { 28800, 0, 28800, 3600 }
     :bin { "010001000100010001000100010001000100" }
-    :intvector { 329, 335 }
-  } //Z#329
-,  /* Australia/Queensland */ :int { 316 } //Z#330
-,  /* Australia/South */ :int { 315 } //Z#331
+    :intvector { 332, 338 }
+  } //Z#332
+,  /* Australia/Queensland */ :int { 319 } //Z#333
+,  /* Australia/South */ :int { 318 } //Z#334
 ,  /* Australia/Sydney */ :array {
 ,  /* Australia/Sydney */ :array {
-    :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386697600, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 794332800, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200 }
+    :intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386697600, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 794332800, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800 }
     :intvector { 36000, 0, 36000, 3600 }
     :intvector { 36000, 0, 36000, 3600 }
-    :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "AN"
     "AN"
-    :intvector { 36000, 2007 }
-    :intvector { 1, 314, 318, 327, 332 }
-  } //Z#332
-,  /* Australia/Tasmania */ :int { 322 } //Z#333
-,  /* Australia/Victoria */ :int { 326 } //Z#334
-,  /* Australia/West */ :int { 329 } //Z#335
-,  /* Australia/Yancowinna */ :int { 317 } //Z#336
-,  /* BET */ :int { 183 } //Z#337
-,  /* BST */ :int { 237 } //Z#338
-,  /* Brazil/Acre */ :int { 179 } //Z#339
-,  /* Brazil/DeNoronha */ :int { 163 } //Z#340
-,  /* Brazil/East */ :int { 183 } //Z#341
-,  /* Brazil/West */ :int { 146 } //Z#342
-,  /* CAT */ :int { 29 } //Z#343
+    :intvector { 36000, 2008 }
+    :intvector { 1, 317, 321, 330, 335 }
+  } //Z#335
+,  /* Australia/Tasmania */ :int { 325 } //Z#336
+,  /* Australia/Victoria */ :int { 329 } //Z#337
+,  /* Australia/West */ :int { 332 } //Z#338
+,  /* Australia/Yancowinna */ :int { 320 } //Z#339
+,  /* BET */ :int { 186 } //Z#340
+,  /* BST */ :int { 240 } //Z#341
+,  /* Brazil/Acre */ :int { 182 } //Z#342
+,  /* Brazil/DeNoronha */ :int { 165 } //Z#343
+,  /* Brazil/East */ :int { 186 } //Z#344
+,  /* Brazil/West */ :int { 148 } //Z#345
+,  /* CAT */ :int { 29 } //Z#346
 ,  /* CET */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "C-Eur"
     :intvector { 3600, 1996 }
 ,  /* CET */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "C-Eur"
     :intvector { 3600, 1996 }
-  } //Z#344
-,  /* CNT */ :int { 186 } //Z#345
-,  /* CST */ :int { 94 } //Z#346
+  } //Z#347
+,  /* CNT */ :int { 189 } //Z#348
+,  /* CST */ :int { 94 } //Z#349
 ,  /* CST6CDT */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
 ,  /* CST6CDT */ :array {
     :intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -769395600, -765392400, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200 }
     :intvector { -21600, 0, -21600, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -21600, 2007 }
-  } //Z#347
-,  /* CTT */ :int { 283 } //Z#348
-,  /* Canada/Atlantic */ :int { 122 } //Z#349
-,  /* Canada/Central */ :int { 201 } //Z#350
-,  /* Canada/East-Saskatchewan */ :int { 178 } //Z#351
-,  /* Canada/Eastern */ :int { 196 } //Z#352
-,  /* Canada/Mountain */ :int { 107 } //Z#353
-,  /* Canada/Newfoundland */ :int { 186 } //Z#354
-,  /* Canada/Pacific */ :int { 198 } //Z#355
-,  /* Canada/Saskatchewan */ :int { 178 } //Z#356
-,  /* Canada/Yukon */ :int { 200 } //Z#357
-,  /* Chile/Continental */ :int { 181 } //Z#358
-,  /* Chile/EasterIsland */ :int { 516 } //Z#359
-,  /* Cuba */ :int { 123 } //Z#360
-,  /* EAT */ :int { 7 } //Z#361
-,  /* ECT */ :int { 436 } //Z#362
+  } //Z#350
+,  /* CTT */ :int { 286 } //Z#351
+,  /* Canada/Atlantic */ :int { 122 } //Z#352
+,  /* Canada/Central */ :int { 204 } //Z#353
+,  /* Canada/East-Saskatchewan */ :int { 180 } //Z#354
+,  /* Canada/Eastern */ :int { 199 } //Z#355
+,  /* Canada/Mountain */ :int { 107 } //Z#356
+,  /* Canada/Newfoundland */ :int { 189 } //Z#357
+,  /* Canada/Pacific */ :int { 201 } //Z#358
+,  /* Canada/Saskatchewan */ :int { 180 } //Z#359
+,  /* Canada/Yukon */ :int { 203 } //Z#360
+,  /* Chile/Continental */ :int { 184 } //Z#361
+,  /* Chile/EasterIsland */ :int { 519 } //Z#362
+,  /* Cuba */ :int { 123 } //Z#363
+,  /* EAT */ :int { 7 } //Z#364
+,  /* ECT */ :int { 439 } //Z#365
 ,  /* EET */ :array {
     :intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* EET */ :array {
     :intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#363
+  } //Z#366
 ,  /* EST */ :array {
     :intvector {  }
     :intvector { -18000, 0 }
     :bin { "" }
 ,  /* EST */ :array {
     :intvector {  }
     :intvector { -18000, 0 }
     :bin { "" }
-  } //Z#364
+  } //Z#367
 ,  /* EST5EDT */ :array {
     :intvector { -1633280400, -1615140000, -1601830800, -1583690400, -880218000, -769395600, -765396000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
 ,  /* EST5EDT */ :array {
     :intvector { -1633280400, -1615140000, -1601830800, -1583690400, -880218000, -769395600, -765396000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600 }
     :intvector { -18000, 0, -18000, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -18000, 2007 }
-  } //Z#365
-,  /* Egypt */ :int { 18 } //Z#366
-,  /* Eire */ :int { 415 } //Z#367
+  } //Z#368
+,  /* Egypt */ :int { 18 } //Z#369
+,  /* Eire */ :int { 418 } //Z#370
 ,  /* Etc/GMT */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
 ,  /* Etc/GMT */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
-    :intvector { 368, 369, 382, 397, 398, 464, 465, 466, 467, 468 }
-  } //Z#368
-,  /* Etc/GMT+0 */ :int { 368 } //Z#369
+    :intvector { 371, 372, 385, 400, 401, 467, 468, 469, 470, 471 }
+  } //Z#371
+,  /* Etc/GMT+0 */ :int { 371 } //Z#372
 ,  /* Etc/GMT+1 */ :array {
     :intvector {  }
     :intvector { -3600, 0 }
     :bin { "" }
 ,  /* Etc/GMT+1 */ :array {
     :intvector {  }
     :intvector { -3600, 0 }
     :bin { "" }
-  } //Z#370
+  } //Z#373
 ,  /* Etc/GMT+10 */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
 ,  /* Etc/GMT+10 */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
-  } //Z#371
+  } //Z#374
 ,  /* Etc/GMT+11 */ :array {
     :intvector {  }
     :intvector { -39600, 0 }
     :bin { "" }
 ,  /* Etc/GMT+11 */ :array {
     :intvector {  }
     :intvector { -39600, 0 }
     :bin { "" }
-  } //Z#372
+  } //Z#375
 ,  /* Etc/GMT+12 */ :array {
     :intvector {  }
     :intvector { -43200, 0 }
     :bin { "" }
 ,  /* Etc/GMT+12 */ :array {
     :intvector {  }
     :intvector { -43200, 0 }
     :bin { "" }
-  } //Z#373
+  } //Z#376
 ,  /* Etc/GMT+2 */ :array {
     :intvector {  }
     :intvector { -7200, 0 }
     :bin { "" }
 ,  /* Etc/GMT+2 */ :array {
     :intvector {  }
     :intvector { -7200, 0 }
     :bin { "" }
-  } //Z#374
+  } //Z#377
 ,  /* Etc/GMT+3 */ :array {
     :intvector {  }
     :intvector { -10800, 0 }
     :bin { "" }
 ,  /* Etc/GMT+3 */ :array {
     :intvector {  }
     :intvector { -10800, 0 }
     :bin { "" }
-  } //Z#375
+  } //Z#378
 ,  /* Etc/GMT+4 */ :array {
     :intvector {  }
     :intvector { -14400, 0 }
     :bin { "" }
 ,  /* Etc/GMT+4 */ :array {
     :intvector {  }
     :intvector { -14400, 0 }
     :bin { "" }
-  } //Z#376
+  } //Z#379
 ,  /* Etc/GMT+5 */ :array {
     :intvector {  }
     :intvector { -18000, 0 }
     :bin { "" }
 ,  /* Etc/GMT+5 */ :array {
     :intvector {  }
     :intvector { -18000, 0 }
     :bin { "" }
-  } //Z#377
+  } //Z#380
 ,  /* Etc/GMT+6 */ :array {
     :intvector {  }
     :intvector { -21600, 0 }
     :bin { "" }
 ,  /* Etc/GMT+6 */ :array {
     :intvector {  }
     :intvector { -21600, 0 }
     :bin { "" }
-  } //Z#378
+  } //Z#381
 ,  /* Etc/GMT+7 */ :array {
     :intvector {  }
     :intvector { -25200, 0 }
     :bin { "" }
 ,  /* Etc/GMT+7 */ :array {
     :intvector {  }
     :intvector { -25200, 0 }
     :bin { "" }
-  } //Z#379
+  } //Z#382
 ,  /* Etc/GMT+8 */ :array {
     :intvector {  }
     :intvector { -28800, 0 }
     :bin { "" }
 ,  /* Etc/GMT+8 */ :array {
     :intvector {  }
     :intvector { -28800, 0 }
     :bin { "" }
-  } //Z#380
+  } //Z#383
 ,  /* Etc/GMT+9 */ :array {
     :intvector {  }
     :intvector { -32400, 0 }
     :bin { "" }
 ,  /* Etc/GMT+9 */ :array {
     :intvector {  }
     :intvector { -32400, 0 }
     :bin { "" }
-  } //Z#381
-,  /* Etc/GMT-0 */ :int { 368 } //Z#382
+  } //Z#384
+,  /* Etc/GMT-0 */ :int { 371 } //Z#385
 ,  /* Etc/GMT-1 */ :array {
     :intvector {  }
     :intvector { 3600, 0 }
     :bin { "" }
 ,  /* Etc/GMT-1 */ :array {
     :intvector {  }
     :intvector { 3600, 0 }
     :bin { "" }
-  } //Z#383
+  } //Z#386
 ,  /* Etc/GMT-10 */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
 ,  /* Etc/GMT-10 */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
-  } //Z#384
+  } //Z#387
 ,  /* Etc/GMT-11 */ :array {
     :intvector {  }
     :intvector { 39600, 0 }
     :bin { "" }
 ,  /* Etc/GMT-11 */ :array {
     :intvector {  }
     :intvector { 39600, 0 }
     :bin { "" }
-  } //Z#385
+  } //Z#388
 ,  /* Etc/GMT-12 */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
 ,  /* Etc/GMT-12 */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
-  } //Z#386
+  } //Z#389
 ,  /* Etc/GMT-13 */ :array {
     :intvector {  }
     :intvector { 46800, 0 }
     :bin { "" }
 ,  /* Etc/GMT-13 */ :array {
     :intvector {  }
     :intvector { 46800, 0 }
     :bin { "" }
-  } //Z#387
+  } //Z#390
 ,  /* Etc/GMT-14 */ :array {
     :intvector {  }
     :intvector { 50400, 0 }
     :bin { "" }
 ,  /* Etc/GMT-14 */ :array {
     :intvector {  }
     :intvector { 50400, 0 }
     :bin { "" }
-  } //Z#388
+  } //Z#391
 ,  /* Etc/GMT-2 */ :array {
     :intvector {  }
     :intvector { 7200, 0 }
     :bin { "" }
 ,  /* Etc/GMT-2 */ :array {
     :intvector {  }
     :intvector { 7200, 0 }
     :bin { "" }
-  } //Z#389
+  } //Z#392
 ,  /* Etc/GMT-3 */ :array {
     :intvector {  }
     :intvector { 10800, 0 }
     :bin { "" }
 ,  /* Etc/GMT-3 */ :array {
     :intvector {  }
     :intvector { 10800, 0 }
     :bin { "" }
-  } //Z#390
+  } //Z#393
 ,  /* Etc/GMT-4 */ :array {
     :intvector {  }
     :intvector { 14400, 0 }
     :bin { "" }
 ,  /* Etc/GMT-4 */ :array {
     :intvector {  }
     :intvector { 14400, 0 }
     :bin { "" }
-  } //Z#391
+  } //Z#394
 ,  /* Etc/GMT-5 */ :array {
     :intvector {  }
     :intvector { 18000, 0 }
     :bin { "" }
 ,  /* Etc/GMT-5 */ :array {
     :intvector {  }
     :intvector { 18000, 0 }
     :bin { "" }
-  } //Z#392
+  } //Z#395
 ,  /* Etc/GMT-6 */ :array {
     :intvector {  }
     :intvector { 21600, 0 }
     :bin { "" }
 ,  /* Etc/GMT-6 */ :array {
     :intvector {  }
     :intvector { 21600, 0 }
     :bin { "" }
-  } //Z#393
+  } //Z#396
 ,  /* Etc/GMT-7 */ :array {
     :intvector {  }
     :intvector { 25200, 0 }
     :bin { "" }
 ,  /* Etc/GMT-7 */ :array {
     :intvector {  }
     :intvector { 25200, 0 }
     :bin { "" }
-  } //Z#394
+  } //Z#397
 ,  /* Etc/GMT-8 */ :array {
     :intvector {  }
     :intvector { 28800, 0 }
     :bin { "" }
 ,  /* Etc/GMT-8 */ :array {
     :intvector {  }
     :intvector { 28800, 0 }
     :bin { "" }
-  } //Z#395
+  } //Z#398
 ,  /* Etc/GMT-9 */ :array {
     :intvector {  }
     :intvector { 32400, 0 }
     :bin { "" }
 ,  /* Etc/GMT-9 */ :array {
     :intvector {  }
     :intvector { 32400, 0 }
     :bin { "" }
-  } //Z#396
-,  /* Etc/GMT0 */ :int { 368 } //Z#397
-,  /* Etc/Greenwich */ :int { 368 } //Z#398
+  } //Z#399
+,  /* Etc/GMT0 */ :int { 371 } //Z#400
+,  /* Etc/Greenwich */ :int { 371 } //Z#401
 ,  /* Etc/UCT */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
 ,  /* Etc/UCT */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
-    :intvector { 399, 560 }
-  } //Z#399
+    :intvector { 402, 563 }
+  } //Z#402
 ,  /* Etc/UTC */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
 ,  /* Etc/UTC */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
-    :intvector { 400, 401, 402, 574, 575, 579 }
-  } //Z#400
-,  /* Etc/Universal */ :int { 400 } //Z#401
-,  /* Etc/Zulu */ :int { 400 } //Z#402
+    :intvector { 403, 404, 405, 577, 578, 582 }
+  } //Z#403
+,  /* Etc/Universal */ :int { 403 } //Z#404
+,  /* Etc/Zulu */ :int { 403 } //Z#405
 ,  /* Europe/Amsterdam */ :array {
     :intvector { -1693700372, -1680484772, -1663453172, -1650147572, -1633213172, -1617488372, -1601158772, -1586038772, -1569709172, -1554589172, -1538259572, -1523139572, -1507501172, -1490566772, -1470176372, -1459117172, -1443997172, -1427667572, -1406672372, -1396217972, -1376950772, -1364768372, -1345414772, -1333318772, -1313792372, -1301264372, -1282256372, -1269814772, -1250720372, -1238365172, -1219184372, -1206915572, -1186957172, -1175465972, -1156025972, -1143411572, -1124489972, -1111961972, -1092953972, -1080512372, -1061331572, -1049062772, -1029190772, -1025745572, -1017613200, -998259600, -986163600, -966723600, -954109200, -935022000, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 1172, 0, 1172, 3600, 1200, 0, 1200, 3600, 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010302030203020504050405040504040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Amsterdam */ :array {
     :intvector { -1693700372, -1680484772, -1663453172, -1650147572, -1633213172, -1617488372, -1601158772, -1586038772, -1569709172, -1554589172, -1538259572, -1523139572, -1507501172, -1490566772, -1470176372, -1459117172, -1443997172, -1427667572, -1406672372, -1396217972, -1376950772, -1364768372, -1345414772, -1333318772, -1313792372, -1301264372, -1282256372, -1269814772, -1250720372, -1238365172, -1219184372, -1206915572, -1186957172, -1175465972, -1156025972, -1143411572, -1124489972, -1111961972, -1092953972, -1080512372, -1061331572, -1049062772, -1029190772, -1025745572, -1017613200, -998259600, -986163600, -966723600, -954109200, -935022000, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 1172, 0, 1172, 3600, 1200, 0, 1200, 3600, 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010302030203020504050405040504040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#403
+  } //Z#406
 ,  /* Europe/Andorra */ :array {
     :intvector { -733881600, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Andorra */ :array {
     :intvector { -733881600, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#404
+  } //Z#407
 ,  /* Europe/Athens */ :array {
     :intvector { -1686101632, -1182996000, -1178161200, -906861600, -904878000, -857257200, -844477200, -828237600, -812422800, -552362400, -541652400, 166485600, 186184800, 198028800, 213753600, 228873600, 244080000, 260323200, 275446800, 291798000, 307407600, 323388000, 338936400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0203020301000100020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Athens */ :array {
     :intvector { -1686101632, -1182996000, -1178161200, -906861600, -904878000, -857257200, -844477200, -828237600, -812422800, -552362400, -541652400, 166485600, 186184800, 198028800, 213753600, 228873600, 244080000, 260323200, 275446800, 291798000, 307407600, 323388000, 338936400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0203020301000100020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#405
-,  /* Europe/Belfast */ :int { 426 } //Z#406
+  } //Z#408
+,  /* Europe/Belfast */ :int { 429 } //Z#409
 ,  /* Europe/Belgrade */ :array {
     :intvector { -905824800, -857257200, -844556400, -828226800, -812502000, -796777200, -777942000, -766623600, 407199600, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Belgrade */ :array {
     :intvector { -905824800, -857257200, -844556400, -828226800, -812502000, -796777200, -777942000, -766623600, 407199600, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 407, 425, 437, 443, 445, 458 }
-  } //Z#407
+    :intvector { 410, 428, 440, 446, 448, 461 }
+  } //Z#410
 ,  /* Europe/Berlin */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -776563200, -765936000, -761180400, -748479600, -733273200, -717634800, -714610800, -710380800, -701910000, -684975600, -670460400, -654130800, -639010800, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 3600, 7200 }
     :bin { "0100010001000100010001000102010001000102010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Berlin */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -776563200, -765936000, -761180400, -748479600, -733273200, -717634800, -714610800, -710380800, -701910000, -684975600, -670460400, -654130800, -639010800, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 3600, 7200 }
     :bin { "0100010001000100010001000102010001000102010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#408
-,  /* Europe/Bratislava */ :int { 438 } //Z#409
+  } //Z#411
+,  /* Europe/Bratislava */ :int { 441 } //Z#412
 ,  /* Europe/Brussels */ :array {
     :intvector { -1740355200, -1693702800, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1613826000, -1604278800, -1585530000, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1473642000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -934668000, -857257200, -844556400, -828226800, -812502000, -799293600, -798073200, -781052400, -766623600, -745455600, -733273200, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 3600, 0, 3600, 3600 }
     :bin { "0203020302030200010001000100010001000100010001000100010001000100010001000100010001000100010001000100010302030203030203020302020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Brussels */ :array {
     :intvector { -1740355200, -1693702800, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1613826000, -1604278800, -1585530000, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1473642000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -934668000, -857257200, -844556400, -828226800, -812502000, -799293600, -798073200, -781052400, -766623600, -745455600, -733273200, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 3600, 0, 3600, 3600 }
     :bin { "0203020302030200010001000100010001000100010001000100010001000100010001000100010001000100010001000100010302030203030203020302020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#410
+  } //Z#413
 ,  /* Europe/Bucharest */ :array {
     :intvector { -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, 296604000, 307486800, 323816400, 338940000, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 662680800, 670370400, 686095200, 701820000, 717544800, 733269600, 748994400, 757375200, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000001000100" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Bucharest */ :array {
     :intvector { -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, 296604000, 307486800, 323816400, 338940000, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 662680800, 670370400, 686095200, 701820000, 717544800, 733269600, 748994400, 757375200, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000001000100" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#411
+  } //Z#414
 ,  /* Europe/Budapest */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1640998800, -1633212000, -1617577200, -1600466400, -1587250800, -1569708000, -1554332400, -906937200, -857257200, -844556400, -828226800, -812502000, -796777200, -778471200, -762487200, -749689200, -733359600, -717634800, -701910000, -686185200, -670460400, -654130800, -639010800, -621990000, -605660400, -492656400, -481168800, -461120400, -449632800, -428547600, -418269600, -397094400, -386809200, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Budapest */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1640998800, -1633212000, -1617577200, -1600466400, -1587250800, -1569708000, -1554332400, -906937200, -857257200, -844556400, -828226800, -812502000, -796777200, -778471200, -762487200, -749689200, -733359600, -717634800, -701910000, -686185200, -670460400, -654130800, -639010800, -621990000, -605660400, -492656400, -481168800, -461120400, -449632800, -428547600, -418269600, -397094400, -386809200, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#412
+  } //Z#415
 ,  /* Europe/Chisinau */ :array {
     :intvector { -1637114100, -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, -927165600, -898138800, -857257200, -844556400, -828226800, -812502000, -800157600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 641941200, 670377600, 686102400, 694216800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 3600, 0, 3600, 3600, 6264, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0203040304030403040304030403040304030401000100010506050605060506050605060506050605060505030403030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Chisinau */ :array {
     :intvector { -1637114100, -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, -927165600, -898138800, -857257200, -844556400, -828226800, -812502000, -800157600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 641941200, 670377600, 686102400, 694216800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 3600, 0, 3600, 3600, 6264, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0203040304030403040304030403040304030401000100010506050605060506050605060506050605060505030403030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
-    :intvector { 413, 450 }
-  } //Z#413
+    :intvector { 416, 453 }
+  } //Z#416
 ,  /* Europe/Copenhagen */ :array {
     :intvector { -1692496800, -1680490800, -935110800, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -769388400, -747010800, -736383600, -715215600, -706748400, -683161200, -675298800, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Copenhagen */ :array {
     :intvector { -1692496800, -1680490800, -935110800, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -769388400, -747010800, -736383600, -715215600, -706748400, -683161200, -675298800, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#414
+  } //Z#417
 ,  /* Europe/Dublin */ :array {
     :intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1517011200, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733359600, -719445600, -699490800, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600 }
     :intvector { -1521, 3600, 0, 0, 0, 3600, 3600, 0 }
     :bin { "000102010201020102010201010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Europe/Dublin */ :array {
     :intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1517011200, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733359600, -719445600, -699490800, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600 }
     :intvector { -1521, 3600, 0, 0, 0, 3600, 3600, 0 }
     :bin { "000102010201020102010201010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     "EU"
     :intvector { 0, 1996 }
-    :intvector { 367, 415 }
-  } //Z#415
+    :intvector { 370, 418 }
+  } //Z#418
 ,  /* Europe/Gibraltar */ :array {
     :intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102010201020102010201000100010201000100010001000100010001000100010001000304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Gibraltar */ :array {
     :intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000102010201020102010201000100010201000100010001000100010001000100010001000304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#416
-,  /* Europe/Guernsey */ :int { 426 } //Z#417
+  } //Z#419
+,  /* Europe/Guernsey */ :int { 429 } //Z#420
 ,  /* Europe/Helsinki */ :array {
     :intvector { -1535938792, -875671200, -859863600, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Helsinki */ :array {
     :intvector { -1535938792, -875671200, -859863600, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 7200, 0, 7200, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 7200, 1996 }
-    :intvector { 418, 430 }
-  } //Z#418
-,  /* Europe/Isle_of_Man */ :int { 426 } //Z#419
+    :intvector { 421, 433 }
+  } //Z#421
+,  /* Europe/Isle_of_Man */ :int { 429 } //Z#422
 ,  /* Europe/Istanbul */ :array {
 ,  /* Europe/Istanbul */ :array {
-    :intvector { -1869875816, -1693706400, -1680490800, -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1440208800, -1428030000, -1409709600, -1396494000, -931140000, -922762800, -917834400, -892436400, -875844000, -857358000, -781063200, -764737200, -744343200, -733806000, -716436000, -701924400, -684986400, -670474800, -654141600, -639025200, -621828000, -606970800, -590032800, -575434800, -235620000, -228279600, -177732000, -165726000, 10533600, 23835600, 41983200, 55285200, 74037600, 87339600, 107910000, 121219200, 133920000, 152676000, 165362400, 183502800, 202428000, 215557200, 228866400, 245797200, 260316000, 277246800, 308779200, 323827200, 340228800, 354672000, 371678400, 386121600, 403128000, 428446800, 433886400, 482792400, 496702800, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 662680800, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
+    :intvector { -1869875816, -1693706400, -1680490800, -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1440208800, -1428030000, -1409709600, -1396494000, -931140000, -922762800, -917834400, -892436400, -875844000, -857358000, -781063200, -764737200, -744343200, -733806000, -716436000, -701924400, -684986400, -670474800, -654141600, -639025200, -621828000, -606970800, -590032800, -575434800, -235620000, -228279600, -177732000, -165726000, 10533600, 23835600, 41983200, 55285200, 74037600, 87339600, 107910000, 121219200, 133920000, 152676000, 165362400, 183502800, 202428000, 215557200, 228866400, 245797200, 260316000, 277246800, 308779200, 323827200, 340228800, 354672000, 371678400, 386121600, 403128000, 428446800, 433886400, 482792400, 496702800, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 670374000, 686098800, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :intvector { 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
-    :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001030203020302030203020100010001000100010001000001000100010001000100" }
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010302030203020302030201000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 7200, 1996 }
     "EU"
     :intvector { 7200, 1996 }
-    :intvector { 246, 420, 559 }
-  } //Z#420
-,  /* Europe/Jersey */ :int { 426 } //Z#421
+    :intvector { 249, 423, 562 }
+  } //Z#423
+,  /* Europe/Jersey */ :int { 429 } //Z#424
 ,  /* Europe/Kaliningrad */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -788922000, -778730400, -762663600, -757389600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701816400, 717537600, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "01000100010001000100010002030204050405040504050405040504050405040504050403020302030203020302" }
     "Russia"
     :intvector { 7200, 1996 }
 ,  /* Europe/Kaliningrad */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -788922000, -778730400, -762663600, -757389600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701816400, 717537600, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "01000100010001000100010002030204050405040504050405040504050405040504050403020302030203020302" }
     "Russia"
     :intvector { 7200, 1996 }
-  } //Z#422
+  } //Z#425
 ,  /* Europe/Kiev */ :array {
     :intvector { -1441159324, -1247536800, -892522800, -857257200, -844556400, -828226800, -825382800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0204010001000405040504050405040504050405040504050404020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Kiev */ :array {
     :intvector { -1441159324, -1247536800, -892522800, -857257200, -844556400, -828226800, -825382800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0204010001000405040504050405040504050405040504050404020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#423
+  } //Z#426
 ,  /* Europe/Lisbon */ :array {
     :intvector { -1830381808, -1689555600, -1677801600, -1667437200, -1647738000, -1635814800, -1616202000, -1604365200, -1584666000, -1572742800, -1553043600, -1541206800, -1521507600, -1442451600, -1426813200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1221440400, -1206925200, -1191200400, -1175475600, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942022800, -922669200, -906944400, -891133200, -877309200, -873684000, -864007200, -857955600, -845859600, -842839200, -831348000, -825901200, -814410000, -810784800, -799898400, -794451600, -782960400, -779335200, -768448800, -763002000, -749091600, -733366800, -717631200, -701906400, -686181600, -670456800, -654732000, -639007200, -591832800, -575503200, -559778400, -544053600, -528328800, -512604000, -496879200, -481154400, -465429600, -449704800, -433980000, -417650400, -401925600, -386200800, -370476000, -354751200, -339026400, -323301600, -307576800, -291852000, -276127200, -260402400, -244677600, -228348000, -212623200, -196898400, -181173600, -165448800, -149724000, -133999200, -118274400, 212544000, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020100010201000102010001020100010001000100010001000100010001000100010001000100010001000100010001000100010003000100010001000100010001000100010001000100010001000100010001000103040304030403" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Europe/Lisbon */ :array {
     :intvector { -1830381808, -1689555600, -1677801600, -1667437200, -1647738000, -1635814800, -1616202000, -1604365200, -1584666000, -1572742800, -1553043600, -1541206800, -1521507600, -1442451600, -1426813200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1221440400, -1206925200, -1191200400, -1175475600, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942022800, -922669200, -906944400, -891133200, -877309200, -873684000, -864007200, -857955600, -845859600, -842839200, -831348000, -825901200, -814410000, -810784800, -799898400, -794451600, -782960400, -779335200, -768448800, -763002000, -749091600, -733366800, -717631200, -701906400, -686181600, -670456800, -654732000, -639007200, -591832800, -575503200, -559778400, -544053600, -528328800, -512604000, -496879200, -481154400, -465429600, -449704800, -433980000, -417650400, -401925600, -386200800, -370476000, -354751200, -339026400, -323301600, -307576800, -291852000, -276127200, -260402400, -244677600, -228348000, -212623200, -196898400, -181173600, -165448800, -149724000, -133999200, -118274400, 212544000, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020100010201000102010001020100010001000100010001000100010001000100010001000100010001000100010001000100010003000100010001000100010001000100010001000100010001000100010001000103040304030403" }
     "EU"
     :intvector { 0, 1996 }
-    :intvector { 424, 554 }
-  } //Z#424
-,  /* Europe/Ljubljana */ :int { 407 } //Z#425
+    :intvector { 427, 557 }
+  } //Z#427
+,  /* Europe/Ljubljana */ :int { 410 } //Z#428
 ,  /* Europe/London */ :array {
     :intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020102010201020102010001000102010001000100010001000100010001000100010001000100010001000100010001000100010001000100010300010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* Europe/London */ :array {
     :intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001020102010201020102010001000102010001000100010001000100010001000100010001000100010001000100010001000100010001000100010300010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
-    :intvector { 406, 417, 419, 421, 426, 462, 463 }
-  } //Z#426
+    :intvector { 409, 420, 422, 424, 429, 465, 466 }
+  } //Z#429
 ,  /* Europe/Luxembourg */ :array {
     :intvector { -2069713476, -1692496800, -1680483600, -1662343200, -1650157200, -1632006000, -1618700400, -1612659600, -1604278800, -1585519200, -1574038800, -1552258800, -1539997200, -1520550000, -1507510800, -1490572800, -1473642000, -1459119600, -1444006800, -1427673600, -1411866000, -1396224000, -1379293200, -1364774400, -1348448400, -1333324800, -1316394000, -1301270400, -1284339600, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -935186400, -857257200, -844556400, -828226800, -812502000, -797986800, -781052400, -766623600, -745455600, -733273200, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 3600, 0, 3600, 3600 }
     :bin { "02030203020302000100010001000100010001000100010001000100010001000100010001000100010001000100010001000103020302030203020302020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Luxembourg */ :array {
     :intvector { -2069713476, -1692496800, -1680483600, -1662343200, -1650157200, -1632006000, -1618700400, -1612659600, -1604278800, -1585519200, -1574038800, -1552258800, -1539997200, -1520550000, -1507510800, -1490572800, -1473642000, -1459119600, -1444006800, -1427673600, -1411866000, -1396224000, -1379293200, -1364774400, -1348448400, -1333324800, -1316394000, -1301270400, -1284339600, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -935186400, -857257200, -844556400, -828226800, -812502000, -797986800, -781052400, -766623600, -745455600, -733273200, 220921200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 3600, 0, 3600, 3600 }
     :bin { "02030203020302000100010001000100010001000100010001000100010001000100010001000100010001000100010001000103020302030203020302020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#427
+  } //Z#430
 ,  /* Europe/Madrid */ :array {
     :intvector { -1661734800, -1648429200, -1631926800, -1616893200, -1601254800, -1585357200, -1442451600, -1427677200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1029114000, -1017622800, -1002848400, -986173200, -969238800, -954118800, -940208400, -873079200, -862538400, -842839200, -828237600, -811389600, -796010400, -779940000, -765421200, -748490400, -733888800, -652327200, -639190800, 135122400, 150246000, 167176800, 181695600, 196812000, 212540400, 228866400, 243990000, 260402400, 276044400, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010201020102010201020304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Madrid */ :array {
     :intvector { -1661734800, -1648429200, -1631926800, -1616893200, -1601254800, -1585357200, -1442451600, -1427677200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1029114000, -1017622800, -1002848400, -986173200, -969238800, -954118800, -940208400, -873079200, -862538400, -842839200, -828237600, -811389600, -796010400, -779940000, -765421200, -748490400, -733888800, -652327200, -639190800, 135122400, 150246000, 167176800, 181695600, 196812000, 212540400, 228866400, 243990000, 260402400, 276044400, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010201020102010201020304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#428
+  } //Z#431
 ,  /* Europe/Malta */ :array {
     :intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 102380400, 118105200, 135730800, 148518000, 167187600, 180489600, 198637200, 211939200, 230086800, 243388800, 261536400, 274838400, 292986000, 306288000, 323312400, 338342400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Malta */ :array {
     :intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 102380400, 118105200, 135730800, 148518000, 167187600, 180489600, 198637200, 211939200, 230086800, 243388800, 261536400, 274838400, 292986000, 306288000, 323312400, 338342400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#429
-,  /* Europe/Mariehamn */ :int { 418 } //Z#430
+  } //Z#432
+,  /* Europe/Mariehamn */ :int { 421 } //Z#433
 ,  /* Europe/Minsk */ :array {
     :intvector { -1441158600, -1247536800, -899780400, -857257200, -844556400, -828226800, -812502000, -804650400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 670374000, 686102400, 701820000, 717544800, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010001040504050405040504050405040504050405040403020302030203020302" }
     "Russia"
     :intvector { 7200, 1996 }
 ,  /* Europe/Minsk */ :array {
     :intvector { -1441158600, -1247536800, -899780400, -857257200, -844556400, -828226800, -812502000, -804650400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 670374000, 686102400, 701820000, 717544800, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010001040504050405040504050405040504050405040403020302030203020302" }
     "Russia"
     :intvector { 7200, 1996 }
-  } //Z#431
+  } //Z#434
 ,  /* Europe/Monaco */ :array {
     :intvector { -1855958961, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -904438800, -891136800, -877827600, -857257200, -844556400, -828226800, -812502000, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201020102010201020304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Monaco */ :array {
     :intvector { -1855958961, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -904438800, -891136800, -877827600, -857257200, -844556400, -828226800, -812502000, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010201020102010201020304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#432
+  } //Z#435
 ,  /* Europe/Moscow */ :array {
     :intvector { -1688265000, -1656819048, -1641353448, -1627965048, -1618716648, -1596429048, -1593829848, -1589860800, -1542427200, -1539493200, -1525323600, -1522728000, -1491188400, -1247536800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 7200, 0, 7200, 3600, 9048, 0, 9048, 3600, 9048, 7200, 10800, 0, 10800, 3600, 10800, 7200 }
     :bin { "020302040304060506070605000506050605060506050605060506050605060506050100050605060506050605" }
     "Russia"
     :intvector { 10800, 1996 }
 ,  /* Europe/Moscow */ :array {
     :intvector { -1688265000, -1656819048, -1641353448, -1627965048, -1618716648, -1596429048, -1593829848, -1589860800, -1542427200, -1539493200, -1525323600, -1522728000, -1491188400, -1247536800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 7200, 0, 7200, 3600, 9048, 0, 9048, 3600, 9048, 7200, 10800, 0, 10800, 3600, 10800, 7200 }
     :bin { "020302040304060506070605000506050605060506050605060506050605060506050100050605060506050605" }
     "Russia"
     :intvector { 10800, 1996 }
-    :intvector { 433, 577 }
-  } //Z#433
-,  /* Europe/Nicosia */ :int { 265 } //Z#434
+    :intvector { 436, 580 }
+  } //Z#436
+,  /* Europe/Nicosia */ :int { 268 } //Z#437
 ,  /* Europe/Oslo */ :array {
     :intvector { -1691884800, -1680573600, -927511200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -765327600, -340844400, -324514800, -308790000, -293065200, -277340400, -261615600, -245890800, -230166000, -214441200, -198716400, -182991600, -166662000, -147913200, -135212400, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Oslo */ :array {
     :intvector { -1691884800, -1680573600, -927511200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -765327600, -340844400, -324514800, -308790000, -293065200, -277340400, -261615600, -245890800, -230166000, -214441200, -198716400, -182991600, -166662000, -147913200, -135212400, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 214, 308, 435 }
-  } //Z#435
+    :intvector { 217, 311, 438 }
+  } //Z#438
 ,  /* Europe/Paris */ :array {
     :intvector { -1855958901, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -932436000, -857257200, -844556400, -828226800, -812502000, -800071200, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000104030403040201020304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Paris */ :array {
     :intvector { -1855958901, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -932436000, -857257200, -844556400, -828226800, -812502000, -800071200, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     :bin { "000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000104030403040201020304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 362, 436 }
-  } //Z#436
-,  /* Europe/Podgorica */ :int { 407 } //Z#437
+    :intvector { 365, 439 }
+  } //Z#439
+,  /* Europe/Podgorica */ :int { 410 } //Z#440
 ,  /* Europe/Prague */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -798073200, -780534000, -761180400, -746578800, -733359600, -716425200, -701910000, -684975600, -670460400, -654217200, -639010800, 283993200, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Prague */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -798073200, -780534000, -761180400, -746578800, -733359600, -716425200, -701910000, -684975600, -670460400, -654217200, -639010800, 283993200, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 409, 438 }
-  } //Z#438
+    :intvector { 412, 441 }
+  } //Z#441
 ,  /* Europe/Riga */ :array {
     :intvector { -1632008184, -1618702584, -1601681784, -1597275384, -1377308184, -928029600, -899521200, -857257200, -844556400, -828226800, -812502000, -796777200, -795834000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5784, 0, 5784, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "03020302040601000100010006070607060706070607060706070607060504050405040504050405040504" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Riga */ :array {
     :intvector { -1632008184, -1618702584, -1601681784, -1597275384, -1377308184, -928029600, -899521200, -857257200, -844556400, -828226800, -812502000, -796777200, -795834000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5784, 0, 5784, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "03020302040601000100010006070607060706070607060706070607060504050405040504050405040504" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#439
+  } //Z#442
 ,  /* Europe/Rome */ :array {
     :intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -804823200, -798080400, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 107910000, 118188000, 138754800, 149637600, 170809200, 181090800, 202258800, 212540400, 233103600, 243990000, 265158000, 276044400, 296607600, 307494000, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Rome */ :array {
     :intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -804823200, -798080400, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 107910000, 118188000, 138754800, 149637600, 170809200, 181090800, 202258800, 212540400, 233103600, 243990000, 265158000, 276044400, 296607600, 307494000, 315529200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010100010001000100010001000100010001000100010001000100010001000100010001000100000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 440, 442, 453 }
-  } //Z#440
+    :intvector { 443, 445, 456 }
+  } //Z#443
 ,  /* Europe/Samara */ :array {
     :intvector { -1593825636, -1247540400, -1102305600, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 687916800, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600 }
     :intvector { 7200, 3600, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "01030304030403040304030403040304030403020102010001030403040304030403" }
     "Russia"
     :intvector { 14400, 1996 }
 ,  /* Europe/Samara */ :array {
     :intvector { -1593825636, -1247540400, -1102305600, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 687916800, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600 }
     :intvector { 7200, 3600, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "01030304030403040304030403040304030403020102010001030403040304030403" }
     "Russia"
     :intvector { 14400, 1996 }
-  } //Z#441
-,  /* Europe/San_Marino */ :int { 440 } //Z#442
-,  /* Europe/Sarajevo */ :int { 407 } //Z#443
+  } //Z#444
+,  /* Europe/San_Marino */ :int { 443 } //Z#445
+,  /* Europe/Sarajevo */ :int { 410 } //Z#446
 ,  /* Europe/Simferopol */ :array {
     :intvector { -1441160160, -1247536800, -888894000, -857257200, -844556400, -828226800, -812502000, -811648800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 701820000, 717541200, 733269600, 748990800, 764719200, 767739600, 780436800, 796165200, 811886400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010001040504050405040504050405040504050405040402030203020305040504" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Simferopol */ :array {
     :intvector { -1441160160, -1247536800, -888894000, -857257200, -844556400, -828226800, -812502000, -811648800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 701820000, 717541200, 733269600, 748990800, 764719200, 767739600, 780436800, 796165200, 811886400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010001040504050405040504050405040504050405040402030203020305040504" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#444
-,  /* Europe/Skopje */ :int { 407 } //Z#445
+  } //Z#447
+,  /* Europe/Skopje */ :int { 410 } //Z#448
 ,  /* Europe/Sofia */ :array {
     :intvector { -857257200, -844556400, -828226800, -812502000, -796777200, -781048800, 291762000, 307576800, 323816400, 339026400, 355266000, 370393200, 386715600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 662680800, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0001000100020302030203020302030203020302030203020302030203020203020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Sofia */ :array {
     :intvector { -857257200, -844556400, -828226800, -812502000, -796777200, -781048800, 291762000, 307576800, 323816400, 339026400, 355266000, 370393200, 386715600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 662680800, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0001000100020302030203020302030203020302030203020302030203020203020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#446
+  } //Z#449
 ,  /* Europe/Stockholm */ :array {
     :intvector { -1692496800, -1680483600, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Stockholm */ :array {
     :intvector { -1692496800, -1680483600, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#447
+  } //Z#450
 ,  /* Europe/Tallinn */ :array {
     :intvector { -1638322740, -1632006000, -1618700400, -1593824400, -1535938740, -927943200, -892954800, -857257200, -844556400, -828226800, -812502000, -797652000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5940, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "000100020305010001000105060506050605060506050605060506050403040304030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Tallinn */ :array {
     :intvector { -1638322740, -1632006000, -1618700400, -1593824400, -1535938740, -927943200, -892954800, -857257200, -844556400, -828226800, -812502000, -797652000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5940, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "000100020305010001000105060506050605060506050605060506050403040304030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#448
+  } //Z#451
 ,  /* Europe/Tirane */ :array {
     :intvector { -1767230360, -932346000, -857257200, -844556400, -843519600, 136854000, 149896800, 168130800, 181432800, 199839600, 213141600, 231894000, 244591200, 263257200, 276040800, 294706800, 307490400, 326156400, 339458400, 357087600, 370389600, 389142000, 402444000, 419468400, 433807200, 449622000, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Tirane */ :array {
     :intvector { -1767230360, -932346000, -857257200, -844556400, -843519600, 136854000, 149896800, 168130800, 181432800, 199839600, 213141600, 231894000, 244591200, 263257200, 276040800, 294706800, 307490400, 326156400, 339458400, 357087600, 370389600, 389142000, 402444000, 419468400, 433807200, 449622000, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "00010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#449
-,  /* Europe/Tiraspol */ :int { 413 } //Z#450
+  } //Z#452
+,  /* Europe/Tiraspol */ :int { 416 } //Z#453
 ,  /* Europe/Uzhgorod */ :array {
     :intvector { -938905200, -857257200, -844556400, -828226800, -812502000, -796874400, -794714400, -773456400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 670384800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "01000100010100040504050405040504050405040504050405040400020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Uzhgorod */ :array {
     :intvector { -938905200, -857257200, -844556400, -828226800, -812502000, -796874400, -794714400, -773456400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 631141200, 646786800, 670384800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "01000100010100040504050405040504050405040504050405040400020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#451
+  } //Z#454
 ,  /* Europe/Vaduz */ :array {
     :intvector { 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Vaduz */ :array {
     :intvector { 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#452
-,  /* Europe/Vatican */ :int { 440 } //Z#453
+  } //Z#455
+,  /* Europe/Vatican */ :int { 443 } //Z#456
 ,  /* Europe/Vienna */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1577926800, -1569711600, -1555801200, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -780188400, -757386000, -748479600, -733359600, -717634800, -701910000, -684975600, -670460400, 323823600, 338940000, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000001000100010001000100000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Vienna */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1577926800, -1569711600, -1555801200, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -780188400, -757386000, -748479600, -733359600, -717634800, -701910000, -684975600, -670460400, 323823600, 338940000, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000001000100010001000100000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#454
+  } //Z#457
 ,  /* Europe/Vilnius */ :array {
     :intvector { -1672536240, -1585100136, -1561251600, -1553565600, -928198800, -900126000, -857257200, -844556400, -828226800, -812502000, -802144800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5736, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0200030005010001000105060506050605060506050605060506050605060504030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Vilnius */ :array {
     :intvector { -1672536240, -1585100136, -1561251600, -1553565600, -928198800, -900126000, -857257200, -844556400, -828226800, -812502000, -802144800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800 }
     :intvector { 3600, 0, 3600, 3600, 5736, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "0200030005010001000105060506050605060506050605060506050605060504030403040304030403" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#455
+  } //Z#458
 ,  /* Europe/Volgograd */ :array {
     :intvector { -1577761060, -1411873200, -1247540400, -256881600, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000002020302030203020302030203020302030201000100020100010001000100" }
     "Russia"
     :intvector { 10800, 1996 }
 ,  /* Europe/Volgograd */ :array {
     :intvector { -1577761060, -1411873200, -1247540400, -256881600, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200 }
     :intvector { 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     :bin { "000002020302030203020302030203020302030201000100020100010001000100" }
     "Russia"
     :intvector { 10800, 1996 }
-  } //Z#456
+  } //Z#459
 ,  /* Europe/Warsaw */ :array {
     :intvector { -1717032240, -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1600473600, -1587168000, -1501725600, -931734000, -857257200, -844556400, -828226800, -812502000, -796874400, -796608000, -778726800, -762660000, -748486800, -733273200, -715215600, -701910000, -684975600, -670460400, -654130800, -639010800, -397094400, -386812800, -371088000, -355363200, -334195200, -323308800, -307584000, -291859200, -271296000, -260409600, -239846400, -228960000, -208396800, -197510400, -176342400, -166060800, 220921200, 228873600, 243993600, 260323200, 276048000, 291772800, 307497600, 323827200, 338947200, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 567990000, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0001000100010203020001000100010100010001000100010001000100010001000100010001000100010000010001000100010001000100010001000100010001000001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Warsaw */ :array {
     :intvector { -1717032240, -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1600473600, -1587168000, -1501725600, -931734000, -857257200, -844556400, -828226800, -812502000, -796874400, -796608000, -778726800, -762660000, -748486800, -733273200, -715215600, -701910000, -684975600, -670460400, -654130800, -639010800, -397094400, -386812800, -371088000, -355363200, -334195200, -323308800, -307584000, -291859200, -271296000, -260409600, -239846400, -228960000, -208396800, -197510400, -176342400, -166060800, 220921200, 228873600, 243993600, 260323200, 276048000, 291772800, 307497600, 323827200, 338947200, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 567990000, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
     :bin { "0001000100010203020001000100010100010001000100010001000100010001000100010001000100010000010001000100010001000100010001000100010001000001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-    :intvector { 457, 553 }
-  } //Z#457
-,  /* Europe/Zagreb */ :int { 407 } //Z#458
+    :intvector { 460, 556 }
+  } //Z#460
+,  /* Europe/Zagreb */ :int { 410 } //Z#461
 ,  /* Europe/Zaporozhye */ :array {
     :intvector { -1441160400, -1247536800, -894769200, -857257200, -844556400, -828226800, -826419600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010004050405040504050405040504050405040504050403020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
 ,  /* Europe/Zaporozhye */ :array {
     :intvector { -1441160400, -1247536800, -894769200, -857257200, -844556400, -828226800, -826419600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     :bin { "02040100010004050405040504050405040504050405040504050403020302030203020302" }
     "EU"
     :intvector { 7200, 1996 }
-  } //Z#459
+  } //Z#462
 ,  /* Europe/Zurich */ :array {
     :intvector { -920336400, -915242400, -904518000, -891223200, -873068400, -859773600, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
 ,  /* Europe/Zurich */ :array {
     :intvector { -920336400, -915242400, -904518000, -891223200, -873068400, -859773600, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 3600, 1996 }
-  } //Z#460
+  } //Z#463
 ,  /* Factory */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
 ,  /* Factory */ :array {
     :intvector {  }
     :intvector { 0, 0 }
     :bin { "" }
-  } //Z#461
-,  /* GB */ :int { 426 } //Z#462
-,  /* GB-Eire */ :int { 426 } //Z#463
-,  /* GMT */ :int { 368 } //Z#464
-,  /* GMT+0 */ :int { 368 } //Z#465
-,  /* GMT-0 */ :int { 368 } //Z#466
-,  /* GMT0 */ :int { 368 } //Z#467
-,  /* Greenwich */ :int { 368 } //Z#468
-,  /* HST */ :int { 526 } //Z#469
-,  /* Hongkong */ :int { 243 } //Z#470
-,  /* IET */ :int { 125 } //Z#471
-,  /* IST */ :int { 230 } //Z#472
-,  /* Iceland */ :int { 310 } //Z#473
+  } //Z#464
+,  /* GB */ :int { 429 } //Z#465
+,  /* GB-Eire */ :int { 429 } //Z#466
+,  /* GMT */ :int { 371 } //Z#467
+,  /* GMT+0 */ :int { 371 } //Z#468
+,  /* GMT-0 */ :int { 371 } //Z#469
+,  /* GMT0 */ :int { 371 } //Z#470
+,  /* Greenwich */ :int { 371 } //Z#471
+,  /* HST */ :int { 529 } //Z#472
+,  /* Hongkong */ :int { 246 } //Z#473
+,  /* IET */ :int { 125 } //Z#474
+,  /* IST */ :int { 233 } //Z#475
+,  /* Iceland */ :int { 313 } //Z#476
 ,  /* Indian/Antananarivo */ :array {
     :intvector { -1846293004, -499924800, -492062400 }
     :intvector { 10800, 0, 10800, 3600 }
     :bin { "000100" }
 ,  /* Indian/Antananarivo */ :array {
     :intvector { -1846293004, -499924800, -492062400 }
     :intvector { 10800, 0, 10800, 3600 }
     :bin { "000100" }
-  } //Z#474
+  } //Z#477
 ,  /* Indian/Chagos */ :array {
     :intvector { -1988167780, 820436400 }
     :intvector { 18000, 0, 21600, 0 }
     :bin { "0001" }
 ,  /* Indian/Chagos */ :array {
     :intvector { -1988167780, 820436400 }
     :intvector { 18000, 0, 21600, 0 }
     :bin { "0001" }
-  } //Z#475
+  } //Z#478
 ,  /* Indian/Christmas */ :array {
     :intvector {  }
     :intvector { 25200, 0 }
     :bin { "" }
 ,  /* Indian/Christmas */ :array {
     :intvector {  }
     :intvector { 25200, 0 }
     :bin { "" }
-  } //Z#476
+  } //Z#479
 ,  /* Indian/Cocos */ :array {
     :intvector {  }
     :intvector { 23400, 0 }
     :bin { "" }
 ,  /* Indian/Cocos */ :array {
     :intvector {  }
     :intvector { 23400, 0 }
     :bin { "" }
-  } //Z#477
+  } //Z#480
 ,  /* Indian/Comoro */ :array {
     :intvector { -1846291984 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Indian/Comoro */ :array {
     :intvector { -1846291984 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#478
+  } //Z#481
 ,  /* Indian/Kerguelen */ :array {
     :intvector { -631152000 }
     :intvector { 18000, 0 }
     :bin { "00" }
 ,  /* Indian/Kerguelen */ :array {
     :intvector { -631152000 }
     :intvector { 18000, 0 }
     :bin { "00" }
-  } //Z#479
+  } //Z#482
 ,  /* Indian/Mahe */ :array {
     :intvector { -2006653308 }
     :intvector { 14400, 0 }
     :bin { "00" }
 ,  /* Indian/Mahe */ :array {
     :intvector { -2006653308 }
     :intvector { 14400, 0 }
     :bin { "00" }
-  } //Z#480
+  } //Z#483
 ,  /* Indian/Maldives */ :array {
     :intvector { -315636840 }
     :intvector { 18000, 0 }
     :bin { "00" }
 ,  /* Indian/Maldives */ :array {
     :intvector { -315636840 }
     :intvector { 18000, 0 }
     :bin { "00" }
-  } //Z#481
+  } //Z#484
 ,  /* Indian/Mauritius */ :array {
     :intvector { -1988164200 }
     :intvector { 14400, 0 }
     :bin { "00" }
 ,  /* Indian/Mauritius */ :array {
     :intvector { -1988164200 }
     :intvector { 14400, 0 }
     :bin { "00" }
-  } //Z#482
+  } //Z#485
 ,  /* Indian/Mayotte */ :array {
     :intvector { -1846292456 }
     :intvector { 10800, 0 }
     :bin { "00" }
 ,  /* Indian/Mayotte */ :array {
     :intvector { -1846292456 }
     :intvector { 10800, 0 }
     :bin { "00" }
-  } //Z#483
+  } //Z#486
 ,  /* Indian/Reunion */ :array {
     :intvector { -1848886912 }
     :intvector { 14400, 0 }
     :bin { "00" }
 ,  /* Indian/Reunion */ :array {
     :intvector { -1848886912 }
     :intvector { 14400, 0 }
     :bin { "00" }
-  } //Z#484
-,  /* Iran */ :int { 288 } //Z#485
-,  /* Israel */ :int { 249 } //Z#486
-,  /* JST */ :int { 292 } //Z#487
-,  /* Jamaica */ :int { 134 } //Z#488
-,  /* Japan */ :int { 292 } //Z#489
-,  /* Kwajalein */ :int { 530 } //Z#490
-,  /* Libya */ :int { 55 } //Z#491
+  } //Z#487
+,  /* Iran */ :int { 291 } //Z#488
+,  /* Israel */ :int { 252 } //Z#489
+,  /* JST */ :int { 295 } //Z#490
+,  /* Jamaica */ :int { 136 } //Z#491
+,  /* Japan */ :int { 295 } //Z#492
+,  /* Kwajalein */ :int { 533 } //Z#493
+,  /* Libya */ :int { 55 } //Z#494
 ,  /* MET */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "C-Eur"
     :intvector { 3600, 1996 }
 ,  /* MET */ :array {
     :intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 3600, 0, 3600, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "C-Eur"
     :intvector { 3600, 1996 }
-  } //Z#492
-,  /* MIT */ :int { 513 } //Z#493
+  } //Z#495
+,  /* MIT */ :int { 516 } //Z#496
 ,  /* MST */ :array {
     :intvector {  }
     :intvector { -25200, 0 }
     :bin { "" }
 ,  /* MST */ :array {
     :intvector {  }
     :intvector { -25200, 0 }
     :bin { "" }
-  } //Z#494
+  } //Z#497
 ,  /* MST7MDT */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
     :intvector { -25200, 0, -25200, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -25200, 2007 }
 ,  /* MST7MDT */ :array {
     :intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -769395600, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800 }
     :intvector { -25200, 0, -25200, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -25200, 2007 }
-  } //Z#495
-,  /* Mexico/BajaNorte */ :int { 195 } //Z#496
-,  /* Mexico/BajaSur */ :int { 148 } //Z#497
-,  /* Mexico/General */ :int { 152 } //Z#498
-,  /* Mideast/Riyadh87 */ :int { 276 } //Z#499
-,  /* Mideast/Riyadh88 */ :int { 277 } //Z#500
-,  /* Mideast/Riyadh89 */ :int { 278 } //Z#501
-,  /* NET */ :int { 301 } //Z#502
-,  /* NST */ :int { 514 } //Z#503
-,  /* NZ */ :int { 514 } //Z#504
-,  /* NZ-CHAT */ :int { 515 } //Z#505
-,  /* Navajo */ :int { 104 } //Z#506
-,  /* PLT */ :int { 252 } //Z#507
-,  /* PNT */ :int { 169 } //Z#508
-,  /* PRC */ :int { 283 } //Z#509
-,  /* PRT */ :int { 174 } //Z#510
-,  /* PST */ :int { 142 } //Z#511
+  } //Z#498
+,  /* Mexico/BajaNorte */ :int { 198 } //Z#499
+,  /* Mexico/BajaSur */ :int { 150 } //Z#500
+,  /* Mexico/General */ :int { 154 } //Z#501
+,  /* Mideast/Riyadh87 */ :int { 279 } //Z#502
+,  /* Mideast/Riyadh88 */ :int { 280 } //Z#503
+,  /* Mideast/Riyadh89 */ :int { 281 } //Z#504
+,  /* NET */ :int { 304 } //Z#505
+,  /* NST */ :int { 517 } //Z#506
+,  /* NZ */ :int { 517 } //Z#507
+,  /* NZ-CHAT */ :int { 518 } //Z#508
+,  /* Navajo */ :int { 104 } //Z#509
+,  /* PLT */ :int { 255 } //Z#510
+,  /* PNT */ :int { 171 } //Z#511
+,  /* PRC */ :int { 286 } //Z#512
+,  /* PRT */ :int { 176 } //Z#513
+,  /* PST */ :int { 144 } //Z#514
 ,  /* PST8PDT */ :array {
     :intvector { -1633269600, -1615129200, -1601820000, -1583679600, -880207200, -769395600, -765385200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -28800, 2007 }
 ,  /* PST8PDT */ :array {
     :intvector { -1633269600, -1615129200, -1601820000, -1583679600, -880207200, -769395600, -765385200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400 }
     :intvector { -28800, 0, -28800, 3600 }
     :bin { "010001000101000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "US"
     :intvector { -28800, 2007 }
-  } //Z#512
+  } //Z#515
 ,  /* Pacific/Apia */ :array {
     :intvector { -1861878784, -631110600 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "0001" }
 ,  /* Pacific/Apia */ :array {
     :intvector { -1861878784, -631110600 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "0001" }
-    :intvector { 493, 513 }
-  } //Z#513
+    :intvector { 496, 516 }
+  } //Z#516
 ,  /* Pacific/Auckland */ :array {
 ,  /* Pacific/Auckland */ :array {
-    :intvector { -1330335000, -1320057000, -1300699800, -1287396000, -1269250200, -1255946400, -1237800600, -1224496800, -1206351000, -1192442400, -1174901400, -1160992800, -1143451800, -1125914400, -1112607000, -1094464800, -1081157400, -1063015200, -1049707800, -1031565600, -1018258200, -1000116000, -986808600, -968061600, -955359000, -936612000, -923304600, -757425600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000 }
+    :intvector { -1330335000, -1320057000, -1300699800, -1287396000, -1269250200, -1255946400, -1237800600, -1224496800, -1206351000, -1192442400, -1174901400, -1160992800, -1143451800, -1125914400, -1112607000, -1094464800, -1081157400, -1063015200, -1049707800, -1031565600, -1018258200, -1000116000, -986808600, -968061600, -955359000, -936612000, -923304600, -757425600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400 }
     :intvector { 41400, 0, 41400, 1800, 41400, 3600, 43200, 0, 43200, 3600 }
     :intvector { 41400, 0, 41400, 1800, 41400, 3600, 43200, 0, 43200, 3600 }
-    :bin { "0200010001000100010001000100010001000100010001000100010304030403040304030403040304030403040304030403040304030403040304" }
+    :bin { "0200010001000100010001000100010001000100010001000100010304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304" }
     "NZ"
     "NZ"
-    :intvector { 43200, 1990 }
-    :intvector { 503, 504, 514 }
-  } //Z#514
+    :intvector { 43200, 2008 }
+    :intvector { 506, 507, 517 }
+  } //Z#517
 ,  /* Pacific/Chatham */ :array {
 ,  /* Pacific/Chatham */ :array {
-    :intvector { -410271228, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000 }
+    :intvector { -410271228, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400 }
     :intvector { 45900, 0, 45900, 3600 }
     :intvector { 45900, 0, 45900, 3600 }
-    :bin { "0001000100010001000100010001000100010001000100010001000100010001" }
+    :bin { "0001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001" }
     "Chatham"
     "Chatham"
-    :intvector { 45900, 1990 }
-    :intvector { 505, 515 }
-  } //Z#515
+    :intvector { 45900, 2008 }
+    :intvector { 508, 518 }
+  } //Z#518
 ,  /* Pacific/Easter */ :array {
 ,  /* Pacific/Easter */ :array {
-    :intvector { -1178124136, -870552000, -865278000, -736376400, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
+    :intvector { -1178124152, -870552000, -865278000, -736376400, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001020302030203020302030203020302030203020302030203020302030203020302030203" }
     "Chile"
     :intvector { -21600, 2000 }
     :intvector { -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
     :bin { "01000100010001000100010001000100010001000100010001000100010001020302030203020302030203020302030203020302030203020302030203020302030203" }
     "Chile"
     :intvector { -21600, 2000 }
-    :intvector { 359, 516 }
-  } //Z#516
+    :intvector { 362, 519 }
+  } //Z#519
 ,  /* Pacific/Efate */ :array {
     :intvector { -1829387596, 433256400, 448977600, 467298000, 480427200, 496760400, 511876800, 528210000, 543931200, 559659600, 575380800, 591109200, 606830400, 622558800, 638280000, 654008400, 669729600, 686062800, 696340800, 719931600, 727790400 }
     :intvector { 39600, 0, 39600, 3600 }
     :bin { "000100010001000100010001000100010001000100" }
 ,  /* Pacific/Efate */ :array {
     :intvector { -1829387596, 433256400, 448977600, 467298000, 480427200, 496760400, 511876800, 528210000, 543931200, 559659600, 575380800, 591109200, 606830400, 622558800, 638280000, 654008400, 669729600, 686062800, 696340800, 719931600, 727790400 }
     :intvector { 39600, 0, 39600, 3600 }
     :bin { "000100010001000100010001000100010001000100" }
-  } //Z#517
+  } //Z#520
 ,  /* Pacific/Enderbury */ :array {
     :intvector { 307627200, 788958000 }
     :intvector { -39600, 0, 46800, 0 }
     :bin { "0001" }
 ,  /* Pacific/Enderbury */ :array {
     :intvector { 307627200, 788958000 }
     :intvector { -39600, 0, 46800, 0 }
     :bin { "0001" }
-  } //Z#518
+  } //Z#521
 ,  /* Pacific/Fakaofo */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
 ,  /* Pacific/Fakaofo */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
-  } //Z#519
+  } //Z#522
 ,  /* Pacific/Fiji */ :array {
     :intvector { -1709985220, 909842400, 920124000, 941896800, 951573600 }
     :intvector { 43200, 0, 43200, 3600 }
     :bin { "0001000100" }
 ,  /* Pacific/Fiji */ :array {
     :intvector { -1709985220, 909842400, 920124000, 941896800, 951573600 }
     :intvector { 43200, 0, 43200, 3600 }
     :bin { "0001000100" }
-  } //Z#520
+  } //Z#523
 ,  /* Pacific/Funafuti */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
 ,  /* Pacific/Funafuti */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
-  } //Z#521
+  } //Z#524
 ,  /* Pacific/Galapagos */ :array {
     :intvector { -1230746496, 504939600 }
     :intvector { -21600, 0, -18000, 0 }
     :bin { "0100" }
 ,  /* Pacific/Galapagos */ :array {
     :intvector { -1230746496, 504939600 }
     :intvector { -21600, 0, -18000, 0 }
     :bin { "0100" }
-  } //Z#522
+  } //Z#525
 ,  /* Pacific/Gambier */ :array {
     :intvector { -1806678012 }
     :intvector { -32400, 0 }
     :bin { "00" }
 ,  /* Pacific/Gambier */ :array {
     :intvector { -1806678012 }
     :intvector { -32400, 0 }
     :bin { "00" }
-  } //Z#523
+  } //Z#526
 ,  /* Pacific/Guadalcanal */ :array {
     :intvector { -1806748788 }
     :intvector { 39600, 0 }
     :bin { "00" }
 ,  /* Pacific/Guadalcanal */ :array {
     :intvector { -1806748788 }
     :intvector { 39600, 0 }
     :bin { "00" }
-    :intvector { 524, 557 }
-  } //Z#524
+    :intvector { 527, 560 }
+  } //Z#527
 ,  /* Pacific/Guam */ :array {
     :intvector { 977493600 }
     :intvector { 36000, 0 }
     :bin { "00" }
 ,  /* Pacific/Guam */ :array {
     :intvector { 977493600 }
     :intvector { 36000, 0 }
     :bin { "00" }
-  } //Z#525
+  } //Z#528
 ,  /* Pacific/Honolulu */ :array {
     :intvector { -1157283000, -1155472200, -880198200, -769395600, -765376200, -712150200 }
     :intvector { -37800, 0, -37800, 3600, -36000, 0 }
     :bin { "010001010002" }
 ,  /* Pacific/Honolulu */ :array {
     :intvector { -1157283000, -1155472200, -880198200, -769395600, -765376200, -712150200 }
     :intvector { -37800, 0, -37800, 3600, -36000, 0 }
     :bin { "010001010002" }
-    :intvector { 469, 526, 567 }
-  } //Z#526
+    :intvector { 472, 529, 570 }
+  } //Z#529
 ,  /* Pacific/Johnston */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
 ,  /* Pacific/Johnston */ :array {
     :intvector {  }
     :intvector { -36000, 0 }
     :bin { "" }
-  } //Z#527
+  } //Z#530
 ,  /* Pacific/Kiritimati */ :array {
     :intvector { 307622400, 788954400 }
     :intvector { -36000, 0, 50400, 0 }
     :bin { "0001" }
 ,  /* Pacific/Kiritimati */ :array {
     :intvector { 307622400, 788954400 }
     :intvector { -36000, 0, 50400, 0 }
     :bin { "0001" }
-  } //Z#528
+  } //Z#531
 ,  /* Pacific/Kosrae */ :array {
     :intvector { -7988400, 915105600 }
     :intvector { 39600, 0, 43200, 0 }
     :bin { "0100" }
 ,  /* Pacific/Kosrae */ :array {
     :intvector { -7988400, 915105600 }
     :intvector { 39600, 0, 43200, 0 }
     :bin { "0100" }
-  } //Z#529
+  } //Z#532
 ,  /* Pacific/Kwajalein */ :array {
     :intvector { -7988400, 745848000 }
     :intvector { -43200, 0, 43200, 0 }
     :bin { "0001" }
 ,  /* Pacific/Kwajalein */ :array {
     :intvector { -7988400, 745848000 }
     :intvector { -43200, 0, 43200, 0 }
     :bin { "0001" }
-    :intvector { 490, 530 }
-  } //Z#530
+    :intvector { 493, 533 }
+  } //Z#533
 ,  /* Pacific/Majuro */ :array {
     :intvector { -7988400 }
     :intvector { 43200, 0 }
     :bin { "00" }
 ,  /* Pacific/Majuro */ :array {
     :intvector { -7988400 }
     :intvector { 43200, 0 }
     :bin { "00" }
-  } //Z#531
+  } //Z#534
 ,  /* Pacific/Marquesas */ :array {
     :intvector { -1806676920 }
     :intvector { -34200, 0 }
     :bin { "00" }
 ,  /* Pacific/Marquesas */ :array {
     :intvector { -1806676920 }
     :intvector { -34200, 0 }
     :bin { "00" }
-  } //Z#532
+  } //Z#535
 ,  /* Pacific/Midway */ :array {
     :intvector { -428504400, -420645600, -86878800, 439038000 }
     :intvector { -39600, 0, -39600, 3600 }
     :bin { "01000000" }
 ,  /* Pacific/Midway */ :array {
     :intvector { -428504400, -420645600, -86878800, 439038000 }
     :intvector { -39600, 0, -39600, 3600 }
     :bin { "01000000" }
-  } //Z#533
+  } //Z#536
 ,  /* Pacific/Nauru */ :array {
     :intvector { -1545131260, -877347000, -800960400, 294323400 }
     :intvector { 32400, 0, 41400, 0, 43200, 0 }
     :bin { "01000102" }
 ,  /* Pacific/Nauru */ :array {
     :intvector { -1545131260, -877347000, -800960400, 294323400 }
     :intvector { 32400, 0, 41400, 0, 43200, 0 }
     :bin { "01000102" }
-  } //Z#534
+  } //Z#537
 ,  /* Pacific/Niue */ :array {
     :intvector { -599575200, 276089400 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "0001" }
 ,  /* Pacific/Niue */ :array {
     :intvector { -599575200, 276089400 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "0001" }
-  } //Z#535
+  } //Z#538
 ,  /* Pacific/Norfolk */ :array {
     :intvector { -599656320 }
     :intvector { 41400, 0 }
     :bin { "00" }
 ,  /* Pacific/Norfolk */ :array {
     :intvector { -599656320 }
     :intvector { 41400, 0 }
     :bin { "00" }
-  } //Z#536
+  } //Z#539
 ,  /* Pacific/Noumea */ :array {
     :intvector { -1829387148, 250002000, 257342400, 281451600, 288878400, 849366000, 857228400 }
     :intvector { 39600, 0, 39600, 3600 }
     :bin { "00010001000100" }
 ,  /* Pacific/Noumea */ :array {
     :intvector { -1829387148, 250002000, 257342400, 281451600, 288878400, 849366000, 857228400 }
     :intvector { 39600, 0, 39600, 3600 }
     :bin { "00010001000100" }
-  } //Z#537
+  } //Z#540
 ,  /* Pacific/Pago_Pago */ :array {
     :intvector { -1861879032, -631110600, -86878800, 439038000 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "00010101" }
 ,  /* Pacific/Pago_Pago */ :array {
     :intvector { -1861879032, -631110600, -86878800, 439038000 }
     :intvector { -41400, 0, -39600, 0 }
     :bin { "00010101" }
-    :intvector { 538, 545, 573 }
-  } //Z#538
+    :intvector { 541, 548, 576 }
+  } //Z#541
 ,  /* Pacific/Palau */ :array {
     :intvector {  }
     :intvector { 32400, 0 }
     :bin { "" }
 ,  /* Pacific/Palau */ :array {
     :intvector {  }
     :intvector { 32400, 0 }
     :bin { "" }
-  } //Z#539
+  } //Z#542
 ,  /* Pacific/Pitcairn */ :array {
     :intvector { 893665800 }
     :intvector { -28800, 0 }
     :bin { "00" }
 ,  /* Pacific/Pitcairn */ :array {
     :intvector { 893665800 }
     :intvector { -28800, 0 }
     :bin { "00" }
-  } //Z#540
+  } //Z#543
 ,  /* Pacific/Ponape */ :array {
     :intvector {  }
     :intvector { 39600, 0 }
     :bin { "" }
 ,  /* Pacific/Ponape */ :array {
     :intvector {  }
     :intvector { 39600, 0 }
     :bin { "" }
-  } //Z#541
+  } //Z#544
 ,  /* Pacific/Port_Moresby */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
 ,  /* Pacific/Port_Moresby */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
-  } //Z#542
+  } //Z#545
 ,  /* Pacific/Rarotonga */ :array {
     :intvector { 279714600, 289387800, 309952800, 320837400, 341402400, 352287000, 372852000, 384341400, 404906400, 415791000, 436356000, 447240600, 467805600, 478690200, 499255200, 510139800, 530704800, 541589400, 562154400, 573643800, 594208800, 605093400, 625658400, 636543000, 657108000, 667992600 }
     :intvector { -36000, 0, -36000, 1800 }
     :bin { "0100010001000100010001000100010001000100010001000100" }
 ,  /* Pacific/Rarotonga */ :array {
     :intvector { 279714600, 289387800, 309952800, 320837400, 341402400, 352287000, 372852000, 384341400, 404906400, 415791000, 436356000, 447240600, 467805600, 478690200, 499255200, 510139800, 530704800, 541589400, 562154400, 573643800, 594208800, 605093400, 625658400, 636543000, 657108000, 667992600 }
     :intvector { -36000, 0, -36000, 1800 }
     :bin { "0100010001000100010001000100010001000100010001000100" }
-  } //Z#543
+  } //Z#546
 ,  /* Pacific/Saipan */ :array {
     :intvector { -7981200, 977493600 }
     :intvector { 36000, 0 }
     :bin { "0000" }
 ,  /* Pacific/Saipan */ :array {
     :intvector { -7981200, 977493600 }
     :intvector { 36000, 0 }
     :bin { "0000" }
-  } //Z#544
-,  /* Pacific/Samoa */ :int { 538 } //Z#545
+  } //Z#547
+,  /* Pacific/Samoa */ :int { 541 } //Z#548
 ,  /* Pacific/Tahiti */ :array {
     :intvector { -1806674504 }
     :intvector { -36000, 0 }
     :bin { "00" }
 ,  /* Pacific/Tahiti */ :array {
     :intvector { -1806674504 }
     :intvector { -36000, 0 }
     :bin { "00" }
-  } //Z#546
+  } //Z#549
 ,  /* Pacific/Tarawa */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
 ,  /* Pacific/Tarawa */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
-  } //Z#547
+  } //Z#550
 ,  /* Pacific/Tongatapu */ :array {
     :intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400 }
     :intvector { 46800, 0, 46800, 3600 }
     :bin { "00010001000100" }
 ,  /* Pacific/Tongatapu */ :array {
     :intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400 }
     :intvector { 46800, 0, 46800, 3600 }
     :bin { "00010001000100" }
-  } //Z#548
+  } //Z#551
 ,  /* Pacific/Truk */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
 ,  /* Pacific/Truk */ :array {
     :intvector {  }
     :intvector { 36000, 0 }
     :bin { "" }
-    :intvector { 549, 552 }
-  } //Z#549
+    :intvector { 552, 555 }
+  } //Z#552
 ,  /* Pacific/Wake */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
 ,  /* Pacific/Wake */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
-  } //Z#550
+  } //Z#553
 ,  /* Pacific/Wallis */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
 ,  /* Pacific/Wallis */ :array {
     :intvector {  }
     :intvector { 43200, 0 }
     :bin { "" }
-  } //Z#551
-,  /* Pacific/Yap */ :int { 549 } //Z#552
-,  /* Poland */ :int { 457 } //Z#553
-,  /* Portugal */ :int { 424 } //Z#554
-,  /* ROC */ :int { 285 } //Z#555
-,  /* ROK */ :int { 282 } //Z#556
-,  /* SST */ :int { 524 } //Z#557
-,  /* Singapore */ :int { 284 } //Z#558
-,  /* Turkey */ :int { 420 } //Z#559
-,  /* UCT */ :int { 399 } //Z#560
-,  /* US/Alaska */ :int { 59 } //Z#561
-,  /* US/Aleutian */ :int { 58 } //Z#562
-,  /* US/Arizona */ :int { 169 } //Z#563
-,  /* US/Central */ :int { 94 } //Z#564
-,  /* US/East-Indiana */ :int { 125 } //Z#565
-,  /* US/Eastern */ :int { 160 } //Z#566
-,  /* US/Hawaii */ :int { 526 } //Z#567
-,  /* US/Indiana-Starke */ :int { 126 } //Z#568
-,  /* US/Michigan */ :int { 105 } //Z#569
-,  /* US/Mountain */ :int { 104 } //Z#570
-,  /* US/Pacific */ :int { 142 } //Z#571
-,  /* US/Pacific-New */ :int { 142 } //Z#572
-,  /* US/Samoa */ :int { 538 } //Z#573
-,  /* UTC */ :int { 400 } //Z#574
-,  /* Universal */ :int { 400 } //Z#575
-,  /* VST */ :int { 279 } //Z#576
-,  /* W-SU */ :int { 433 } //Z#577
+  } //Z#554
+,  /* Pacific/Yap */ :int { 552 } //Z#555
+,  /* Poland */ :int { 460 } //Z#556
+,  /* Portugal */ :int { 427 } //Z#557
+,  /* ROC */ :int { 288 } //Z#558
+,  /* ROK */ :int { 285 } //Z#559
+,  /* SST */ :int { 527 } //Z#560
+,  /* Singapore */ :int { 287 } //Z#561
+,  /* Turkey */ :int { 423 } //Z#562
+,  /* UCT */ :int { 402 } //Z#563
+,  /* US/Alaska */ :int { 59 } //Z#564
+,  /* US/Aleutian */ :int { 58 } //Z#565
+,  /* US/Arizona */ :int { 171 } //Z#566
+,  /* US/Central */ :int { 94 } //Z#567
+,  /* US/East-Indiana */ :int { 125 } //Z#568
+,  /* US/Eastern */ :int { 162 } //Z#569
+,  /* US/Hawaii */ :int { 529 } //Z#570
+,  /* US/Indiana-Starke */ :int { 126 } //Z#571
+,  /* US/Michigan */ :int { 105 } //Z#572
+,  /* US/Mountain */ :int { 104 } //Z#573
+,  /* US/Pacific */ :int { 144 } //Z#574
+,  /* US/Pacific-New */ :int { 144 } //Z#575
+,  /* US/Samoa */ :int { 541 } //Z#576
+,  /* UTC */ :int { 403 } //Z#577
+,  /* Universal */ :int { 403 } //Z#578
+,  /* VST */ :int { 282 } //Z#579
+,  /* W-SU */ :int { 436 } //Z#580
 ,  /* WET */ :array {
     :intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
 ,  /* WET */ :array {
     :intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400 }
     :intvector { 0, 0, 0, 3600 }
     :bin { "0100010001000100010001000100010001000100010001000100010001000100010001000100" }
     "EU"
     :intvector { 0, 1996 }
-  } //Z#578
-,  /* Zulu */ :int { 400 } //Z#579
+  } //Z#581
+,  /* Zulu */ :int { 403 } //Z#582
  }
  Names {
     "ACT","AET","AGT","ART","AST","Africa/Abidjan","Africa/Accra" // 6
  }
  Names {
     "ACT","AET","AGT","ART","AST","Africa/Abidjan","Africa/Accra" // 6
@@ -2742,150 +2753,151 @@ zoneinfo {
     ,"America/Guyana","America/Halifax","America/Havana" // 123
     ,"America/Hermosillo","America/Indiana/Indianapolis" // 125
     ,"America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg" // 128
     ,"America/Guyana","America/Halifax","America/Havana" // 123
     ,"America/Hermosillo","America/Indiana/Indianapolis" // 125
     ,"America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg" // 128
-    ,"America/Indiana/Vevay","America/Indiana/Vincennes" // 130
-    ,"America/Indianapolis","America/Inuvik","America/Iqaluit" // 133
-    ,"America/Jamaica","America/Jujuy","America/Juneau" // 136
-    ,"America/Kentucky/Louisville","America/Kentucky/Monticello" // 138
-    ,"America/Knox_IN","America/La_Paz","America/Lima" // 141
-    ,"America/Los_Angeles","America/Louisville","America/Maceio" // 144
-    ,"America/Managua","America/Manaus","America/Martinique" // 147
-    ,"America/Mazatlan","America/Mendoza","America/Menominee" // 150
-    ,"America/Merida","America/Mexico_City","America/Miquelon" // 153
-    ,"America/Moncton","America/Monterrey","America/Montevideo" // 156
-    ,"America/Montreal","America/Montserrat","America/Nassau" // 159
-    ,"America/New_York","America/Nipigon","America/Nome" // 162
-    ,"America/Noronha","America/North_Dakota/Center","America/North_Dakota/New_Salem" // 165
-    ,"America/Panama","America/Pangnirtung","America/Paramaribo" // 168
-    ,"America/Phoenix","America/Port-au-Prince","America/Port_of_Spain" // 171
-    ,"America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico" // 174
-    ,"America/Rainy_River","America/Rankin_Inlet","America/Recife" // 177
-    ,"America/Regina","America/Rio_Branco","America/Rosario" // 180
-    ,"America/Santiago","America/Santo_Domingo","America/Sao_Paulo" // 183
-    ,"America/Scoresbysund","America/Shiprock","America/St_Johns" // 186
-    ,"America/St_Kitts","America/St_Lucia","America/St_Thomas" // 189
-    ,"America/St_Vincent","America/Swift_Current","America/Tegucigalpa" // 192
-    ,"America/Thule","America/Thunder_Bay","America/Tijuana" // 195
-    ,"America/Toronto","America/Tortola","America/Vancouver" // 198
-    ,"America/Virgin","America/Whitehorse","America/Winnipeg" // 201
-    ,"America/Yakutat","America/Yellowknife","Antarctica/Casey" // 204
-    ,"Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Mawson" // 207
-    ,"Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera" // 210
-    ,"Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Vostok" // 213
-    ,"Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman" // 217
-    ,"Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat" // 221
-    ,"Asia/Ashkhabad","Asia/Baghdad","Asia/Bahrain","Asia/Baku" // 225
-    ,"Asia/Bangkok","Asia/Beirut","Asia/Bishkek","Asia/Brunei" // 229
-    ,"Asia/Calcutta","Asia/Choibalsan","Asia/Chongqing" // 232
-    ,"Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus" // 236
-    ,"Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe" // 240
-    ,"Asia/Gaza","Asia/Harbin","Asia/Hong_Kong","Asia/Hovd" // 244
-    ,"Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura" // 248
-    ,"Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi" // 252
-    ,"Asia/Kashgar","Asia/Katmandu","Asia/Krasnoyarsk" // 255
-    ,"Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao" // 259
-    ,"Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila" // 263
-    ,"Asia/Muscat","Asia/Nicosia","Asia/Novosibirsk","Asia/Omsk" // 267
-    ,"Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang" // 271
-    ,"Asia/Qatar","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh" // 275
-    ,"Asia/Riyadh87","Asia/Riyadh88","Asia/Riyadh89","Asia/Saigon" // 279
-    ,"Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai" // 283
-    ,"Asia/Singapore","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi" // 287
-    ,"Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu" // 291
-    ,"Asia/Tokyo","Asia/Ujung_Pandang","Asia/Ulaanbaatar" // 294
-    ,"Asia/Ulan_Bator","Asia/Urumqi","Asia/Vientiane","Asia/Vladivostok" // 298
-    ,"Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan" // 301
-    ,"Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary" // 304
-    ,"Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe" // 307
-    ,"Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik" // 310
-    ,"Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley" // 313
-    ,"Australia/ACT","Australia/Adelaide","Australia/Brisbane" // 316
-    ,"Australia/Broken_Hill","Australia/Canberra","Australia/Currie" // 319
-    ,"Australia/Darwin","Australia/Eucla","Australia/Hobart" // 322
-    ,"Australia/LHI","Australia/Lindeman","Australia/Lord_Howe" // 325
-    ,"Australia/Melbourne","Australia/NSW","Australia/North" // 328
-    ,"Australia/Perth","Australia/Queensland","Australia/South" // 331
-    ,"Australia/Sydney","Australia/Tasmania","Australia/Victoria" // 334
-    ,"Australia/West","Australia/Yancowinna","BET","BST" // 338
-    ,"Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West" // 342
-    ,"CAT","CET","CNT","CST","CST6CDT","CTT","Canada/Atlantic" // 349
-    ,"Canada/Central","Canada/East-Saskatchewan","Canada/Eastern" // 352
-    ,"Canada/Mountain","Canada/Newfoundland","Canada/Pacific" // 355
-    ,"Canada/Saskatchewan","Canada/Yukon","Chile/Continental" // 358
-    ,"Chile/EasterIsland","Cuba","EAT","ECT","EET","EST" // 364
-    ,"EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1" // 370
-    ,"Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2" // 374
-    ,"Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7" // 379
-    ,"Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10" // 384
-    ,"Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14" // 388
-    ,"Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6" // 393
-    ,"Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich" // 398
-    ,"Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam" // 403
-    ,"Europe/Andorra","Europe/Athens","Europe/Belfast" // 406
-    ,"Europe/Belgrade","Europe/Berlin","Europe/Bratislava" // 409
-    ,"Europe/Brussels","Europe/Bucharest","Europe/Budapest" // 412
-    ,"Europe/Chisinau","Europe/Copenhagen","Europe/Dublin" // 415
-    ,"Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki" // 418
-    ,"Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey" // 421
-    ,"Europe/Kaliningrad","Europe/Kiev","Europe/Lisbon" // 424
-    ,"Europe/Ljubljana","Europe/London","Europe/Luxembourg" // 427
-    ,"Europe/Madrid","Europe/Malta","Europe/Mariehamn" // 430
-    ,"Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia" // 434
-    ,"Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague" // 438
-    ,"Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino" // 442
-    ,"Europe/Sarajevo","Europe/Simferopol","Europe/Skopje" // 445
-    ,"Europe/Sofia","Europe/Stockholm","Europe/Tallinn" // 448
-    ,"Europe/Tirane","Europe/Tiraspol","Europe/Uzhgorod" // 451
-    ,"Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius" // 455
-    ,"Europe/Volgograd","Europe/Warsaw","Europe/Zagreb" // 458
-    ,"Europe/Zaporozhye","Europe/Zurich","Factory","GB" // 462
-    ,"GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich" // 468
-    ,"HST","Hongkong","IET","IST","Iceland","Indian/Antananarivo" // 474
-    ,"Indian/Chagos","Indian/Christmas","Indian/Cocos" // 477
-    ,"Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives" // 481
-    ,"Indian/Mauritius","Indian/Mayotte","Indian/Reunion" // 484
-    ,"Iran","Israel","JST","Jamaica","Japan","Kwajalein" // 490
-    ,"Libya","MET","MIT","MST","MST7MDT","Mexico/BajaNorte" // 496
-    ,"Mexico/BajaSur","Mexico/General","Mideast/Riyadh87" // 499
-    ,"Mideast/Riyadh88","Mideast/Riyadh89","NET","NST" // 503
-    ,"NZ","NZ-CHAT","Navajo","PLT","PNT","PRC","PRT","PST" // 511
-    ,"PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Chatham" // 515
-    ,"Pacific/Easter","Pacific/Efate","Pacific/Enderbury" // 518
-    ,"Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti" // 521
-    ,"Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal" // 524
-    ,"Pacific/Guam","Pacific/Honolulu","Pacific/Johnston" // 527
-    ,"Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein" // 530
-    ,"Pacific/Majuro","Pacific/Marquesas","Pacific/Midway" // 533
-    ,"Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 537
-    ,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 540
-    ,"Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga" // 543
-    ,"Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti" // 546
-    ,"Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk" // 549
-    ,"Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland" // 553
-    ,"Portugal","ROC","ROK","SST","Singapore","Turkey" // 559
-    ,"UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central" // 564
-    ,"US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke" // 568
-    ,"US/Michigan","US/Mountain","US/Pacific","US/Pacific-New" // 572
-    ,"US/Samoa","UTC","Universal","VST","W-SU","WET","Zulu" // 579
-     // 579
+    ,"America/Indiana/Tell_City","America/Indiana/Vevay" // 130
+    ,"America/Indiana/Vincennes","America/Indiana/Winamac" // 132
+    ,"America/Indianapolis","America/Inuvik","America/Iqaluit" // 135
+    ,"America/Jamaica","America/Jujuy","America/Juneau" // 138
+    ,"America/Kentucky/Louisville","America/Kentucky/Monticello" // 140
+    ,"America/Knox_IN","America/La_Paz","America/Lima" // 143
+    ,"America/Los_Angeles","America/Louisville","America/Maceio" // 146
+    ,"America/Managua","America/Manaus","America/Martinique" // 149
+    ,"America/Mazatlan","America/Mendoza","America/Menominee" // 152
+    ,"America/Merida","America/Mexico_City","America/Miquelon" // 155
+    ,"America/Moncton","America/Monterrey","America/Montevideo" // 158
+    ,"America/Montreal","America/Montserrat","America/Nassau" // 161
+    ,"America/New_York","America/Nipigon","America/Nome" // 164
+    ,"America/Noronha","America/North_Dakota/Center","America/North_Dakota/New_Salem" // 167
+    ,"America/Panama","America/Pangnirtung","America/Paramaribo" // 170
+    ,"America/Phoenix","America/Port-au-Prince","America/Port_of_Spain" // 173
+    ,"America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico" // 176
+    ,"America/Rainy_River","America/Rankin_Inlet","America/Recife" // 179
+    ,"America/Regina","America/Resolute","America/Rio_Branco" // 182
+    ,"America/Rosario","America/Santiago","America/Santo_Domingo" // 185
+    ,"America/Sao_Paulo","America/Scoresbysund","America/Shiprock" // 188
+    ,"America/St_Johns","America/St_Kitts","America/St_Lucia" // 191
+    ,"America/St_Thomas","America/St_Vincent","America/Swift_Current" // 194
+    ,"America/Tegucigalpa","America/Thule","America/Thunder_Bay" // 197
+    ,"America/Tijuana","America/Toronto","America/Tortola" // 200
+    ,"America/Vancouver","America/Virgin","America/Whitehorse" // 203
+    ,"America/Winnipeg","America/Yakutat","America/Yellowknife" // 206
+    ,"Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville" // 209
+    ,"Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer" // 212
+    ,"Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa" // 215
+    ,"Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden" // 218
+    ,"Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau" // 222
+    ,"Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Baghdad" // 226
+    ,"Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Beirut" // 230
+    ,"Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Choibalsan" // 234
+    ,"Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca" // 238
+    ,"Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai" // 242
+    ,"Asia/Dushanbe","Asia/Gaza","Asia/Harbin","Asia/Hong_Kong" // 246
+    ,"Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta" // 250
+    ,"Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka" // 254
+    ,"Asia/Karachi","Asia/Kashgar","Asia/Katmandu","Asia/Krasnoyarsk" // 258
+    ,"Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao" // 262
+    ,"Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila" // 266
+    ,"Asia/Muscat","Asia/Nicosia","Asia/Novosibirsk","Asia/Omsk" // 270
+    ,"Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang" // 274
+    ,"Asia/Qatar","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh" // 278
+    ,"Asia/Riyadh87","Asia/Riyadh88","Asia/Riyadh89","Asia/Saigon" // 282
+    ,"Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai" // 286
+    ,"Asia/Singapore","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi" // 290
+    ,"Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu" // 294
+    ,"Asia/Tokyo","Asia/Ujung_Pandang","Asia/Ulaanbaatar" // 297
+    ,"Asia/Ulan_Bator","Asia/Urumqi","Asia/Vientiane","Asia/Vladivostok" // 301
+    ,"Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan" // 304
+    ,"Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary" // 307
+    ,"Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe" // 310
+    ,"Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik" // 313
+    ,"Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley" // 316
+    ,"Australia/ACT","Australia/Adelaide","Australia/Brisbane" // 319
+    ,"Australia/Broken_Hill","Australia/Canberra","Australia/Currie" // 322
+    ,"Australia/Darwin","Australia/Eucla","Australia/Hobart" // 325
+    ,"Australia/LHI","Australia/Lindeman","Australia/Lord_Howe" // 328
+    ,"Australia/Melbourne","Australia/NSW","Australia/North" // 331
+    ,"Australia/Perth","Australia/Queensland","Australia/South" // 334
+    ,"Australia/Sydney","Australia/Tasmania","Australia/Victoria" // 337
+    ,"Australia/West","Australia/Yancowinna","BET","BST" // 341
+    ,"Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West" // 345
+    ,"CAT","CET","CNT","CST","CST6CDT","CTT","Canada/Atlantic" // 352
+    ,"Canada/Central","Canada/East-Saskatchewan","Canada/Eastern" // 355
+    ,"Canada/Mountain","Canada/Newfoundland","Canada/Pacific" // 358
+    ,"Canada/Saskatchewan","Canada/Yukon","Chile/Continental" // 361
+    ,"Chile/EasterIsland","Cuba","EAT","ECT","EET","EST" // 367
+    ,"EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1" // 373
+    ,"Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2" // 377
+    ,"Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7" // 382
+    ,"Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10" // 387
+    ,"Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14" // 391
+    ,"Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6" // 396
+    ,"Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich" // 401
+    ,"Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam" // 406
+    ,"Europe/Andorra","Europe/Athens","Europe/Belfast" // 409
+    ,"Europe/Belgrade","Europe/Berlin","Europe/Bratislava" // 412
+    ,"Europe/Brussels","Europe/Bucharest","Europe/Budapest" // 415
+    ,"Europe/Chisinau","Europe/Copenhagen","Europe/Dublin" // 418
+    ,"Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki" // 421
+    ,"Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey" // 424
+    ,"Europe/Kaliningrad","Europe/Kiev","Europe/Lisbon" // 427
+    ,"Europe/Ljubljana","Europe/London","Europe/Luxembourg" // 430
+    ,"Europe/Madrid","Europe/Malta","Europe/Mariehamn" // 433
+    ,"Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia" // 437
+    ,"Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague" // 441
+    ,"Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino" // 445
+    ,"Europe/Sarajevo","Europe/Simferopol","Europe/Skopje" // 448
+    ,"Europe/Sofia","Europe/Stockholm","Europe/Tallinn" // 451
+    ,"Europe/Tirane","Europe/Tiraspol","Europe/Uzhgorod" // 454
+    ,"Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius" // 458
+    ,"Europe/Volgograd","Europe/Warsaw","Europe/Zagreb" // 461
+    ,"Europe/Zaporozhye","Europe/Zurich","Factory","GB" // 465
+    ,"GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich" // 471
+    ,"HST","Hongkong","IET","IST","Iceland","Indian/Antananarivo" // 477
+    ,"Indian/Chagos","Indian/Christmas","Indian/Cocos" // 480
+    ,"Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives" // 484
+    ,"Indian/Mauritius","Indian/Mayotte","Indian/Reunion" // 487
+    ,"Iran","Israel","JST","Jamaica","Japan","Kwajalein" // 493
+    ,"Libya","MET","MIT","MST","MST7MDT","Mexico/BajaNorte" // 499
+    ,"Mexico/BajaSur","Mexico/General","Mideast/Riyadh87" // 502
+    ,"Mideast/Riyadh88","Mideast/Riyadh89","NET","NST" // 506
+    ,"NZ","NZ-CHAT","Navajo","PLT","PNT","PRC","PRT","PST" // 514
+    ,"PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Chatham" // 518
+    ,"Pacific/Easter","Pacific/Efate","Pacific/Enderbury" // 521
+    ,"Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti" // 524
+    ,"Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal" // 527
+    ,"Pacific/Guam","Pacific/Honolulu","Pacific/Johnston" // 530
+    ,"Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein" // 533
+    ,"Pacific/Majuro","Pacific/Marquesas","Pacific/Midway" // 536
+    ,"Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 540
+    ,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 543
+    ,"Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga" // 546
+    ,"Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti" // 549
+    ,"Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk" // 552
+    ,"Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland" // 556
+    ,"Portugal","ROC","ROK","SST","Singapore","Turkey" // 562
+    ,"UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central" // 567
+    ,"US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke" // 571
+    ,"US/Michigan","US/Mountain","US/Pacific","US/Pacific-New" // 575
+    ,"US/Samoa","UTC","Universal","VST","W-SU","WET","Zulu" // 582
+     // 582
  }
  Rules { 
   AN:intvector {
  }
  Rules { 
   AN:intvector {
-    9, -31, -1, 7200, 1, 2, -31, -1, 7200, 1, 3600
+    9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#0
   AS:intvector {
   } //_#0
   AS:intvector {
-    9, -31, -1, 7200, 1, 2, -31, -1, 7200, 1, 3600
+    9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#1
   AT:intvector {
   } //_#1
   AT:intvector {
-    9, 1, -1, 7200, 1, 2, -31, -1, 7200, 1, 3600
+    9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#2
   AV:intvector {
   } //_#2
   AV:intvector {
-    9, -31, -1, 7200, 1, 2, -31, -1, 7200, 1, 3600
+    9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#3
   Azer:intvector {
     2, -31, -1, 14400, 0, 9, -31, -1, 18000, 0, 3600
   } //_#4
   Brazil:intvector {
   } //_#3
   Azer:intvector {
     2, -31, -1, 14400, 0, 9, -31, -1, 18000, 0, 3600
   } //_#4
   Brazil:intvector {
-    10, 1, -1, 0, 0, 1, -29, -1, 0, 0, 3600
+    9, 8, -1, 0, 0, 1, 15, -1, 0, 0, 3600
   } //_#5
   C-Eur:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
   } //_#5
   C-Eur:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
@@ -2894,7 +2906,7 @@ zoneinfo {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   } //_#7
   Chatham:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   } //_#7
   Chatham:intvector {
-    9, 1, -1, 9900, 1, 2, 15, -1, 9900, 1, 3600
+    8, -30, -1, 9900, 1, 3, 1, -1, 9900, 1, 3600
   } //_#8
   Chile:intvector {
     9, 9, -1, 14400, 2, 2, 9, -1, 10800, 2, 3600
   } //_#8
   Chile:intvector {
     9, 9, -1, 14400, 2, 2, 9, -1, 10800, 2, 3600
@@ -2903,7 +2915,7 @@ zoneinfo {
     9, 9, -1, 14400, 2, 2, 9, -1, 10800, 2, 3600
   } //_#10
   Cuba:intvector {
     9, 9, -1, 14400, 2, 2, 9, -1, 10800, 2, 3600
   } //_#10
   Cuba:intvector {
-    3, 1, -1, 0, 1, 9, -31, -1, 0, 1, 3600
+    2, 8, -1, 0, 1, 10, 1, -1, 0, 1, 3600
   } //_#11
   EU:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#11
   EU:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
@@ -2912,318 +2924,312 @@ zoneinfo {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#13
   Egypt:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#13
   Egypt:intvector {
-    3, -30, -6, 0, 1, 8, -30, -5, 82800, 1, 3600
+    3, -30, -6, 0, 1, 7, -31, -5, 82800, 1, 3600
   } //_#14
   Falk:intvector {
     8, 1, -1, 7200, 0, 3, 15, -1, 7200, 0, 3600
   } //_#15
   } //_#14
   Falk:intvector {
     8, 1, -1, 7200, 0, 3, 15, -1, 7200, 0, 3600
   } //_#15
-  Haiti:intvector {
-    3, 1, -1, 0, 0, 9, -31, -1, 0, 0, 3600
-  } //_#16
   Iraq:intvector {
     3, 1, 0, 10800, 1, 9, 1, 0, 10800, 1, 3600
   Iraq:intvector {
     3, 1, 0, 10800, 1, 9, 1, 0, 10800, 1, 3600
-  } //_#17
+  } //_#16
   Jordan:intvector {
     2, -31, -5, 0, 1, 9, -31, -6, 0, 1, 3600
   Jordan:intvector {
     2, -31, -5, 0, 1, 9, -31, -6, 0, 1, 3600
-  } //_#18
+  } //_#17
   LH:intvector {
   LH:intvector {
-    9, -31, -1, 7200, 0, 2, -31, -1, 7200, 0, 1800
-  } //_#19
+    9, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 1800
+  } //_#18
   Lebanon:intvector {
     2, -31, -1, 0, 0, 9, -31, -1, 0, 0, 3600
   Lebanon:intvector {
     2, -31, -1, 0, 0, 9, -31, -1, 0, 0, 3600
-  } //_#20
+  } //_#19
   Mexico:intvector {
     3, 1, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
   Mexico:intvector {
     3, 1, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#21
-  Mongol:intvector {
-    2, -31, -7, 7200, 0, 8, -30, -7, 7200, 0, 3600
-  } //_#22
+  } //_#20
   NZ:intvector {
   NZ:intvector {
-    9, 1, -1, 7200, 1, 2, 15, -1, 7200, 1, 3600
-  } //_#23
+    8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
+  } //_#21
   NZAQ:intvector {
   NZAQ:intvector {
-    9, 1, -1, 7200, 1, 2, 15, -1, 7200, 1, 3600
-  } //_#24
+    8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
+  } //_#22
   Namibia:intvector {
     8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600
   Namibia:intvector {
     8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600
-  } //_#25
+  } //_#23
   Palestine:intvector {
   Palestine:intvector {
-    3, 1, 0, 0, 0, 9, 15, -6, 0, 0, 3600
-  } //_#26
+    3, 1, 0, 0, 0, 8, 8, -5, 7200, 0, 3600
+  } //_#24
   Para:intvector {
     9, 15, -1, 0, 0, 2, 8, -1, 0, 0, 3600
   Para:intvector {
     9, 15, -1, 0, 0, 2, 8, -1, 0, 0, 3600
-  } //_#27
+  } //_#25
   Russia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
   Russia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
-  } //_#28
+  } //_#26
   RussiaAsia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
   RussiaAsia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
-  } //_#29
+  } //_#27
   StJohns:intvector {
     2, 8, -1, 60, 0, 10, 1, -1, 60, 0, 3600
   StJohns:intvector {
     2, 8, -1, 60, 0, 10, 1, -1, 60, 0, 3600
-  } //_#30
+  } //_#28
   Syria:intvector {
   Syria:intvector {
-    3, 1, 0, 0, 0, 9, 1, 0, 0, 0, 3600
-  } //_#31
+    2, -31, -6, 0, 0, 9, 1, 0, 0, 0, 3600
+  } //_#29
   TC:intvector {
   TC:intvector {
-    3, 1, -1, 0, 0, 9, -31, -1, 0, 0, 3600
-  } //_#32
+    2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
+  } //_#30
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#33
+  } //_#31
   Tunisia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
   Tunisia:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
-  } //_#34
+  } //_#32
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#35
+  } //_#33
   Uruguay:intvector {
     9, 1, -1, 7200, 0, 2, 8, -1, 7200, 0, 3600
   Uruguay:intvector {
     9, 1, -1, 7200, 0, 2, 8, -1, 7200, 0, 3600
-  } //_#36
+  } //_#34
  }
  Regions { 
  }
  Regions { 
-  Default:intvector { 276, 277, 278, 344, 347, 363, 364, 365, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 461, 464, 465, 466, 467, 468, 492, 494, 495, 499, 500, 501, 512, 560, 574, 575, 578, 579 } //R#0
-  AD:intvector { 404 } //R#1
-  AE:intvector { 239 } //R#2
-  AF:intvector { 250 } //R#3
+  Default:intvector { 279, 280, 281, 347, 350, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 464, 467, 468, 469, 470, 471, 495, 497, 498, 502, 503, 504, 515, 563, 577, 578, 581, 582 } //R#0
+  AD:intvector { 407 } //R#1
+  AE:intvector { 242 } //R#2
+  AF:intvector { 253 } //R#3
   AG:intvector { 61 } //R#4
   AI:intvector { 60 } //R#5
   AG:intvector { 61 } //R#4
   AI:intvector { 60 } //R#5
-  AL:intvector { 449 } //R#6
-  AM:intvector { 301, 502 } //R#7
+  AL:intvector { 452 } //R#6
+  AM:intvector { 304, 505 } //R#7
   AN:intvector { 100 } //R#8
   AO:intvector { 38 } //R#9
   AN:intvector { 100 } //R#8
   AO:intvector { 38 } //R#9
-  AQ:intvector { 204, 205, 206, 207, 208, 209, 210, 211, 212, 213 } //R#10
-  AR:intvector { 2, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 86, 91, 97, 135, 149, 180 } //R#11
-  AS:intvector { 538, 545, 573 } //R#12
-  AT:intvector { 454 } //R#13
-  AU:intvector { 0, 1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336 } //R#14
+  AQ:intvector { 207, 208, 209, 210, 211, 212, 213, 214, 215, 216 } //R#10
+  AR:intvector { 2, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 86, 91, 97, 137, 151, 183 } //R#11
+  AS:intvector { 541, 548, 576 } //R#12
+  AT:intvector { 457 } //R#13
+  AU:intvector { 0, 1, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339 } //R#14
   AW:intvector { 74 } //R#15
   AW:intvector { 74 } //R#15
-  AX:intvector { 430 } //R#16
-  AZ:intvector { 225 } //R#17
-  BA:intvector { 443 } //R#18
+  AX:intvector { 433 } //R#16
+  AZ:intvector { 228 } //R#17
+  BA:intvector { 446 } //R#18
   BB:intvector { 79 } //R#19
   BB:intvector { 79 } //R#19
-  BD:intvector { 235, 237, 338 } //R#20
-  BE:intvector { 410 } //R#21
+  BD:intvector { 238, 240, 341 } //R#20
+  BE:intvector { 413 } //R#21
   BF:intvector { 51 } //R#22
   BF:intvector { 51 } //R#22
-  BG:intvector { 446 } //R#23
-  BH:intvector { 224 } //R#24
+  BG:intvector { 449 } //R#23
+  BH:intvector { 227 } //R#24
   BI:intvector { 17 } //R#25
   BJ:intvector { 52 } //R#26
   BI:intvector { 17 } //R#25
   BJ:intvector { 52 } //R#26
-  BM:intvector { 303 } //R#27
-  BN:intvector { 229 } //R#28
-  BO:intvector { 140 } //R#29
-  BR:intvector { 62, 78, 80, 83, 88, 99, 108, 112, 144, 146, 163, 172, 173, 177, 179, 183, 337, 339, 340, 341, 342 } //R#30
-  BS:intvector { 159 } //R#31
-  BT:intvector { 290, 291 } //R#32
+  BM:intvector { 306 } //R#27
+  BN:intvector { 232 } //R#28
+  BO:intvector { 142 } //R#29
+  BR:intvector { 62, 78, 80, 83, 88, 99, 108, 112, 146, 148, 165, 174, 175, 179, 182, 186, 340, 342, 343, 344, 345 } //R#30
+  BS:intvector { 161 } //R#31
+  BT:intvector { 293, 294 } //R#32
   BW:intvector { 28 } //R#33
   BW:intvector { 28 } //R#33
-  BY:intvector { 431 } //R#34
+  BY:intvector { 434 } //R#34
   BZ:intvector { 81 } //R#35
   BZ:intvector { 81 } //R#35
-  CA:intvector { 76, 82, 87, 96, 102, 103, 107, 113, 115, 122, 132, 133, 154, 157, 161, 167, 175, 176, 178, 186, 191, 194, 196, 198, 200, 201, 203, 345, 349, 350, 351, 352, 353, 354, 355, 356, 357 } //R#36
-  CC:intvector { 477 } //R#37
+  CA:intvector { 76, 82, 87, 96, 102, 103, 107, 113, 115, 122, 134, 135, 156, 159, 163, 169, 177, 178, 180, 181, 189, 194, 197, 199, 201, 203, 204, 206, 348, 352, 353, 354, 355, 356, 357, 358, 359, 360 } //R#36
+  CC:intvector { 480 } //R#37
   CD:intvector { 34, 39 } //R#38
   CF:intvector { 12 } //R#39
   CG:intvector { 16 } //R#40
   CD:intvector { 34, 39 } //R#38
   CF:intvector { 12 } //R#39
   CG:intvector { 16 } //R#40
-  CH:intvector { 460 } //R#41
+  CH:intvector { 463 } //R#41
   CI:intvector { 5 } //R#42
   CI:intvector { 5 } //R#42
-  CK:intvector { 543 } //R#43
-  CL:intvector { 181, 358, 359, 516 } //R#44
+  CK:intvector { 546 } //R#43
+  CL:intvector { 184, 361, 362, 519 } //R#44
   CM:intvector { 25 } //R#45
   CM:intvector { 25 } //R#45
-  CN:intvector { 232, 233, 242, 253, 283, 296, 348, 509 } //R#46
+  CN:intvector { 235, 236, 245, 256, 286, 299, 351, 512 } //R#46
   CO:intvector { 84 } //R#47
   CR:intvector { 98 } //R#48
   CO:intvector { 84 } //R#47
   CR:intvector { 98 } //R#48
-  CU:intvector { 123, 360 } //R#49
-  CV:intvector { 305 } //R#50
-  CX:intvector { 476 } //R#51
-  CY:intvector { 265, 434 } //R#52
-  CZ:intvector { 438 } //R#53
-  DE:intvector { 408 } //R#54
+  CU:intvector { 123, 363 } //R#49
+  CV:intvector { 308 } //R#50
+  CX:intvector { 479 } //R#51
+  CY:intvector { 268, 437 } //R#52
+  CZ:intvector { 441 } //R#53
+  DE:intvector { 411 } //R#54
   DJ:intvector { 24 } //R#55
   DJ:intvector { 24 } //R#55
-  DK:intvector { 414 } //R#56
+  DK:intvector { 417 } //R#56
   DM:intvector { 106 } //R#57
   DM:intvector { 106 } //R#57
-  DO:intvector { 182 } //R#58
+  DO:intvector { 185 } //R#58
   DZ:intvector { 8 } //R#59
   DZ:intvector { 8 } //R#59
-  EC:intvector { 120, 522 } //R#60
-  EE:intvector { 448 } //R#61
-  EG:intvector { 3, 18, 366 } //R#62
+  EC:intvector { 120, 525 } //R#60
+  EE:intvector { 451 } //R#61
+  EG:intvector { 3, 18, 369 } //R#62
   EH:intvector { 26 } //R#63
   ER:intvector { 9, 10 } //R#64
   EH:intvector { 26 } //R#63
   ER:intvector { 9, 10 } //R#64
-  ES:intvector { 20, 304, 428 } //R#65
-  ET:intvector { 7, 361 } //R#66
-  FI:intvector { 418 } //R#67
-  FJ:intvector { 520 } //R#68
-  FK:intvector { 313 } //R#69
-  FM:intvector { 529, 541, 549, 552 } //R#70
-  FO:intvector { 306, 307 } //R#71
-  FR:intvector { 362, 436 } //R#72
+  ES:intvector { 20, 307, 431 } //R#65
+  ET:intvector { 7, 364 } //R#66
+  FI:intvector { 421 } //R#67
+  FJ:intvector { 523 } //R#68
+  FK:intvector { 316 } //R#69
+  FM:intvector { 532, 544, 552, 555 } //R#70
+  FO:intvector { 309, 310 } //R#71
+  FR:intvector { 365, 439 } //R#72
   GA:intvector { 36 } //R#73
   GA:intvector { 36 } //R#73
-  GB:intvector { 406, 426, 462, 463 } //R#74
+  GB:intvector { 409, 429, 465, 466 } //R#74
   GD:intvector { 117 } //R#75
   GD:intvector { 117 } //R#75
-  GE:intvector { 287 } //R#76
+  GE:intvector { 290 } //R#76
   GF:intvector { 92 } //R#77
   GF:intvector { 92 } //R#77
-  GG:intvector { 417 } //R#78
+  GG:intvector { 420 } //R#78
   GH:intvector { 6 } //R#79
   GH:intvector { 6 } //R#79
-  GI:intvector { 416 } //R#80
-  GL:intvector { 101, 114, 184, 193 } //R#81
+  GI:intvector { 419 } //R#80
+  GL:intvector { 101, 114, 187, 196 } //R#81
   GM:intvector { 13 } //R#82
   GN:intvector { 21 } //R#83
   GP:intvector { 118 } //R#84
   GQ:intvector { 41 } //R#85
   GM:intvector { 13 } //R#82
   GN:intvector { 21 } //R#83
   GP:intvector { 118 } //R#84
   GQ:intvector { 41 } //R#85
-  GR:intvector { 405 } //R#86
-  GS:intvector { 311 } //R#87
+  GR:intvector { 408 } //R#86
+  GS:intvector { 314 } //R#87
   GT:intvector { 119 } //R#88
   GT:intvector { 119 } //R#88
-  GU:intvector { 525 } //R#89
+  GU:intvector { 528 } //R#89
   GW:intvector { 14 } //R#90
   GY:intvector { 121 } //R#91
   GW:intvector { 14 } //R#90
   GY:intvector { 121 } //R#91
-  HK:intvector { 243, 470 } //R#92
-  HN:intvector { 192 } //R#93
-  HR:intvector { 458 } //R#94
-  HT:intvector { 170 } //R#95
-  HU:intvector { 412 } //R#96
-  ID:intvector { 247, 248, 262, 270, 293 } //R#97
-  IE:intvector { 367, 415 } //R#98
-  IL:intvector { 249, 289, 486 } //R#99
-  IM:intvector { 419 } //R#100
-  IN:intvector { 230, 472 } //R#101
-  IO:intvector { 475 } //R#102
-  IQ:intvector { 223 } //R#103
-  IR:intvector { 288, 485 } //R#104
-  IS:intvector { 310, 473 } //R#105
-  IT:intvector { 440 } //R#106
-  JE:intvector { 421 } //R#107
-  JM:intvector { 134, 488 } //R#108
-  JO:intvector { 217 } //R#109
-  JP:intvector { 292, 487, 489 } //R#110
+  HK:intvector { 246, 473 } //R#92
+  HN:intvector { 195 } //R#93
+  HR:intvector { 461 } //R#94
+  HT:intvector { 172 } //R#95
+  HU:intvector { 415 } //R#96
+  ID:intvector { 250, 251, 265, 273, 296 } //R#97
+  IE:intvector { 370, 418 } //R#98
+  IL:intvector { 252, 292, 489 } //R#99
+  IM:intvector { 422 } //R#100
+  IN:intvector { 233, 475 } //R#101
+  IO:intvector { 478 } //R#102
+  IQ:intvector { 226 } //R#103
+  IR:intvector { 291, 488 } //R#104
+  IS:intvector { 313, 476 } //R#105
+  IT:intvector { 443 } //R#106
+  JE:intvector { 424 } //R#107
+  JM:intvector { 136, 491 } //R#108
+  JO:intvector { 220 } //R#109
+  JP:intvector { 295, 490, 492 } //R#110
   KE:intvector { 47 } //R#111
   KE:intvector { 47 } //R#111
-  KG:intvector { 228 } //R#112
-  KH:intvector { 269 } //R#113
-  KI:intvector { 518, 528, 547 } //R#114
-  KM:intvector { 478 } //R#115
-  KN:intvector { 187 } //R#116
-  KP:intvector { 271 } //R#117
-  KR:intvector { 282, 556 } //R#118
-  KW:intvector { 258 } //R#119
+  KG:intvector { 231 } //R#112
+  KH:intvector { 272 } //R#113
+  KI:intvector { 521, 531, 550 } //R#114
+  KM:intvector { 481 } //R#115
+  KN:intvector { 190 } //R#116
+  KP:intvector { 274 } //R#117
+  KR:intvector { 285, 559 } //R#118
+  KW:intvector { 261 } //R#119
   KY:intvector { 93 } //R#120
   KY:intvector { 93 } //R#120
-  KZ:intvector { 216, 219, 220, 268, 273 } //R#121
-  LA:intvector { 297 } //R#122
-  LB:intvector { 227 } //R#123
-  LC:intvector { 188 } //R#124
-  LI:intvector { 452 } //R#125
-  LK:intvector { 234 } //R#126
+  KZ:intvector { 219, 222, 223, 271, 276 } //R#121
+  LA:intvector { 300 } //R#122
+  LB:intvector { 230 } //R#123
+  LC:intvector { 191 } //R#124
+  LI:intvector { 455 } //R#125
+  LK:intvector { 237 } //R#126
   LR:intvector { 46 } //R#127
   LS:intvector { 43 } //R#128
   LR:intvector { 46 } //R#127
   LS:intvector { 43 } //R#128
-  LT:intvector { 455 } //R#129
-  LU:intvector { 427 } //R#130
-  LV:intvector { 439 } //R#131
-  LY:intvector { 55, 491 } //R#132
+  LT:intvector { 458 } //R#129
+  LU:intvector { 430 } //R#130
+  LV:intvector { 442 } //R#131
+  LY:intvector { 55, 494 } //R#132
   MA:intvector { 19 } //R#133
   MA:intvector { 19 } //R#133
-  MC:intvector { 432 } //R#134
-  MD:intvector { 413, 450 } //R#135
-  ME:intvector { 437 } //R#136
-  MG:intvector { 474 } //R#137
-  MH:intvector { 490, 530, 531 } //R#138
-  MK:intvector { 445 } //R#139
+  MC:intvector { 435 } //R#134
+  MD:intvector { 416, 453 } //R#135
+  ME:intvector { 440 } //R#136
+  MG:intvector { 477 } //R#137
+  MH:intvector { 493, 533, 534 } //R#138
+  MK:intvector { 448 } //R#139
   ML:intvector { 11, 54 } //R#140
   ML:intvector { 11, 54 } //R#140
-  MM:intvector { 274 } //R#141
-  MN:intvector { 231, 244, 294, 295 } //R#142
-  MO:intvector { 259, 260 } //R#143
-  MP:intvector { 544 } //R#144
-  MQ:intvector { 147 } //R#145
+  MM:intvector { 277 } //R#141
+  MN:intvector { 234, 247, 297, 298 } //R#142
+  MO:intvector { 262, 263 } //R#143
+  MP:intvector { 547 } //R#144
+  MQ:intvector { 149 } //R#145
   MR:intvector { 50 } //R#146
   MR:intvector { 50 } //R#146
-  MS:intvector { 158 } //R#147
-  MT:intvector { 429 } //R#148
-  MU:intvector { 482 } //R#149
-  MV:intvector { 481 } //R#150
+  MS:intvector { 160 } //R#147
+  MT:intvector { 432 } //R#148
+  MU:intvector { 485 } //R#149
+  MV:intvector { 484 } //R#150
   MW:intvector { 15 } //R#151
   MW:intvector { 15 } //R#151
-  MX:intvector { 89, 95, 110, 124, 148, 151, 152, 155, 195, 496, 497, 498 } //R#152
-  MY:intvector { 256, 257 } //R#153
+  MX:intvector { 89, 95, 110, 124, 150, 153, 154, 157, 198, 499, 500, 501 } //R#152
+  MY:intvector { 259, 260 } //R#153
   MZ:intvector { 42 } //R#154
   NA:intvector { 57 } //R#155
   MZ:intvector { 42 } //R#154
   NA:intvector { 57 } //R#155
-  NC:intvector { 537 } //R#156
+  NC:intvector { 540 } //R#156
   NE:intvector { 49 } //R#157
   NE:intvector { 49 } //R#157
-  NF:intvector { 536 } //R#158
+  NF:intvector { 539 } //R#158
   NG:intvector { 35 } //R#159
   NG:intvector { 35 } //R#159
-  NI:intvector { 145 } //R#160
-  NL:intvector { 403 } //R#161
-  NO:intvector { 435 } //R#162
-  NP:intvector { 254 } //R#163
-  NR:intvector { 534 } //R#164
-  NU:intvector { 535 } //R#165
-  NZ:intvector { 503, 504, 505, 514, 515 } //R#166
-  OM:intvector { 264 } //R#167
-  PA:intvector { 166 } //R#168
-  PE:intvector { 141 } //R#169
-  PF:intvector { 523, 532, 546 } //R#170
-  PG:intvector { 542 } //R#171
-  PH:intvector { 263 } //R#172
-  PK:intvector { 252, 507 } //R#173
-  PL:intvector { 457, 553 } //R#174
-  PM:intvector { 153 } //R#175
-  PN:intvector { 540 } //R#176
-  PR:intvector { 174, 510 } //R#177
-  PS:intvector { 241 } //R#178
-  PT:intvector { 302, 309, 424, 554 } //R#179
-  PW:intvector { 539 } //R#180
+  NI:intvector { 147 } //R#160
+  NL:intvector { 406 } //R#161
+  NO:intvector { 438 } //R#162
+  NP:intvector { 257 } //R#163
+  NR:intvector { 537 } //R#164
+  NU:intvector { 538 } //R#165
+  NZ:intvector { 506, 507, 508, 517, 518 } //R#166
+  OM:intvector { 267 } //R#167
+  PA:intvector { 168 } //R#168
+  PE:intvector { 143 } //R#169
+  PF:intvector { 526, 535, 549 } //R#170
+  PG:intvector { 545 } //R#171
+  PH:intvector { 266 } //R#172
+  PK:intvector { 255, 510 } //R#173
+  PL:intvector { 460, 556 } //R#174
+  PM:intvector { 155 } //R#175
+  PN:intvector { 543 } //R#176
+  PR:intvector { 176, 513 } //R#177
+  PS:intvector { 244 } //R#178
+  PT:intvector { 305, 312, 427, 557 } //R#179
+  PW:intvector { 542 } //R#180
   PY:intvector { 75 } //R#181
   PY:intvector { 75 } //R#181
-  QA:intvector { 272 } //R#182
-  RE:intvector { 484 } //R#183
-  RO:intvector { 411 } //R#184
-  RS:intvector { 407 } //R#185
-  RU:intvector { 218, 245, 251, 255, 261, 266, 267, 280, 298, 299, 300, 422, 433, 441, 456, 577 } //R#186
+  QA:intvector { 275 } //R#182
+  RE:intvector { 487 } //R#183
+  RO:intvector { 414 } //R#184
+  RS:intvector { 410 } //R#185
+  RU:intvector { 221, 248, 254, 258, 264, 269, 270, 283, 301, 302, 303, 425, 436, 444, 459, 580 } //R#186
   RW:intvector { 33 } //R#187
   RW:intvector { 33 } //R#187
-  SA:intvector { 275 } //R#188
-  SB:intvector { 524, 557 } //R#189
-  SC:intvector { 480 } //R#190
+  SA:intvector { 278 } //R#188
+  SB:intvector { 527, 560 } //R#189
+  SC:intvector { 483 } //R#190
   SD:intvector { 32 } //R#191
   SD:intvector { 32 } //R#191
-  SE:intvector { 447 } //R#192
-  SG:intvector { 284, 558 } //R#193
-  SH:intvector { 312 } //R#194
-  SI:intvector { 425 } //R#195
-  SJ:intvector { 214, 308 } //R#196
-  SK:intvector { 409 } //R#197
+  SE:intvector { 450 } //R#192
+  SG:intvector { 287, 561 } //R#193
+  SH:intvector { 315 } //R#194
+  SI:intvector { 428 } //R#195
+  SJ:intvector { 217, 311 } //R#196
+  SK:intvector { 412 } //R#197
   SL:intvector { 27 } //R#198
   SL:intvector { 27 } //R#198
-  SM:intvector { 442 } //R#199
+  SM:intvector { 445 } //R#199
   SN:intvector { 22 } //R#200
   SO:intvector { 45 } //R#201
   SN:intvector { 22 } //R#200
   SO:intvector { 45 } //R#201
-  SR:intvector { 168 } //R#202
+  SR:intvector { 170 } //R#202
   ST:intvector { 53 } //R#203
   SV:intvector { 109 } //R#204
   ST:intvector { 53 } //R#203
   SV:intvector { 109 } //R#204
-  SY:intvector { 236 } //R#205
+  SY:intvector { 239 } //R#205
   SZ:intvector { 44 } //R#206
   TC:intvector { 116 } //R#207
   TD:intvector { 48 } //R#208
   SZ:intvector { 44 } //R#206
   TC:intvector { 116 } //R#207
   TD:intvector { 48 } //R#208
-  TF:intvector { 479 } //R#209
+  TF:intvector { 482 } //R#209
   TG:intvector { 37 } //R#210
   TG:intvector { 37 } //R#210
-  TH:intvector { 226 } //R#211
-  TJ:intvector { 240 } //R#212
-  TK:intvector { 519 } //R#213
-  TL:intvector { 238 } //R#214
-  TM:intvector { 221, 222 } //R#215
+  TH:intvector { 229 } //R#211
+  TJ:intvector { 243 } //R#212
+  TK:intvector { 522 } //R#213
+  TL:intvector { 241 } //R#214
+  TM:intvector { 224, 225 } //R#215
   TN:intvector { 56 } //R#216
   TN:intvector { 56 } //R#216
-  TO:intvector { 548 } //R#217
-  TR:intvector { 246, 420, 559 } //R#218
-  TT:intvector { 171 } //R#219
-  TV:intvector { 521 } //R#220
-  TW:intvector { 285, 555 } //R#221
+  TO:intvector { 551 } //R#217
+  TR:intvector { 249, 423, 562 } //R#218
+  TT:intvector { 173 } //R#219
+  TV:intvector { 524 } //R#220
+  TW:intvector { 288, 558 } //R#221
   TZ:intvector { 23 } //R#222
   TZ:intvector { 23 } //R#222
-  UA:intvector { 423, 444, 451, 459 } //R#223
+  UA:intvector { 426, 447, 454, 462 } //R#223
   UG:intvector { 31 } //R#224
   UG:intvector { 31 } //R#224
-  UM:intvector { 527, 533, 550 } //R#225
-  US:intvector { 4, 58, 59, 77, 85, 94, 104, 105, 111, 125, 126, 127, 128, 129, 130, 131, 136, 137, 138, 139, 142, 143, 150, 160, 162, 164, 165, 169, 185, 202, 346, 469, 471, 506, 508, 511, 526, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572 } //R#226
-  UY:intvector { 156 } //R#227
-  UZ:intvector { 281, 286 } //R#228
-  VA:intvector { 453 } //R#229
-  VC:intvector { 190 } //R#230
+  UM:intvector { 530, 536, 553 } //R#225
+  US:intvector { 4, 58, 59, 77, 85, 94, 104, 105, 111, 125, 126, 127, 128, 129, 130, 131, 132, 133, 138, 139, 140, 141, 144, 145, 152, 162, 164, 166, 167, 171, 188, 205, 349, 472, 474, 509, 511, 514, 529, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575 } //R#226
+  UY:intvector { 158 } //R#227
+  UZ:intvector { 284, 289 } //R#228
+  VA:intvector { 456 } //R#229
+  VC:intvector { 193 } //R#230
   VE:intvector { 90 } //R#231
   VE:intvector { 90 } //R#231
-  VG:intvector { 197 } //R#232
-  VI:intvector { 189, 199 } //R#233
-  VN:intvector { 279, 576 } //R#234
-  VU:intvector { 517 } //R#235
-  WF:intvector { 551 } //R#236
-  WS:intvector { 493, 513 } //R#237
-  YE:intvector { 215 } //R#238
-  YT:intvector { 483 } //R#239
+  VG:intvector { 200 } //R#232
+  VI:intvector { 192, 202 } //R#233
+  VN:intvector { 282, 579 } //R#234
+  VU:intvector { 520 } //R#235
+  WF:intvector { 554 } //R#236
+  WS:intvector { 496, 516 } //R#237
+  YE:intvector { 218 } //R#238
+  YT:intvector { 486 } //R#239
   ZA:intvector { 30 } //R#240
   ZM:intvector { 40 } //R#241
   ZA:intvector { 30 } //R#240
   ZM:intvector { 40 } //R#241
-  ZW:intvector { 29, 343 } //R#242
+  ZW:intvector { 29, 346 } //R#242
  }
 }
  }
 }
diff --git a/icuSources/layout/unicode/loengine.h b/icuSources/layout/unicode/loengine.h
deleted file mode 100644 (file)
index 76612cd..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- *
- * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
- *
- */
-
-#ifndef __LOENGINE_H
-#define __LOENGINE_H
-
-#include "unicode/utypes.h"
-#include "unicode/uobject.h"
-#include "unicode/uscript.h"
-#include "unicode/unistr.h"
-
-#include "layout/LETypes.h"
-#include "layout/LayoutEngine.h"
-
-U_NAMESPACE_BEGIN
-
-/**
- * This is a wrapper class designed to allow ICU clients to
- * use LayoutEngine in a way that is consistent with the rest
- * of ICU.
- *
- * (LayoutEngine was developed seperately from ICU and
- * the same source is used in non-ICU environments, so it cannot
- * be changed to match ICU coding conventions).
- *
- * This class is designed for clients who wish to use LayoutEngine
- * to layout complex text. If you need to subclass LayoutEngine,
- * you'll need to use the LayoutEngine interfaces directly.
- *
- * Basically, it creates an instance of LayoutEngine, stashes
- * it in fLayoutEngine, and uses it to implement the layout
- * functionality.
- *
- * Use the createInstance method to create an ICULayoutEngine. Use
- * delete to destroy it. The layoutChars method computes the glyphs
- * and positions, and saves them in the ICULayoutEngine object.
- * Use getGlyphs, getPositions and getCharIndices to retreive this
- * data.
- *
- * You'll also need an implementation of LEFontInstance for your platform.
- *
- * @see LayoutEngine.h
- * @see LEFontInstance.h
- *
- * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
- */
-#ifndef U_HIDE_OBSOLETE_API
-class U_LAYOUT_API ICULayoutEngine : public UObject {
-private:
-    /**
-     * This holds the instance of LayoutEngine that does all
-     * the work.
-     */
-    LayoutEngine *fLayoutEngine;
-
-    /**
-     * This no argument constructor is private so that clients
-     * can't envoke it. Clients should use createInstance.
-     *
-     * @see createInstance
-     */
-    ICULayoutEngine();
-
-    /**
-     * The main constructor. It is defined as private to
-     * stop clients from invoking it. Clients should use
-     * createInstance.
-     *
-     * @param layoutEngine - the LayoutEngine that this instance wraps.
-     *
-     * @see createInstance
-     */
-    ICULayoutEngine(LayoutEngine *layoutEngine);
-
-public:
-
-    /**
-     * The destructor. At least on Windows it needs to be
-     * virtual to ensure that it deletes the object from the
-     * same heap that createInstance will allocate it from. We
-     * don't know why this is...
-     *
-     * @see createInstance
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    virtual ~ICULayoutEngine();
-
-    /**
-     * This method computes the glyph, character index and position arrays
-     * for the input characters.
-     *
-     * @param chars - the input character context
-     * @param startOffset - the starting offset of the characters to process
-     * @param endOffset - the ending offset of the characters to process
-     * @param maxOffset - the number of characters in the input context
-     * @param rightToLeft - TRUE if the characers are in a right to left directional run
-     * @param x - the initial X position
-     * @param y - the initial Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * Note; the glyph, character index and position array can be accessed
-     * using the getter method below.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t layoutChars(const UChar chars[],
-                        int32_t startOffset,
-                        int32_t endOffset,
-                        int32_t maxOffset,
-                        UBool rightToLeft,
-                        float x, float y,
-                        UErrorCode &success);
-
-
-    /**
-     * This method computes the glyph, character index and position arrays
-     * for the input characters.
-     *
-     * @param str - the input character context
-     * @param startOffset - the starting offset of the characters to process
-     * @param endOffset - the ending offset of the characters to process
-     * @param rightToLeft - TRUE if the characers are in a right to left directional run
-     * @param x - the initial X position
-     * @param y - the initial Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * Note; the glyph, character index and position array can be accessed
-     * using the getter method below.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t layoutString(const UnicodeString &str,
-                         int32_t startOffset,
-                         int32_t endOffset,
-                         UBool rightToLeft,
-                         float x, float y,
-                         UErrorCode &success);
-
-    /**
-     * This method returns the number of glyphs in the glyph array. Note
-     * that the number of glyphs will be greater than or equal to the number
-     * of characters used to create the LayoutEngine.
-     *
-     * @return the number of glyphs in the glyph array
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    int32_t countGlyphs() const;
-
-    /**
-     * This method copies the glyph array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold all
-     * the glyphs.
-     *
-     * @param glyphs - the destiniation glyph array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphs(uint32_t glyphs[], UErrorCode &success);
-
-    /**
-     * This method copies the character index array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold a character
-     * index for each glyph.
-     *
-     * @param charIndices - the destiniation character index array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getCharIndices(int32_t charIndices[], UErrorCode &success);
-
-    /**
-     * This method copies the character index array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold a character
-     * index for each glyph.
-     *
-     * @param charIndices - the destiniation character index array
-     * @param indexBase - an offset which will be added to each index
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getCharIndices(int32_t charIndices[], int32_t indexBase, UErrorCode &success);
-
-    /**
-     * This method copies the position array into a caller supplied array.
-     * The caller must ensure that the array is large enough to hold an
-     * X and Y position for each glyph, plus an extra X and Y for the
-     * advance of the last glyph.
-     *
-     * @param positions - the destiniation position array
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphPositions(float positions[], UErrorCode &success);
-
-    /**
-     * This method returns the X and Y position of the glyph at the
-     * given index.
-     *
-     * Input parameters:
-     * @param glyphIndex - the index of the glyph
-     *
-     * Output parameters:
-     * @param x - the glyph's X position
-     * @param y - the glyph's Y position
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    void getGlyphPosition(int32_t glyphIndex, float &x, float &y, UErrorCode &success);
-
-    /**
-     * This method returns an ICULayoutEngine capable of laying out text
-     * in the given font, script and langauge.
-     *
-     * @param fontInstance - the font of the text
-     * @param scriptCode - the script of the text
-     * @param locale - used to determine the language of the text
-     * @param success - output parameter set to an error code if the operation fails
-     *
-     * @return an ICULayoutEngine which can layout text in the given font.
-     *
-     * NOTE: currently, locale is ignored...
-     *
-     * @see LEFontInstance
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    static ICULayoutEngine *createInstance(const LEFontInstance *fontInstance,
-                                           UScriptCode scriptCode, Locale &locale,
-                                           UErrorCode &success);
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for the actual class.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    virtual UClassID getDynamicClassID() const;
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for this class.
-     *
-     * @obsolete ICU 3.0. Use LayoutEngine.h instead since this API will be removed in that release.
-     */
-    static UClassID getStaticClassID();
-};
-
-inline ICULayoutEngine::ICULayoutEngine()
-{
-    // nothing at all...
-}
-
-inline ICULayoutEngine::ICULayoutEngine(LayoutEngine *layoutEngine)
-    : fLayoutEngine(layoutEngine)
-{
-    // nothing else to do
-}
-
-inline ICULayoutEngine::~ICULayoutEngine()
-{
-    delete fLayoutEngine;
-    fLayoutEngine = 0;
-}
-
-inline int32_t ICULayoutEngine::layoutChars(const UChar chars[],
-                                            int32_t startOffset,
-                                            int32_t endOffset,
-                                            int32_t maxOffset,
-                                            UBool rightToLeft,
-                                            float x, float y,
-                                            UErrorCode &success)
-{
-    // NOTE: call reset() so that clients can safely reuse
-    fLayoutEngine->reset();
-    return fLayoutEngine->layoutChars(chars,
-                                      startOffset,
-                                      endOffset - startOffset,
-                                      maxOffset,
-                                      rightToLeft,
-                                      x, y,
-                                      (LEErrorCode &) success);
-}
-
-inline int32_t ICULayoutEngine::layoutString(const UnicodeString &str,
-                                            int32_t startOffset,
-                                            int32_t endOffset,
-                                            UBool rightToLeft,
-                                            float x, float y,
-                                            UErrorCode &success)
-{
-    // NOTE: call reset() so that clients can safely reuse
-    fLayoutEngine->reset();
-    return fLayoutEngine->layoutChars(str.getBuffer(),
-                                      startOffset,
-                                      endOffset - startOffset,
-                                      str.length(),
-                                      rightToLeft,
-                                      x, y,
-                                      (LEErrorCode &) success);
-}
-
-inline int32_t ICULayoutEngine::countGlyphs() const
-{
-    return fLayoutEngine->getGlyphCount();
-}
-
-inline void ICULayoutEngine::getGlyphs(uint32_t glyphs[], UErrorCode &success)
-{
-    fLayoutEngine->getGlyphs(glyphs, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getCharIndices(int32_t charIndices[], UErrorCode &success)
-{
-    fLayoutEngine->getCharIndices(charIndices, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getCharIndices(int32_t charIndices[], int32_t indexBase, UErrorCode &success)
-{
-    fLayoutEngine->getCharIndices(charIndices, indexBase, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getGlyphPositions(float positions[], UErrorCode &success)
-{
-    fLayoutEngine->getGlyphPositions(positions, (LEErrorCode &) success);
-}
-
-inline void ICULayoutEngine::getGlyphPosition(int32_t glyphIndex, float &x, float &y, UErrorCode &success)
-{
-    fLayoutEngine->getGlyphPosition(glyphIndex, x, y, (LEErrorCode &) success);
-}
-
-inline ICULayoutEngine *ICULayoutEngine::createInstance(const LEFontInstance *fontInstance,
-                                                        UScriptCode scriptCode,
-                                                        Locale &locale, UErrorCode &success)
-{
-    LayoutEngine *engine = LayoutEngine::layoutEngineFactory(fontInstance,
-                                                             (le_int32) scriptCode,
-                                                             0,
-                                                             (LEErrorCode &) success);
-
-    return new ICULayoutEngine(engine);
-}
-#endif // U_HIDE_OBSOLETE_API
-
-U_NAMESPACE_END
-#endif
diff --git a/icuSources/samples/xml2txt/readme.txt b/icuSources/samples/xml2txt/readme.txt
deleted file mode 100644 (file)
index 30158ad..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Copyright (c) 2002-2003, International Business Machines Corporation and others. All Rights Reserved.
-
-The xml2txt sample has been deprecated. It was a demonstration of converting ICU4C XML resource bundles into .txt resource bundles. Since it was written, the ICU4C XML resource bundle format has been depreceated, and ICU now uses XLIFF (XML Localization Interchange File Format) instead. 
\ No newline at end of file
diff --git a/icuSources/test/collperf/Makefile.in b/icuSources/test/collperf/Makefile.in
deleted file mode 100644 (file)
index bca3211..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-## Makefile.in for ICU - test/collperf
-## Copyright (c) 2001, International Business Machines Corporation and
-## others. All Rights Reserved.
-
-## Source directory information
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-
-top_builddir = ../..
-
-include $(top_builddir)/icudefs.mk
-
-## Platform-specific setup
-include @platform_make_fragment@
-
-## Build directory information
-subdir = test/collperf
-
-## Extra files to remove for 'make clean'
-CLEANFILES = *~ $(DEPS)
-
-## Target information
-TARGET = collperf
-
-DEFS = @DEFS@
-CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n 
-CFLAGS = @CFLAGS@
-CXXFLAGS = @CXXFLAGS@
-ENABLE_RPATH = @ENABLE_RPATH@
-ifeq ($(ENABLE_RPATH),YES)
-RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
-endif
-LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
-LIBS = $(LIBICUI18N) $(LIBICUUC) @LIBS@ @LIB_M@
-
-OBJECTS = collperf.o
-
-DEPS = $(OBJECTS:.o=.d)
-
-## List of phony targets
-.PHONY : all all-local install install-local clean clean-local \
-distclean distclean-local dist dist-local check check-local
-
-## Clear suffix list
-.SUFFIXES :
-
-## List of standard targets
-all: all-local
-install: install-local
-clean: clean-local
-distclean : distclean-local
-dist: dist-local
-check: all check-local
-
-all-local: $(TARGET)
-
-install-local:
-
-dist-local:
-
-clean-local:
-       test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
-       $(RMV) $(OBJECTS) $(TARGET)
-
-distclean-local: clean-local
-       $(RMV) Makefile
-
-check-local: all-local
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) \
-        && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(TARGET) : $(OBJECTS)
-       $(LINK.cc) -o $@ $^ $(LIBS)
-
-invoke:
-       ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)
-
-ifeq (,$(MAKECMDGOALS))
--include $(DEPS)
-else
-ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
--include $(DEPS)
-endif
-endif
-endif
-
diff --git a/icuSources/test/collperf/collperf.cpp b/icuSources/test/collperf/collperf.cpp
deleted file mode 100644 (file)
index bd916c5..0000000
+++ /dev/null
@@ -1,1749 +0,0 @@
-/********************************************************************
- * COPYRIGHT:
- * Copyright (C) 2001 IBM, Inc.   All Rights Reserved.
- *
- ********************************************************************/
-/********************************************************************************
-*
-* File CALLCOLL.C
-*
-* Modification History:
-*        Name                     Description
-*     Andy Heninger             First Version
-*
-*********************************************************************************
-*/
-
-//
-//  This program tests string collation and sort key generation performance.
-//      Three APIs can be teste: ICU C , Unix strcoll, strxfrm and Windows LCMapString
-//      A file of names is required as input, one per line.  It must be in utf-8 or utf-16 format,
-//      and include a byte order mark.  Either LE or BE format is OK.
-//
-
-const char gUsageString[] =
- "usage:  collperf options...\n"
-    "-help                      Display this message.\n"
-    "-file file_name            utf-16 format file of names.\n"
-    "-locale name               ICU locale to use.  Default is en_US\n"
-    "-rules file_name           Collation rules file (overrides locale)\n"
-    "-langid 0x1234             Windows Language ID number.  Default to value for -locale option\n"
-    "                              see http://msdn.microsoft.com/library/psdk/winbase/nls_8xo3.htm\n"
-    "-win                       Run test using Windows native services.  (ICU is default)\n"
-    "-unix                      Run test using Unix strxfrm, strcoll services.\n"
-    "-uselen                    Use API with string lengths.  Default is null-terminated strings\n"
-    "-usekeys                   Run tests using sortkeys rather than strcoll\n"
-    "-strcmp                    Run tests using u_strcmp rather than strcoll\n"
-    "-strcmpCPO                 Run tests using u_strcmpCodePointOrder rather than strcoll\n"
-    "-loop nnnn                 Loopcount for test.  Adjust for reasonable total running time.\n"
-    "-iloop n                   Inner Loop Count.  Default = 1.  Number of calls to function\n"
-    "                               under test at each call point.  For measuring test overhead.\n"
-    "-terse                     Terse numbers-only output.  Intended for use by scripts.\n"
-    "-french                    French accent ordering\n"
-    "-frenchoff                 No French accent ordering (for use with French locales.)\n"
-    "-norm                      Normalizing mode on\n"
-    "-shifted                   Shifted mode\n"
-    "-lower                     Lower case first\n"
-    "-upper                     Upper case first\n"
-    "-case                      Enable separate case level\n"
-    "-level n                   Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical\n"
-    "-keyhist                   Produce a table sort key size vs. string length\n"
-    "-binsearch                 Binary Search timing test\n"
-    "-keygen                    Sort Key Generation timing test\n"
-    "-qsort                     Quicksort timing test\n"
-    "-iter                      Iteration Performance Test\n"
-    "-dump                      Display strings, sort keys and CEs.\n"
-    ;
-
-
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-#include <locale.h>
-#include <errno.h>
-
-#include <unicode/utypes.h>
-#include <unicode/ucol.h>
-#include <unicode/ucoleitr.h>
-#include <unicode/uloc.h>
-#include <unicode/ustring.h>
-#include <unicode/ures.h>
-#include <unicode/uchar.h>
-#include <unicode/ucnv.h>
-#include <unicode/utf8.h>
-
-#ifdef WIN32
-#include <windows.h>
-#else
-//
-//  Stubs for Windows API functions when building on UNIXes.
-//
-typedef int DWORD;
-inline int CompareStringW(DWORD, DWORD, UChar *, int, UChar *, int) {return 0;};
-#include <sys/time.h>
-unsigned long timeGetTime() {
-    struct timeval t;
-    gettimeofday(&t, 0);
-    unsigned long val = t.tv_sec * 1000;  // Let it overflow.  Who cares.
-    val += t.tv_usec / 1000;
-    return val;
-};
-inline int LCMapStringW(DWORD, DWORD, UChar *, int, UChar *, int) {return 0;};
-const int LCMAP_SORTKEY = 0;
-#define MAKELCID(a,b) 0
-const int SORT_DEFAULT = 0;
-#endif
-
-
-
-//
-//  Command line option variables
-//     These global variables are set according to the options specified
-//     on the command line by the user.
-char * opt_fName      = 0;
-char * opt_locale     = "en_US";
-int    opt_langid     = 0;         // Defaults to value corresponding to opt_locale.
-char * opt_rules      = 0;
-UBool  opt_help       = FALSE;
-int    opt_loopCount  = 1;
-int    opt_iLoopCount = 1;
-UBool  opt_terse      = FALSE;
-UBool  opt_qsort      = FALSE;
-UBool  opt_binsearch  = FALSE;
-UBool  opt_icu        = TRUE;
-UBool  opt_win        = FALSE;      // Run with Windows native functions.
-UBool  opt_unix       = FALSE;      // Run with UNIX strcoll, strxfrm functions.
-UBool  opt_uselen     = FALSE;
-UBool  opt_usekeys    = FALSE;
-UBool  opt_strcmp     = FALSE;
-UBool  opt_strcmpCPO  = FALSE;
-UBool  opt_norm       = FALSE;
-UBool  opt_keygen     = FALSE;
-UBool  opt_french     = FALSE;
-UBool  opt_frenchoff  = FALSE;
-UBool  opt_shifted    = FALSE;
-UBool  opt_lower      = FALSE;
-UBool  opt_upper      = FALSE;
-UBool  opt_case       = FALSE;
-int    opt_level      = 0;
-UBool  opt_keyhist    = FALSE;
-UBool  opt_itertest   = FALSE;
-UBool  opt_dump       = FALSE;
-
-
-
-//
-//   Definitions for the command line options
-//
-struct OptSpec {
-    const char *name;
-    enum {FLAG, NUM, STRING} type;
-    void *pVar;
-};
-
-OptSpec opts[] = {
-    {"-file",        OptSpec::STRING, &opt_fName},
-    {"-locale",      OptSpec::STRING, &opt_locale},
-    {"-langid",      OptSpec::NUM,    &opt_langid},
-    {"-rules",       OptSpec::STRING, &opt_rules},
-    {"-qsort",       OptSpec::FLAG,   &opt_qsort},
-    {"-binsearch",   OptSpec::FLAG,   &opt_binsearch},
-    {"-iter",        OptSpec::FLAG,   &opt_itertest},
-    {"-win",         OptSpec::FLAG,   &opt_win},
-    {"-unix",        OptSpec::FLAG,   &opt_unix},
-    {"-uselen",      OptSpec::FLAG,   &opt_uselen},
-    {"-usekeys",     OptSpec::FLAG,   &opt_usekeys},
-    {"-strcmp",      OptSpec::FLAG,   &opt_strcmp},
-    {"-strcmpCPO",   OptSpec::FLAG,   &opt_strcmpCPO},
-    {"-norm",        OptSpec::FLAG,   &opt_norm},
-    {"-french",      OptSpec::FLAG,   &opt_french},
-    {"-frenchoff",   OptSpec::FLAG,   &opt_frenchoff},
-    {"-shifted",     OptSpec::FLAG,   &opt_shifted},
-    {"-lower",       OptSpec::FLAG,   &opt_lower},
-    {"-upper",       OptSpec::FLAG,   &opt_upper},
-    {"-case",        OptSpec::FLAG,   &opt_case},
-    {"-level",       OptSpec::NUM,    &opt_level},
-    {"-keyhist",     OptSpec::FLAG,   &opt_keyhist},
-    {"-keygen",      OptSpec::FLAG,   &opt_keygen},
-    {"-loop",        OptSpec::NUM,    &opt_loopCount},
-    {"-iloop",       OptSpec::NUM,    &opt_iLoopCount},
-    {"-terse",       OptSpec::FLAG,   &opt_terse},
-    {"-dump",        OptSpec::FLAG,   &opt_dump},
-    {"-help",        OptSpec::FLAG,   &opt_help},
-    {"-?",           OptSpec::FLAG,   &opt_help},
-    {0, OptSpec::FLAG, 0}
-};
-
-
-//---------------------------------------------------------------------------
-//
-//  Global variables pointing to and describing the test file
-//
-//---------------------------------------------------------------------------
-
-//
-//   struct Line
-//
-//      Each line from the source file (containing a name, presumably) gets
-//      one of these structs.
-//
-struct  Line {
-    UChar     *name;
-    int        len;
-    char      *winSortKey;
-    char      *icuSortKey;
-    char      *unixSortKey;
-    char      *unixName;
-};
-
-
-
-Line          *gFileLines;           // Ptr to array of Line structs, one per line in the file.
-int            gNumFileLines;
-UCollator     *gCol;
-DWORD          gWinLCID;
-
-Line          **gSortedLines;
-Line          **gRandomLines;
-int            gCount;
-
-
-
-//---------------------------------------------------------------------------
-//
-//  ProcessOptions()    Function to read the command line options.
-//
-//---------------------------------------------------------------------------
-UBool ProcessOptions(int argc, const char **argv, OptSpec opts[])
-{
-    int         i;
-    int         argNum;
-    const char  *pArgName;
-    OptSpec    *pOpt;
-
-    for (argNum=1; argNum<argc; argNum++) {
-        pArgName = argv[argNum];
-        for (pOpt = opts;  pOpt->name != 0; pOpt++) {
-            if (strcmp(pOpt->name, pArgName) == 0) {
-                switch (pOpt->type) {
-                case OptSpec::FLAG:
-                    *(UBool *)(pOpt->pVar) = TRUE;
-                    break;
-                case OptSpec::STRING:
-                    argNum ++;
-                    if (argNum >= argc) {
-                        fprintf(stderr, "value expected for \"%s\" option.\n", pOpt->name);
-                        return FALSE;
-                    }
-                    *(const char **)(pOpt->pVar)  = argv[argNum];
-                    break;
-                case OptSpec::NUM:
-                    argNum ++;
-                    if (argNum >= argc) {
-                        fprintf(stderr, "value expected for \"%s\" option.\n", pOpt->name);
-                        return FALSE;
-                    }
-                    char *endp;
-                    i = strtol(argv[argNum], &endp, 0);
-                    if (endp == argv[argNum]) {
-                        fprintf(stderr, "integer value expected for \"%s\" option.\n", pOpt->name);
-                        return FALSE;
-                    }
-                    *(int *)(pOpt->pVar) = i;
-                }
-                break;
-            }
-        }
-        if (pOpt->name == 0)
-        {
-            fprintf(stderr, "Unrecognized option \"%s\"\n", pArgName);
-            return FALSE;
-        }
-    }
-return TRUE;
-}
-
-//---------------------------------------------------------------------------------------
-//
-//   Comparison functions for use by qsort.
-//
-//       Six flavors, ICU or Windows, SortKey or String Compare, Strings with length
-//           or null terminated.
-//
-//---------------------------------------------------------------------------------------
-int ICUstrcmpK(const void *a, const void *b) {
-    gCount++;
-    int t = strcmp((*(Line **)a)->icuSortKey, (*(Line **)b)->icuSortKey);
-    return t;
-}
-
-
-int ICUstrcmpL(const void *a, const void *b) {
-    gCount++;
-    UCollationResult t;
-    t = ucol_strcoll(gCol, (*(Line **)a)->name, (*(Line **)a)->len, (*(Line **)b)->name, (*(Line **)b)->len);
-    if (t == UCOL_LESS) return -1;
-    if (t == UCOL_GREATER) return +1;
-    return 0;
-}
-
-
-int ICUstrcmp(const void *a, const void *b) {
-    gCount++;
-    UCollationResult t;
-    t = ucol_strcoll(gCol, (*(Line **)a)->name, -1, (*(Line **)b)->name, -1);
-    if (t == UCOL_LESS) return -1;
-    if (t == UCOL_GREATER) return +1;
-    return 0;
-}
-
-
-int Winstrcmp(const void *a, const void *b) {
-    gCount++;
-    int t;
-    t = CompareStringW(gWinLCID, 0, (*(Line **)a)->name, -1, (*(Line **)b)->name, -1);
-    return t-2;
-}
-
-
-int UNIXstrcmp(const void *a, const void *b) {
-    gCount++;
-    int t;
-    t = strcoll((*(Line **)a)->unixName, (*(Line **)b)->unixName);
-    return t;
-}
-
-
-int WinstrcmpL(const void *a, const void *b) {
-    gCount++;
-    int t;
-    t = CompareStringW(gWinLCID, 0, (*(Line **)a)->name, (*(Line **)a)->len, (*(Line **)b)->name, (*(Line **)b)->len);
-    return t-2;
-}
-
-
-int WinstrcmpK(const void *a, const void *b) {
-    gCount++;
-    int t = strcmp((*(Line **)a)->winSortKey, (*(Line **)b)->winSortKey);
-    return t;
-}
-
-
-//---------------------------------------------------------------------------------------
-//
-//   Function for sorting the names (lines) into a random order.
-//      Order is based on a hash of the  ICU Sort key for the lines
-//      The randomized order is used as input for the sorting timing tests.
-//
-//---------------------------------------------------------------------------------------
-int ICURandomCmp(const void *a, const void *b) {
-    char  *ask = (*(Line **)a)->icuSortKey;
-    char  *bsk = (*(Line **)b)->icuSortKey;
-    int   aVal = 0;
-    int   bVal = 0;
-    int   retVal;
-    while (*ask != 0) {
-        aVal += aVal*37 + *ask++;
-    }
-    while (*bsk != 0) {
-        bVal += bVal*37 + *bsk++;
-    }
-    retVal = -1;
-    if (aVal == bVal) {
-        retVal = 0;
-    }
-    else if (aVal > bVal) {
-        retVal = 1;
-    }
-    return retVal;
-}
-
-//---------------------------------------------------------------------------------------
-//
-//   doKeyGen()     Key Generation Timing Test
-//
-//---------------------------------------------------------------------------------------
-void doKeyGen()
-{
-    int  line;
-    int  loops;
-    int  iLoop;
-    int  t;
-    int  len=-1;
-
-    // Adjust loop count to compensate for file size.   Should be order n
-    double dLoopCount = double(opt_loopCount) * (1000. /  double(gNumFileLines));
-    int adj_loopCount = int(dLoopCount);
-    if (adj_loopCount < 1) adj_loopCount = 1;
-
-
-    unsigned long startTime = timeGetTime();
-
-    if (opt_win) {
-        for (loops=0; loops<adj_loopCount; loops++) {
-            for (line=0; line < gNumFileLines; line++) {
-                if (opt_uselen) {
-                    len = gFileLines[line].len;
-                }
-                for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                    t=LCMapStringW(gWinLCID, LCMAP_SORTKEY,
-                        gFileLines[line].name, len,
-                        (unsigned short *)gFileLines[line].winSortKey, 5000);    // TODO  something with length.
-                }
-            }
-        }
-    }
-    else if (opt_icu)
-    {
-        for (loops=0; loops<adj_loopCount; loops++) {
-            for (line=0; line < gNumFileLines; line++) {
-                if (opt_uselen) {
-                    len = gFileLines[line].len;
-                }
-                for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                    t = ucol_getSortKey(gCol, gFileLines[line].name, len, (unsigned char *)gFileLines[line].icuSortKey, 5000);
-                }
-            }
-        }
-    }
-    else if (opt_unix)
-    {
-        for (loops=0; loops<adj_loopCount; loops++) {
-            for (line=0; line < gNumFileLines; line++) {
-                for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                t = strxfrm(gFileLines[line].unixSortKey, gFileLines[line].unixName, 5000);
-                }
-            }
-        }
-    }
-
-    unsigned long elapsedTime = timeGetTime() - startTime;
-    int ns = (int)(float(1000000) * (float)elapsedTime / (float)(adj_loopCount*gNumFileLines));
-
-    if (opt_terse == FALSE) {
-        printf("Sort Key Generation:  total # of keys = %d\n", loops*gNumFileLines);
-        printf("Sort Key Generation:  time per key = %d ns\n", ns);
-    }
-    else {
-        printf("%d,  ", ns);
-    }
-
-    int   totalKeyLen = 0;
-    int   totalChars  = 0;
-    for (line=0; line<gNumFileLines; line++) {
-        totalChars += u_strlen(gFileLines[line].name);
-        if (opt_win) {
-            totalKeyLen += strlen(gFileLines[line].winSortKey);
-        }
-        else if (opt_icu) {
-            totalKeyLen += strlen(gFileLines[line].icuSortKey);
-        }
-        else if (opt_unix) {
-            totalKeyLen += strlen(gFileLines[line].unixSortKey);
-        }
-
-    }
-    if (opt_terse == FALSE) {
-        printf("Key Length / character = %f\n", (float)totalKeyLen / (float)totalChars);
-    } else {
-        printf("%f, ", (float)totalKeyLen / (float)totalChars);
-    }
-}
-
-
-
-//---------------------------------------------------------------------------------------
-//
-//    doBinarySearch()    Binary Search timing test.  Each name from the list
-//                        is looked up in the full sorted list of names.
-//
-//---------------------------------------------------------------------------------------
-void doBinarySearch()
-{
-
-    gCount = 0;
-    int  line;
-    int  loops;
-    int  iLoop;
-    unsigned long elapsedTime;
-
-    // Adjust loop count to compensate for file size.   Should be order n (lookups) * log n  (compares/lookup)
-    // Accurate timings do not depend on this being perfect.  The correction is just to try to
-    //   get total running times of about the right order, so the that user doesn't need to
-    //   manually adjust the loop count for every different file size.
-    double dLoopCount = double(opt_loopCount) * 3000. / (log10(gNumFileLines) * double(gNumFileLines));
-    if (opt_usekeys) dLoopCount *= 5;
-    int adj_loopCount = int(dLoopCount);
-    if (adj_loopCount < 1) adj_loopCount = 1;
-
-
-    for (;;) {  // not really a loop, just allows "break" to work, to simplify
-                //   inadvertantly running more than one test through here.
-        if (opt_strcmp || opt_strcmpCPO) 
-        {
-            unsigned long startTime = timeGetTime();
-            typedef int32_t (U_EXPORT2 *PF)(const UChar *, const UChar *);
-            PF pf = u_strcmp;
-            if (opt_strcmpCPO) {pf = u_strcmpCodePointOrder;}
-            if (opt_strcmp && opt_win) {pf = (PF)wcscmp;}   // Damn the difference between int32_t and int
-                                                            //   which forces the use of a cast here.
-            
-            int r;
-            for (loops=0; loops<adj_loopCount; loops++) {
-                
-                for (line=0; line < gNumFileLines; line++) {
-                    int hi      = gNumFileLines-1;
-                    int lo      = 0;
-                    int  guess = -1;
-                    for (;;) {
-                        int newGuess = (hi + lo) / 2;
-                        if (newGuess == guess)
-                            break;
-                        guess = newGuess;
-                        for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                            r = (*pf)((gSortedLines[line])->name, (gSortedLines[guess])->name);
-                        }
-                        gCount++;
-                        if (r== 0)
-                            break;
-                        if (r < 0)
-                            hi = guess;
-                        else
-                            lo   = guess;
-                    }
-                }
-            }
-            elapsedTime = timeGetTime() - startTime;
-            break;
-        }
-        
-        
-        if (opt_icu)
-        {
-            unsigned long startTime = timeGetTime();
-            UCollationResult  r;
-            for (loops=0; loops<adj_loopCount; loops++) {
-                
-                for (line=0; line < gNumFileLines; line++) {
-                    int lineLen  = -1;
-                    int guessLen = -1;
-                    if (opt_uselen) {
-                        lineLen = (gSortedLines[line])->len;
-                    }
-                    int hi      = gNumFileLines-1;
-                    int lo      = 0;
-                    int  guess = -1;
-                    for (;;) {
-                        int newGuess = (hi + lo) / 2;
-                        if (newGuess == guess)
-                            break;
-                        guess = newGuess;
-                        int ri;
-                        if (opt_usekeys) {
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                ri = strcmp((gSortedLines[line])->icuSortKey, (gSortedLines[guess])->icuSortKey);
-                            }
-                            gCount++;
-                            r=UCOL_GREATER; if(ri<0) {r=UCOL_LESS;} else if (ri==0) {r=UCOL_EQUAL;}
-                        }
-                        else
-                        {
-                            if (opt_uselen) {
-                                guessLen = (gSortedLines[guess])->len;
-                            }
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                r = ucol_strcoll(gCol, (gSortedLines[line])->name, lineLen, (gSortedLines[guess])->name, guessLen);
-                            }
-                            gCount++;
-                        }
-                        if (r== UCOL_EQUAL)
-                            break;
-                        if (r == UCOL_LESS)
-                            hi = guess;
-                        else
-                            lo   = guess;
-                    }
-                }
-            }
-            elapsedTime = timeGetTime() - startTime;
-            break;
-        }
-        
-        if (opt_win)
-        {
-            unsigned long startTime = timeGetTime();
-            int r;
-            for (loops=0; loops<adj_loopCount; loops++) {
-                
-                for (line=0; line < gNumFileLines; line++) {
-                    int lineLen  = -1;
-                    int guessLen = -1;
-                    if (opt_uselen) {
-                        lineLen = (gSortedLines[line])->len;
-                    }
-                    int hi   = gNumFileLines-1;
-                    int lo   = 0;
-                    int  guess = -1;
-                    for (;;) {
-                        int newGuess = (hi + lo) / 2;
-                        if (newGuess == guess)
-                            break;
-                        guess = newGuess;
-                        if (opt_usekeys) {
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                r = strcmp((gSortedLines[line])->winSortKey, (gSortedLines[guess])->winSortKey);
-                            }
-                            gCount++;
-                            r+=2;
-                        }
-                        else
-                        {
-                            if (opt_uselen) {
-                                guessLen = (gSortedLines[guess])->len;
-                            }
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                r = CompareStringW(gWinLCID, 0, (gSortedLines[line])->name, lineLen, (gSortedLines[guess])->name, guessLen);
-                            }
-                            if (r == 0) {
-                                if (opt_terse == FALSE) {
-                                    fprintf(stderr, "Error returned from Windows CompareStringW.\n");
-                                }
-                                exit(-1);
-                            }
-                            gCount++;
-                        }
-                        if (r== 2)   //  strings ==
-                            break;
-                        if (r == 1)  //  line < guess
-                            hi = guess;
-                        else         //  line > guess
-                            lo   = guess;
-                    }
-                }
-            }
-            elapsedTime = timeGetTime() - startTime;
-            break;
-        }
-        
-        if (opt_unix)
-        {
-            unsigned long startTime = timeGetTime();
-            int r;
-            for (loops=0; loops<adj_loopCount; loops++) {
-                
-                for (line=0; line < gNumFileLines; line++) {
-                    int hi   = gNumFileLines-1;
-                    int lo   = 0;
-                    int  guess = -1;
-                    for (;;) {
-                        int newGuess = (hi + lo) / 2;
-                        if (newGuess == guess)
-                            break;
-                        guess = newGuess;
-                        if (opt_usekeys) {
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                 r = strcmp((gSortedLines[line])->unixSortKey, (gSortedLines[guess])->unixSortKey);
-                            }
-                            gCount++;
-                        }
-                        else
-                        {
-                            for (iLoop=0; iLoop < opt_iLoopCount; iLoop++) {
-                                r = strcoll((gSortedLines[line])->unixName, (gSortedLines[guess])->unixName);
-                            }
-                            errno = 0;
-                            if (errno != 0) {
-                                fprintf(stderr, "Error %d returned from strcoll.\n", errno);
-                                exit(-1);
-                            }
-                            gCount++;
-                        }
-                        if (r == 0)   //  strings ==
-                            break;
-                        if (r < 0)  //  line < guess
-                            hi = guess;
-                        else         //  line > guess
-                            lo   = guess;
-                    }
-                }
-            }
-            elapsedTime = timeGetTime() - startTime;
-            break;
-        }
-        break;
-    }
-
-    int ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    if (opt_terse == FALSE) {
-        printf("binary search:  total # of string compares = %d\n", gCount);
-        printf("binary search:  compares per loop = %d\n", gCount / loops);
-        printf("binary search:  time per compare = %d ns\n", ns);
-    } else {
-        printf("%d, ", ns);
-    }
-
-}
-
-
-
-
-//---------------------------------------------------------------------------------------
-//
-//   doQSort()    The quick sort timing test.  Uses the C library qsort function.
-//
-//---------------------------------------------------------------------------------------
-void doQSort() {
-    int i;
-    Line **sortBuf = new Line *[gNumFileLines];
-
-    // Adjust loop count to compensate for file size.   QSort should be n log(n)
-    double dLoopCount = double(opt_loopCount) * 3000. / (log10(gNumFileLines) * double(gNumFileLines));
-    if (opt_usekeys) dLoopCount *= 5;
-    int adj_loopCount = int(dLoopCount);
-    if (adj_loopCount < 1) adj_loopCount = 1;
-
-
-    gCount = 0;
-    unsigned long startTime = timeGetTime();
-    if (opt_win && opt_usekeys) {
-        for (i=0; i<opt_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), WinstrcmpK);
-        }
-    }
-
-    else if (opt_win && opt_uselen) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), WinstrcmpL);
-        }
-    }
-
-
-    else if (opt_win && !opt_uselen) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), Winstrcmp);
-        }
-    }
-
-    else if (opt_icu && opt_usekeys) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), ICUstrcmpK);
-        }
-    }
-
-    else if (opt_icu && opt_uselen) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), ICUstrcmpL);
-        }
-    }
-
-
-    else if (opt_icu && !opt_uselen) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), ICUstrcmp);
-        }
-    }
-
-    else if (opt_unix && !opt_usekeys) {
-        for (i=0; i<adj_loopCount; i++) {
-            memcpy(sortBuf, gRandomLines, gNumFileLines * sizeof(Line *));
-            qsort(sortBuf, gNumFileLines, sizeof(Line *), UNIXstrcmp);
-        }
-    }
-
-    unsigned long elapsedTime = timeGetTime() - startTime;
-    int ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    if (opt_terse == FALSE) {
-        printf("qsort:  total # of string compares = %d\n", gCount);
-        printf("qsort:  time per compare = %d ns\n", ns);
-    } else {
-        printf("%d, ", ns);
-    }
-};
-
-
-
-//---------------------------------------------------------------------------------------
-//
-//    doKeyHist()       Output a table of data for
-//                        average sort key size vs. string length.
-//
-//---------------------------------------------------------------------------------------
-void doKeyHist() {
-    int     i;
-    int     maxLen = 0;
-
-    // Find the maximum string length
-    for (i=0; i<gNumFileLines; i++) {
-        if (gFileLines[i].len > maxLen) maxLen = gFileLines[i].len;
-    }
-
-    // Allocate arrays to hold the histogram data
-    int *accumulatedLen  = new int[maxLen+1];
-    int *numKeysOfSize   = new int[maxLen+1];
-    for (i=0; i<=maxLen; i++) {
-        accumulatedLen[i] = 0;
-        numKeysOfSize[i] = 0;
-    }
-
-    // Fill the arrays...
-    for (i=0; i<gNumFileLines; i++) {
-        int len = gFileLines[i].len;
-        accumulatedLen[len] += strlen(gFileLines[i].icuSortKey);
-        numKeysOfSize[len] += 1;
-    }
-
-    // And write out averages
-    printf("String Length,  Avg Key Length,  Avg Key Len per char\n");
-    for (i=1; i<=maxLen; i++) {
-        if (numKeysOfSize[i] > 0) {
-            printf("%d, %f, %f\n", i, (float)accumulatedLen[i] / (float)numKeysOfSize[i],
-                (float)accumulatedLen[i] / (float)(numKeysOfSize[i] * i));
-        }
-    }
-}
-
-//---------------------------------------------------------------------------------------
-//
-//    doForwardIterTest(UBool)       Forward iteration test
-//                                   argument null-terminated string used
-//
-//---------------------------------------------------------------------------------------
-void doForwardIterTest(UBool haslen) {
-    int count = 0;
-    
-    UErrorCode error = U_ZERO_ERROR;
-    printf("\n\nPerforming forward iteration performance test with ");
-
-    if (haslen) {
-        printf("non-null terminated data -----------\n");
-    }
-    else {
-        printf("null terminated data -----------\n");
-    }
-    printf("performance test on strings from file -----------\n");
-
-    UChar dummytext[] = {0, 0};
-    UCollationElements *iter = ucol_openElements(gCol, NULL, 0, &error);
-    ucol_setText(iter, dummytext, 1, &error);
-    
-    gCount = 0;
-    unsigned long startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int linecount = 0;
-        while (linecount < gNumFileLines) {
-            UChar *str = gFileLines[linecount].name;
-            int strlen = haslen?gFileLines[linecount].len:-1;
-            ucol_setText(iter, str, strlen, &error);
-            while (ucol_next(iter, &error) != UCOL_NULLORDER) {
-                gCount++;
-            }
-
-            linecount ++;
-        }
-        count ++;
-    }
-    unsigned long elapsedTime = timeGetTime() - startTime;
-    printf("elapsedTime %d\n", elapsedTime);
-
-    // empty loop recalculation
-    count = 0;
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int linecount = 0;
-        while (linecount < gNumFileLines) {
-            UChar *str = gFileLines[linecount].name;
-            int strlen = haslen?gFileLines[linecount].len:-1;
-            ucol_setText(iter, str, strlen, &error);
-            linecount ++;
-        }
-        count ++;
-    }
-    elapsedTime -= (timeGetTime() - startTime);
-    printf("elapsedTime %d\n", elapsedTime);
-
-    ucol_closeElements(iter);
-
-    int ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    printf("Total number of strings compared %d in %d loops\n", gNumFileLines,
-                                                                opt_loopCount);
-    printf("Average time per ucol_next() nano seconds %d\n", ns);
-
-    printf("performance test on skipped-5 concatenated strings from file -----------\n");
-
-    UChar *str;
-    int    strlen = 0;
-    // appending all the strings
-    int linecount = 0;
-    while (linecount < gNumFileLines) {
-        strlen += haslen?gFileLines[linecount].len:
-                                      u_strlen(gFileLines[linecount].name);
-        linecount ++;
-    }
-    str = (UChar *)malloc(sizeof(UChar) * strlen);
-    int strindex = 0;
-    linecount = 0;
-    while (strindex < strlen) {
-        int len = 0;
-        len += haslen?gFileLines[linecount].len:
-                                      u_strlen(gFileLines[linecount].name);
-        memcpy(str + strindex, gFileLines[linecount].name, 
-               sizeof(UChar) * len);
-        strindex += len;
-        linecount ++;
-    }
-
-    printf("Total size of strings %d\n", strlen);
-
-    gCount = 0;
-    count  = 0;
-
-    if (!haslen) {
-        strlen = -1;
-    }
-    iter = ucol_openElements(gCol, str, strlen, &error);
-    if (!haslen) {
-        strlen = u_strlen(str);
-    }
-    strlen -= 5; // any left over characters are not iterated,
-                 // this is to ensure the backwards and forwards iterators
-                 // gets the same position
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int count5 = 5;
-        strindex = 0;
-        ucol_setOffset(iter, strindex, &error);
-        while (TRUE) {
-            if (ucol_next(iter, &error) == UCOL_NULLORDER) {
-                break;
-            }
-            gCount++;
-            count5 --;
-            if (count5 == 0) {
-                strindex += 10;
-                if (strindex > strlen) {
-                    break;
-                }
-                ucol_setOffset(iter, strindex, &error);
-                count5 = 5;
-            }
-        }
-        count ++;
-    }
-
-    elapsedTime = timeGetTime() - startTime;
-    printf("elapsedTime %d\n", elapsedTime);
-    
-    // empty loop recalculation
-    int tempgCount = 0;
-    count = 0;
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int count5 = 5;
-        strindex = 0;
-        ucol_setOffset(iter, strindex, &error);
-        while (TRUE) {
-            tempgCount ++;
-            count5 --;
-            if (count5 == 0) {
-                strindex += 10;
-                if (strindex > strlen) {
-                    break;
-                }
-                ucol_setOffset(iter, strindex, &error);
-                count5 = 5;
-            }
-        }
-        count ++;
-    }
-    elapsedTime -= (timeGetTime() - startTime);
-    printf("elapsedTime %d\n", elapsedTime);
-
-    ucol_closeElements(iter);
-
-    printf("gCount %d\n", gCount);
-    ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    printf("Average time per ucol_next() nano seconds %d\n", ns);
-}
-
-//---------------------------------------------------------------------------------------
-//
-//    doBackwardIterTest(UBool)      Backwards iteration test
-//                                   argument null-terminated string used
-//
-//---------------------------------------------------------------------------------------
-void doBackwardIterTest(UBool haslen) {
-    int count = 0;
-    UErrorCode error = U_ZERO_ERROR;
-    printf("\n\nPerforming backward iteration performance test with ");
-
-    if (haslen) {
-        printf("non-null terminated data -----------\n");
-    }
-    else {
-        printf("null terminated data -----------\n");
-    }
-    
-    printf("performance test on strings from file -----------\n");
-
-    UCollationElements *iter = ucol_openElements(gCol, NULL, 0, &error);
-    UChar dummytext[] = {0, 0};
-    ucol_setText(iter, dummytext, 1, &error);
-
-    gCount = 0;
-    unsigned long startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int linecount = 0;
-        while (linecount < gNumFileLines) {
-            UChar *str = gFileLines[linecount].name;
-            int strlen = haslen?gFileLines[linecount].len:-1;
-            ucol_setText(iter, str, strlen, &error);
-            while (ucol_previous(iter, &error) != UCOL_NULLORDER) {
-                gCount ++;
-            }
-
-            linecount ++;
-        }
-        count ++;
-    }
-    unsigned long elapsedTime = timeGetTime() - startTime;
-
-    printf("elapsedTime %d\n", elapsedTime);
-
-    // empty loop recalculation
-    count = 0;
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int linecount = 0;
-        while (linecount < gNumFileLines) {
-            UChar *str = gFileLines[linecount].name;
-            int strlen = haslen?gFileLines[linecount].len:-1;
-            ucol_setText(iter, str, strlen, &error);
-            linecount ++;
-        }
-        count ++;
-    }
-    elapsedTime -= (timeGetTime() - startTime);
-
-    printf("elapsedTime %d\n", elapsedTime);
-    ucol_closeElements(iter);
-
-    int ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    printf("Total number of strings compared %d in %d loops\n", gNumFileLines,
-                                                                opt_loopCount);
-    printf("Average time per ucol_previous() nano seconds %d\n", ns);
-
-    printf("performance test on skipped-5 concatenated strings from file -----------\n");
-
-    UChar *str;
-    int    strlen = 0;
-    // appending all the strings
-    int linecount = 0;
-    while (linecount < gNumFileLines) {
-        strlen += haslen?gFileLines[linecount].len:
-                                      u_strlen(gFileLines[linecount].name);
-        linecount ++;
-    }
-    str = (UChar *)malloc(sizeof(UChar) * strlen);
-    int strindex = 0;
-    linecount = 0;
-    while (strindex < strlen) {
-        int len = 0;
-        len += haslen?gFileLines[linecount].len:
-                                      u_strlen(gFileLines[linecount].name);
-        memcpy(str + strindex, gFileLines[linecount].name, 
-               sizeof(UChar) * len);
-        strindex += len;
-        linecount ++;
-    }
-
-    printf("Total size of strings %d\n", strlen);
-
-    gCount = 0;
-    count  = 0;
-
-    if (!haslen) {
-        strlen = -1;
-    }
-
-    iter = ucol_openElements(gCol, str, strlen, &error);
-    if (!haslen) {
-        strlen = u_strlen(str);
-    }
-
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int count5 = 5;
-        strindex = 5;
-        ucol_setOffset(iter, strindex, &error);
-        while (TRUE) {
-            if (ucol_previous(iter, &error) == UCOL_NULLORDER) {
-                break;
-            }
-             gCount ++;
-             count5 --;
-             if (count5 == 0) {
-                 strindex += 10;
-                 if (strindex > strlen) {
-                    break;
-                 }
-                 ucol_setOffset(iter, strindex, &error);
-                 count5 = 5;
-             }
-        }
-        count ++;
-    }
-
-    elapsedTime = timeGetTime() - startTime;
-    printf("elapsedTime %d\n", elapsedTime);
-    
-    // empty loop recalculation
-    count = 0;
-    int tempgCount = 0;
-    startTime = timeGetTime();
-    while (count < opt_loopCount) {
-        int count5 = 5;
-        strindex = 5;
-        ucol_setOffset(iter, strindex, &error);
-        while (TRUE) {
-             tempgCount ++;
-             count5 --;
-             if (count5 == 0) {
-                 strindex += 10;
-                 if (strindex > strlen) {
-                    break;
-                 }
-                 ucol_setOffset(iter, strindex, &error);
-                 count5 = 5;
-             }
-        }
-        count ++;
-    }
-    elapsedTime -= (timeGetTime() - startTime);
-    printf("elapsedTime %d\n", elapsedTime);
-    ucol_closeElements(iter);
-
-    printf("gCount %d\n", gCount);
-    ns = (int)(float(1000000) * (float)elapsedTime / (float)gCount);
-    printf("Average time per ucol_previous() nano seconds %d\n", ns);
-}
-
-//---------------------------------------------------------------------------------------
-//
-//    doIterTest()       Iteration test
-//
-//---------------------------------------------------------------------------------------
-void doIterTest() {
-    doForwardIterTest(opt_uselen);
-    doBackwardIterTest(opt_uselen);
-}
-
-
-//----------------------------------------------------------------------------------------
-//
-//   UnixConvert   -- Convert the lines of the file to the encoding for UNIX
-//                    Since it appears that Unicode support is going in the general
-//                    direction of the use of UTF-8 locales, that is the approach
-//                    that is used here.
-//
-//----------------------------------------------------------------------------------------
-void  UnixConvert() {
-    int    line;
-
-    UConverter   *cvrtr;    // An ICU code page converter.
-    UErrorCode    status = U_ZERO_ERROR;
-
-
-    cvrtr = ucnv_open("utf-8", &status);    // we are just doing UTF-8 locales for now.
-    if (U_FAILURE(status)) {
-        fprintf(stderr, "ICU Converter open failed.: %d\n", &status);
-        exit(-1);
-    }
-
-    for (line=0; line < gNumFileLines; line++) {
-        int sizeNeeded = ucnv_fromUChars(cvrtr,
-                                         0,            // ptr to target buffer.
-                                         0,            // length of target buffer.
-                                         gFileLines[line].name,
-                                         -1,           //  source is null terminated
-                                         &status);
-        if (status != U_BUFFER_OVERFLOW_ERROR && status != U_ZERO_ERROR) {
-            fprintf(stderr, "Conversion from Unicode, something is wrong.\n");
-            exit(-1);
-        }
-        status = U_ZERO_ERROR;
-        gFileLines[line].unixName = new char[sizeNeeded+1];
-        sizeNeeded = ucnv_fromUChars(cvrtr,
-                                         gFileLines[line].unixName, // ptr to target buffer.
-                                         sizeNeeded+1, // length of target buffer.
-                                         gFileLines[line].name,
-                                         -1,           //  source is null terminated
-                                         &status);
-        if (U_FAILURE(status)) {
-            fprintf(stderr, "ICU Conversion Failed.: %d\n", status);
-            exit(-1);
-        }
-        gFileLines[line].unixName[sizeNeeded] = 0;
-    };
-    ucnv_close(cvrtr);
-}
-
-
-//----------------------------------------------------------------------------------------
-//
-//  class UCharFile   Class to hide all the gorp to read a file in
-//                    and produce a stream of UChars.
-//
-//----------------------------------------------------------------------------------------
-class UCharFile {
-public:
-    UCharFile(const char *fileName);
-    ~UCharFile();
-    UChar   get();
-    UBool   eof() {return fEof;};
-    UBool   error() {return fError;};
-    
-private:
-    UCharFile (const UCharFile &other) {};                         // No copy constructor.
-    UCharFile & operator = (const UCharFile &other) {return *this;};   // No assignment op
-
-    FILE         *fFile;
-    const char   *fName;
-    UBool        fEof;
-    UBool        fError;
-    UChar        fPending2ndSurrogate;
-    
-    enum {UTF16LE, UTF16BE, UTF8} fEncoding;
-};
-
-UCharFile::UCharFile(const char * fileName) {
-    fEof                 = FALSE;
-    fError               = FALSE;
-    fName                = fileName;
-    fFile                = fopen(fName, "rb");
-    fPending2ndSurrogate = 0;
-    if (fFile == NULL) {
-        fprintf(stderr, "Can not open file \"%s\"\n", opt_fName);
-        fError = TRUE;
-        return;
-    }
-    //
-    //  Look for the byte order mark at the start of the file.
-    //
-    int BOMC1, BOMC2, BOMC3;
-    BOMC1 = fgetc(fFile);
-    BOMC2 = fgetc(fFile);
-
-    if (BOMC1 == 0xff && BOMC2 == 0xfe) {
-        fEncoding = UTF16LE; }
-    else if (BOMC1 == 0xfe && BOMC2 == 0xff) {
-        fEncoding = UTF16BE; }
-    else if (BOMC1 == 0xEF && BOMC2 == 0xBB && (BOMC3 = fgetc(fFile)) == 0xBF ) {
-        fEncoding = UTF8; }
-    else
-    {
-        fprintf(stderr, "collperf:  file \"%s\" encoding must be UTF-8 or UTF-16, and "
-            "must include a BOM.\n", fileName);
-        fError = true;
-        return;
-    }
-}
-
-
-UCharFile::~UCharFile() {
-    fclose(fFile);
-}
-
-
-
-UChar UCharFile::get() {
-    UChar   c;
-    switch (fEncoding) {
-    case UTF16LE:
-        {
-            int  cL, cH;
-            cL = fgetc(fFile);
-            cH = fgetc(fFile);
-            c  = cL  | (cH << 8);
-            if (cH == EOF) {
-                c   = 0;
-                fEof = TRUE;
-            }
-            break;
-        }
-    case UTF16BE:
-        {
-            int  cL, cH;
-            cH = fgetc(fFile);
-            cL = fgetc(fFile);
-            c  = cL  | (cH << 8);
-            if (cL == EOF) {
-                c   = 0;
-                fEof = TRUE;
-            }
-            break;
-        }
-    case UTF8:
-        {
-            if (fPending2ndSurrogate != 0) {
-                c = fPending2ndSurrogate;
-                fPending2ndSurrogate = 0;
-                break;
-            }
-            
-            int ch = fgetc(fFile);   // Note:  c and ch are separate cause eof test doesn't work on UChar type.
-            if (ch == EOF) {
-                c = 0;
-                fEof = TRUE;
-                break;
-            }
-            
-            if (ch <= 0x7f) {
-                // It's ascii.  No further utf-8 conversion.
-                c = ch;
-                break;
-            }
-            
-            // Figure out the lenght of the char and read the rest of the bytes
-            //   into a temp array.
-            int nBytes;
-            if (ch >= 0xF0) {nBytes=4;}
-            else if (ch >= 0xE0) {nBytes=3;}
-            else if (ch >= 0xC0) {nBytes=2;}
-            else {
-                fprintf(stderr, "utf-8 encoded file contains corrupt data.\n");
-                fError = TRUE;
-                return 0;
-            }
-            
-            unsigned char  bytes[10];
-            bytes[0] = (unsigned char)ch;
-            int i;
-            for (i=1; i<nBytes; i++) {
-                bytes[i] = fgetc(fFile);
-                if (bytes[i] < 0x80 || bytes[i] >= 0xc0) {
-                    fprintf(stderr, "utf-8 encoded file contains corrupt data.\n");
-                    fError = TRUE;
-                    return 0;
-                }
-            }
-            
-            // Convert the bytes from the temp array to a Unicode char.
-            i = 0;
-            uint32_t  cp;
-            UTF8_NEXT_CHAR_UNSAFE(bytes, i, cp);
-            c = (UChar)cp;
-            
-            if (cp >= 0x10000) {
-                // The code point needs to be broken up into a utf-16 surrogate pair.
-                //  Process first half this time through the main loop, and
-                //   remember the other half for the next time through.
-                UChar utf16Buf[3];
-                i = 0;
-                UTF16_APPEND_CHAR_UNSAFE(utf16Buf, i, cp);
-                fPending2ndSurrogate = utf16Buf[1];
-                c = utf16Buf[0];
-            }
-            break;
-        };
-    }
-    return c;
-}
-
-//----------------------------------------------------------------------------------------
-//
-//   openRulesCollator  - Command line specified a rules file.  Read it in
-//                        and open a collator with it.
-//
-//----------------------------------------------------------------------------------------
-UCollator *openRulesCollator() {
-    UCharFile f(opt_rules);
-    if (f.error()) {
-        return 0;
-    }
-
-    int  bufLen = 10000;
-    UChar *buf = (UChar *)malloc(bufLen * sizeof(UChar));
-    int i = 0;
-
-    for(;;) {
-        buf[i] = f.get();
-        if (f.eof()) {
-            break;
-        }
-        if (f.error()) {
-            return 0;
-        }
-        i++;
-        if (i >= bufLen) {
-            bufLen += 10000;
-            buf = (UChar *)realloc(buf, bufLen);
-        }
-    }
-    buf[i] = 0;
-
-    UErrorCode    status = U_ZERO_ERROR;
-    UCollator *coll = ucol_openRules(buf, u_strlen(buf), UCOL_OFF,
-                                         UCOL_DEFAULT_STRENGTH, NULL, &status);
-    if (U_FAILURE(status)) {
-        fprintf(stderr, "ICU ucol_openRules() open failed.: %d\n", status);
-        return 0;
-    }
-    free(buf);
-    return coll;
-}
-
-
-
-
-
-//----------------------------------------------------------------------------------------
-//
-//    Main   --  process command line, read in and pre-process the test file,
-//                 call other functions to do the actual tests.
-//
-//----------------------------------------------------------------------------------------
-int main(int argc, const char** argv) {
-    if (ProcessOptions(argc, argv, opts) != TRUE || opt_help || opt_fName == 0) {
-        printf(gUsageString);
-        exit (1);
-    }
-
-    // Make sure that we've only got one API selected.
-    if (opt_unix || opt_win) opt_icu = FALSE;
-    if (opt_unix) opt_win = FALSE;
-
-    //
-    //  Set up an ICU collator
-    //
-    UErrorCode          status = U_ZERO_ERROR;
-
-    if (opt_rules != 0) {
-        gCol = openRulesCollator();
-        if (gCol == 0) {return -1;}
-    }
-    else {
-        gCol = ucol_open(opt_locale, &status);
-        if (U_FAILURE(status)) {
-            fprintf(stderr, "Collator creation failed.: %d\n", status);
-            return -1;
-        }
-    }
-    if (status==U_USING_DEFAULT_WARNING && opt_terse==FALSE) {
-        fprintf(stderr, "Warning, U_USING_DEFAULT_WARNING for %s\n", opt_locale);
-    }
-    if (status==U_USING_FALLBACK_WARNING && opt_terse==FALSE) {
-        fprintf(stderr, "Warning, U_USING_FALLBACK_ERROR for %s\n", opt_locale);
-    }
-
-    if (opt_norm) {
-        ucol_setAttribute(gCol, UCOL_NORMALIZATION_MODE, UCOL_ON, &status);
-    }
-    if (opt_french && opt_frenchoff) {
-        fprintf(stderr, "collperf:  Error, specified both -french and -frenchoff options.");
-        exit(-1);
-    }
-    if (opt_french) {
-        ucol_setAttribute(gCol, UCOL_FRENCH_COLLATION, UCOL_ON, &status);
-    }
-    if (opt_frenchoff) {
-        ucol_setAttribute(gCol, UCOL_FRENCH_COLLATION, UCOL_OFF, &status);
-    }
-    if (opt_lower) {
-        ucol_setAttribute(gCol, UCOL_CASE_FIRST, UCOL_LOWER_FIRST, &status);
-    }
-    if (opt_upper) {
-        ucol_setAttribute(gCol, UCOL_CASE_FIRST, UCOL_UPPER_FIRST, &status);
-    }
-    if (opt_case) {
-        ucol_setAttribute(gCol, UCOL_CASE_LEVEL, UCOL_ON, &status);
-    }
-    if (opt_shifted) {
-        ucol_setAttribute(gCol, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED, &status);
-    }
-    if (opt_level != 0) {
-        switch (opt_level) {
-        case 1:
-            ucol_setAttribute(gCol, UCOL_STRENGTH, UCOL_PRIMARY, &status);
-            break;
-        case 2:
-            ucol_setAttribute(gCol, UCOL_STRENGTH, UCOL_SECONDARY, &status);
-            break;
-        case 3:
-            ucol_setAttribute(gCol, UCOL_STRENGTH, UCOL_TERTIARY, &status);
-            break;
-        case 4:
-            ucol_setAttribute(gCol, UCOL_STRENGTH, UCOL_QUATERNARY, &status);
-            break;
-        case 5:
-            ucol_setAttribute(gCol, UCOL_STRENGTH, UCOL_IDENTICAL, &status);
-            break;
-        default:
-            fprintf(stderr, "-level param must be between 1 and 5\n");
-            exit(-1);
-        }
-    }
-
-    if (U_FAILURE(status)) {
-        fprintf(stderr, "Collator attribute setting failed.: %d\n", status);
-        return -1;
-    }
-
-
-    //
-    //  Set up a Windows LCID
-    //
-    if (opt_langid != 0) {
-        gWinLCID = MAKELCID(opt_langid, SORT_DEFAULT);
-    }
-    else {
-        gWinLCID = uloc_getLCID(opt_locale);
-    }
-
-
-    //
-    //  Set the UNIX locale
-    //
-    if (opt_unix) {
-        if (setlocale(LC_ALL, opt_locale) == 0) {
-            fprintf(stderr, "setlocale(LC_ALL, %s) failed.\n", opt_locale);
-            exit(-1);
-        }
-    }
-
-    // Read in  the input file.
-    //   File assumed to be utf-16.
-    //   Lines go onto heap buffers.  Global index array to line starts is created.
-    //   Lines themselves are null terminated.
-    //
-
-    UCharFile f(opt_fName);
-    if (f.error()) {
-        exit(-1);
-    }
-
-    const int MAXLINES = 40000;
-    gFileLines = new Line[MAXLINES];
-    UChar buf[1024];
-    int   column = 0;
-
-    //  Read the file, split into lines, and save in memory.
-    //  Loop runs once per utf-16 value from the input file,
-    //    (The number of bytes read from file per loop iteration depends on external encoding.)
-    for (;;) {
-
-        UChar c = f.get();
-        if (f.error()){
-            exit(-1);
-        }
-
-
-        // We now have a good UTF-16 value in c.
-
-        // Watch for CR, LF, EOF; these finish off a line.
-        if (c == 0xd) {
-            continue;
-        }
-
-        if (f.eof() || c == 0x0a || c==0x2028) {  // Unipad inserts 2028 line separators!
-            buf[column++] = 0;
-            if (column > 1) {
-                gFileLines[gNumFileLines].name  = new UChar[column];
-                gFileLines[gNumFileLines].len   = column-1;
-                memcpy(gFileLines[gNumFileLines].name, buf, column * sizeof(UChar));
-                gNumFileLines++;
-                column = 0;
-                if (gNumFileLines >= MAXLINES) {
-                    fprintf(stderr, "File too big.  Max number of lines is %d\n", MAXLINES);
-                    exit(-1);
-                }
-
-            }
-            if (c == 0xa || c == 0x2028)
-                continue;
-            else
-                break;  // EOF
-        }
-        buf[column++] = c;
-        if (column >= 1023)
-        {
-            static UBool warnFlag = TRUE;
-            if (warnFlag) {
-                fprintf(stderr, "Warning - file line longer than 1023 chars truncated.\n");
-                warnFlag = FALSE;
-            }
-            column--;
-        }
-    }
-
-    if (opt_terse == FALSE) {
-        printf("file \"%s\", %d lines.\n", opt_fName, gNumFileLines);
-    }
-
-
-    // Convert the lines to the UNIX encoding.
-    if (opt_unix) {
-        UnixConvert();
-    }
-
-    //
-    //  Pre-compute ICU sort keys for the lines of the file.
-    //
-    int line;
-    int t;
-
-    for (line=0; line<gNumFileLines; line++) {
-         t = ucol_getSortKey(gCol, gFileLines[line].name, -1, (unsigned char *)buf, sizeof(buf));
-         gFileLines[line].icuSortKey  = new char[t];
-
-         if (t > sizeof(buf)) {
-             t = ucol_getSortKey(gCol, gFileLines[line].name, -1, (unsigned char *)gFileLines[line].icuSortKey , t);
-         }
-         else
-         {
-             memcpy(gFileLines[line].icuSortKey, buf, t);
-         }
-    }
-
-
-
-    //
-    //  Pre-compute Windows sort keys for the lines of the file.
-    //
-    for (line=0; line<gNumFileLines; line++) {
-         t=LCMapStringW(gWinLCID, LCMAP_SORTKEY, gFileLines[line].name, -1, buf, sizeof(buf));
-         gFileLines[line].winSortKey  = new char[t];
-         if (t > sizeof(buf)) {
-             t = LCMapStringW(gWinLCID, LCMAP_SORTKEY, gFileLines[line].name, -1, (unsigned short *)(gFileLines[line].winSortKey), t);
-         }
-         else
-         {
-             memcpy(gFileLines[line].winSortKey, buf, t);
-         }
-    }
-
-    //
-    //  Pre-compute UNIX sort keys for the lines of the file.
-    //
-    if (opt_unix) {
-        for (line=0; line<gNumFileLines; line++) {
-            t=strxfrm((char *)buf,  gFileLines[line].unixName,  sizeof(buf));
-            gFileLines[line].unixSortKey  = new char[t];
-            if (t > sizeof(buf)) {
-                t = strxfrm(gFileLines[line].unixSortKey,  gFileLines[line].unixName,  sizeof(buf));
-            }
-            else
-            {
-                memcpy(gFileLines[line].unixSortKey, buf, t);
-            }
-        }
-    }
-
-
-    //
-    //  Dump file lines, CEs, Sort Keys if requested.
-    //
-    if (opt_dump) {
-        int  i;
-        for (line=0; line<gNumFileLines; line++) {
-            for (i=0;;i++) {
-                UChar  c = gFileLines[line].name[i];
-                if (c == 0)
-                    break;
-                if (c < 0x20 || c > 0x7e) {
-                    printf("\\u%.4x", c);
-                }
-                else {
-                    printf("%c", c);
-                }
-            }
-            printf("\n");
-
-            printf("   CEs: ");
-            UCollationElements *CEiter = ucol_openElements(gCol, gFileLines[line].name, -1, &status);
-            int32_t ce;
-            i = 0;
-            for (;;) {
-                ce = ucol_next(CEiter, &status);
-                if (ce == UCOL_NULLORDER) {
-                    break;
-                }
-                printf(" %.8x", ce);
-                if (++i > 8) {
-                    printf("\n        ");
-                    i = 0;
-                }
-            }
-            printf("\n");
-            ucol_closeElements(CEiter);
-
-
-            printf("   ICU Sort Key: ");
-            for (i=0; ; i++) {
-                unsigned char c = gFileLines[line].icuSortKey[i];
-                printf("%02x ", c);
-                if (c == 0) {
-                    break;
-                }
-                if (i > 0 && i % 20 == 0) {
-                    printf("\n                 ");
-                }
-           }
-            printf("\n");
-        }
-    }
-
-
-    //
-    //  Pre-sort the lines.
-    //
-    int i;
-    gSortedLines = new Line *[gNumFileLines];
-    for (i=0; i<gNumFileLines; i++) {
-        gSortedLines[i] = &gFileLines[i];
-    }
-
-    if (opt_win) {
-        qsort(gSortedLines, gNumFileLines, sizeof(Line *), Winstrcmp);
-    }
-    else if (opt_unix) {
-        qsort(gSortedLines, gNumFileLines, sizeof(Line *), UNIXstrcmp);
-    }
-    else   /* ICU */
-    {
-        qsort(gSortedLines, gNumFileLines, sizeof(Line *), ICUstrcmp);
-    }
-
-
-    //
-    //  Make up a randomized order, will be used for sorting tests.
-    //
-    gRandomLines = new Line *[gNumFileLines];
-    for (i=0; i<gNumFileLines; i++) {
-        gRandomLines[i] = &gFileLines[i];
-    }
-    qsort(gRandomLines, gNumFileLines, sizeof(Line *), ICURandomCmp);
-
-
-
-
-    //
-    //  We've got the file read into memory.  Go do something with it.
-    //
-
-    if (opt_qsort)     doQSort();
-    if (opt_binsearch) doBinarySearch();
-    if (opt_keygen)    doKeyGen();
-    if (opt_keyhist)   doKeyHist();
-    if (opt_itertest)  doIterTest();
-
-    return 0;
-
-}
diff --git a/icuSources/test/collperf/collperf.dsp b/icuSources/test/collperf/collperf.dsp
deleted file mode 100644 (file)
index 4fc8ded..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-# Microsoft Developer Studio Project File - Name="collperf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=collperf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "collperf.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "collperf.mak" CFG="collperf - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "collperf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "collperf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "collperf - Win64 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "collperf - Win64 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "collperf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /G6 /MD /W3 /GX /O2 /Ob2 /I "..\..\..\include" /I "..\..\tools\ctestfw" /I "..\..\common" /I "..\..\i18n" /I "..\..\tools\toolutil" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 icuuc.lib icuin.lib ctestfw.lib icutu.lib kernel32.lib user32.lib advapi32.lib shell32.lib winmm.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\lib\\"
-
-!ELSEIF  "$(CFG)" == "collperf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /I "..\..\tools\ctestfw" /I "..\..\common" /I "..\..\i18n" /I "..\..\tools\toolutil" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 icuucd.lib icuind.lib icutud.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\lib\\"
-
-!ELSEIF  "$(CFG)" == "collperf - Win64 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Op /I "..\..\..\include" /I "..\..\tools\ctestfw" /I "..\..\common" /I "..\..\i18n" /I "..\..\tools\toolutil" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /Wp64 /Zm600 /c
-# SUBTRACT CPP /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64
-# ADD LINK32 icuuc.lib icuin.lib ctestfw.lib icutu.lib kernel32.lib user32.lib advapi32.lib shell32.lib winmm.lib /nologo /subsystem:console /machine:IX86 /libpath:"..\..\..\lib\\" /machine:IA64
-
-!ELSEIF  "$(CFG)" == "collperf - Win64 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /Op /I "..\..\..\include" /I "..\..\tools\ctestfw" /I "..\..\common" /I "..\..\i18n" /I "..\..\tools\toolutil" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /GZ /Wp64 /Zm600 /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /pdbtype:sept /machine:IA64
-# ADD LINK32 icuucd.lib icuind.lib icutud.lib winmm.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /pdbtype:sept /libpath:"..\..\..\lib\\" /machine:IA64
-
-!ENDIF 
-
-# Begin Target
-
-# Name "collperf - Win32 Release"
-# Name "collperf - Win32 Debug"
-# Name "collperf - Win64 Release"
-# Name "collperf - Win64 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\collperf.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/icuSources/test/collperf/readme.html b/icuSources/test/collperf/readme.html
deleted file mode 100644 (file)
index 40940d1..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<HTML>
-
-<HEAD>
-       <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
-        <meta name="Copyright" content="Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved.">
-       <META NAME="GENERATOR" Content="Visual Page 2.0 for Windows">
-       <TITLE>collperf</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="white">
-
-<H2>collperf</H2>
-<P>collperf is a test program for comparing collation performance and key lengths of ICU, Windows native collation
-and Unix/POSIX collation. It operates on a file of lines (names, for example), and performs one of three tests:</P>
-
-<OL>
-       <LI>Sort Key generation. Report on key lengths and key generation times.
-       <LI>Binary search. Report the average time required to look up each of the names (file lines) from the file in
-       a sorted list of all of the names.
-       <LI>Quick Sort. Report the time required to sort the file in memory, using the C library qsort function. The file
-       order is randomized prior to the sort.
-</OL>
-
-<P>
-<P><B>Usage Summary</B></P>
-
-<BLOCKQUOTE>
-       <P>
-       <TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFFBF0">
-               <TR>
-                       <TD WIDTH="100%">
-                               <P><TT>collperf -help</TT>
-                               <BLOCKQUOTE>
-                                       <PRE><TT>Usage: strperf options...
--help                  Display this message.
--file file_name        utf-16 format file of names
--locale name           ICU locale to use. Default is en_US
--langid 0x1234         Windows Language ID number. Default 0x409 (en_US)
-                       see http://msdn.microsoft.com/library/psdk/winbase/nls_8xo3.htm
--win                   Run test using Windows native services. (ICU is default)
--unix                  Run test using Unix strxfrm, strcoll services.
--uselen                Use API with string lengths. Default is null-terminated strings
--usekeys               Run tests using sortkeys rather than strcoll
--loop nnnn             Loopcount for test. Adjust for reasonable total running time.
--terse                 Terse numbers-only output. Intended for use by scripts.
--french                French accent ordering
--norm                  Normalizing mode on
--shifted               Shifted mode
--lower                 Lower case first
--upper                 Upper case first
--case                  Enable separate case level
--level n               Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical
--binsearch             Binary Search timing test
--keygen                Sort Key Generation timing test
--qsort                 Quicksort timing test</TT></PRE>
-                               </BLOCKQUOTE>
-                       </TD>
-               </TR>
-       </TABLE>
-</P>
-</BLOCKQUOTE>
-
-<P><B>Example</B></P>
-
-<BLOCKQUOTE>
-       <P>
-       <TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFFBF0">
-               <TR>
-                       <TD WIDTH="100%"><TT>C:\&gt;collperf -loop 200 -file latin.txt -keygen -shifted -level 4<BR>
-                               file &quot;latin.txt&quot;, 7604 lines.<BR>
-                               Sort Key Generation: total # of keys = 197704<BR>
-                               Sort Key Generation: time per key = 4253 ns<BR>
-                               Key Length / character = 1.730054</TT></TD>
-               </TR>
-       </TABLE>
-
-</BLOCKQUOTE>
-
-<P>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/icuSources/test/perf/all/all.dsp b/icuSources/test/perf/all/all.dsp
deleted file mode 100644 (file)
index 83d50f6..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# Microsoft Developer Studio Project File - Name="all" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=all - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "all.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "all.mak" CFG="all - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "all - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "all - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-MTL=midl.exe
-
-!IF  "$(CFG)" == "all - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-
-!ELSEIF  "$(CFG)" == "all - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-
-!ENDIF 
-
-# Begin Target
-
-# Name "all - Win32 Release"
-# Name "all - Win32 Debug"
-# End Target
-# End Project
diff --git a/icuSources/test/unalignedtest/Makefile.in b/icuSources/test/unalignedtest/Makefile.in
deleted file mode 100644 (file)
index d4fa022..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-## Makefile.in for ICU - test/unalignedtest
-## Copyright (c) 2001, International Business Machines Corporation and
-## others. All Rights Reserved.
-
-## Source directory information
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-
-top_builddir = ../..
-
-include $(top_builddir)/icudefs.mk
-
-## Build directory information
-subdir = test/unalignedtest
-
-## Extra files to remove for 'make clean'
-CLEANFILES = *~ $(DEPS)
-
-## Target information
-TARGET = unalignedtest
-
-DEFS += -I$(top_builddir)/common -I$(top_srcdir)/common
-LIBS = $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
-
-OBJECTS = unaligned.o
-
-DEPS = $(OBJECTS:.o=.d)
-
-## List of phony targets
-.PHONY : all all-local install install-local clean clean-local \
-distclean distclean-local dist dist-local check check-local
-
-## Clear suffix list
-.SUFFIXES :
-
-## List of standard targets
-all: all-local
-install: install-local
-clean: clean-local
-distclean : distclean-local
-dist: dist-local
-check: all check-local
-
-all-local: $(TARGET)
-
-install-local:
-
-dist-local:
-
-clean-local:
-       test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
-       $(RMV) $(OBJECTS) $(TARGET)
-
-distclean-local: clean-local
-       $(RMV) Makefile
-
-check-local: all-local check-cintltst check-intltest
-
-check-cintltst:
-       - $(INVOKE) ./$(TARGET) $(top_srcdir)/test/cintltst/cintltst -a
-
-check-intltest:
-       - $(INVOKE) ./$(TARGET) $(top_srcdir)/test/intltest/intltest -a
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) \
-        && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-$(TARGET) : $(OBJECTS)
-       $(LINK.cc) -o $@ $^ 
-
-invoke:
-       ICU_DATA=$${ICU_DATA:-$(top_builddir)/data/} TZ=PST8PDT $(INVOKE) $(INVOCATION)
-
-ifeq (,$(MAKECMDGOALS))
--include $(DEPS)
-else
-ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
-ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
--include $(DEPS)
-endif
-endif
-endif
diff --git a/icuSources/test/unalignedtest/readme b/icuSources/test/unalignedtest/readme
deleted file mode 100644 (file)
index acf10a1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2002-2003, International Business Machines Corporation and others. All Rights Reserved.
-Unalignedtest
-=============
-
-This is a test to find if ICU is 64 bit clean. This test runs cintltst and intltest through gdb and produces SIGBUS fault
-whenever the kernel encounters a unaligned trap. 
-
-Build and Usage
-==================
-To build this test:
-
-i)   Build and test ICU
-
-ii)  cd to <icu>/source and run the following command to build the Makefile
-CONFIG_FILES=./test/unalignedtest/Makefile CONFIG_HEADERS= ./config.status
-
-iii) cd to <icu>/source/test/unalignedtest and run 'make' to build the executable
-
-iv) For testing cintltst run 'make check-cintltst'
-
-v) For testing intltest run 'make check-intltest'
-
-vi) To find out if any of the tools are performing unaligned traps:
-       a) cd to <icu>/source/data
-       b) run 'make clean'
-       c) run 'env LEAK_CHECKER="<icu>/source/test/unalignedtest/unalignedtest -b" make' 
-
diff --git a/icuSources/test/unalignedtest/unaligned.c b/icuSources/test/unalignedtest/unaligned.c
deleted file mode 100644 (file)
index 69137a3..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
-
-    This program is a wrapper to assist in debugging analigned traps on the Alpha
-
-    architectures.
-
-
-
-    COPYRIGHT AND PERMISSION NOTICE
-
-
-
-    Copyright (c) 2002 Sean Hunter
-
-
-
-    Permission is hereby granted, free of charge, to any person obtaining a
-
-    copy of this software and associated documentation files (the
-
-    "Software"), to deal in the Software without restriction, including
-
-    without limitation the rights to use, copy, modify, merge, publish,
-
-    distribute, and/or sell copies of the Software, and to permit persons
-
-    to whom the Software is furnished to do so, provided that the above
-
-    copyright notice(s) and this permission notice appear in all copies of
-
-    the Software and that both the above copyright notice(s) and this
-
-    permission notice appear in supporting documentation.
-
-
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-
-    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-
-    OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-
-    HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
-
-    INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
-
-    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-
-    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-
-    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-
-
-    Except as contained in this notice, the name of a copyright holder
-
-    shall not be used in advertising or otherwise to promote the sale, use
-
-    or other dealings in this Software without prior written authorization
-
-    of the copyright holder.
-
-
-
-    --------------------------------------------------------------------------------
-
-    All trademarks and registered trademarks mentioned herein are the property
-
-    of their respective owners.  
-
-
-
-*/
-
-#include <errno.h>
-
-#include <stdio.h>
-
-
-
-#include <asm/sysinfo.h>
-
-#include <asm/unistd.h>
-
-
-
-#define TMP_PATH_MAX 1024
-
-
-
-
-
-static int 
-
-setsysinfo(unsigned long op, void *buffer, unsigned long size,
-
-                     int *start, void *arg, unsigned long flag)
-
-{
-
-       syscall(__NR_osf_setsysinfo, op, buffer, size, start, arg, flag);
-
-}
-
-
-
-
-
-void 
-
-trap_unaligned(void)
-
-{
-
-       unsigned int buf[2];
-
-       buf[0] = SSIN_UACPROC;
-
-       buf[1] = UAC_SIGBUS | UAC_NOPRINT;
-
-       setsysinfo(SSI_NVPAIRS, buf, 1, 0, 0, 0);
-
-}
-
-
-
-
-
-static void 
-
-usage(void)
-
-{
-
-        fprintf(stderr,
-
-               "usage: unaligned [-b] <command-path> [command-args...]\n\n"
-
-               "  This program is designed to assist debugging of\n"
-
-               "  unaligned traps by running the program in gdb\n"
-
-               "  and causing it to get SIGBUS when it encounters\n"
-
-               "  an unaligned trap.\n\n"
-
-               "  It is free software written by Sean Hunter <sean@uncarved.co.uk>\n"
-
-               "  based on code by Richard Henderson and Andrew Morgan.\n\n"
-
-       );
-
-
-
-       exit(1);
-
-}
-
-
-
-
-
-int 
-
-main(int argc, char **argv)
-
-{
-
-       const char my_debugger[] = "/usr/bin/gdb";
-
-
-
-       char *temp_str;
-
-       char *curr;
-
-       int size = 0;
-
-       int curr_arg;
-
-       int isBatchMode = 0;
-
-
-
-       /* check that we have at least 1 argument */
-
-       if (argc < 2) {
-
-               usage();
-
-       }
-
-       if( strcmp("-b" , argv[1]) == 0 ){
-
-           isBatchMode = 1;
-
-           curr_arg = 2;
-
-        }else{
-
-           curr_arg = 1;
-
-       }        
-
-
-
-       trap_unaligned();
-
-
-
-       if (argc > 2) {
-
-               /* We're going to use bash process redirection to create a "file" for gdb to read
-
-                * containing the arguments we need */
-
-               size = 2048;
-
-               for(; curr_arg < argc; curr_arg++) {
-
-                       size += strlen(argv[curr_arg]);
-
-               }
-
-               temp_str = (char *) malloc(sizeof(char) * size);
-
-               if (!temp_str) {
-
-                   fprintf(stderr, "Unable to malloc memory for string use: %s\n", strerror(errno));
-
-                   exit(255);
-
-               }
-
-               if(isBatchMode==1){
-
-                       sprintf(temp_str, "%s -batch %s -x <( echo file %s; echo set args", my_debugger, argv[2], argv[2]);
-
-               }else{
-
-                       sprintf(temp_str, "%s %s -x <( echo file %s; echo set args", my_debugger, argv[1], argv[1]);
-
-               }
-
-               curr = temp_str + strlen(temp_str);
-
-               for(curr_arg = 2; curr_arg < argc; curr_arg++) {
-
-                       sprintf(curr, " %s", argv[curr_arg]);
-
-                       curr = temp_str + strlen(temp_str);
-
-               }
-
-#ifndef NOAUTORUN
-
-               curr = temp_str + strlen(temp_str);
-
-               sprintf(curr, "; echo run");
-
-#endif 
-
-               curr = temp_str + strlen(temp_str);
-
-               sprintf(curr, ")");
-
-
-
-               execlp("/bin/bash", "/bin/bash", "-c", temp_str, NULL);
-
-
-
-       }
-
-       else {
-
-               execlp(my_debugger, my_debugger, argv[1], NULL);
-
-       }       
-
-
-
-       /* if we fall through to here, our exec failed -- announce the fact */
-
-       fprintf(stderr, "Unable to execute command: %s\n", strerror(errno));
-
-
-
-       usage();
-
-
-
-}
-
-
-
-/* use gcc unaligned.c -o unaliged to compile.  Add -DNOAUTORUN if you
-
-don't want gdb to automatically run the program */
-
-
-
diff --git a/icuSources/test/usetperf/bitset.cpp b/icuSources/test/usetperf/bitset.cpp
deleted file mode 100644 (file)
index d1356c0..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2002-2004, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* 2002-09-20 aliu Created.
-*/
-
-#include "unicode/utypes.h"
-#include "cmemory.h"
-#include "bitset.h"
-
-// TODO: have a separate capacity, so the len can just be set to
-// zero in the clearAll() method, and growth can be smarter.
-
-const int32_t SLOP = 8;
-
-const int32_t BYTES_PER_WORD = sizeof(int32_t);
-
-BitSet::BitSet() {
-    len = SLOP;
-    data = (int32_t*) uprv_malloc(len * BYTES_PER_WORD);
-    clearAll();
-}
-
-BitSet::~BitSet() {
-    uprv_free(data);
-}
-
-UBool BitSet::get(int32_t bitIndex) const {
-    uint32_t longIndex = bitIndex >> 5;
-    int32_t bitInLong = bitIndex & 0x1F;
-    return (longIndex < len) ? (((data[longIndex] >> bitInLong) & 1) != 0)
-        : FALSE;
-}
-
-void BitSet::set(int32_t bitIndex) {
-    uint32_t longIndex = bitIndex >> 5;
-    int32_t bitInLong = bitIndex & 0x1F;
-    if (longIndex >= len) {
-        ensureCapacity(longIndex+1);
-    }
-    data[longIndex] |= (1 << bitInLong);
-}
-
-void BitSet::clearAll() {
-    for (uint32_t i=0; i<len; ++i) data[i] = 0;
-}
-
-void BitSet::ensureCapacity(uint32_t minLen) {
-    uint32_t newLen = len;
-    while (newLen < minLen) newLen <<= 1; // grow exponentially
-    int32_t* newData = (int32_t*) uprv_malloc(newLen * BYTES_PER_WORD);
-    uprv_memcpy(newData, data, len * BYTES_PER_WORD);
-    uprv_free(data);
-    data = newData;
-    int32_t* p = data + len;
-    int32_t* limit = data + newLen;
-    while (p < limit) *p++ = 0;
-    len = newLen;
-}
-
-//eof
diff --git a/icuSources/test/usetperf/bitset.h b/icuSources/test/usetperf/bitset.h
deleted file mode 100644 (file)
index 8b7122d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2002-2004, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* 2002-09-20 aliu Created.
-*/
-#ifndef __BITSET_H__
-#define __BITSET_H__
-
-#include "unicode/utypes.h"
-
-/**
- * A simple, limited clone of the java.util.BitSet.
- */
-class BitSet {
-
-    uint32_t len;
-    int32_t* data;
-
-    void ensureCapacity(uint32_t minLen);
-
-public:
-
-    BitSet();
-    ~BitSet();
-
-    UBool get(int32_t bitIndex) const;
-
-    void set(int32_t bitIndex);
-
-    // Non-java
-    void clearAll();
-
-    // TODO add other methods as needed.
-};
-
-#endif
diff --git a/icuSources/test/usetperf/timer.h b/icuSources/test/usetperf/timer.h
deleted file mode 100644 (file)
index 4aa5824..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2002-2004, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* 2002-09-20 aliu Created.
-*/
-#ifndef __PERFTIMER_H__
-#define __PERFTIMER_H__
-
-#include "unicode/utypes.h"
-
-// Derived from Ram's perftime.h
-
-//----------------------------------------------------------------------
-// Win32
-
-#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
-
-#include <windows.h>
-
-class Timer {
-    LARGE_INTEGER tstart, tend;
-public:
-    Timer() {}
-    inline void start() {
-        QueryPerformanceCounter(&tstart);
-    }
-    inline double stop() {
-        QueryPerformanceCounter(&tend);
-        LARGE_INTEGER freq;
-        int result = QueryPerformanceFrequency(&freq);
-        return ((double)(tend.QuadPart - tstart.QuadPart))/((double)freq.QuadPart);
-    }
-};
-    
-//----------------------------------------------------------------------
-// UNIX
-
-#else
-
-#include <sys/time.h> 
-
-class Timer {
-    struct timeval tstart, tend;
-    struct timezone tz;
-public:
-    Timer() {}
-    inline void start() {
-        gettimeofday(&tstart, &tz);
-    }
-    inline double stop() {
-        gettimeofday(&tend, &tz);
-        double t1, t2;
-        t1 = (double)tstart.tv_sec + (double)tstart.tv_usec*1e-6;
-        t2 = (double)tend.tv_sec + (double)tend.tv_usec*1e-6;
-        return t2-t1;
-    }
-};
-
-#endif
-#endif
diff --git a/icuSources/test/usetperf/usetperf.cpp b/icuSources/test/usetperf/usetperf.cpp
deleted file mode 100644 (file)
index cdff2ad..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2002-2004, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* 2002-09-20 aliu Created.
-*/
-
-#include <stdio.h>
-
-#include "unicode/utypes.h"
-#include "unicode/uniset.h"
-#include "unicode/uchar.h"
-#include "unicode/usetiter.h"
-#include "bitset.h"
-#include "timer.h"
-
-#define LENGTH(a) (sizeof(a)/sizeof(a[0]))
-
-int main(int argc, const char *argv[]) {
-
-    Timer timer;
-    BitSet bs;
-    UnicodeSet us;
-    int32_t i, j, n, temp;
-    UChar32 cp;
-    double t;
-
-    int32_t PROPS[] = {
-        // category         iterations for add, contains, iterator
-        U_TITLECASE_LETTER, 100, 100, 20000000,
-        U_UNASSIGNED,       30, 100, 20000000,
-    };
-
-    for (j=0; j<LENGTH(PROPS); j+=4) {
-        UCharCategory prop = (UCharCategory) PROPS[j];
-
-        printf("\nGetting characters for character category %d\n", prop);
-        bs.clearAll();
-        int32_t total = 0;
-        for (cp=0; cp<0x110000; ++cp) {
-            if (u_charType(cp) == prop) {
-                bs.set((int32_t) cp);
-                ++total;
-            }
-        }
-        printf("Total characters: %d\n", total);
-        
-        // add()
-        n = PROPS[j+1];
-        printf("Testing add() x %d...", n);
-        timer.start();
-        for (i=0; i<n; ++i) {
-            us.clear();
-            for (cp=0; cp<0x110000; ++cp) {
-                if (bs.get((int32_t) cp)) {
-                    us.add(cp);
-                }
-            }
-        }
-        t = timer.stop();
-        printf("result: %f sec => %f ms/loop\n", t, t*1e3/n);
-
-        // contains()
-        n = PROPS[j+2];
-        printf("Testing contains() x %d...", n);
-        temp = 0;
-        timer.start();
-        for (i=0; i<n; ++i) {
-            us.clear();
-            for (cp=0; cp<0x110000; ++cp) {
-                if (us.contains(cp)) {
-                    temp += cp;
-                }
-            }
-        }
-        t = timer.stop();
-        printf("result: %f sec => %f ms/loop\n", t, t*1e3/n);
-        
-        // iterator
-        n = PROPS[j+3];
-        printf("Testing iterator x %d...", n);
-        temp = 0;
-        timer.start();
-        for (i=0; i<n; ++i) {
-            UnicodeSetIterator uit(us);
-            while (uit.next()) {
-                temp += uit.getCodepoint();
-            }
-        }
-        t = timer.stop();
-        printf("result: %f sec => %f ns/loop\n", t, t*1e9/n);
-    }
-
-    char* PAT[] = {
-        "['A-Za-z\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130\\u0134-\\u0137\\u0139-\\u013E\\u0143-\\u0148\\u014C-\\u0151\\u0154-\\u0165\\u0168-\\u017E\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01CD-\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01ED\\u01F0\\u01F4-\\u01F5\\u01F8-\\u01FB\\u0200-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u1E00-\\u1E99\\u1EA0-\\u1EF9\\u212A-\\u212B]",
-
-        "['.0-9A-Za-z~\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD\\u00E0-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD\\u00FF-\\u010F\\u0112-\\u0125\\u0128-\\u0130\\u0134-\\u0137\\u0139-\\u013E\\u0143-\\u0148\\u014C-\\u0151\\u0154-\\u0165\\u0168-\\u017E\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01CD-\\u01DC\\u01DE-\\u01E3\\u01E6-\\u01ED\\u01F0\\u01F4-\\u01F5\\u01F8-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u0301\\u0303-\\u0304\\u0306-\\u0307\\u0310\\u0314-\\u0315\\u0323\\u0325\\u0331\\u0341\\u0344\\u0385-\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u0390\\u03AC-\\u03B0\\u03CC-\\u03CE\\u03D3\\u0403\\u040C\\u040E\\u0419\\u0439\\u0453\\u045C\\u045E\\u04C1-\\u04C2\\u04D0-\\u04D1\\u04D6-\\u04D7\\u04E2-\\u04E3\\u04EE-\\u04EF\\u1E00-\\u1E99\\u1EA0-\\u1EF9\\u1F01\\u1F03-\\u1F05\\u1F07\\u1F09\\u1F0B-\\u1F0D\\u1F0F\\u1F11\\u1F13-\\u1F15\\u1F19\\u1F1B-\\u1F1D\\u1F21\\u1F23-\\u1F25\\u1F27\\u1F29\\u1F2B-\\u1F2D\\u1F2F\\u1F31\\u1F33-\\u1F35\\u1F37\\u1F39\\u1F3B-\\u1F3D\\u1F3F\\u1F41\\u1F43-\\u1F45\\u1F49\\u1F4B-\\u1F4D\\u1F51\\u1F53-\\u1F55\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F61\\u1F63-\\u1F65\\u1F67\\u1F69\\u1F6B-\\u1F6D\\u1F6F\\u1F71\\u1F73\\u1F75\\u1F77\\u1F79\\u1F7B\\u1F7D\\u1F81\\u1F83-\\u1F85\\u1F87\\u1F89\\u1F8B-\\u1F8D\\u1F8F\\u1F91\\u1F93-\\u1F95\\u1F97\\u1F99\\u1F9B-\\u1F9D\\u1F9F\\u1FA1\\u1FA3-\\u1FA5\\u1FA7\\u1FA9\\u1FAB-\\u1FAD\\u1FAF-\\u1FB1\\u1FB4\\u1FB8-\\u1FB9\\u1FBB\\u1FC4\\u1FC9\\u1FCB\\u1FCE\\u1FD0-\\u1FD1\\u1FD3\\u1FD8-\\u1FD9\\u1FDB\\u1FDE\\u1FE0-\\u1FE1\\u1FE3\\u1FE5\\u1FE8-\\u1FE9\\u1FEB-\\u1FEC\\u1FEE\\u1FF4\\u1FF9\\u1FFB\\u212A-\\u212B\\uE04D\\uE064]",
-
-        "[\\u0901-\\u0903\\u0905-\\u0939\\u093C-\\u094D\\u0950-\\u0954\\u0958-\\u096F]",
-    };
-
-    UErrorCode ec = U_ZERO_ERROR;
-
-    n = 2000;
-
-    for (j=0; j<LENGTH(PAT); ++j) {
-
-        printf("\nApplying pattern %s x %d...", PAT[j], n);
-        UnicodeSet set;
-        UnicodeString pat(PAT[j], "");
-
-        timer.start(); 
-        for (i=0; i<n; i++) {
-            set.applyPattern(pat, ec);
-        }
-        t = timer.stop();
-        printf("result: %f sec => %f us/loop\n", t, t*1e6/n);
-    }        
-
-    return 0;
-}
diff --git a/icuSources/test/usetperf/usetperf.dsp b/icuSources/test/usetperf/usetperf.dsp
deleted file mode 100644 (file)
index 3d01228..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-# Microsoft Developer Studio Project File - Name="usetperf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=usetperf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "usetperf.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "usetperf.mak" CFG="usetperf - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "usetperf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "usetperf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "usetperf - Win64 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "usetperf - Win64 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "usetperf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /G6 /MD /W3 /GX /O2 /I "..\..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 icuuc.lib kernel32.lib user32.lib gdi32.lib winmm.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\lib"
-
-!ELSEIF  "$(CFG)" == "usetperf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 icuucd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\lib"
-
-!ELSEIF  "$(CFG)" == "usetperf - Win64 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Op /I "..\..\..\include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /Wp64 /Zm600 /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64
-# ADD LINK32 icuuc.lib kernel32.lib user32.lib gdi32.lib winmm.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /libpath:"..\..\..\lib" /machine:IA64
-
-!ELSEIF  "$(CFG)" == "usetperf - Win64 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /Op /I "..\..\..\include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /Wp64 /Zm600 /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /pdbtype:sept /machine:IA64
-# ADD LINK32 icuucd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /pdbtype:sept /libpath:"..\..\..\lib" /machine:IA64
-
-!ENDIF 
-
-# Begin Target
-
-# Name "usetperf - Win32 Release"
-# Name "usetperf - Win32 Debug"
-# Name "usetperf - Win64 Release"
-# Name "usetperf - Win64 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\bitset.cpp
-# ADD CPP /I "..\..\common"
-# End Source File
-# Begin Source File
-
-SOURCE=.\usetperf.cpp
-# ADD CPP /I "..\..\common"
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/icuSources/test/utfperf/utfperf.c b/icuSources/test/utfperf/utfperf.c
deleted file mode 100644 (file)
index dfe7e3f..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/*  
-**********************************************************************
-*   Copyright (C) 2002, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-**********************************************************************
-*   file name:  utfperf.c
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2002apr17
-*   created by: Markus W. Scherer
-*
-*   Performance test program for Unicode converters
-*   (converters that support all Unicode code points).
-*   Takes a UTF-8 file as input.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include <fcntl.h>     /* for _O_BINARY */
-#include <io.h>                /* for _setmode() */
-
-#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
-#   include <windows.h>
-#else
-#   include <sys/time.h>
-    static unsigned long
-    timeGetTime() {
-        struct timeval t;
-
-        gettimeofday(&t, 0);
-        return t.tv_sec*1000+t.tv_usec/1000;
-    };
-#endif
-
-#include "unicode/utypes.h"
-#include "unicode/ucnv.h"
-#include "unicode/ustring.h"
-
-/* definitions and text buffers */
-
-#define INPUT_CAPACITY (1024*1024)
-#define INTERMEDIATE_CAPACITY 4096
-#define INTERMEDIATE_SMALL_CAPACITY 20
-#define OUTPUT_CAPACITY INPUT_CAPACITY
-
-#define TARGET_MEASURE_TIME_MS 2000
-
-#define PERCENT(a, b) (int)(((a)*200+1)/(2*(b)))
-
-#define ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0]))
-
-static UChar input[INPUT_CAPACITY], output[OUTPUT_CAPACITY];
-static char intermediate[INTERMEDIATE_CAPACITY];
-
-static int32_t inputLength, encodedLength, outputLength, countInputCodePoints;
-
-static int32_t utf8Length=0;
-static double utf8Time=0.;
-
-static const char *const
-utfNames[]={
-    "UTF-8", /* UTF-8 should always be first to serve as percentage reference */
-    "SCSU", "BOCU-1" /*, "CESU-8" *//*, "UTF-16BE", "UTF-16LE"*//*, "GB18030"*/
-};
-
-/* functions */
-
-typedef void
-RoundtripFn(UConverter *cnv, int32_t intermediateCapacity, UErrorCode *pErrorCode);
-
-static void
-roundtrip(UConverter *cnv, int32_t intermediateCapacity, UErrorCode *pErrorCode) {
-    const UChar *pIn, *pInLimit;
-    UChar *pOut, *pOutLimit;
-    char *pInter, *pInterLimit, *p;
-    UBool flush;
-
-    ucnv_reset(cnv);
-
-    pIn=input;
-    pInLimit=input+inputLength;
-
-    pOut=output;
-    pOutLimit=output+OUTPUT_CAPACITY;
-
-    pInterLimit=intermediate+intermediateCapacity;
-
-    encodedLength=outputLength=0;
-    flush=FALSE;
-
-    while(pIn<pInLimit || !flush) {
-        /* convert a block of [pIn..pInLimit[ to the encoding in intermediate[] */
-        pInter=intermediate;
-        flush=(UBool)(pIn==pInLimit);
-        ucnv_fromUnicode(cnv,
-                         &pInter, pInterLimit,
-                         &pIn, pInLimit,
-                         NULL, flush,
-                         pErrorCode);
-        encodedLength+=(int32_t)(pInter-intermediate);
-
-        if(*pErrorCode==U_BUFFER_OVERFLOW_ERROR) {
-            /* in case flush was TRUE make sure that we convert once more to really flush */
-            flush=FALSE;
-            *pErrorCode=U_ZERO_ERROR;
-        } else if(U_FAILURE(*pErrorCode)) {
-            return;
-        }
-
-        /* convert the block [intermediate..pInter[ back to UTF-16 */
-        p=intermediate;
-        ucnv_toUnicode(cnv,
-                       &pOut, pOutLimit,
-                       &p, pInter,
-                       NULL, flush,
-                       pErrorCode);
-        if(U_FAILURE(*pErrorCode)) {
-            return;
-        }
-        /* intermediate must have been consumed (p==pInter) because of the converter semantics */
-    }
-
-    outputLength=pOut-output;
-    if(inputLength!=outputLength) {
-        fprintf(stderr, "error: roundtrip failed, inputLength %d!=outputLength %d\n", inputLength, outputLength);
-        *pErrorCode=U_INTERNAL_PROGRAM_ERROR;
-    }
-}
-
-static void
-noop(UConverter *cnv, int32_t intermediateCapacity, UErrorCode *pErrorCode) {
-    /* do nothing */
-}
-
-static unsigned long
-measureRoundtrips(RoundtripFn *fn, UConverter *cnv, const char *encName, int32_t intermediateCapacity, int32_t n) {
-    unsigned long _time;
-    UErrorCode errorCode;
-
-    _time=timeGetTime();
-    errorCode=U_ZERO_ERROR;
-    do {
-        fn(cnv, intermediateCapacity, &errorCode);
-    } while(U_SUCCESS(errorCode) && --n>0);
-    _time=timeGetTime()-_time;
-
-    if(U_FAILURE(errorCode)) {
-        fprintf(stderr, "error in roundtrip conversion (%s): %s\n", encName, u_errorName(errorCode));
-        return 0x7fffffff;
-    }
-
-    if(0!=u_memcmp(input, output, inputLength)) {
-        fprintf(stderr, "error: roundtrip failed, input[]!=output[]\n");
-        return 0x7fffffff;
-    }
-
-    return _time;
-}
-
-static void
-perEncAndCapacity(UConverter *cnv, const char *encName, int32_t intermediateCapacity) {
-    double rtTime;
-    unsigned long _time;
-    int32_t n;
-
-    /*printf("test performance for %s with intermediate capacity %d\n", encName, intermediateCapacity);*/
-
-    /* warm up caches and estimate loop time */
-    n=10;
-    for(;;) {
-        _time=measureRoundtrips(roundtrip, cnv, encName, intermediateCapacity, n);
-        if(_time<500 && _time<TARGET_MEASURE_TIME_MS/10) {
-            n*=10;
-        } else {
-            break;
-        }
-    }
-
-    if(_time<TARGET_MEASURE_TIME_MS) {
-        n=(n*TARGET_MEASURE_TIME_MS)/_time+1;
-    }
-
-    /* run actual measurement with a target test time of 10s */
-    _time=measureRoundtrips(roundtrip, cnv, encName, intermediateCapacity, n);
-
-    /* subtract same number of loops over no-operation function */
-    _time-=measureRoundtrips(noop, cnv, encName, intermediateCapacity, n);
-
-    rtTime=((double)_time*1000.)/(double)n;
-
-    /* report */
-    printf("* performance report for                %8s:\n", encName);
-    printf("  intermediate buffer capacity          %8d B\n", intermediateCapacity);
-    if(intermediateCapacity==INTERMEDIATE_CAPACITY && utf8Length!=0) {
-        printf("  number of encoding bytes              %8d B  (%3d%% of UTF-8)\n", encodedLength, PERCENT(encodedLength, utf8Length));
-        printf("  roundtrip conversion time             %8g &#956;s (%3d%% of UTF-8)\n", rtTime, PERCENT(rtTime, utf8Time));
-    } else {
-        printf("  number of encoding bytes              %8d B\n", encodedLength);
-        printf("  roundtrip conversion time             %8g &#956;s\n", rtTime);
-    }
-    printf("  average bytes/code point              %8g B/cp\n", (double)encodedLength/countInputCodePoints);
-    puts("");
-
-    /* set UTF-8 values */
-    if(intermediateCapacity==INTERMEDIATE_CAPACITY && 0==strcmp(encName, "UTF-8")) {
-        utf8Length=encodedLength;
-        utf8Time=rtTime;
-    }
-}
-
-static void
-perEnc(UConverter *cnv, const char *encName) {
-    /*printf("test performance for %s\n", encName);*/
-    perEncAndCapacity(cnv, encName, INTERMEDIATE_CAPACITY);
-    perEncAndCapacity(cnv, encName, INTERMEDIATE_SMALL_CAPACITY);
-}
-
-static void
-testPerformance() {
-    UConverter *cnv;
-    UErrorCode errorCode;
-    int32_t i;
-
-    printf("number of code points                   %8d cp\n", countInputCodePoints);
-    printf("platform endianness:                    %8s-endian\n", U_IS_BIG_ENDIAN ? "big" : "little");
-    puts("");
-    for(i=0; i<ARRAY_LENGTH(utfNames); ++i) {
-        errorCode=U_ZERO_ERROR;
-        cnv=ucnv_open(utfNames[i], &errorCode);
-        if(U_SUCCESS(errorCode)) {
-            perEnc(cnv, utfNames[i]);
-            ucnv_close(cnv);
-        } else {
-            fprintf(stderr, "error opening converter for \"%s\" - %s\n", utfNames[i], u_errorName(errorCode));
-        }
-    }
-}
-
-/* read a complete block from the input file */
-static int32_t
-readBlock(FILE *in) {
-    int length, blockLength;
-
-    blockLength=0;
-    while(blockLength<INTERMEDIATE_CAPACITY && !feof(in)) {
-        length=fread(intermediate, 1, INTERMEDIATE_CAPACITY-blockLength, in);
-        if(length<0 || ferror(in)) {
-            return -1;
-        }
-        blockLength+=length;
-    }
-
-    return (int32_t)blockLength;
-}
-
-static UBool
-readInput(FILE *in, const char *encName) {
-    UConverter *cnv;
-    UChar *pOut, *pOutLimit;
-    const char *p, *limit;
-    int32_t length;
-    UErrorCode errorCode;
-
-    pOut=input;
-    pOutLimit=input+INPUT_CAPACITY;
-
-    errorCode=U_ZERO_ERROR;
-
-    /* read the first block and open the converter */
-    length=readBlock(in);
-    if(length<0) {
-        return FALSE;
-    }
-
-    if(encName==NULL) {
-        int32_t signatureLength;
-        encName=ucnv_detectUnicodeSignature(intermediate, length,
-                                            &signatureLength,
-                                            &errorCode);
-        if(U_FAILURE(errorCode) || encName==NULL) {
-            /* default to UTF-8 */
-            printf("no Unicode signature - using UTF-8\n");
-            encName="UTF-8";
-            errorCode=U_ZERO_ERROR;
-        } else {
-            printf("detected signature for %s (removing %d bytes)\n", encName, signatureLength);
-            /* remove signature byte sequence */
-            memmove(intermediate, intermediate+signatureLength, length-=signatureLength);
-        }
-    }
-
-    cnv=ucnv_open(encName, &errorCode);
-    if(U_FAILURE(errorCode)) {
-        fprintf(stderr, "error: unable to ucnv_open(\"%s\") - %s\n", encName, u_errorName(errorCode));
-        return FALSE;
-    }
-
-    while(length>0) {
-        /* convert the block */
-        p=intermediate;
-        limit=p+length;
-
-        ucnv_toUnicode(cnv,
-                       &pOut, pOutLimit,
-                       &p, limit,
-                       NULL, FALSE,
-                       &errorCode);
-        if(U_FAILURE(errorCode)) {
-            fprintf(stderr, "error converting input to UTF-16: %s\n", u_errorName(errorCode));
-            ucnv_close(cnv);
-            return FALSE;
-        }
-
-        /* read the next block */
-        length=readBlock(in);
-        if(length<0) {
-            ucnv_close(cnv);
-            return FALSE;
-        }
-    }
-
-    /* flush the converter */
-    ucnv_toUnicode(cnv,
-                   &pOut, pOutLimit,
-                   &p, p,
-                   NULL, TRUE,
-                   &errorCode);
-    ucnv_close(cnv);
-
-    if(U_FAILURE(errorCode)) {
-        fprintf(stderr, "error converting input to UTF-16: %s\n", u_errorName(errorCode));
-        return FALSE;
-    }
-
-    inputLength=(int32_t)(pOut-input);
-    countInputCodePoints=u_countChar32(input, inputLength);
-    if(inputLength<=0) {
-        fprintf(stderr, "warning: input is empty\n");
-        return FALSE;
-    }
-
-    return TRUE;
-}
-
-static void
-showUsage(const char *myName) {
-    fprintf(stderr,
-            "Usage:\n"
-            "%s [-e encoding-name] filename | '-'\n"
-            "    encoding-name must be the name of an encoding supported by ICU\n"
-            "    the filename of the input file with text to be used\n"
-            "      can be a dash (-) for standard input\n",
-            myName);
-}
-
-/*
- * Read file using some encoding, convert to 1M UTF-16 input buffer.
- * For each UTF to be tested:
- *   n times:
- *     convert from UTF-16 input buffer to UTF, 4kB buffer
- *     convert from 4kB buffer to 1M UTF-16 output buffer
- *   adjust n so that time elapsed is 10s (#define)
- *     ->divide 10s by time, increase n by that factor, run 2nd time
- *   n times:
- *     empty function
- *   subtract out loop/function overhead
- *   display #code points - #UTF bytes - time per roundtrip
- *
- *   * do the same again with an intermediate buffer size of 20 instead of 4kB
- *
- * Test following UTFs:
- * UTF-16BE, UTF-16LE, UTF-8, SCSU, BOCU-1, CESU-8
- *
- * Command-line arguments:
- * - encoding (default UTF-8, detect BOM)
- * - filename (allow "-")
- */
-extern int
-main(int argc, const char *argv[]) {
-    FILE *in;
-    const char *myName, *encName, *filename, *basename;
-
-    myName=argv[0];
-    if(argc<2) {
-        showUsage(myName);
-        return 1;
-    }
-
-    /* get encoding name argument */
-    if(argv[1][0]=='-' && argv[1][1]=='e') {
-        encName=argv[1]+2;
-        --argc;
-        ++argv;
-        if(*encName==0) {
-            if(argc<2) {
-                showUsage(myName);
-                return 1;
-            }
-            encName=argv[1];
-            --argc;
-            ++argv;
-        }
-    } else {
-        encName=NULL;
-    }
-
-    /* get filename argument */
-    if(argc<2) {
-        showUsage(myName);
-        return 1;
-    }
-    filename=argv[1];
-    if(filename[0]=='-' && filename[1]==0) {
-        filename="(standard input)";
-        in=stdin;
-        /* set stdin to binary mode */
-        _setmode(_fileno(stdin), _O_BINARY);
-    } else {
-        in=fopen(filename, "rb");
-        if(in==NULL) {
-            fprintf(stderr, "error opening \"%s\"\n", filename);
-            showUsage(myName);
-            return 2;
-        }
-    }
-
-    /* read input */
-    basename=strrchr(filename, U_FILE_SEP_CHAR);
-    if(basename!=NULL) {
-        ++basename;
-    } else {
-        basename=filename;
-    }
-    printf("# testing converter performance with file \"%s\"\n", basename);
-    if(!readInput(in, encName)) {
-        fprintf(stderr, "error reading \"%s\" (encoding %s)\n", filename, encName);
-        showUsage(myName);
-        return 2;
-    }
-    if(in!=stdin) {
-        fclose(in);
-    }
-
-    /* test performance */
-    testPerformance();
-    return 0;
-}
diff --git a/icuSources/test/utfperf/utfperf.dsp b/icuSources/test/utfperf/utfperf.dsp
deleted file mode 100644 (file)
index 8351222..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-# Microsoft Developer Studio Project File - Name="utfperf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=utfperf - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "utfperf.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "utfperf.mak" CFG="utfperf - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "utfperf - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "utfperf - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "utfperf - Win64 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "utfperf - Win64 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "utfperf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /G6 /MD /W3 /GX /O2 /I "..\..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 icuuc.lib kernel32.lib user32.lib gdi32.lib winmm.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\lib"
-
-!ELSEIF  "$(CFG)" == "utfperf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /G6 /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 icuucd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\lib"
-
-!ELSEIF  "$(CFG)" == "utfperf - Win64 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Op /I "..\..\..\include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /Wp64 /Zm600 /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /machine:IA64
-# ADD LINK32 icuuc.lib kernel32.lib user32.lib gdi32.lib winmm.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:IX86 /libpath:"..\..\..\lib" /machine:IA64
-
-!ELSEIF  "$(CFG)" == "utfperf - Win64 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /Op /I "..\..\..\include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /Wp64 /Zm600 /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:IX86 /pdbtype:sept /machine:IA64
-# ADD LINK32 icuucd.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:IX86 /pdbtype:sept /libpath:"..\..\..\lib" /machine:IA64
-
-!ENDIF 
-
-# Begin Target
-
-# Name "utfperf - Win32 Release"
-# Name "utfperf - Win32 Debug"
-# Name "utfperf - Win64 Release"
-# Name "utfperf - Win64 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\utfperf.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/icuSources/tools/makeconv/misc/canonucm.c b/icuSources/tools/makeconv/misc/canonucm.c
deleted file mode 100644 (file)
index a37f8dd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-*******************************************************************************
-*
-*   Copyright (C) 2000, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-*******************************************************************************
-*   file name:  canonucm.c
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2000nov08
-*   created by: Markus W. Scherer
-*
-*   This tool reads a .ucm file and canonicalizes it: In the CHARMAP section,
-*   - sort by Unicode code points
-*   - print all code points in uppercase hexadecimal
-*   - print all Unicode code points with 4, 5, or 6 digits as needed
-*   - remove the comments
-*   - remove unnecessary spaces
-*
-*   To compile, just call a C compiler/linker with this source file.
-*   On Windows: cl canonucm.c
-*/
-
-#error File moved to charset/source/ucmtools/ on 2002-nov-06
-
-/* see http://oss.software.ibm.com/cvs/icu/charset/source/ucmtools/ */
diff --git a/icuSources/tools/makeconv/misc/rptp2ucm.c b/icuSources/tools/makeconv/misc/rptp2ucm.c
deleted file mode 100644 (file)
index 7ec8320..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-*******************************************************************************
-*
-*   Copyright (C) 2000-2001, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-*******************************************************************************
-*   file name:  rptp2ucm.c
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2001feb16
-*   created by: Markus W. Scherer
-*
-*   This tool reads two CDRA conversion table files (RPMAP & TPMAP or RXMAP and TXMAP) and
-*   generates a canonicalized ICU .ucm file from them.
-*   If the RPMAP/RXMAP file does not contain a comment line with the substitution character,
-*   then this tool also attempts to read the header of the corresponding UPMAP/UXMAP file
-*   to extract subchar and subchar1.
-*
-*   R*MAP: Unicode->codepage
-*   T*MAP: codepage->Unicode
-*
-*   To compile, just call a C compiler/linker with this source file.
-*   On Windows: cl rptp2ucm.c
-*/
-
-#error File moved to charset/source/ucmtools/ on 2002-nov-06
-
-/* see http://oss.software.ibm.com/cvs/icu/charset/source/ucmtools/ */
diff --git a/icuSources/tools/makeconv/misc/ucmmerge.c b/icuSources/tools/makeconv/misc/ucmmerge.c
deleted file mode 100644 (file)
index a8035bb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-*******************************************************************************
-*
-*   Copyright (C) 2000, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-*******************************************************************************
-*   file name:  ucmmerge.c
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2000nov09
-*   created by: Markus W. Scherer
-*
-*   This tool reads two .ucm files and merges them.
-*   Merging the files allows to update the ICU data while keeping ICU-specific
-*   changes like "MBCS"->"EBCDIC_STATEFUL" or adding <icu:state>.
-*
-*   To compile, just call a C compiler/linker with this source file.
-*   On Windows: cl ucmmerge.c
-*/
-
-#error File moved to charset/source/ucmtools/ on 2002-nov-06
-
-/* see http://oss.software.ibm.com/cvs/icu/charset/source/ucmtools/ */
diff --git a/icuSources/tools/makeconv/misc/ucmstrip.c b/icuSources/tools/makeconv/misc/ucmstrip.c
deleted file mode 100644 (file)
index 751af78..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-*******************************************************************************
-*
-*   Copyright (C) 2000, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-*******************************************************************************
-*   file name:  ucmstrip.c
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2000nov09
-*   created by: Markus W. Scherer
-*
-*   This tool reads a .ucm file, expects there to be a line in the header with
-*   "File created on..." and removes the lines before and including that.
-*   Then it removes lines with <icu:state> and <uconv_class> and <code_set_name>.
-*   This helps comparing .ucm files with different copyright statements and
-*   different state specifications.
-*
-*   To compile, just call a C compiler/linker with this source file.
-*   On Windows: cl ucmstrip.c
-*/
-
-#error File moved to charset/source/ucmtools/ on 2002-nov-06
-
-/* see http://oss.software.ibm.com/cvs/icu/charset/source/ucmtools/ */
index d85cd0fc7f14881bb9c82795362c1cfe0bedb491..a4d01949589206d5378fb6b5cb12955101478514 100644 (file)
--- a/makefile
+++ b/makefile
@@ -139,19 +139,19 @@ LIBOVERRIDES=LIBICUDT="-L$(OBJROOT) -l$(LIB_NAME)" \
 
 ENV=   APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -g -Os -fno-exceptions" \
 
 ENV=   APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -g -Os -fno-exceptions" \
-       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -g -Os -fno-exceptions -fno-rtti -fvisibility-inlines-hidden" \
+       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -g -Os -fno-exceptions -fno-rtti" \
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
        
 ENV_CONFIGURE= APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" -g -Os -fno-exceptions" \
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
        
 ENV_CONFIGURE= APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" -g -Os -fno-exceptions" \
-       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" -g -Os -fno-exceptions -fno-rtti -fvisibility-inlines-hidden" \
+       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" -g -Os -fno-exceptions -fno-rtti" \
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
 ENV_DEBUG = APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -O0 -g -fno-exceptions" \
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
 ENV_DEBUG = APPLE_INTERNAL_DIR="$(APPLE_INTERNAL_DIR)" \
        CFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -O0 -g -fno-exceptions" \
-       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -O0 -g -fno-exceptions -fno-rtti -fvisibility-inlines-hidden" \
+       CXXFLAGS="-DICU_DATA_DIR=\"\\\"/usr/share/icu/\\\"\" $(RC_ARCHS:%=-arch %) -O0 -g -fno-exceptions -fno-rtti" \
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
        RC_ARCHS="$(RC_ARCHS)" \
        DYLD_LIBRARY_PATH="$(DSTROOT)/usr/local/lib"
 
@@ -178,10 +178,8 @@ endif
 icu debug : $(OBJROOT)/Makefile
        (cd $(OBJROOT); \
                $(MAKE) $($(ENV_$@)); \
 icu debug : $(OBJROOT)/Makefile
        (cd $(OBJROOT); \
                $(MAKE) $($(ENV_$@)); \
-               tmpfile=`mktemp -t weakexternal` || exit 1; \
-               nm -m $(COMMON_OBJ) $(I18N_OBJ) $(STUB_DATA_OBJ) | fgrep "weak external" | fgrep -v "undefined" | sed -e 's/.*weak external //' | uniq | cat >$$tmpfile; \
                $($(ENV_$@)) $(CXX) -current_version $(ICU_VERS).$(ICU_SUBVERS) -compatibility_version 1 -dynamiclib -dynamic \
                $($(ENV_$@)) $(CXX) -current_version $(ICU_VERS).$(ICU_SUBVERS) -compatibility_version 1 -dynamiclib -dynamic \
-                       $(RC_ARCHS:%=-arch %) $(CXXFLAGS) $(LDFLAGS) -single_module $(SECTORDER_FLAGS) -unexported_symbols_list $$tmpfile \
+                       $(RC_ARCHS:%=-arch %) $(CXXFLAGS) $(LDFLAGS) -single_module $(SECTORDER_FLAGS) \
                        -install_name $(libdir)$(INSTALLED_DYLIB) -o ./$(INSTALLED_DYLIB) $(COMMON_OBJ) $(I18N_OBJ) $(STUB_DATA_OBJ); \
                if test -f ./$(ICU_DATA_DIR)/$(B_DATA_FILE); then \
                        ln -fs ./$(ICU_DATA_DIR)/$(B_DATA_FILE); \
                        -install_name $(libdir)$(INSTALLED_DYLIB) -o ./$(INSTALLED_DYLIB) $(COMMON_OBJ) $(I18N_OBJ) $(STUB_DATA_OBJ); \
                if test -f ./$(ICU_DATA_DIR)/$(B_DATA_FILE); then \
                        ln -fs ./$(ICU_DATA_DIR)/$(B_DATA_FILE); \