From 6a2d49e0edb29068847c241ecd1f5c87542e5a4c Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 24 Oct 2018 17:40:05 +0200 Subject: [PATCH] Simplified timezone update handling: * Fix #4965: Adjusted the timezone update script to initialize structs properly. * Updated the scripts to generate the files directly * Added a small HOWTO * Split zone information to separate files to allow automatic update without further manual editing. Create a timezone.c file that does conform to C rules. --- docs/README.timezones | 12 + scripts/TimeZones.csx | 18 +- scripts/WindowsZones.csx | 9 +- winpr/libwinpr/timezone/TimeZones.c | 1584 +++++++++++++++++ winpr/libwinpr/timezone/WindowsZones.c | 409 +++++ winpr/libwinpr/timezone/timezone.c | 2165 ++---------------------- 6 files changed, 2131 insertions(+), 2066 deletions(-) create mode 100644 docs/README.timezones create mode 100644 winpr/libwinpr/timezone/TimeZones.c create mode 100644 winpr/libwinpr/timezone/WindowsZones.c diff --git a/docs/README.timezones b/docs/README.timezones new file mode 100644 index 000000000..545430e36 --- /dev/null +++ b/docs/README.timezones @@ -0,0 +1,12 @@ +On an up to date windows machine run the following scripts (from checkout root): + +csi.exe scripts/TimeZones.csx +csi.exe scripts/WindowsZones.csx + +After running the scripts check + * winpr/libwinpr/timezone/TimeZones.c + * winpr/libwinpr/timezone/WindowsZones.c +for changes. + +Commit if the definitions changed and create a pull request at +https://github.com/FreeRDP/FreeRDP diff --git a/scripts/TimeZones.csx b/scripts/TimeZones.csx index c0dbfd9a5..865b466e2 100644 --- a/scripts/TimeZones.csx +++ b/scripts/TimeZones.csx @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* Run with ' csi scripts/TimeZones.csx' from freerdp checkout root */ using System; using System.IO; @@ -57,13 +58,18 @@ struct TIME_ZONE_ENTRY int i; UInt32 index; -const string file = @"TimeZones.txt"; +const string file = @"winpr/libwinpr/timezone/TimeZones.c"; TimeZoneInfo.AdjustmentRule[] rules; StreamWriter stream = new StreamWriter(file, false); ReadOnlyCollection timeZones = TimeZoneInfo.GetSystemTimeZones(); +Console.WriteLine("Updating " + file); +stream.WriteLine("/* "); +stream.WriteLine(" * Automatically generated with scripts/TimeZones.csx"); +stream.WriteLine(" */ "); stream.WriteLine(); +stream.WriteLine("#pragma pack(push, 1)"); stream.WriteLine("struct _TIME_ZONE_RULE_ENTRY"); stream.WriteLine("{"); stream.WriteLine("\tUINT64 TicksStart;"); @@ -83,10 +89,11 @@ stream.WriteLine("\tBOOL SupportsDST;"); stream.WriteLine("\tconst char* DisplayName;"); stream.WriteLine("\tconst char* StandardName;"); stream.WriteLine("\tconst char* DaylightName;"); -stream.WriteLine("\tTIME_ZONE_RULE_ENTRY* RuleTable;"); +stream.WriteLine("\tconst TIME_ZONE_RULE_ENTRY* RuleTable;"); stream.WriteLine("\tUINT32 RuleTableCount;"); stream.WriteLine("};"); stream.WriteLine("typedef struct _TIME_ZONE_ENTRY TIME_ZONE_ENTRY;"); +stream.WriteLine("#pragma pack(pop)"); stream.WriteLine(); index = 0; @@ -143,14 +150,14 @@ foreach (TimeZoneInfo timeZone in timeZones) stream.Write(" {0}ULL, {1}ULL, {2},", tzr.TicksStart, tzr.TicksEnd, tzr.DaylightDelta); stream.Write(" { "); - stream.Write("{0}, {1}, {2}, {3}, {4}, {5}", + stream.Write("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", tzr.StandardDate.wYear, tzr.StandardDate.wMonth, tzr.StandardDate.wDayOfWeek, tzr.StandardDate.wDay, tzr.StandardDate.wHour, tzr.StandardDate.wMinute, tzr.StandardDate.wSecond, tzr.StandardDate.wMilliseconds); stream.Write(" }, "); stream.Write("{ "); - stream.Write("{0}, {1}, {2}, {3}, {4}, {5}", + stream.Write("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", tzr.DaylightDate.wYear, tzr.DaylightDate.wMonth, tzr.DaylightDate.wDayOfWeek, tzr.DaylightDate.wDay, tzr.DaylightDate.wHour, tzr.DaylightDate.wMinute, tzr.DaylightDate.wSecond, tzr.DaylightDate.wMilliseconds); @@ -195,8 +202,7 @@ foreach (TimeZoneInfo timeZone in timeZones) else { tz.RuleTableCount = (UInt32)rules.Length; - tz.RuleTable = "&TimeZoneRuleTable_" + index; - tz.RuleTable = "(TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_" + index; + tz.RuleTable = "TimeZoneRuleTable_" + index; } stream.WriteLine("\t{"); diff --git a/scripts/WindowsZones.csx b/scripts/WindowsZones.csx index ccd8bf4c9..2fe59caa1 100644 --- a/scripts/WindowsZones.csx +++ b/scripts/WindowsZones.csx @@ -16,6 +16,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +/* Run with ' csi scripts/WindowsZones.csx' from freerdp checkout root */ #r "System.Xml" @@ -32,12 +33,18 @@ using System.Collections.Generic; */ string tzid, windows; -const string file = @"WindowsZones.txt"; +const string file = @"winpr/libwinpr/timezone/WindowsZones.c"; const string zonesUrl = @"http://www.unicode.org/repos/cldr/tags/latest/common/supplemental/windowsZones.xml"; List list = new List(); StreamWriter stream = new StreamWriter(file, false); XmlTextReader reader = new XmlTextReader(zonesUrl); +Console.WriteLine("Updating " + file); +stream.WriteLine("/* "); +stream.WriteLine(" * Automatically generated with scripts/WindowsZones.csx"); +stream.WriteLine(" */ "); +stream.WriteLine(); + stream.WriteLine("struct _WINDOWS_TZID_ENTRY"); stream.WriteLine("{"); stream.WriteLine("\tconst char* windows;"); diff --git a/winpr/libwinpr/timezone/TimeZones.c b/winpr/libwinpr/timezone/TimeZones.c new file mode 100644 index 000000000..e7a390eb7 --- /dev/null +++ b/winpr/libwinpr/timezone/TimeZones.c @@ -0,0 +1,1584 @@ +/* + * Automatically generated with scripts/TimeZones.csx + */ + +#pragma pack(push, 1) +struct _TIME_ZONE_RULE_ENTRY +{ + UINT64 TicksStart; + UINT64 TicksEnd; + INT32 DaylightDelta; + SYSTEMTIME StandardDate; + SYSTEMTIME DaylightDate; +}; +typedef struct _TIME_ZONE_RULE_ENTRY TIME_ZONE_RULE_ENTRY; + +struct _TIME_ZONE_ENTRY +{ + const char* Id; + INT32 Bias; + BOOL SupportsDST; + const char* DisplayName; + const char* StandardName; + const char* DaylightName; + const TIME_ZONE_RULE_ENTRY* RuleTable; + UINT32 RuleTableCount; +}; +typedef struct _TIME_ZONE_ENTRY TIME_ZONE_ENTRY; +#pragma pack(pop) + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_2[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_5[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_7[] = +{ + { 633978108000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633978972000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_9[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_11[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_12[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_14[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_15[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 6, 2, 22, 0, 0, 0 }, { 0, 10, 6, 2, 22, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 3, 6, 5, 22, 0, 0, 0 }, { 0, 10, 6, 2, 22, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 6, 2, 22, 0, 0, 0 }, { 0, 10, 6, 2, 22, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 4, 6, 1, 22, 0, 0, 0 }, { 0, 10, 6, 2, 22, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 5, 6, 1, 22, 0, 0, 0 }, { 0, 8, 6, 3, 22, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 4, 6, 5, 22, 0, 0, 0 }, { 0, 9, 6, 1, 22, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 4, 6, 5, 22, 0, 0, 0 }, { 0, 9, 6, 1, 22, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 4, 6, 5, 22, 0, 0, 0 }, { 0, 9, 6, 1, 22, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 635871996000000000ULL, 60, { 0, 5, 6, 2, 22, 0, 0, 0 }, { 0, 8, 6, 2, 22, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_16[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_19[] = +{ + { 635555772000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 1, 4, 1, 0, 0, 0, 0 }, { 0, 2, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_20[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_21[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 4, 6, 1, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 636188220000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_22[] = +{ + { 632084220000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 4, 0, 1, 0, 0, 0, 0 }, }, + { 632400444000000000ULL, 632085084000000000ULL, 60, { 0, 1, 4, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 0, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 3, 0, 2, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 3, 0, 3, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 3, 0, 2, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 3, 0, 2, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 11, 0, 2, 1, 0, 0, 0 }, { 0, 3, 0, 3, 0, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 11, 0, 1, 1, 0, 0, 0 }, { 0, 4, 0, 1, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 634925916000000000ULL, 60, { 0, 11, 0, 1, 1, 0, 0, 0 }, { 0, 3, 0, 2, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_23[] = +{ + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_24[] = +{ + { 635555772000000000ULL, 0ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 1, 4, 1, 0, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 1, 1, 1, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 636818940000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_25[] = +{ + { 633662748000000000ULL, 0ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 6, 1, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 4, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 4, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 4, 6, 1, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 3, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 3, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 3, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 3, 6, 5, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 3, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 5, 23, 59, 59, 999 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 3, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 3, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 3, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, }, + { 3155378076000000000ULL, 637450524000000000ULL, 60, { 0, 3, 6, 5, 23, 59, 59, 999 }, { 0, 10, 6, 1, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_26[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_27[] = +{ + { 633346524000000000ULL, 633032028000000000ULL, 30, { 0, 12, 0, 2, 3, 0, 0, 0 }, { 0, 1, 1, 1, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -30, { 0, 5, 0, 1, 2, 30, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_28[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 1, 4, 1, 0, 0, 0, 0 }, { 0, 11, 2, 1, 0, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 0, 3, 0, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 0, 1, 0, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 10, 0, 2, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 0, 3, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 2, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 2, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 637765020000000000ULL, 637450524000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638080380000000000ULL, 637765884000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638395740000000000ULL, 638081244000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638711964000000000ULL, 638396604000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639027324000000000ULL, 638712828000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639342684000000000ULL, 639028188000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 639658044000000000ULL, 639343548000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639974268000000000ULL, 639658908000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640289628000000000ULL, 639975132000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640604988000000000ULL, 640290492000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640920348000000000ULL, 640605852000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641236572000000000ULL, 640921212000000000ULL, 60, { 0, 2, 6, 2, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641551932000000000ULL, 641237436000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641867292000000000ULL, 641552796000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642182652000000000ULL, 641868156000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642498876000000000ULL, 642183516000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642814236000000000ULL, 642499740000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 643129596000000000ULL, 642815100000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 643444956000000000ULL, 643130460000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 3155378076000000000ULL, 643445820000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_30[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 3, 6, 5, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 4, 6, 1, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 5, 6, 1, 23, 59, 59, 999 }, { 0, 8, 6, 3, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 635871996000000000ULL, 60, { 0, 5, 6, 2, 23, 59, 59, 999 }, { 0, 8, 6, 2, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_31[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 0, 1, 0, 0 }, { 0, 4, 0, 1, 0, 1, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 0, 1, 0, 0 }, { 0, 3, 0, 2, 0, 1, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 11, 0, 1, 0, 1, 0, 0 }, { 0, 3, 0, 2, 0, 1, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 11, 0, 1, 0, 1, 0, 0 }, { 0, 3, 0, 2, 0, 1, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 11, 0, 1, 0, 1, 0, 0 }, { 0, 3, 0, 2, 0, 1, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 0, 1, 0, 0 }, }, + { 3155378076000000000ULL, 634609692000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_32[] = +{ + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 1, 0, 1, 0, 0, 0, 0 }, { 0, 10, 0, 3, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 1, 2, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_33[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 2, 6, 2, 23, 59, 59, 999 }, { 0, 11, 2, 1, 0, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 0, 3, 0, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 0, 1, 0, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 10, 0, 2, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 0, 3, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 2, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 2, 6, 4, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 637765020000000000ULL, 637450524000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638080380000000000ULL, 637765884000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638395740000000000ULL, 638081244000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 638711964000000000ULL, 638396604000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639027324000000000ULL, 638712828000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639342684000000000ULL, 639028188000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 639658044000000000ULL, 639343548000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 639974268000000000ULL, 639658908000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640289628000000000ULL, 639975132000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640604988000000000ULL, 640290492000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 640920348000000000ULL, 640605852000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641236572000000000ULL, 640921212000000000ULL, 60, { 0, 2, 6, 2, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641551932000000000ULL, 641237436000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 641867292000000000ULL, 641552796000000000ULL, 60, { 0, 2, 6, 5, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642182652000000000ULL, 641868156000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642498876000000000ULL, 642183516000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 642814236000000000ULL, 642499740000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 10, 6, 5, 23, 59, 59, 999 }, }, + { 643129596000000000ULL, 642815100000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 643444956000000000ULL, 643130460000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, }, + { 3155378076000000000ULL, 643445820000000000ULL, 60, { 0, 2, 6, 3, 23, 59, 59, 999 }, { 0, 11, 6, 1, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_35[] = +{ + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 1, 1, 1, 0, 0, 0, 0 }, { 0, 12, 0, 5, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 3, 0, 3, 0, 0, 0, 0 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_36[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 4, 22, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 10, 6, 4, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 4, 22, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 6, 4, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 4, 22, 0, 0, 0 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 10, 6, 4, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, }, + { 3155378076000000000ULL, 637450524000000000ULL, 60, { 0, 10, 6, 5, 23, 0, 0, 0 }, { 0, 3, 6, 5, 22, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_37[] = +{ + { 635555772000000000ULL, 0ULL, 60, { 0, 3, 0, 2, 2, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 3, 0, 2, 2, 0, 0, 0 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_38[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 3, 6, 5, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 6, 2, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 4, 6, 1, 23, 59, 59, 999 }, { 0, 10, 6, 2, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 5, 6, 1, 23, 59, 59, 999 }, { 0, 8, 6, 3, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 4, 6, 5, 23, 59, 59, 999 }, { 0, 9, 6, 1, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 5, 6, 2, 23, 59, 59, 999 }, { 0, 8, 6, 2, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_39[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 4, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633032028000000000ULL, 60, { 0, 11, 0, 1, 2, 0, 0, 0 }, { 0, 3, 0, 2, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_40[] = +{ + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 10, 6, 3, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 2, 6, 4, 23, 59, 59, 999 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_42[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 9, 0, 5, 2, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_43[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 1, 0, 0, 0 }, { 0, 3, 0, 5, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_46[] = +{ + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 8, 0, 5, 23, 59, 59, 999 }, { 0, 5, 6, 5, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 8, 4, 3, 23, 59, 59, 999 }, { 0, 5, 0, 5, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 8, 6, 1, 23, 59, 59, 999 }, { 0, 5, 6, 1, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 7, 6, 5, 23, 59, 59, 999 }, { 0, 4, 6, 1, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 9, 0, 5, 3, 0, 0, 0 }, { 0, 4, 0, 5, 2, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 4, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 636818940000000000ULL, 60, { 0, 10, 0, 4, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_47[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 0, 5, 1, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_49[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_50[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_51[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_52[] = +{ + { 636502716000000000ULL, 0ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, -60, { 0, 1, 1, 1, 1, 0, 0, 0 }, { 0, 1, 1, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_53[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_55[] = +{ + { 634608828000000000ULL, 0ULL, 60, { 0, 10, 5, 5, 1, 0, 0, 0 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 1, 0, 1, 0, 0, 0, 0 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 12, 5, 3, 0, 0, 0, 0 }, { 0, 1, 2, 1, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 635241276000000000ULL, 60, { 0, 10, 5, 5, 1, 0, 0, 0 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_56[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_57[] = +{ + { 633978108000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 0, 0, 0, 0 }, { 0, 3, 0, 5, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 4, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 6, 4, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 4, 23, 59, 59, 999 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 10, 6, 4, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, }, + { 3155378076000000000ULL, 637450524000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_58[] = +{ + { 632715804000000000ULL, 0ULL, 60, { 0, 9, 4, 5, 23, 59, 59, 999 }, { 0, 4, 5, 5, 0, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 9, 4, 3, 23, 59, 59, 999 }, { 0, 4, 5, 5, 0, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 9, 4, 1, 23, 59, 59, 999 }, { 0, 4, 4, 5, 23, 59, 59, 999 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 8, 4, 5, 23, 59, 59, 999 }, { 0, 4, 4, 5, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 8, 4, 3, 23, 59, 59, 999 }, { 0, 4, 4, 4, 23, 59, 59, 999 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 9, 4, 5, 23, 59, 59, 999 }, { 0, 4, 4, 5, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 9, 4, 5, 23, 59, 59, 999 }, { 0, 5, 4, 3, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_59[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_60[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 9, 4, 5, 23, 59, 59, 999 }, { 0, 4, 4, 1, 0, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 9, 5, 5, 23, 59, 59, 999 }, { 0, 4, 5, 1, 0, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 9, 4, 3, 23, 59, 59, 999 }, { 0, 4, 6, 1, 0, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 11, 4, 1, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 10, 5, 5, 23, 59, 59, 999 }, { 0, 4, 5, 1, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 4, 5, 1, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 4, 5, 1, 0, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 4, 4, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 10, 4, 4, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 637134300000000000ULL, 60, { 0, 10, 4, 5, 23, 59, 59, 999 }, { 0, 3, 5, 5, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_61[] = +{ + { 634925052000000000ULL, 0ULL, 60, { 0, 9, 5, 3, 1, 0, 0, 0 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 9, 4, 5, 23, 59, 59, 999 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 4, 4, 23, 59, 59, 999 }, { 0, 3, 4, 5, 23, 59, 59, 999 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 4, 4, 23, 59, 59, 999 }, { 0, 3, 5, 5, 23, 59, 59, 999 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 6, 5, 1, 0, 0, 0 }, { 0, 3, 6, 5, 1, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 6, 5, 1, 0, 0, 0 }, { 0, 3, 6, 5, 1, 0, 0, 0 }, }, + { 3155378076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 6, 5, 1, 0, 0, 0 }, { 0, 3, 6, 4, 1, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_63[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_64[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 9, 3, 4, 1, 0, 0, 0 }, { 0, 4, 3, 1, 1, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 10, 0, 2, 2, 0, 0, 0 }, { 0, 4, 5, 1, 2, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 10, 0, 1, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 9, 0, 3, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 10, 0, 1, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 9, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 9, 0, 2, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 10, 0, 1, 2, 0, 0, 0 }, { 0, 4, 5, 1, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 9, 0, 4, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 4, 2, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 4, 2, 0, 0, 0 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 637765020000000000ULL, 637450524000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 638080380000000000ULL, 637765884000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 638081244000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 3, 5, 4, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_65[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_66[] = +{ + { 636187356000000000ULL, 0ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 10, 2, 5, 23, 59, 59, 999 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_67[] = +{ + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 11, 6, 2, 2, 0, 0, 0 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 1, 2, 1, 0, 0, 0, 0 }, { 0, 3, 5, 5, 1, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_68[] = +{ + { 636502716000000000ULL, 0ULL, 60, { 0, 4, 0, 1, 2, 0, 0, 0 }, { 0, 9, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_69[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 10, 5, 1, 4, 0, 0, 0 }, { 0, 4, 4, 1, 3, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 10, 6, 1, 4, 0, 0, 0 }, { 0, 4, 5, 1, 3, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 10, 0, 1, 4, 0, 0, 0 }, { 0, 4, 6, 1, 3, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 10, 1, 1, 4, 0, 0, 0 }, { 0, 4, 0, 1, 3, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_70[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 1, 5, 3, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 4, 0, 0, 0 }, { 0, 3, 1, 5, 3, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 11, 0, 2, 4, 0, 0, 0 }, { 0, 3, 0, 5, 3, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_72[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_73[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_75[] = +{ + { 632400444000000000ULL, 0ULL, 60, { 0, 9, 1, 3, 23, 59, 59, 999 }, { 0, 3, 0, 3, 0, 0, 0, 0 }, }, + { 632715804000000000ULL, 632401308000000000ULL, 60, { 0, 9, 3, 3, 23, 59, 59, 999 }, { 0, 3, 2, 4, 0, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 9, 6, 3, 23, 59, 59, 999 }, { 0, 3, 5, 3, 0, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 9, 1, 3, 23, 59, 59, 999 }, { 0, 3, 0, 4, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 9, 2, 3, 23, 59, 59, 999 }, { 0, 3, 1, 4, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 9, 3, 3, 23, 59, 59, 999 }, { 0, 3, 2, 4, 0, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 9, 4, 3, 23, 59, 59, 999 }, { 0, 3, 3, 3, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 9, 6, 3, 23, 59, 59, 999 }, { 0, 3, 5, 4, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 9, 0, 3, 23, 59, 59, 999 }, { 0, 3, 6, 4, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 9, 1, 3, 23, 59, 59, 999 }, { 0, 3, 0, 4, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 9, 2, 3, 23, 59, 59, 999 }, { 0, 3, 1, 3, 0, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 9, 4, 3, 23, 59, 59, 999 }, { 0, 3, 3, 4, 0, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 9, 5, 3, 23, 59, 59, 999 }, { 0, 3, 4, 4, 0, 0, 0, 0 }, }, + { 637133436000000000ULL, 636818940000000000ULL, 60, { 0, 9, 6, 3, 23, 59, 59, 999 }, { 0, 3, 5, 4, 0, 0, 0, 0 }, }, + { 637449660000000000ULL, 637134300000000000ULL, 60, { 0, 9, 0, 3, 23, 59, 59, 999 }, { 0, 3, 6, 3, 0, 0, 0, 0 }, }, + { 637765020000000000ULL, 637450524000000000ULL, 60, { 0, 9, 2, 3, 23, 59, 59, 999 }, { 0, 3, 1, 4, 0, 0, 0, 0 }, }, + { 638080380000000000ULL, 637765884000000000ULL, 60, { 0, 9, 3, 3, 23, 59, 59, 999 }, { 0, 3, 2, 4, 0, 0, 0, 0 }, }, + { 638395740000000000ULL, 638081244000000000ULL, 60, { 0, 9, 4, 3, 23, 59, 59, 999 }, { 0, 3, 3, 4, 0, 0, 0, 0 }, }, + { 3155378076000000000ULL, 638396604000000000ULL, 60, { 0, 9, 5, 3, 23, 59, 59, 999 }, { 0, 3, 4, 3, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_77[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_78[] = +{ + { 635871132000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 5, 0, 0, 0 }, { 0, 3, 0, 5, 4, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_79[] = +{ + { 633978108000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_80[] = +{ + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 1, 2, 1, 0, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_81[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 12, 0, 1, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_83[] = +{ + { 634608828000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_86[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_87[] = +{ + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 10, 5, 5, 23, 59, 59, 999 }, { 0, 5, 6, 5, 23, 59, 59, 999 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 10, 6, 5, 23, 59, 59, 999 }, { 0, 4, 2, 2, 23, 59, 59, 999 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_92[] = +{ + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 12, 4, 5, 23, 59, 59, 999 }, { 0, 6, 5, 3, 23, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_93[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_96[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_97[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 9, 6, 5, 2, 0, 0, 0 }, { 0, 3, 6, 5, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 9, 5, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 9, 5, 4, 23, 59, 59, 999 }, { 0, 3, 6, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_98[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_99[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 7, 0, 4, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_100[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 5, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_102[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_104[] = +{ + { 633031164000000000ULL, 632716668000000000ULL, 60, { 0, 1, 0, 1, 0, 0, 0, 0 }, { 0, 12, 0, 1, 2, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 633662748000000000ULL, 633347388000000000ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_106[] = +{ + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 9, 5, 5, 23, 59, 59, 999 }, { 0, 3, 6, 5, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 9, 5, 4, 23, 59, 59, 999 }, { 0, 3, 6, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_108[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 120, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_110[] = +{ + { 635871132000000000ULL, 635556636000000000ULL, 30, { 0, 8, 5, 2, 23, 59, 59, 999 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, -30, { 0, 5, 5, 1, 23, 30, 0, 0 }, { 0, 1, 1, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_112[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_113[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 60, { 0, 4, 0, 1, 3, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_116[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 60, { 0, 4, 0, 1, 3, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_118[] = +{ + { 633346524000000000ULL, 0ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 60, { 0, 4, 0, 1, 3, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_119[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_120[] = +{ + { 632715804000000000ULL, 0ULL, 30, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 633031164000000000ULL, 632716668000000000ULL, 30, { 0, 4, 0, 1, 2, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 30, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 10, 0, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 30, { 0, 4, 0, 1, 2, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_121[] = +{ + { 635240412000000000ULL, 0ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 1, 3, 1, 0, 0, 0, 0 }, { 0, 12, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_122[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_123[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 120, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 4, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_124[] = +{ + { 635555772000000000ULL, 0ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 30, { 0, 10, 0, 1, 2, 0, 0, 0 }, { 0, 1, 4, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_125[] = +{ + { 634293468000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 10, 0, 5, 2, 0, 0, 0 }, { 0, 1, 3, 1, 0, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, -60, { 0, 3, 0, 5, 2, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_127[] = +{ + { 633978108000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 1, 5, 1, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 1, 6, 1, 0, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_128[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 3, 0, 3, 3, 0, 0, 0 }, { 0, 10, 0, 1, 2, 0, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 3, 0, 3, 3, 0, 0, 0 }, { 0, 9, 0, 5, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 60, { 0, 4, 0, 1, 3, 0, 0, 0 }, { 0, 9, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_130[] = +{ + { 633978108000000000ULL, 633663612000000000ULL, 60, { 0, 1, 4, 1, 0, 0, 0, 0 }, { 0, 11, 0, 5, 2, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 3, 0, 5, 3, 0, 0, 0 }, { 0, 10, 0, 4, 2, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 3, 0, 1, 3, 0, 0, 0 }, { 0, 10, 0, 4, 2, 0, 0, 0 }, }, + { 634925052000000000ULL, 634609692000000000ULL, 60, { 0, 1, 0, 4, 3, 0, 0, 0 }, { 0, 10, 0, 3, 2, 0, 0, 0 }, }, + { 635240412000000000ULL, 634925916000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 10, 0, 4, 2, 0, 0, 0 }, }, + { 635555772000000000ULL, 635241276000000000ULL, 60, { 0, 1, 0, 3, 2, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 635871132000000000ULL, 635556636000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 636818076000000000ULL, 636503580000000000ULL, 60, { 0, 1, 0, 2, 3, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 3155378076000000000ULL, 636818940000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_131[] = +{ + { 3155378076000000000ULL, 0ULL, 60, { 0, 10, 0, 5, 3, 0, 0, 0 }, { 0, 3, 0, 5, 2, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_132[] = +{ + { 633031164000000000ULL, 0ULL, 60, { 0, 3, 0, 3, 3, 45, 0, 0 }, { 0, 10, 0, 1, 2, 45, 0, 0 }, }, + { 633346524000000000ULL, 633032028000000000ULL, 60, { 0, 3, 0, 3, 3, 45, 0, 0 }, { 0, 9, 0, 5, 2, 45, 0, 0 }, }, + { 3155378076000000000ULL, 633347388000000000ULL, 60, { 0, 4, 0, 1, 3, 45, 0, 0 }, { 0, 9, 0, 5, 2, 45, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_134[] = +{ + { 636187356000000000ULL, 635871996000000000ULL, 60, { 0, 1, 5, 1, 0, 0, 0, 0 }, { 0, 11, 0, 1, 2, 0, 0, 0 }, }, + { 636502716000000000ULL, 636188220000000000ULL, 60, { 0, 1, 0, 3, 3, 0, 0, 0 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, } +}; + +static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_135[] = +{ + { 633978108000000000ULL, 0ULL, 0, { 0, 1, 0, 1, 0, 0, 0, 1 }, { 0, 1, 0, 1, 0, 0, 0, 0 }, }, + { 634293468000000000ULL, 633978972000000000ULL, 60, { 0, 1, 5, 1, 0, 0, 0, 0 }, { 0, 9, 0, 5, 0, 0, 0, 0 }, }, + { 634608828000000000ULL, 634294332000000000ULL, 60, { 0, 4, 6, 1, 4, 0, 0, 0 }, { 0, 9, 6, 4, 3, 0, 0, 0 }, }, + { 3155378076000000000ULL, 634609692000000000ULL, 60, { 0, 4, 0, 1, 4, 0, 0, 0 }, { 0, 9, 0, 5, 3, 0, 0, 0 }, } +}; + +static const TIME_ZONE_ENTRY TimeZoneTable[] = +{ + { + "Dateline Standard Time", 720, FALSE, "(UTC-12:00) International Date Line West", + "Dateline Standard Time", "Dateline Daylight Time", + NULL, 0 + }, + { + "UTC-11", 660, FALSE, "(UTC-11:00) Coordinated Universal Time-11", + "UTC-11", "UTC-11", + NULL, 0 + }, + { + "Aleutian Standard Time", 600, TRUE, "(UTC-10:00) Aleutian Islands", + "Aleutian Standard Time", "Aleutian Daylight Time", + TimeZoneRuleTable_2, 2 + }, + { + "Hawaiian Standard Time", 600, FALSE, "(UTC-10:00) Hawaii", + "Hawaiian Standard Time", "Hawaiian Daylight Time", + NULL, 0 + }, + { + "Marquesas Standard Time", 570, FALSE, "(UTC-09:30) Marquesas Islands", + "Marquesas Standard Time", "Marquesas Daylight Time", + NULL, 0 + }, + { + "Alaskan Standard Time", 540, TRUE, "(UTC-09:00) Alaska", + "Alaskan Standard Time", "Alaskan Daylight Time", + TimeZoneRuleTable_5, 2 + }, + { + "UTC-09", 540, FALSE, "(UTC-09:00) Coordinated Universal Time-09", + "UTC-09", "UTC-09", + NULL, 0 + }, + { + "Pacific Standard Time (Mexico)", 480, TRUE, "(UTC-08:00) Baja California", + "Pacific Standard Time (Mexico)", "Pacific Daylight Time (Mexico)", + TimeZoneRuleTable_7, 2 + }, + { + "UTC-08", 480, FALSE, "(UTC-08:00) Coordinated Universal Time-08", + "UTC-08", "UTC-08", + NULL, 0 + }, + { + "Pacific Standard Time", 480, TRUE, "(UTC-08:00) Pacific Time (US & Canada)", + "Pacific Standard Time", "Pacific Daylight Time", + TimeZoneRuleTable_9, 2 + }, + { + "US Mountain Standard Time", 420, FALSE, "(UTC-07:00) Arizona", + "US Mountain Standard Time", "US Mountain Daylight Time", + NULL, 0 + }, + { + "Mountain Standard Time (Mexico)", 420, TRUE, "(UTC-07:00) Chihuahua, La Paz, Mazatlan", + "Mountain Standard Time (Mexico)", "Mountain Daylight Time (Mexico)", + TimeZoneRuleTable_11, 1 + }, + { + "Mountain Standard Time", 420, TRUE, "(UTC-07:00) Mountain Time (US & Canada)", + "Mountain Standard Time", "Mountain Daylight Time", + TimeZoneRuleTable_12, 2 + }, + { + "Central America Standard Time", 360, FALSE, "(UTC-06:00) Central America", + "Central America Standard Time", "Central America Daylight Time", + NULL, 0 + }, + { + "Central Standard Time", 360, TRUE, "(UTC-06:00) Central Time (US & Canada)", + "Central Standard Time", "Central Daylight Time", + TimeZoneRuleTable_14, 2 + }, + { + "Easter Island Standard Time", 360, TRUE, "(UTC-06:00) Easter Island", + "Easter Island Standard Time", "Easter Island Daylight Time", + TimeZoneRuleTable_15, 10 + }, + { + "Central Standard Time (Mexico)", 360, TRUE, "(UTC-06:00) Guadalajara, Mexico City, Monterrey", + "Central Standard Time (Mexico)", "Central Daylight Time (Mexico)", + TimeZoneRuleTable_16, 1 + }, + { + "Canada Central Standard Time", 360, FALSE, "(UTC-06:00) Saskatchewan", + "Canada Central Standard Time", "Canada Central Daylight Time", + NULL, 0 + }, + { + "SA Pacific Standard Time", 300, FALSE, "(UTC-05:00) Bogota, Lima, Quito, Rio Branco", + "SA Pacific Standard Time", "SA Pacific Daylight Time", + NULL, 0 + }, + { + "Eastern Standard Time (Mexico)", 300, TRUE, "(UTC-05:00) Chetumal", + "Eastern Standard Time (Mexico)", "Eastern Daylight Time (Mexico)", + TimeZoneRuleTable_19, 2 + }, + { + "Eastern Standard Time", 300, TRUE, "(UTC-05:00) Eastern Time (US & Canada)", + "Eastern Standard Time", "Eastern Daylight Time", + TimeZoneRuleTable_20, 2 + }, + { + "Haiti Standard Time", 300, TRUE, "(UTC-05:00) Haiti", + "Haiti Standard Time", "Haiti Daylight Time", + TimeZoneRuleTable_21, 6 + }, + { + "Cuba Standard Time", 300, TRUE, "(UTC-05:00) Havana", + "Cuba Standard Time", "Cuba Daylight Time", + TimeZoneRuleTable_22, 11 + }, + { + "US Eastern Standard Time", 300, TRUE, "(UTC-05:00) Indiana (East)", + "US Eastern Standard Time", "US Eastern Daylight Time", + TimeZoneRuleTable_23, 2 + }, + { + "Turks And Caicos Standard Time", 300, TRUE, "(UTC-05:00) Turks and Caicos", + "Turks and Caicos Standard Time", "Turks and Caicos Daylight Time", + TimeZoneRuleTable_24, 6 + }, + { + "Paraguay Standard Time", 240, TRUE, "(UTC-04:00) Asuncion", + "Paraguay Standard Time", "Paraguay Daylight Time", + TimeZoneRuleTable_25, 14 + }, + { + "Atlantic Standard Time", 240, TRUE, "(UTC-04:00) Atlantic Time (Canada)", + "Atlantic Standard Time", "Atlantic Daylight Time", + TimeZoneRuleTable_26, 2 + }, + { + "Venezuela Standard Time", 240, TRUE, "(UTC-04:00) Caracas", + "Venezuela Standard Time", "Venezuela Daylight Time", + TimeZoneRuleTable_27, 10 + }, + { + "Central Brazilian Standard Time", 240, TRUE, "(UTC-04:00) Cuiaba", + "Central Brazilian Standard Time", "Central Brazilian Daylight Time", + TimeZoneRuleTable_28, 37 + }, + { + "SA Western Standard Time", 240, FALSE, "(UTC-04:00) Georgetown, La Paz, Manaus, San Juan", + "SA Western Standard Time", "SA Western Daylight Time", + NULL, 0 + }, + { + "Pacific SA Standard Time", 240, TRUE, "(UTC-04:00) Santiago", + "Pacific SA Standard Time", "Pacific SA Daylight Time", + TimeZoneRuleTable_30, 10 + }, + { + "Newfoundland Standard Time", 210, TRUE, "(UTC-03:30) Newfoundland", + "Newfoundland Standard Time", "Newfoundland Daylight Time", + TimeZoneRuleTable_31, 7 + }, + { + "Tocantins Standard Time", 180, TRUE, "(UTC-03:00) Araguaina", + "Tocantins Standard Time", "Tocantins Daylight Time", + TimeZoneRuleTable_32, 2 + }, + { + "E. South America Standard Time", 180, TRUE, "(UTC-03:00) Brasilia", + "E. South America Standard Time", "E. South America Daylight Time", + TimeZoneRuleTable_33, 37 + }, + { + "SA Eastern Standard Time", 180, FALSE, "(UTC-03:00) Cayenne, Fortaleza", + "SA Eastern Standard Time", "SA Eastern Daylight Time", + NULL, 0 + }, + { + "Argentina Standard Time", 180, TRUE, "(UTC-03:00) City of Buenos Aires", + "Argentina Standard Time", "Argentina Daylight Time", + TimeZoneRuleTable_35, 3 + }, + { + "Greenland Standard Time", 180, TRUE, "(UTC-03:00) Greenland", + "Greenland Standard Time", "Greenland Daylight Time", + TimeZoneRuleTable_36, 18 + }, + { + "Montevideo Standard Time", 180, TRUE, "(UTC-03:00) Montevideo", + "Montevideo Standard Time", "Montevideo Daylight Time", + TimeZoneRuleTable_37, 2 + }, + { + "Magallanes Standard Time", 180, TRUE, "(UTC-03:00) Punta Arenas", + "Magallanes Standard Time", "Magallanes Daylight Time", + TimeZoneRuleTable_38, 9 + }, + { + "Saint Pierre Standard Time", 180, TRUE, "(UTC-03:00) Saint Pierre and Miquelon", + "Saint Pierre Standard Time", "Saint Pierre Daylight Time", + TimeZoneRuleTable_39, 2 + }, + { + "Bahia Standard Time", 180, TRUE, "(UTC-03:00) Salvador", + "Bahia Standard Time", "Bahia Daylight Time", + TimeZoneRuleTable_40, 2 + }, + { + "UTC-02", 120, FALSE, "(UTC-02:00) Coordinated Universal Time-02", + "UTC-02", "UTC-02", + NULL, 0 + }, + { + "Mid-Atlantic Standard Time", 120, TRUE, "(UTC-02:00) Mid-Atlantic - Old", + "Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time", + TimeZoneRuleTable_42, 1 + }, + { + "Azores Standard Time", 60, TRUE, "(UTC-01:00) Azores", + "Azores Standard Time", "Azores Daylight Time", + TimeZoneRuleTable_43, 1 + }, + { + "Cape Verde Standard Time", 60, FALSE, "(UTC-01:00) Cabo Verde Is.", + "Cabo Verde Standard Time", "Cabo Verde Daylight Time", + NULL, 0 + }, + { + "UTC", 0, FALSE, "(UTC) Coordinated Universal Time", + "Coordinated Universal Time", "Coordinated Universal Time", + NULL, 0 + }, + { + "Morocco Standard Time", 0, TRUE, "(UTC+00:00) Casablanca", + "Morocco Standard Time", "Morocco Daylight Time", + TimeZoneRuleTable_46, 12 + }, + { + "GMT Standard Time", 0, TRUE, "(UTC+00:00) Dublin, Edinburgh, Lisbon, London", + "GMT Standard Time", "GMT Daylight Time", + TimeZoneRuleTable_47, 1 + }, + { + "Greenwich Standard Time", 0, FALSE, "(UTC+00:00) Monrovia, Reykjavik", + "Greenwich Standard Time", "Greenwich Daylight Time", + NULL, 0 + }, + { + "W. Europe Standard Time", -60, TRUE, "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", + "W. Europe Standard Time", "W. Europe Daylight Time", + TimeZoneRuleTable_49, 1 + }, + { + "Central Europe Standard Time", -60, TRUE, "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", + "Central Europe Standard Time", "Central Europe Daylight Time", + TimeZoneRuleTable_50, 1 + }, + { + "Romance Standard Time", -60, TRUE, "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", + "Romance Standard Time", "Romance Daylight Time", + TimeZoneRuleTable_51, 1 + }, + { + "Sao Tome Standard Time", -60, TRUE, "(UTC+01:00) Sao Tome", + "Sao Tome Standard Time", "Sao Tome Daylight Time", + TimeZoneRuleTable_52, 2 + }, + { + "Central European Standard Time", -60, TRUE, "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", + "Central European Standard Time", "Central European Daylight Time", + TimeZoneRuleTable_53, 1 + }, + { + "W. Central Africa Standard Time", -60, FALSE, "(UTC+01:00) West Central Africa", + "W. Central Africa Standard Time", "W. Central Africa Daylight Time", + NULL, 0 + }, + { + "Jordan Standard Time", -120, TRUE, "(UTC+02:00) Amman", + "Jordan Standard Time", "Jordan Daylight Time", + TimeZoneRuleTable_55, 4 + }, + { + "GTB Standard Time", -120, TRUE, "(UTC+02:00) Athens, Bucharest", + "GTB Standard Time", "GTB Daylight Time", + TimeZoneRuleTable_56, 1 + }, + { + "Middle East Standard Time", -120, TRUE, "(UTC+02:00) Beirut", + "Middle East Standard Time", "Middle East Daylight Time", + TimeZoneRuleTable_57, 13 + }, + { + "Egypt Standard Time", -120, TRUE, "(UTC+02:00) Cairo", + "Egypt Standard Time", "Egypt Daylight Time", + TimeZoneRuleTable_58, 7 + }, + { + "E. Europe Standard Time", -120, TRUE, "(UTC+02:00) Chisinau", + "E. Europe Standard Time", "E. Europe Daylight Time", + TimeZoneRuleTable_59, 1 + }, + { + "Syria Standard Time", -120, TRUE, "(UTC+02:00) Damascus", + "Syria Standard Time", "Syria Daylight Time", + TimeZoneRuleTable_60, 17 + }, + { + "West Bank Standard Time", -120, TRUE, "(UTC+02:00) Gaza, Hebron", + "West Bank Gaza Standard Time", "West Bank Gaza Daylight Time", + TimeZoneRuleTable_61, 7 + }, + { + "South Africa Standard Time", -120, FALSE, "(UTC+02:00) Harare, Pretoria", + "South Africa Standard Time", "South Africa Daylight Time", + NULL, 0 + }, + { + "FLE Standard Time", -120, TRUE, "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius", + "FLE Standard Time", "FLE Daylight Time", + TimeZoneRuleTable_63, 1 + }, + { + "Israel Standard Time", -120, TRUE, "(UTC+02:00) Jerusalem", + "Jerusalem Standard Time", "Jerusalem Daylight Time", + TimeZoneRuleTable_64, 20 + }, + { + "Kaliningrad Standard Time", -120, TRUE, "(UTC+02:00) Kaliningrad", + "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time", + TimeZoneRuleTable_65, 5 + }, + { + "Sudan Standard Time", -120, TRUE, "(UTC+02:00) Khartoum", + "Sudan Standard Time", "Sudan Daylight Time", + TimeZoneRuleTable_66, 2 + }, + { + "Libya Standard Time", -120, TRUE, "(UTC+02:00) Tripoli", + "Libya Standard Time", "Libya Daylight Time", + TimeZoneRuleTable_67, 2 + }, + { + "Namibia Standard Time", -120, TRUE, "(UTC+02:00) Windhoek", + "Namibia Standard Time", "Namibia Daylight Time", + TimeZoneRuleTable_68, 1 + }, + { + "Arabic Standard Time", -180, TRUE, "(UTC+03:00) Baghdad", + "Arabic Standard Time", "Arabic Daylight Time", + TimeZoneRuleTable_69, 4 + }, + { + "Turkey Standard Time", -180, TRUE, "(UTC+03:00) Istanbul", + "Turkey Standard Time", "Turkey Daylight Time", + TimeZoneRuleTable_70, 7 + }, + { + "Arab Standard Time", -180, FALSE, "(UTC+03:00) Kuwait, Riyadh", + "Arab Standard Time", "Arab Daylight Time", + NULL, 0 + }, + { + "Belarus Standard Time", -180, TRUE, "(UTC+03:00) Minsk", + "Belarus Standard Time", "Belarus Daylight Time", + TimeZoneRuleTable_72, 2 + }, + { + "Russian Standard Time", -180, TRUE, "(UTC+03:00) Moscow, St. Petersburg, Volgograd", + "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time", + TimeZoneRuleTable_73, 5 + }, + { + "E. Africa Standard Time", -180, FALSE, "(UTC+03:00) Nairobi", + "E. Africa Standard Time", "E. Africa Daylight Time", + NULL, 0 + }, + { + "Iran Standard Time", -210, TRUE, "(UTC+03:30) Tehran", + "Iran Standard Time", "Iran Daylight Time", + TimeZoneRuleTable_75, 19 + }, + { + "Arabian Standard Time", -240, FALSE, "(UTC+04:00) Abu Dhabi, Muscat", + "Arabian Standard Time", "Arabian Daylight Time", + NULL, 0 + }, + { + "Astrakhan Standard Time", -240, TRUE, "(UTC+04:00) Astrakhan, Ulyanovsk", + "Astrakhan Standard Time", "Astrakhan Daylight Time", + TimeZoneRuleTable_77, 5 + }, + { + "Azerbaijan Standard Time", -240, TRUE, "(UTC+04:00) Baku", + "Azerbaijan Standard Time", "Azerbaijan Daylight Time", + TimeZoneRuleTable_78, 1 + }, + { + "Russia Time Zone 3", -240, TRUE, "(UTC+04:00) Izhevsk, Samara", + "Russia TZ 3 Standard Time", "Russia TZ 3 Daylight Time", + TimeZoneRuleTable_79, 3 + }, + { + "Mauritius Standard Time", -240, TRUE, "(UTC+04:00) Port Louis", + "Mauritius Standard Time", "Mauritius Daylight Time", + TimeZoneRuleTable_80, 2 + }, + { + "Saratov Standard Time", -240, TRUE, "(UTC+04:00) Saratov", + "Saratov Standard Time", "Saratov Daylight Time", + TimeZoneRuleTable_81, 5 + }, + { + "Georgian Standard Time", -240, FALSE, "(UTC+04:00) Tbilisi", + "Georgian Standard Time", "Georgian Daylight Time", + NULL, 0 + }, + { + "Caucasus Standard Time", -240, TRUE, "(UTC+04:00) Yerevan", + "Caucasus Standard Time", "Caucasus Daylight Time", + TimeZoneRuleTable_83, 1 + }, + { + "Afghanistan Standard Time", -270, FALSE, "(UTC+04:30) Kabul", + "Afghanistan Standard Time", "Afghanistan Daylight Time", + NULL, 0 + }, + { + "West Asia Standard Time", -300, FALSE, "(UTC+05:00) Ashgabat, Tashkent", + "West Asia Standard Time", "West Asia Daylight Time", + NULL, 0 + }, + { + "Ekaterinburg Standard Time", -300, TRUE, "(UTC+05:00) Ekaterinburg", + "Russia TZ 4 Standard Time", "Russia TZ 4 Daylight Time", + TimeZoneRuleTable_86, 5 + }, + { + "Pakistan Standard Time", -300, TRUE, "(UTC+05:00) Islamabad, Karachi", + "Pakistan Standard Time", "Pakistan Daylight Time", + TimeZoneRuleTable_87, 2 + }, + { + "India Standard Time", -330, FALSE, "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", + "India Standard Time", "India Daylight Time", + NULL, 0 + }, + { + "Sri Lanka Standard Time", -330, FALSE, "(UTC+05:30) Sri Jayawardenepura", + "Sri Lanka Standard Time", "Sri Lanka Daylight Time", + NULL, 0 + }, + { + "Nepal Standard Time", -345, FALSE, "(UTC+05:45) Kathmandu", + "Nepal Standard Time", "Nepal Daylight Time", + NULL, 0 + }, + { + "Central Asia Standard Time", -360, FALSE, "(UTC+06:00) Astana", + "Central Asia Standard Time", "Central Asia Daylight Time", + NULL, 0 + }, + { + "Bangladesh Standard Time", -360, TRUE, "(UTC+06:00) Dhaka", + "Bangladesh Standard Time", "Bangladesh Daylight Time", + TimeZoneRuleTable_92, 1 + }, + { + "Omsk Standard Time", -360, TRUE, "(UTC+06:00) Omsk", + "Omsk Standard Time", "Omsk Daylight Time", + TimeZoneRuleTable_93, 5 + }, + { + "Myanmar Standard Time", -390, FALSE, "(UTC+06:30) Yangon (Rangoon)", + "Myanmar Standard Time", "Myanmar Daylight Time", + NULL, 0 + }, + { + "SE Asia Standard Time", -420, FALSE, "(UTC+07:00) Bangkok, Hanoi, Jakarta", + "SE Asia Standard Time", "SE Asia Daylight Time", + NULL, 0 + }, + { + "Altai Standard Time", -420, TRUE, "(UTC+07:00) Barnaul, Gorno-Altaysk", + "Altai Standard Time", "Altai Daylight Time", + TimeZoneRuleTable_96, 5 + }, + { + "W. Mongolia Standard Time", -420, TRUE, "(UTC+07:00) Hovd", + "W. Mongolia Standard Time", "W. Mongolia Daylight Time", + TimeZoneRuleTable_97, 3 + }, + { + "North Asia Standard Time", -420, TRUE, "(UTC+07:00) Krasnoyarsk", + "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time", + TimeZoneRuleTable_98, 5 + }, + { + "N. Central Asia Standard Time", -420, TRUE, "(UTC+07:00) Novosibirsk", + "Novosibirsk Standard Time", "Novosibirsk Daylight Time", + TimeZoneRuleTable_99, 5 + }, + { + "Tomsk Standard Time", -420, TRUE, "(UTC+07:00) Tomsk", + "Tomsk Standard Time", "Tomsk Daylight Time", + TimeZoneRuleTable_100, 5 + }, + { + "China Standard Time", -480, FALSE, "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi", + "China Standard Time", "China Daylight Time", + NULL, 0 + }, + { + "North Asia East Standard Time", -480, TRUE, "(UTC+08:00) Irkutsk", + "Russia TZ 7 Standard Time", "Russia TZ 7 Daylight Time", + TimeZoneRuleTable_102, 5 + }, + { + "Singapore Standard Time", -480, FALSE, "(UTC+08:00) Kuala Lumpur, Singapore", + "Malay Peninsula Standard Time", "Malay Peninsula Daylight Time", + NULL, 0 + }, + { + "W. Australia Standard Time", -480, TRUE, "(UTC+08:00) Perth", + "W. Australia Standard Time", "W. Australia Daylight Time", + TimeZoneRuleTable_104, 4 + }, + { + "Taipei Standard Time", -480, FALSE, "(UTC+08:00) Taipei", + "Taipei Standard Time", "Taipei Daylight Time", + NULL, 0 + }, + { + "Ulaanbaatar Standard Time", -480, TRUE, "(UTC+08:00) Ulaanbaatar", + "Ulaanbaatar Standard Time", "Ulaanbaatar Daylight Time", + TimeZoneRuleTable_106, 2 + }, + { + "Aus Central W. Standard Time", -525, FALSE, "(UTC+08:45) Eucla", + "Aus Central W. Standard Time", "Aus Central W. Daylight Time", + NULL, 0 + }, + { + "Transbaikal Standard Time", -540, TRUE, "(UTC+09:00) Chita", + "Transbaikal Standard Time", "Transbaikal Daylight Time", + TimeZoneRuleTable_108, 7 + }, + { + "Tokyo Standard Time", -540, FALSE, "(UTC+09:00) Osaka, Sapporo, Tokyo", + "Tokyo Standard Time", "Tokyo Daylight Time", + NULL, 0 + }, + { + "North Korea Standard Time", -540, TRUE, "(UTC+09:00) Pyongyang", + "North Korea Standard Time", "North Korea Daylight Time", + TimeZoneRuleTable_110, 4 + }, + { + "Korea Standard Time", -540, FALSE, "(UTC+09:00) Seoul", + "Korea Standard Time", "Korea Daylight Time", + NULL, 0 + }, + { + "Yakutsk Standard Time", -540, TRUE, "(UTC+09:00) Yakutsk", + "Russia TZ 8 Standard Time", "Russia TZ 8 Daylight Time", + TimeZoneRuleTable_112, 5 + }, + { + "Cen. Australia Standard Time", -570, TRUE, "(UTC+09:30) Adelaide", + "Cen. Australia Standard Time", "Cen. Australia Daylight Time", + TimeZoneRuleTable_113, 2 + }, + { + "AUS Central Standard Time", -570, FALSE, "(UTC+09:30) Darwin", + "AUS Central Standard Time", "AUS Central Daylight Time", + NULL, 0 + }, + { + "E. Australia Standard Time", -600, FALSE, "(UTC+10:00) Brisbane", + "E. Australia Standard Time", "E. Australia Daylight Time", + NULL, 0 + }, + { + "AUS Eastern Standard Time", -600, TRUE, "(UTC+10:00) Canberra, Melbourne, Sydney", + "AUS Eastern Standard Time", "AUS Eastern Daylight Time", + TimeZoneRuleTable_116, 2 + }, + { + "West Pacific Standard Time", -600, FALSE, "(UTC+10:00) Guam, Port Moresby", + "West Pacific Standard Time", "West Pacific Daylight Time", + NULL, 0 + }, + { + "Tasmania Standard Time", -600, TRUE, "(UTC+10:00) Hobart", + "Tasmania Standard Time", "Tasmania Daylight Time", + TimeZoneRuleTable_118, 2 + }, + { + "Vladivostok Standard Time", -600, TRUE, "(UTC+10:00) Vladivostok", + "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time", + TimeZoneRuleTable_119, 5 + }, + { + "Lord Howe Standard Time", -630, TRUE, "(UTC+10:30) Lord Howe Island", + "Lord Howe Standard Time", "Lord Howe Daylight Time", + TimeZoneRuleTable_120, 4 + }, + { + "Bougainville Standard Time", -660, TRUE, "(UTC+11:00) Bougainville Island", + "Bougainville Standard Time", "Bougainville Daylight Time", + TimeZoneRuleTable_121, 2 + }, + { + "Russia Time Zone 10", -660, TRUE, "(UTC+11:00) Chokurdakh", + "Russia TZ 10 Standard Time", "Russia TZ 10 Daylight Time", + TimeZoneRuleTable_122, 5 + }, + { + "Magadan Standard Time", -660, TRUE, "(UTC+11:00) Magadan", + "Magadan Standard Time", "Magadan Daylight Time", + TimeZoneRuleTable_123, 7 + }, + { + "Norfolk Standard Time", -660, TRUE, "(UTC+11:00) Norfolk Island", + "Norfolk Standard Time", "Norfolk Daylight Time", + TimeZoneRuleTable_124, 2 + }, + { + "Sakhalin Standard Time", -660, TRUE, "(UTC+11:00) Sakhalin", + "Sakhalin Standard Time", "Sakhalin Daylight Time", + TimeZoneRuleTable_125, 5 + }, + { + "Central Pacific Standard Time", -660, FALSE, "(UTC+11:00) Solomon Is., New Caledonia", + "Central Pacific Standard Time", "Central Pacific Daylight Time", + NULL, 0 + }, + { + "Russia Time Zone 11", -720, TRUE, "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky", + "Russia TZ 11 Standard Time", "Russia TZ 11 Daylight Time", + TimeZoneRuleTable_127, 3 + }, + { + "New Zealand Standard Time", -720, TRUE, "(UTC+12:00) Auckland, Wellington", + "New Zealand Standard Time", "New Zealand Daylight Time", + TimeZoneRuleTable_128, 3 + }, + { + "UTC+12", -720, FALSE, "(UTC+12:00) Coordinated Universal Time+12", + "UTC+12", "UTC+12", + NULL, 0 + }, + { + "Fiji Standard Time", -720, TRUE, "(UTC+12:00) Fiji", + "Fiji Standard Time", "Fiji Daylight Time", + TimeZoneRuleTable_130, 11 + }, + { + "Kamchatka Standard Time", -720, TRUE, "(UTC+12:00) Petropavlovsk-Kamchatsky - Old", + "Kamchatka Standard Time", "Kamchatka Daylight Time", + TimeZoneRuleTable_131, 1 + }, + { + "Chatham Islands Standard Time", -765, TRUE, "(UTC+12:45) Chatham Islands", + "Chatham Islands Standard Time", "Chatham Islands Daylight Time", + TimeZoneRuleTable_132, 3 + }, + { + "UTC+13", -780, FALSE, "(UTC+13:00) Coordinated Universal Time+13", + "UTC+13", "UTC+13", + NULL, 0 + }, + { + "Tonga Standard Time", -780, TRUE, "(UTC+13:00) Nuku'alofa", + "Tonga Standard Time", "Tonga Daylight Time", + TimeZoneRuleTable_134, 2 + }, + { + "Samoa Standard Time", -780, TRUE, "(UTC+13:00) Samoa", + "Samoa Standard Time", "Samoa Daylight Time", + TimeZoneRuleTable_135, 4 + }, + { + "Line Islands Standard Time", -840, FALSE, "(UTC+14:00) Kiritimati Island", + "Line Islands Standard Time", "Line Islands Daylight Time", + NULL, 0 + } +}; + diff --git a/winpr/libwinpr/timezone/WindowsZones.c b/winpr/libwinpr/timezone/WindowsZones.c new file mode 100644 index 000000000..cf08bbad9 --- /dev/null +++ b/winpr/libwinpr/timezone/WindowsZones.c @@ -0,0 +1,409 @@ +/* + * Automatically generated with scripts/WindowsZones.csx + */ + +struct _WINDOWS_TZID_ENTRY +{ + const char* windows; + const char* tzid; +}; +typedef struct _WINDOWS_TZID_ENTRY WINDOWS_TZID_ENTRY; + +const WINDOWS_TZID_ENTRY WindowsTimeZoneIdTable[] = +{ + { "Afghanistan Standard Time", "Asia/Kabul" }, + { "Alaskan Standard Time", "America/Anchorage America/Juneau America/Metlakatla America/Nome America/Sitka America/Yakutat" }, + { "Alaskan Standard Time", "America/Anchorage" }, + { "Aleutian Standard Time", "America/Adak" }, + { "Altai Standard Time", "Asia/Barnaul" }, + { "Arab Standard Time", "Asia/Aden" }, + { "Arab Standard Time", "Asia/Bahrain" }, + { "Arab Standard Time", "Asia/Kuwait" }, + { "Arab Standard Time", "Asia/Qatar" }, + { "Arab Standard Time", "Asia/Riyadh" }, + { "Arabian Standard Time", "Asia/Dubai" }, + { "Arabian Standard Time", "Asia/Muscat" }, + { "Arabian Standard Time", "Etc/GMT-4" }, + { "Arabic Standard Time", "Asia/Baghdad" }, + { "Argentina Standard Time", "America/Buenos_Aires America/Argentina/La_Rioja America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Catamarca America/Cordoba America/Jujuy America/Mendoza" }, + { "Argentina Standard Time", "America/Buenos_Aires" }, + { "Astrakhan Standard Time", "Europe/Astrakhan Europe/Ulyanovsk" }, + { "Astrakhan Standard Time", "Europe/Astrakhan" }, + { "Atlantic Standard Time", "America/Halifax America/Glace_Bay America/Goose_Bay America/Moncton" }, + { "Atlantic Standard Time", "America/Halifax" }, + { "Atlantic Standard Time", "America/Thule" }, + { "Atlantic Standard Time", "Atlantic/Bermuda" }, + { "AUS Central Standard Time", "Australia/Darwin" }, + { "Aus Central W. Standard Time", "Australia/Eucla" }, + { "AUS Eastern Standard Time", "Australia/Sydney Australia/Melbourne" }, + { "AUS Eastern Standard Time", "Australia/Sydney" }, + { "Azerbaijan Standard Time", "Asia/Baku" }, + { "Azores Standard Time", "America/Scoresbysund" }, + { "Azores Standard Time", "Atlantic/Azores" }, + { "Bahia Standard Time", "America/Bahia" }, + { "Bangladesh Standard Time", "Asia/Dhaka" }, + { "Bangladesh Standard Time", "Asia/Thimphu" }, + { "Belarus Standard Time", "Europe/Minsk" }, + { "Bougainville Standard Time", "Pacific/Bougainville" }, + { "Canada Central Standard Time", "America/Regina America/Swift_Current" }, + { "Canada Central Standard Time", "America/Regina" }, + { "Cape Verde Standard Time", "Atlantic/Cape_Verde" }, + { "Cape Verde Standard Time", "Etc/GMT+1" }, + { "Caucasus Standard Time", "Asia/Yerevan" }, + { "Cen. Australia Standard Time", "Australia/Adelaide Australia/Broken_Hill" }, + { "Cen. Australia Standard Time", "Australia/Adelaide" }, + { "Central America Standard Time", "America/Belize" }, + { "Central America Standard Time", "America/Costa_Rica" }, + { "Central America Standard Time", "America/El_Salvador" }, + { "Central America Standard Time", "America/Guatemala" }, + { "Central America Standard Time", "America/Managua" }, + { "Central America Standard Time", "America/Tegucigalpa" }, + { "Central America Standard Time", "Etc/GMT+6" }, + { "Central America Standard Time", "Pacific/Galapagos" }, + { "Central Asia Standard Time", "Antarctica/Vostok" }, + { "Central Asia Standard Time", "Asia/Almaty Asia/Qyzylorda" }, + { "Central Asia Standard Time", "Asia/Almaty" }, + { "Central Asia Standard Time", "Asia/Bishkek" }, + { "Central Asia Standard Time", "Asia/Urumqi" }, + { "Central Asia Standard Time", "Etc/GMT-6" }, + { "Central Asia Standard Time", "Indian/Chagos" }, + { "Central Brazilian Standard Time", "America/Cuiaba America/Campo_Grande" }, + { "Central Brazilian Standard Time", "America/Cuiaba" }, + { "Central Europe Standard Time", "Europe/Belgrade" }, + { "Central Europe Standard Time", "Europe/Bratislava" }, + { "Central Europe Standard Time", "Europe/Budapest" }, + { "Central Europe Standard Time", "Europe/Ljubljana" }, + { "Central Europe Standard Time", "Europe/Podgorica" }, + { "Central Europe Standard Time", "Europe/Prague" }, + { "Central Europe Standard Time", "Europe/Tirane" }, + { "Central European Standard Time", "Europe/Sarajevo" }, + { "Central European Standard Time", "Europe/Skopje" }, + { "Central European Standard Time", "Europe/Warsaw" }, + { "Central European Standard Time", "Europe/Zagreb" }, + { "Central Pacific Standard Time", "Antarctica/Macquarie" }, + { "Central Pacific Standard Time", "Etc/GMT-11" }, + { "Central Pacific Standard Time", "Pacific/Efate" }, + { "Central Pacific Standard Time", "Pacific/Guadalcanal" }, + { "Central Pacific Standard Time", "Pacific/Noumea" }, + { "Central Pacific Standard Time", "Pacific/Ponape Pacific/Kosrae" }, + { "Central Standard Time (Mexico)", "America/Mexico_City America/Bahia_Banderas America/Merida America/Monterrey" }, + { "Central Standard Time (Mexico)", "America/Mexico_City" }, + { "Central Standard Time", "America/Chicago America/Indiana/Knox America/Indiana/Tell_City America/Menominee America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem" }, + { "Central Standard Time", "America/Chicago" }, + { "Central Standard Time", "America/Matamoros" }, + { "Central Standard Time", "America/Winnipeg America/Rainy_River America/Rankin_Inlet America/Resolute" }, + { "Central Standard Time", "CST6CDT" }, + { "Chatham Islands Standard Time", "Pacific/Chatham" }, + { "China Standard Time", "Asia/Hong_Kong" }, + { "China Standard Time", "Asia/Macau" }, + { "China Standard Time", "Asia/Shanghai" }, + { "Cuba Standard Time", "America/Havana" }, + { "Dateline Standard Time", "Etc/GMT+12" }, + { "E. Africa Standard Time", "Africa/Addis_Ababa" }, + { "E. Africa Standard Time", "Africa/Asmera" }, + { "E. Africa Standard Time", "Africa/Dar_es_Salaam" }, + { "E. Africa Standard Time", "Africa/Djibouti" }, + { "E. Africa Standard Time", "Africa/Juba" }, + { "E. Africa Standard Time", "Africa/Kampala" }, + { "E. Africa Standard Time", "Africa/Mogadishu" }, + { "E. Africa Standard Time", "Africa/Nairobi" }, + { "E. Africa Standard Time", "Antarctica/Syowa" }, + { "E. Africa Standard Time", "Etc/GMT-3" }, + { "E. Africa Standard Time", "Indian/Antananarivo" }, + { "E. Africa Standard Time", "Indian/Comoro" }, + { "E. Africa Standard Time", "Indian/Mayotte" }, + { "E. Australia Standard Time", "Australia/Brisbane Australia/Lindeman" }, + { "E. Australia Standard Time", "Australia/Brisbane" }, + { "E. Europe Standard Time", "Europe/Chisinau" }, + { "E. South America Standard Time", "America/Sao_Paulo" }, + { "Easter Island Standard Time", "Pacific/Easter" }, + { "Eastern Standard Time (Mexico)", "America/Cancun" }, + { "Eastern Standard Time", "America/Nassau" }, + { "Eastern Standard Time", "America/New_York America/Detroit America/Indiana/Petersburg America/Indiana/Vincennes America/Indiana/Winamac America/Kentucky/Monticello America/Louisville" }, + { "Eastern Standard Time", "America/New_York" }, + { "Eastern Standard Time", "America/Toronto America/Iqaluit America/Montreal America/Nipigon America/Pangnirtung America/Thunder_Bay" }, + { "Eastern Standard Time", "EST5EDT" }, + { "Egypt Standard Time", "Africa/Cairo" }, + { "Ekaterinburg Standard Time", "Asia/Yekaterinburg" }, + { "Fiji Standard Time", "Pacific/Fiji" }, + { "FLE Standard Time", "Europe/Helsinki" }, + { "FLE Standard Time", "Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye" }, + { "FLE Standard Time", "Europe/Kiev" }, + { "FLE Standard Time", "Europe/Mariehamn" }, + { "FLE Standard Time", "Europe/Riga" }, + { "FLE Standard Time", "Europe/Sofia" }, + { "FLE Standard Time", "Europe/Tallinn" }, + { "FLE Standard Time", "Europe/Vilnius" }, + { "Georgian Standard Time", "Asia/Tbilisi" }, + { "GMT Standard Time", "Atlantic/Canary" }, + { "GMT Standard Time", "Atlantic/Faeroe" }, + { "GMT Standard Time", "Europe/Dublin" }, + { "GMT Standard Time", "Europe/Guernsey" }, + { "GMT Standard Time", "Europe/Isle_of_Man" }, + { "GMT Standard Time", "Europe/Jersey" }, + { "GMT Standard Time", "Europe/Lisbon Atlantic/Madeira" }, + { "GMT Standard Time", "Europe/London" }, + { "Greenland Standard Time", "America/Godthab" }, + { "Greenwich Standard Time", "Africa/Abidjan" }, + { "Greenwich Standard Time", "Africa/Accra" }, + { "Greenwich Standard Time", "Africa/Bamako" }, + { "Greenwich Standard Time", "Africa/Banjul" }, + { "Greenwich Standard Time", "Africa/Bissau" }, + { "Greenwich Standard Time", "Africa/Conakry" }, + { "Greenwich Standard Time", "Africa/Dakar" }, + { "Greenwich Standard Time", "Africa/Freetown" }, + { "Greenwich Standard Time", "Africa/Lome" }, + { "Greenwich Standard Time", "Africa/Monrovia" }, + { "Greenwich Standard Time", "Africa/Nouakchott" }, + { "Greenwich Standard Time", "Africa/Ouagadougou" }, + { "Greenwich Standard Time", "Atlantic/Reykjavik" }, + { "Greenwich Standard Time", "Atlantic/St_Helena" }, + { "GTB Standard Time", "Asia/Famagusta Asia/Nicosia" }, + { "GTB Standard Time", "Europe/Athens" }, + { "GTB Standard Time", "Europe/Bucharest" }, + { "Haiti Standard Time", "America/Port-au-Prince" }, + { "Hawaiian Standard Time", "Etc/GMT+10" }, + { "Hawaiian Standard Time", "Pacific/Honolulu" }, + { "Hawaiian Standard Time", "Pacific/Johnston" }, + { "Hawaiian Standard Time", "Pacific/Rarotonga" }, + { "Hawaiian Standard Time", "Pacific/Tahiti" }, + { "India Standard Time", "Asia/Calcutta" }, + { "Iran Standard Time", "Asia/Tehran" }, + { "Israel Standard Time", "Asia/Jerusalem" }, + { "Jordan Standard Time", "Asia/Amman" }, + { "Kaliningrad Standard Time", "Europe/Kaliningrad" }, + { "Korea Standard Time", "Asia/Seoul" }, + { "Libya Standard Time", "Africa/Tripoli" }, + { "Line Islands Standard Time", "Etc/GMT-14" }, + { "Line Islands Standard Time", "Pacific/Kiritimati" }, + { "Lord Howe Standard Time", "Australia/Lord_Howe" }, + { "Magadan Standard Time", "Asia/Magadan" }, + { "Magallanes Standard Time", "America/Punta_Arenas" }, + { "Magallanes Standard Time", "Antarctica/Palmer" }, + { "Marquesas Standard Time", "Pacific/Marquesas" }, + { "Mauritius Standard Time", "Indian/Mahe" }, + { "Mauritius Standard Time", "Indian/Mauritius" }, + { "Mauritius Standard Time", "Indian/Reunion" }, + { "Middle East Standard Time", "Asia/Beirut" }, + { "Montevideo Standard Time", "America/Montevideo" }, + { "Morocco Standard Time", "Africa/Casablanca" }, + { "Morocco Standard Time", "Africa/El_Aaiun" }, + { "Mountain Standard Time (Mexico)", "America/Chihuahua America/Mazatlan" }, + { "Mountain Standard Time (Mexico)", "America/Chihuahua" }, + { "Mountain Standard Time", "America/Denver America/Boise" }, + { "Mountain Standard Time", "America/Denver" }, + { "Mountain Standard Time", "America/Edmonton America/Cambridge_Bay America/Inuvik America/Yellowknife" }, + { "Mountain Standard Time", "America/Ojinaga" }, + { "Mountain Standard Time", "MST7MDT" }, + { "Myanmar Standard Time", "Asia/Rangoon" }, + { "Myanmar Standard Time", "Indian/Cocos" }, + { "N. Central Asia Standard Time", "Asia/Novosibirsk" }, + { "Namibia Standard Time", "Africa/Windhoek" }, + { "Nepal Standard Time", "Asia/Katmandu" }, + { "New Zealand Standard Time", "Antarctica/McMurdo" }, + { "New Zealand Standard Time", "Pacific/Auckland" }, + { "Newfoundland Standard Time", "America/St_Johns" }, + { "Norfolk Standard Time", "Pacific/Norfolk" }, + { "North Asia East Standard Time", "Asia/Irkutsk" }, + { "North Asia Standard Time", "Asia/Krasnoyarsk Asia/Novokuznetsk" }, + { "North Asia Standard Time", "Asia/Krasnoyarsk" }, + { "North Korea Standard Time", "Asia/Pyongyang" }, + { "Omsk Standard Time", "Asia/Omsk" }, + { "Pacific SA Standard Time", "America/Santiago" }, + { "Pacific Standard Time (Mexico)", "America/Tijuana America/Santa_Isabel" }, + { "Pacific Standard Time (Mexico)", "America/Tijuana" }, + { "Pacific Standard Time", "America/Los_Angeles" }, + { "Pacific Standard Time", "America/Vancouver America/Dawson America/Whitehorse" }, + { "Pacific Standard Time", "PST8PDT" }, + { "Pakistan Standard Time", "Asia/Karachi" }, + { "Paraguay Standard Time", "America/Asuncion" }, + { "Romance Standard Time", "Europe/Brussels" }, + { "Romance Standard Time", "Europe/Copenhagen" }, + { "Romance Standard Time", "Europe/Madrid Africa/Ceuta" }, + { "Romance Standard Time", "Europe/Paris" }, + { "Russia Time Zone 10", "Asia/Srednekolymsk" }, + { "Russia Time Zone 11", "Asia/Kamchatka Asia/Anadyr" }, + { "Russia Time Zone 11", "Asia/Kamchatka" }, + { "Russia Time Zone 3", "Europe/Samara" }, + { "Russian Standard Time", "Europe/Moscow Europe/Kirov Europe/Volgograd" }, + { "Russian Standard Time", "Europe/Moscow" }, + { "Russian Standard Time", "Europe/Simferopol" }, + { "SA Eastern Standard Time", "America/Cayenne" }, + { "SA Eastern Standard Time", "America/Fortaleza America/Belem America/Maceio America/Recife America/Santarem" }, + { "SA Eastern Standard Time", "America/Paramaribo" }, + { "SA Eastern Standard Time", "Antarctica/Rothera" }, + { "SA Eastern Standard Time", "Atlantic/Stanley" }, + { "SA Eastern Standard Time", "Etc/GMT+3" }, + { "SA Pacific Standard Time", "America/Bogota" }, + { "SA Pacific Standard Time", "America/Cayman" }, + { "SA Pacific Standard Time", "America/Coral_Harbour" }, + { "SA Pacific Standard Time", "America/Guayaquil" }, + { "SA Pacific Standard Time", "America/Jamaica" }, + { "SA Pacific Standard Time", "America/Lima" }, + { "SA Pacific Standard Time", "America/Panama" }, + { "SA Pacific Standard Time", "America/Rio_Branco America/Eirunepe" }, + { "SA Pacific Standard Time", "Etc/GMT+5" }, + { "SA Western Standard Time", "America/Anguilla" }, + { "SA Western Standard Time", "America/Antigua" }, + { "SA Western Standard Time", "America/Aruba" }, + { "SA Western Standard Time", "America/Barbados" }, + { "SA Western Standard Time", "America/Blanc-Sablon" }, + { "SA Western Standard Time", "America/Curacao" }, + { "SA Western Standard Time", "America/Dominica" }, + { "SA Western Standard Time", "America/Grenada" }, + { "SA Western Standard Time", "America/Guadeloupe" }, + { "SA Western Standard Time", "America/Guyana" }, + { "SA Western Standard Time", "America/Kralendijk" }, + { "SA Western Standard Time", "America/La_Paz" }, + { "SA Western Standard Time", "America/Lower_Princes" }, + { "SA Western Standard Time", "America/Manaus America/Boa_Vista America/Porto_Velho" }, + { "SA Western Standard Time", "America/Marigot" }, + { "SA Western Standard Time", "America/Martinique" }, + { "SA Western Standard Time", "America/Montserrat" }, + { "SA Western Standard Time", "America/Port_of_Spain" }, + { "SA Western Standard Time", "America/Puerto_Rico" }, + { "SA Western Standard Time", "America/Santo_Domingo" }, + { "SA Western Standard Time", "America/St_Barthelemy" }, + { "SA Western Standard Time", "America/St_Kitts" }, + { "SA Western Standard Time", "America/St_Lucia" }, + { "SA Western Standard Time", "America/St_Thomas" }, + { "SA Western Standard Time", "America/St_Vincent" }, + { "SA Western Standard Time", "America/Tortola" }, + { "SA Western Standard Time", "Etc/GMT+4" }, + { "Saint Pierre Standard Time", "America/Miquelon" }, + { "Sakhalin Standard Time", "Asia/Sakhalin" }, + { "Samoa Standard Time", "Pacific/Apia" }, + { "Sao Tome Standard Time", "Africa/Sao_Tome" }, + { "Saratov Standard Time", "Europe/Saratov" }, + { "SE Asia Standard Time", "Antarctica/Davis" }, + { "SE Asia Standard Time", "Asia/Bangkok" }, + { "SE Asia Standard Time", "Asia/Jakarta Asia/Pontianak" }, + { "SE Asia Standard Time", "Asia/Phnom_Penh" }, + { "SE Asia Standard Time", "Asia/Saigon" }, + { "SE Asia Standard Time", "Asia/Vientiane" }, + { "SE Asia Standard Time", "Etc/GMT-7" }, + { "SE Asia Standard Time", "Indian/Christmas" }, + { "Singapore Standard Time", "Asia/Brunei" }, + { "Singapore Standard Time", "Asia/Kuala_Lumpur Asia/Kuching" }, + { "Singapore Standard Time", "Asia/Makassar" }, + { "Singapore Standard Time", "Asia/Manila" }, + { "Singapore Standard Time", "Asia/Singapore" }, + { "Singapore Standard Time", "Etc/GMT-8" }, + { "South Africa Standard Time", "Africa/Blantyre" }, + { "South Africa Standard Time", "Africa/Bujumbura" }, + { "South Africa Standard Time", "Africa/Gaborone" }, + { "South Africa Standard Time", "Africa/Harare" }, + { "South Africa Standard Time", "Africa/Johannesburg" }, + { "South Africa Standard Time", "Africa/Kigali" }, + { "South Africa Standard Time", "Africa/Lubumbashi" }, + { "South Africa Standard Time", "Africa/Lusaka" }, + { "South Africa Standard Time", "Africa/Maputo" }, + { "South Africa Standard Time", "Africa/Maseru" }, + { "South Africa Standard Time", "Africa/Mbabane" }, + { "South Africa Standard Time", "Etc/GMT-2" }, + { "Sri Lanka Standard Time", "Asia/Colombo" }, + { "Sudan Standard Time", "Africa/Khartoum" }, + { "Syria Standard Time", "Asia/Damascus" }, + { "Taipei Standard Time", "Asia/Taipei" }, + { "Tasmania Standard Time", "Australia/Hobart Australia/Currie" }, + { "Tasmania Standard Time", "Australia/Hobart" }, + { "Tocantins Standard Time", "America/Araguaina" }, + { "Tokyo Standard Time", "Asia/Dili" }, + { "Tokyo Standard Time", "Asia/Jayapura" }, + { "Tokyo Standard Time", "Asia/Tokyo" }, + { "Tokyo Standard Time", "Etc/GMT-9" }, + { "Tokyo Standard Time", "Pacific/Palau" }, + { "Tomsk Standard Time", "Asia/Tomsk" }, + { "Tonga Standard Time", "Pacific/Tongatapu" }, + { "Transbaikal Standard Time", "Asia/Chita" }, + { "Turkey Standard Time", "Europe/Istanbul" }, + { "Turks And Caicos Standard Time", "America/Grand_Turk" }, + { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar Asia/Choibalsan" }, + { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar" }, + { "US Eastern Standard Time", "America/Indianapolis America/Indiana/Marengo America/Indiana/Vevay" }, + { "US Eastern Standard Time", "America/Indianapolis" }, + { "US Mountain Standard Time", "America/Dawson_Creek America/Creston America/Fort_Nelson" }, + { "US Mountain Standard Time", "America/Hermosillo" }, + { "US Mountain Standard Time", "America/Phoenix" }, + { "US Mountain Standard Time", "Etc/GMT+7" }, + { "UTC", "America/Danmarkshavn" }, + { "UTC", "Etc/GMT Etc/UTC" }, + { "UTC", "Etc/GMT" }, + { "UTC+12", "Etc/GMT-12" }, + { "UTC+12", "Pacific/Funafuti" }, + { "UTC+12", "Pacific/Majuro Pacific/Kwajalein" }, + { "UTC+12", "Pacific/Nauru" }, + { "UTC+12", "Pacific/Tarawa" }, + { "UTC+12", "Pacific/Wake" }, + { "UTC+12", "Pacific/Wallis" }, + { "UTC+13", "Etc/GMT-13" }, + { "UTC+13", "Pacific/Enderbury" }, + { "UTC+13", "Pacific/Fakaofo" }, + { "UTC-02", "America/Noronha" }, + { "UTC-02", "Atlantic/South_Georgia" }, + { "UTC-02", "Etc/GMT+2" }, + { "UTC-08", "Etc/GMT+8" }, + { "UTC-08", "Pacific/Pitcairn" }, + { "UTC-09", "Etc/GMT+9" }, + { "UTC-09", "Pacific/Gambier" }, + { "UTC-11", "Etc/GMT+11" }, + { "UTC-11", "Pacific/Midway" }, + { "UTC-11", "Pacific/Niue" }, + { "UTC-11", "Pacific/Pago_Pago" }, + { "Venezuela Standard Time", "America/Caracas" }, + { "Vladivostok Standard Time", "Asia/Vladivostok Asia/Ust-Nera" }, + { "Vladivostok Standard Time", "Asia/Vladivostok" }, + { "W. Australia Standard Time", "Antarctica/Casey" }, + { "W. Australia Standard Time", "Australia/Perth" }, + { "W. Central Africa Standard Time", "Africa/Algiers" }, + { "W. Central Africa Standard Time", "Africa/Bangui" }, + { "W. Central Africa Standard Time", "Africa/Brazzaville" }, + { "W. Central Africa Standard Time", "Africa/Douala" }, + { "W. Central Africa Standard Time", "Africa/Kinshasa" }, + { "W. Central Africa Standard Time", "Africa/Lagos" }, + { "W. Central Africa Standard Time", "Africa/Libreville" }, + { "W. Central Africa Standard Time", "Africa/Luanda" }, + { "W. Central Africa Standard Time", "Africa/Malabo" }, + { "W. Central Africa Standard Time", "Africa/Ndjamena" }, + { "W. Central Africa Standard Time", "Africa/Niamey" }, + { "W. Central Africa Standard Time", "Africa/Porto-Novo" }, + { "W. Central Africa Standard Time", "Africa/Tunis" }, + { "W. Central Africa Standard Time", "Etc/GMT-1" }, + { "W. Europe Standard Time", "Arctic/Longyearbyen" }, + { "W. Europe Standard Time", "Europe/Amsterdam" }, + { "W. Europe Standard Time", "Europe/Andorra" }, + { "W. Europe Standard Time", "Europe/Berlin Europe/Busingen" }, + { "W. Europe Standard Time", "Europe/Berlin" }, + { "W. Europe Standard Time", "Europe/Gibraltar" }, + { "W. Europe Standard Time", "Europe/Luxembourg" }, + { "W. Europe Standard Time", "Europe/Malta" }, + { "W. Europe Standard Time", "Europe/Monaco" }, + { "W. Europe Standard Time", "Europe/Oslo" }, + { "W. Europe Standard Time", "Europe/Rome" }, + { "W. Europe Standard Time", "Europe/San_Marino" }, + { "W. Europe Standard Time", "Europe/Stockholm" }, + { "W. Europe Standard Time", "Europe/Vaduz" }, + { "W. Europe Standard Time", "Europe/Vatican" }, + { "W. Europe Standard Time", "Europe/Vienna" }, + { "W. Europe Standard Time", "Europe/Zurich" }, + { "W. Mongolia Standard Time", "Asia/Hovd" }, + { "West Asia Standard Time", "Antarctica/Mawson" }, + { "West Asia Standard Time", "Asia/Ashgabat" }, + { "West Asia Standard Time", "Asia/Dushanbe" }, + { "West Asia Standard Time", "Asia/Oral Asia/Aqtau Asia/Aqtobe Asia/Atyrau" }, + { "West Asia Standard Time", "Asia/Tashkent Asia/Samarkand" }, + { "West Asia Standard Time", "Asia/Tashkent" }, + { "West Asia Standard Time", "Etc/GMT-5" }, + { "West Asia Standard Time", "Indian/Kerguelen" }, + { "West Asia Standard Time", "Indian/Maldives" }, + { "West Bank Standard Time", "Asia/Hebron Asia/Gaza" }, + { "West Bank Standard Time", "Asia/Hebron" }, + { "West Pacific Standard Time", "Antarctica/DumontDUrville" }, + { "West Pacific Standard Time", "Etc/GMT-10" }, + { "West Pacific Standard Time", "Pacific/Guam" }, + { "West Pacific Standard Time", "Pacific/Port_Moresby" }, + { "West Pacific Standard Time", "Pacific/Saipan" }, + { "West Pacific Standard Time", "Pacific/Truk" }, + { "Yakutsk Standard Time", "Asia/Yakutsk Asia/Khandyga" }, + { "Yakutsk Standard Time", "Asia/Yakutsk" }, +}; diff --git a/winpr/libwinpr/timezone/timezone.c b/winpr/libwinpr/timezone/timezone.c index 736df669a..3dfa821b1 100644 --- a/winpr/libwinpr/timezone/timezone.c +++ b/winpr/libwinpr/timezone/timezone.c @@ -33,2042 +33,58 @@ #include #include +/* Table generated with TimeZones.csx */ +#include "TimeZones.c" -struct _TIME_ZONE_RULE_ENTRY -{ - UINT64 TicksStart; - UINT64 TicksEnd; - INT32 DaylightDelta; - SYSTEMTIME StandardDate; - SYSTEMTIME DaylightDate; -}; -typedef struct _TIME_ZONE_RULE_ENTRY TIME_ZONE_RULE_ENTRY; +/* Table generated with WindowsZones.csx */ +#include "WindowsZones.c" -struct _TIME_ZONE_ENTRY -{ - const char* Id; - INT32 Bias; - BOOL SupportsDST; - const char* DisplayName; - const char* StandardName; - const char* DaylightName; - TIME_ZONE_RULE_ENTRY* RuleTable; - UINT32 RuleTableCount; -}; -typedef struct _TIME_ZONE_ENTRY TIME_ZONE_ENTRY; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_2[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_5[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_7[] = -{ - { 633978324000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633979188000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_9[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_11[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_12[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_14[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_15[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 6, 2, 22, 0 }, { 0, 10, 6, 2, 22, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 3, 6, 5, 22, 0 }, { 0, 10, 6, 2, 22, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 6, 2, 22, 0 }, { 0, 10, 6, 2, 22, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 4, 6, 1, 22, 0 }, { 0, 10, 6, 2, 22, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 5, 6, 1, 22, 0 }, { 0, 8, 6, 3, 22, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 4, 6, 5, 22, 0 }, { 0, 9, 6, 1, 22, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 4, 6, 5, 22, 0 }, { 0, 9, 6, 1, 22, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 4, 6, 5, 22, 0 }, { 0, 9, 6, 1, 22, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 3155378292000000000ULL, 635872212000000000ULL, 60, { 0, 5, 6, 2, 22, 0 }, { 0, 8, 6, 2, 22, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_16[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_19[] = -{ - { 635555988000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 1, 4, 1, 0, 0 }, { 0, 2, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_20[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_21[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 4, 6, 1, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 3155378292000000000ULL, 636188436000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_22[] = -{ - { 632084436000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 4, 0, 1, 0, 0 }, }, - { 632400660000000000ULL, 632085300000000000ULL, 60, { 0, 1, 4, 1, 0, 0 }, { 0, 3, 0, 5, 0, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 3, 0, 2, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 3, 0, 3, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 3, 0, 2, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 3, 0, 2, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 11, 0, 2, 1, 0 }, { 0, 3, 0, 3, 0, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 11, 0, 1, 1, 0 }, { 0, 4, 0, 1, 0, 0 }, }, - { 3155378292000000000ULL, 634926132000000000ULL, 60, { 0, 11, 0, 1, 1, 0 }, { 0, 3, 0, 2, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_23[] = -{ - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_24[] = -{ - { 635555988000000000ULL, 180000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 1, 4, 1, 0, 0 }, { 0, 3, 0, 2, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 1, 1, 1, 0, 0 }, }, - { 3155378292000000000ULL, 636819156000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_25[] = -{ - { 633662964000000000ULL, 180000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 6, 1, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 4, 6, 2, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 4, 6, 2, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 4, 6, 1, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 3, 6, 4, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 3, 6, 4, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 3, 6, 3, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 3, 6, 5, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 3, 6, 5, 23, 59 }, { 0, 9, 6, 5, 23, 59 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 3, 6, 4, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 3, 6, 4, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 3, 6, 3, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, }, - { 3155378292000000000ULL, 637450740000000000ULL, 60, { 0, 3, 6, 5, 23, 59 }, { 0, 10, 6, 1, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_26[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_27[] = -{ - { 633346740000000000ULL, 633032244000000000ULL, 30, { 0, 12, 0, 2, 3, 0 }, { 0, 1, 1, 1, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -30, { 0, 5, 0, 1, 2, 30 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_28[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 1, 4, 1, 0, 0 }, { 0, 11, 2, 1, 0, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 0, 3, 0, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 0, 1, 0, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 10, 0, 2, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 0, 3, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 2, 6, 2, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 2, 6, 4, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 637765236000000000ULL, 637450740000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638080596000000000ULL, 637766100000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638395956000000000ULL, 638081460000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638712180000000000ULL, 638396820000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639027540000000000ULL, 638713044000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639342900000000000ULL, 639028404000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 639658260000000000ULL, 639343764000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639974484000000000ULL, 639659124000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640289844000000000ULL, 639975348000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640605204000000000ULL, 640290708000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640920564000000000ULL, 640606068000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641236788000000000ULL, 640921428000000000ULL, 60, { 0, 2, 6, 2, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641552148000000000ULL, 641237652000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641867508000000000ULL, 641553012000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642182868000000000ULL, 641868372000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642499092000000000ULL, 642183732000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642814452000000000ULL, 642499956000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 643129812000000000ULL, 642815316000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 643445172000000000ULL, 643130676000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 3155378292000000000ULL, 643446036000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_30[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 3, 6, 5, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 4, 6, 1, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 5, 6, 1, 23, 59 }, { 0, 8, 6, 3, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 3155378292000000000ULL, 635872212000000000ULL, 60, { 0, 5, 6, 2, 23, 59 }, { 0, 8, 6, 2, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_31[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 0, 1 }, { 0, 4, 0, 1, 0, 1 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 0, 1 }, { 0, 3, 0, 2, 0, 1 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 11, 0, 1, 0, 1 }, { 0, 3, 0, 2, 0, 1 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 11, 0, 1, 0, 1 }, { 0, 3, 0, 2, 0, 1 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 11, 0, 1, 0, 1 }, { 0, 3, 0, 2, 0, 1 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 0, 1 }, }, - { 3155378292000000000ULL, 634609908000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_32[] = -{ - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 1, 0, 1, 0, 0 }, { 0, 10, 0, 3, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 1, 2, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_33[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 2, 6, 2, 23, 59 }, { 0, 11, 2, 1, 0, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 0, 3, 0, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 0, 1, 0, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 10, 0, 2, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 0, 3, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 2, 6, 2, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 2, 6, 4, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 3, 23, 59 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 637765236000000000ULL, 637450740000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638080596000000000ULL, 637766100000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638395956000000000ULL, 638081460000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 638712180000000000ULL, 638396820000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639027540000000000ULL, 638713044000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639342900000000000ULL, 639028404000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 639658260000000000ULL, 639343764000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 639974484000000000ULL, 639659124000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640289844000000000ULL, 639975348000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640605204000000000ULL, 640290708000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 640920564000000000ULL, 640606068000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641236788000000000ULL, 640921428000000000ULL, 60, { 0, 2, 6, 2, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641552148000000000ULL, 641237652000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 641867508000000000ULL, 641553012000000000ULL, 60, { 0, 2, 6, 5, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642182868000000000ULL, 641868372000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642499092000000000ULL, 642183732000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 642814452000000000ULL, 642499956000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 10, 6, 5, 23, 59 }, }, - { 643129812000000000ULL, 642815316000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 643445172000000000ULL, 643130676000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, }, - { 3155378292000000000ULL, 643446036000000000ULL, 60, { 0, 2, 6, 3, 23, 59 }, { 0, 11, 6, 1, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_35[] = -{ - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 1, 1, 1, 0, 0 }, { 0, 12, 0, 5, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 3, 0, 3, 0, 0 }, { 0, 10, 6, 3, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_36[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 4, 22, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 10, 6, 4, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 4, 22, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 6, 4, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 4, 22, 0 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 10, 6, 4, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, }, - { 3155378292000000000ULL, 637450740000000000ULL, 60, { 0, 10, 6, 5, 23, 0 }, { 0, 3, 6, 5, 22, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_37[] = -{ - { 635555988000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 2, 2, 0 }, { 0, 10, 0, 1, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 3, 0, 2, 2, 0 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_38[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 3, 6, 5, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 6, 2, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 4, 6, 1, 23, 59 }, { 0, 10, 6, 2, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 5, 6, 1, 23, 59 }, { 0, 8, 6, 3, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 4, 6, 5, 23, 59 }, { 0, 9, 6, 1, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 5, 6, 2, 23, 59 }, { 0, 8, 6, 2, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_39[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 4, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633032244000000000ULL, 60, { 0, 11, 0, 1, 2, 0 }, { 0, 3, 0, 2, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_40[] = -{ - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 10, 6, 3, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 2, 6, 4, 23, 59 }, { 0, 1, 0, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_42[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 9, 0, 5, 2, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_43[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 1, 0 }, { 0, 3, 0, 5, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_46[] = -{ - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 8, 0, 5, 23, 59 }, { 0, 5, 6, 5, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 8, 4, 3, 23, 59 }, { 0, 5, 0, 5, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 8, 6, 1, 23, 59 }, { 0, 5, 6, 1, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 7, 6, 5, 23, 59 }, { 0, 4, 6, 1, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 9, 0, 5, 3, 0 }, { 0, 4, 0, 5, 2, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 4, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 5, 0, 2, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 3155378292000000000ULL, 636819156000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_47[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 0, 5, 1, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_49[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_50[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_51[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_52[] = -{ - { 636502932000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, -60, { 0, 1, 1, 1, 1, 0 }, { 0, 1, 1, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_53[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_55[] = -{ - { 634609044000000000ULL, 180000000000ULL, 60, { 0, 10, 5, 5, 1, 0 }, { 0, 3, 4, 5, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 1, 0, 1, 0, 0 }, { 0, 3, 4, 5, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 12, 5, 3, 0, 0 }, { 0, 1, 2, 1, 0, 0 }, }, - { 3155378292000000000ULL, 635241492000000000ULL, 60, { 0, 10, 5, 5, 1, 0 }, { 0, 3, 4, 5, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_56[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_57[] = -{ - { 633978324000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 0, 0 }, { 0, 3, 0, 5, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 4, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 6, 4, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 4, 23, 59 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 10, 6, 4, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, }, - { 3155378292000000000ULL, 637450740000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 3, 6, 5, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_58[] = -{ - { 632716020000000000ULL, 180000000000ULL, 60, { 0, 9, 4, 5, 23, 59 }, { 0, 4, 5, 5, 0, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 9, 4, 3, 23, 59 }, { 0, 4, 5, 5, 0, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 9, 4, 1, 23, 59 }, { 0, 4, 4, 5, 23, 59 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 8, 4, 5, 23, 59 }, { 0, 4, 4, 5, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 8, 4, 3, 23, 59 }, { 0, 4, 4, 4, 23, 59 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 9, 4, 5, 23, 59 }, { 0, 4, 4, 5, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 9, 4, 5, 23, 59 }, { 0, 5, 4, 3, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_59[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_60[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 9, 4, 5, 23, 59 }, { 0, 4, 4, 1, 0, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 9, 5, 5, 23, 59 }, { 0, 4, 5, 1, 0, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 9, 4, 3, 23, 59 }, { 0, 4, 6, 1, 0, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 11, 4, 1, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 10, 5, 5, 23, 59 }, { 0, 4, 5, 1, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 4, 5, 1, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 4, 5, 1, 0, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 4, 4, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 10, 4, 4, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, }, - { 3155378292000000000ULL, 637134516000000000ULL, 60, { 0, 10, 4, 5, 23, 59 }, { 0, 3, 5, 5, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_61[] = -{ - { 634925268000000000ULL, 180000000000ULL, 60, { 0, 9, 5, 3, 1, 0 }, { 0, 3, 4, 5, 23, 59 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 9, 4, 5, 23, 59 }, { 0, 3, 4, 5, 23, 59 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 4, 4, 23, 59 }, { 0, 3, 4, 5, 23, 59 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 4, 4, 23, 59 }, { 0, 3, 5, 5, 23, 59 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 6, 5, 1, 0 }, { 0, 3, 6, 5, 1, 0 }, }, - { 3155378292000000000ULL, 636188436000000000ULL, 60, { 0, 10, 6, 5, 1, 0 }, { 0, 3, 6, 5, 1, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_63[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_64[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 9, 3, 4, 1, 0 }, { 0, 4, 3, 1, 1, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 10, 0, 2, 2, 0 }, { 0, 4, 5, 1, 2, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 10, 0, 1, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 9, 0, 3, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 10, 0, 1, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 9, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 9, 0, 2, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 10, 0, 1, 2, 0 }, { 0, 4, 5, 1, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 9, 0, 4, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 4, 2, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 4, 2, 0 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 637765236000000000ULL, 637450740000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 638080596000000000ULL, 637766100000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 5, 2, 0 }, }, - { 3155378292000000000ULL, 638081460000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 3, 5, 4, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_65[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_66[] = -{ - { 636187572000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 10, 2, 5, 23, 59 }, { 0, 1, 0, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_67[] = -{ - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 11, 6, 2, 2, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 1, 2, 1, 0, 0 }, { 0, 3, 5, 5, 1, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_68[] = -{ - { 636502932000000000ULL, 180000000000ULL, 60, { 0, 4, 0, 1, 2, 0 }, { 0, 9, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_69[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 10, 5, 1, 4, 0 }, { 0, 4, 4, 1, 3, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 10, 6, 1, 4, 0 }, { 0, 4, 5, 1, 3, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 10, 0, 1, 4, 0 }, { 0, 4, 6, 1, 3, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 10, 1, 1, 4, 0 }, { 0, 4, 0, 1, 3, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_70[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 1, 5, 3, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 4, 0 }, { 0, 3, 1, 5, 3, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 11, 0, 2, 4, 0 }, { 0, 3, 0, 5, 3, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 3, 0, 5, 3, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_72[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_73[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_75[] = -{ - { 632400660000000000ULL, 180000000000ULL, 60, { 0, 9, 1, 3, 23, 59 }, { 0, 3, 0, 3, 0, 0 }, }, - { 632716020000000000ULL, 632401524000000000ULL, 60, { 0, 9, 3, 3, 23, 59 }, { 0, 3, 2, 4, 0, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 9, 6, 3, 23, 59 }, { 0, 3, 5, 3, 0, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 9, 1, 3, 23, 59 }, { 0, 3, 0, 4, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 9, 2, 3, 23, 59 }, { 0, 3, 1, 4, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 9, 3, 3, 23, 59 }, { 0, 3, 2, 4, 0, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 9, 4, 3, 23, 59 }, { 0, 3, 3, 3, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 9, 6, 3, 23, 59 }, { 0, 3, 5, 4, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 9, 0, 3, 23, 59 }, { 0, 3, 6, 4, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 9, 1, 3, 23, 59 }, { 0, 3, 0, 4, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 9, 2, 3, 23, 59 }, { 0, 3, 1, 3, 0, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 9, 4, 3, 23, 59 }, { 0, 3, 3, 4, 0, 0 }, }, - { 636818292000000000ULL, 636503796000000000ULL, 60, { 0, 9, 5, 3, 23, 59 }, { 0, 3, 4, 4, 0, 0 }, }, - { 637133652000000000ULL, 636819156000000000ULL, 60, { 0, 9, 6, 3, 23, 59 }, { 0, 3, 5, 4, 0, 0 }, }, - { 637449876000000000ULL, 637134516000000000ULL, 60, { 0, 9, 0, 3, 23, 59 }, { 0, 3, 6, 3, 0, 0 }, }, - { 637765236000000000ULL, 637450740000000000ULL, 60, { 0, 9, 2, 3, 23, 59 }, { 0, 3, 1, 4, 0, 0 }, }, - { 638080596000000000ULL, 637766100000000000ULL, 60, { 0, 9, 3, 3, 23, 59 }, { 0, 3, 2, 4, 0, 0 }, }, - { 638395956000000000ULL, 638081460000000000ULL, 60, { 0, 9, 4, 3, 23, 59 }, { 0, 3, 3, 4, 0, 0 }, }, - { 3155378292000000000ULL, 638396820000000000ULL, 60, { 0, 9, 5, 3, 23, 59 }, { 0, 3, 4, 3, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_77[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 3, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_78[] = -{ - { 635871348000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 5, 0 }, { 0, 3, 0, 5, 4, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_79[] = -{ - { 633978324000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 1, 5, 1, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_80[] = -{ - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 1, 2, 1, 0, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 0, 5, 2, 0 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_81[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 12, 0, 1, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_83[] = -{ - { 634609044000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_86[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_87[] = -{ - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 10, 5, 5, 23, 59 }, { 0, 5, 6, 5, 23, 59 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 10, 6, 5, 23, 59 }, { 0, 4, 2, 2, 23, 59 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_92[] = -{ - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 12, 4, 5, 23, 59 }, { 0, 6, 5, 3, 23, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_93[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_96[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 3, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_97[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 9, 6, 5, 2, 0 }, { 0, 3, 6, 5, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 9, 5, 5, 23, 59 }, { 0, 3, 6, 5, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 9, 5, 4, 23, 59 }, { 0, 3, 6, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_98[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_99[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 7, 0, 4, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_100[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 5, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_102[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_104[] = -{ - { 633031380000000000ULL, 632716884000000000ULL, 60, { 0, 1, 0, 1, 0, 0 }, { 0, 12, 0, 1, 2, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 633662964000000000ULL, 633347604000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_106[] = -{ - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 9, 5, 5, 23, 59 }, { 0, 3, 6, 5, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 9, 5, 4, 23, 59 }, { 0, 3, 6, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_107[] = -{ - { 635555988000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 30, { 0, 8, 5, 2, 23, 59 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_109[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 120, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 3, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_112[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_113[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 60, { 0, 4, 0, 1, 3, 0 }, { 0, 10, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_116[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 60, { 0, 4, 0, 1, 3, 0 }, { 0, 10, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_118[] = -{ - { 633346740000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 60, { 0, 4, 0, 1, 3, 0 }, { 0, 10, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_119[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_120[] = -{ - { 632716020000000000ULL, 180000000000ULL, 30, { 0, 3, 0, 5, 2, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 633031380000000000ULL, 632716884000000000ULL, 30, { 0, 4, 0, 1, 2, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 30, { 0, 3, 0, 5, 2, 0 }, { 0, 10, 0, 5, 2, 0 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 30, { 0, 4, 0, 1, 2, 0 }, { 0, 10, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_121[] = -{ - { 635240628000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 1, 3, 1, 0, 0 }, { 0, 12, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_122[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_123[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 120, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 4, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_124[] = -{ - { 635555988000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 30, { 0, 10, 0, 1, 2, 0 }, { 0, 1, 4, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_125[] = -{ - { 634293684000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 10, 0, 5, 2, 0 }, { 0, 1, 3, 1, 0, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, -60, { 0, 3, 0, 5, 2, 0 }, { 0, 1, 5, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_127[] = -{ - { 633978324000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 1, 5, 1, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 1, 6, 1, 0, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_128[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 3, 3, 0 }, { 0, 10, 0, 1, 2, 0 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 3, 0, 3, 3, 0 }, { 0, 9, 0, 5, 2, 0 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 60, { 0, 4, 0, 1, 3, 0 }, { 0, 9, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_130[] = -{ - { 633978324000000000ULL, 633663828000000000ULL, 60, { 0, 1, 4, 1, 0, 0 }, { 0, 11, 0, 5, 2, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 3, 0, 5, 3, 0 }, { 0, 10, 0, 4, 2, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 3, 0, 1, 3, 0 }, { 0, 10, 0, 4, 2, 0 }, }, - { 634925268000000000ULL, 634609908000000000ULL, 60, { 0, 1, 0, 4, 3, 0 }, { 0, 10, 0, 3, 2, 0 }, }, - { 635240628000000000ULL, 634926132000000000ULL, 60, { 0, 1, 0, 3, 3, 0 }, { 0, 10, 0, 4, 2, 0 }, }, - { 635555988000000000ULL, 635241492000000000ULL, 60, { 0, 1, 0, 3, 2, 0 }, { 0, 11, 0, 1, 2, 0 }, }, - { 635871348000000000ULL, 635556852000000000ULL, 60, { 0, 1, 0, 3, 3, 0 }, { 0, 11, 0, 1, 2, 0 }, }, - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 1, 0, 3, 3, 0 }, { 0, 11, 0, 1, 2, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 1, 0, 3, 3, 0 }, { 0, 11, 0, 1, 2, 0 }, }, - { 3155378292000000000ULL, 636503796000000000ULL, 60, { 0, 1, 0, 2, 3, 0 }, { 0, 11, 0, 1, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_131[] = -{ - { 3155378292000000000ULL, 180000000000ULL, 60, { 0, 10, 0, 5, 3, 0 }, { 0, 3, 0, 5, 2, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_132[] = -{ - { 633031380000000000ULL, 180000000000ULL, 60, { 0, 3, 0, 3, 3, 45 }, { 0, 10, 0, 1, 2, 45 }, }, - { 633346740000000000ULL, 633032244000000000ULL, 60, { 0, 3, 0, 3, 3, 45 }, { 0, 9, 0, 5, 2, 45 }, }, - { 3155378292000000000ULL, 633347604000000000ULL, 60, { 0, 4, 0, 1, 3, 45 }, { 0, 9, 0, 5, 2, 45 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_134[] = -{ - { 636187572000000000ULL, 635872212000000000ULL, 60, { 0, 1, 5, 1, 0, 0 }, { 0, 11, 0, 1, 2, 0 }, }, - { 636502932000000000ULL, 636188436000000000ULL, 60, { 0, 1, 0, 3, 3, 0 }, { 0, 1, 0, 1, 0, 0 }, } -}; - -static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_135[] = -{ - { 633978324000000000ULL, 180000000000ULL, 0, { 0, 1, 0, 1, 0, 0 }, { 0, 1, 0, 1, 0, 0 }, }, - { 634293684000000000ULL, 633979188000000000ULL, 60, { 0, 1, 5, 1, 0, 0 }, { 0, 9, 0, 5, 0, 0 }, }, - { 634609044000000000ULL, 634294548000000000ULL, 60, { 0, 4, 6, 1, 4, 0 }, { 0, 9, 6, 4, 3, 0 }, }, - { 3155378292000000000ULL, 634609908000000000ULL, 60, { 0, 4, 0, 1, 4, 0 }, { 0, 9, 0, 5, 3, 0 }, } -}; - -static const TIME_ZONE_ENTRY TimeZoneTable[] = -{ - { - "Dateline Standard Time", 720, FALSE, "(UTC-12:00) International Date Line West", - "Dateline Standard Time", "Dateline Daylight Time", - NULL, 0 - }, - { - "UTC-11", 660, FALSE, "(UTC-11:00) Coordinated Universal Time-11", - "UTC-11", "UTC-11", - NULL, 0 - }, - { - "Aleutian Standard Time", 600, TRUE, "(UTC-10:00) Aleutian Islands", - "Aleutian Standard Time", "Aleutian Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_2, 2 - }, - { - "Hawaiian Standard Time", 600, FALSE, "(UTC-10:00) Hawaii", - "Hawaiian Standard Time", "Hawaiian Daylight Time", - NULL, 0 - }, - { - "Marquesas Standard Time", 570, FALSE, "(UTC-09:30) Marquesas Islands", - "Marquesas Standard Time", "Marquesas Daylight Time", - NULL, 0 - }, - { - "Alaskan Standard Time", 540, TRUE, "(UTC-09:00) Alaska", - "Alaskan Standard Time", "Alaskan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_5, 2 - }, - { - "UTC-09", 540, FALSE, "(UTC-09:00) Coordinated Universal Time-09", - "UTC-09", "UTC-09", - NULL, 0 - }, - { - "Pacific Standard Time (Mexico)", 480, TRUE, "(UTC-08:00) Baja California", - "Pacific Standard Time (Mexico)", "Pacific Daylight Time (Mexico)", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_7, 2 - }, - { - "UTC-08", 480, FALSE, "(UTC-08:00) Coordinated Universal Time-08", - "UTC-08", "UTC-08", - NULL, 0 - }, - { - "Pacific Standard Time", 480, TRUE, "(UTC-08:00) Pacific Time (US & Canada)", - "Pacific Standard Time", "Pacific Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_9, 2 - }, - { - "US Mountain Standard Time", 420, FALSE, "(UTC-07:00) Arizona", - "US Mountain Standard Time", "US Mountain Daylight Time", - NULL, 0 - }, - { - "Mountain Standard Time (Mexico)", 420, TRUE, "(UTC-07:00) Chihuahua, La Paz, Mazatlan", - "Mountain Standard Time (Mexico)", "Mountain Daylight Time (Mexico)", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_11, 1 - }, - { - "Mountain Standard Time", 420, TRUE, "(UTC-07:00) Mountain Time (US & Canada)", - "Mountain Standard Time", "Mountain Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_12, 2 - }, - { - "Central America Standard Time", 360, FALSE, "(UTC-06:00) Central America", - "Central America Standard Time", "Central America Daylight Time", - NULL, 0 - }, - { - "Central Standard Time", 360, TRUE, "(UTC-06:00) Central Time (US & Canada)", - "Central Standard Time", "Central Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_14, 2 - }, - { - "Easter Island Standard Time", 360, TRUE, "(UTC-06:00) Easter Island", - "Easter Island Standard Time", "Easter Island Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_15, 10 - }, - { - "Central Standard Time (Mexico)", 360, TRUE, "(UTC-06:00) Guadalajara, Mexico City, Monterrey", - "Central Standard Time (Mexico)", "Central Daylight Time (Mexico)", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_16, 1 - }, - { - "Canada Central Standard Time", 360, FALSE, "(UTC-06:00) Saskatchewan", - "Canada Central Standard Time", "Canada Central Daylight Time", - NULL, 0 - }, - { - "SA Pacific Standard Time", 300, FALSE, "(UTC-05:00) Bogota, Lima, Quito, Rio Branco", - "SA Pacific Standard Time", "SA Pacific Daylight Time", - NULL, 0 - }, - { - "Eastern Standard Time (Mexico)", 300, TRUE, "(UTC-05:00) Chetumal", - "Eastern Standard Time (Mexico)", "Eastern Daylight Time (Mexico)", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_19, 2 - }, - { - "Eastern Standard Time", 300, TRUE, "(UTC-05:00) Eastern Time (US & Canada)", - "Eastern Standard Time", "Eastern Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_20, 2 - }, - { - "Haiti Standard Time", 300, TRUE, "(UTC-05:00) Haiti", - "Haiti Standard Time", "Haiti Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_21, 6 - }, - { - "Cuba Standard Time", 300, TRUE, "(UTC-05:00) Havana", - "Cuba Standard Time", "Cuba Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_22, 11 - }, - { - "US Eastern Standard Time", 300, TRUE, "(UTC-05:00) Indiana (East)", - "US Eastern Standard Time", "US Eastern Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_23, 2 - }, - { - "Turks And Caicos Standard Time", 300, TRUE, "(UTC-05:00) Turks and Caicos", - "Turks and Caicos Standard Time", "Turks and Caicos Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_24, 6 - }, - { - "Paraguay Standard Time", 240, TRUE, "(UTC-04:00) Asuncion", - "Paraguay Standard Time", "Paraguay Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_25, 14 - }, - { - "Atlantic Standard Time", 240, TRUE, "(UTC-04:00) Atlantic Time (Canada)", - "Atlantic Standard Time", "Atlantic Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_26, 2 - }, - { - "Venezuela Standard Time", 240, TRUE, "(UTC-04:00) Caracas", - "Venezuela Standard Time", "Venezuela Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_27, 10 - }, - { - "Central Brazilian Standard Time", 240, TRUE, "(UTC-04:00) Cuiaba", - "Central Brazilian Standard Time", "Central Brazilian Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_28, 37 - }, - { - "SA Western Standard Time", 240, FALSE, "(UTC-04:00) Georgetown, La Paz, Manaus, San Juan", - "SA Western Standard Time", "SA Western Daylight Time", - NULL, 0 - }, - { - "Pacific SA Standard Time", 240, TRUE, "(UTC-04:00) Santiago", - "Pacific SA Standard Time", "Pacific SA Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_30, 10 - }, - { - "Newfoundland Standard Time", 210, TRUE, "(UTC-03:30) Newfoundland", - "Newfoundland Standard Time", "Newfoundland Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_31, 7 - }, - { - "Tocantins Standard Time", 180, TRUE, "(UTC-03:00) Araguaina", - "Tocantins Standard Time", "Tocantins Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_32, 2 - }, - { - "E. South America Standard Time", 180, TRUE, "(UTC-03:00) Brasilia", - "E. South America Standard Time", "E. South America Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_33, 37 - }, - { - "SA Eastern Standard Time", 180, FALSE, "(UTC-03:00) Cayenne, Fortaleza", - "SA Eastern Standard Time", "SA Eastern Daylight Time", - NULL, 0 - }, - { - "Argentina Standard Time", 180, TRUE, "(UTC-03:00) City of Buenos Aires", - "Argentina Standard Time", "Argentina Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_35, 3 - }, - { - "Greenland Standard Time", 180, TRUE, "(UTC-03:00) Greenland", - "Greenland Standard Time", "Greenland Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_36, 18 - }, - { - "Montevideo Standard Time", 180, TRUE, "(UTC-03:00) Montevideo", - "Montevideo Standard Time", "Montevideo Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_37, 2 - }, - { - "Magallanes Standard Time", 180, TRUE, "(UTC-03:00) Punta Arenas", - "Magallanes Standard Time", "Magallanes Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_38, 9 - }, - { - "Saint Pierre Standard Time", 180, TRUE, "(UTC-03:00) Saint Pierre and Miquelon", - "Saint Pierre Standard Time", "Saint Pierre Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_39, 2 - }, - { - "Bahia Standard Time", 180, TRUE, "(UTC-03:00) Salvador", - "Bahia Standard Time", "Bahia Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_40, 2 - }, - { - "UTC-02", 120, FALSE, "(UTC-02:00) Coordinated Universal Time-02", - "UTC-02", "UTC-02", - NULL, 0 - }, - { - "Mid-Atlantic Standard Time", 120, TRUE, "(UTC-02:00) Mid-Atlantic - Old", - "Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_42, 1 - }, - { - "Azores Standard Time", 60, TRUE, "(UTC-01:00) Azores", - "Azores Standard Time", "Azores Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_43, 1 - }, - { - "Cape Verde Standard Time", 60, FALSE, "(UTC-01:00) Cabo Verde Is.", - "Cabo Verde Standard Time", "Cabo Verde Daylight Time", - NULL, 0 - }, - { - "UTC", 0, FALSE, "(UTC) Coordinated Universal Time", - "Coordinated Universal Time", "Coordinated Universal Time", - NULL, 0 - }, - { - "Morocco Standard Time", 0, TRUE, "(UTC+00:00) Casablanca", - "Morocco Standard Time", "Morocco Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_46, 12 - }, - { - "GMT Standard Time", 0, TRUE, "(UTC+00:00) Dublin, Edinburgh, Lisbon, London", - "GMT Standard Time", "GMT Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_47, 1 - }, - { - "Greenwich Standard Time", 0, FALSE, "(UTC+00:00) Monrovia, Reykjavik", - "Greenwich Standard Time", "Greenwich Daylight Time", - NULL, 0 - }, - { - "W. Europe Standard Time", -60, TRUE, "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", - "W. Europe Standard Time", "W. Europe Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_49, 1 - }, - { - "Central Europe Standard Time", -60, TRUE, "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", - "Central Europe Standard Time", "Central Europe Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_50, 1 - }, - { - "Romance Standard Time", -60, TRUE, "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", - "Romance Standard Time", "Romance Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_51, 1 - }, - { - "Sao Tome Standard Time", -60, TRUE, "(UTC+01:00) Sao Tome", - "Sao Tome Standard Time", "Sao Tome Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_52, 2 - }, - { - "Central European Standard Time", -60, TRUE, "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", - "Central European Standard Time", "Central European Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_53, 1 - }, - { - "W. Central Africa Standard Time", -60, FALSE, "(UTC+01:00) West Central Africa", - "W. Central Africa Standard Time", "W. Central Africa Daylight Time", - NULL, 0 - }, - { - "Jordan Standard Time", -120, TRUE, "(UTC+02:00) Amman", - "Jordan Standard Time", "Jordan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_55, 4 - }, - { - "GTB Standard Time", -120, TRUE, "(UTC+02:00) Athens, Bucharest", - "GTB Standard Time", "GTB Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_56, 1 - }, - { - "Middle East Standard Time", -120, TRUE, "(UTC+02:00) Beirut", - "Middle East Standard Time", "Middle East Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_57, 13 - }, - { - "Egypt Standard Time", -120, TRUE, "(UTC+02:00) Cairo", - "Egypt Standard Time", "Egypt Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_58, 7 - }, - { - "E. Europe Standard Time", -120, TRUE, "(UTC+02:00) Chisinau", - "E. Europe Standard Time", "E. Europe Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_59, 1 - }, - { - "Syria Standard Time", -120, TRUE, "(UTC+02:00) Damascus", - "Syria Standard Time", "Syria Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_60, 17 - }, - { - "West Bank Standard Time", -120, TRUE, "(UTC+02:00) Gaza, Hebron", - "West Bank Gaza Standard Time", "West Bank Gaza Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_61, 6 - }, - { - "South Africa Standard Time", -120, FALSE, "(UTC+02:00) Harare, Pretoria", - "South Africa Standard Time", "South Africa Daylight Time", - NULL, 0 - }, - { - "FLE Standard Time", -120, TRUE, "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius", - "FLE Standard Time", "FLE Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_63, 1 - }, - { - "Israel Standard Time", -120, TRUE, "(UTC+02:00) Jerusalem", - "Jerusalem Standard Time", "Jerusalem Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_64, 20 - }, - { - "Kaliningrad Standard Time", -120, TRUE, "(UTC+02:00) Kaliningrad", - "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_65, 5 - }, - { - "Sudan Standard Time", -120, TRUE, "(UTC+02:00) Khartoum", - "Sudan Standard Time", "Sudan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_66, 2 - }, - { - "Libya Standard Time", -120, TRUE, "(UTC+02:00) Tripoli", - "Libya Standard Time", "Libya Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_67, 2 - }, - { - "Namibia Standard Time", -120, TRUE, "(UTC+02:00) Windhoek", - "Namibia Standard Time", "Namibia Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_68, 1 - }, - { - "Arabic Standard Time", -180, TRUE, "(UTC+03:00) Baghdad", - "Arabic Standard Time", "Arabic Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_69, 4 - }, - { - "Turkey Standard Time", -180, TRUE, "(UTC+03:00) Istanbul", - "Turkey Standard Time", "Turkey Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_70, 7 - }, - { - "Arab Standard Time", -180, FALSE, "(UTC+03:00) Kuwait, Riyadh", - "Arab Standard Time", "Arab Daylight Time", - NULL, 0 - }, - { - "Belarus Standard Time", -180, TRUE, "(UTC+03:00) Minsk", - "Belarus Standard Time", "Belarus Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_72, 2 - }, - { - "Russian Standard Time", -180, TRUE, "(UTC+03:00) Moscow, St. Petersburg, Volgograd", - "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_73, 5 - }, - { - "E. Africa Standard Time", -180, FALSE, "(UTC+03:00) Nairobi", - "E. Africa Standard Time", "E. Africa Daylight Time", - NULL, 0 - }, - { - "Iran Standard Time", -210, TRUE, "(UTC+03:30) Tehran", - "Iran Standard Time", "Iran Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_75, 19 - }, - { - "Arabian Standard Time", -240, FALSE, "(UTC+04:00) Abu Dhabi, Muscat", - "Arabian Standard Time", "Arabian Daylight Time", - NULL, 0 - }, - { - "Astrakhan Standard Time", -240, TRUE, "(UTC+04:00) Astrakhan, Ulyanovsk", - "Astrakhan Standard Time", "Astrakhan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_77, 5 - }, - { - "Azerbaijan Standard Time", -240, TRUE, "(UTC+04:00) Baku", - "Azerbaijan Standard Time", "Azerbaijan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_78, 1 - }, - { - "Russia Time Zone 3", -240, TRUE, "(UTC+04:00) Izhevsk, Samara", - "Russia TZ 3 Standard Time", "Russia TZ 3 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_79, 3 - }, - { - "Mauritius Standard Time", -240, TRUE, "(UTC+04:00) Port Louis", - "Mauritius Standard Time", "Mauritius Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_80, 2 - }, - { - "Saratov Standard Time", -240, TRUE, "(UTC+04:00) Saratov", - "Saratov Standard Time", "Saratov Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_81, 5 - }, - { - "Georgian Standard Time", -240, FALSE, "(UTC+04:00) Tbilisi", - "Georgian Standard Time", "Georgian Daylight Time", - NULL, 0 - }, - { - "Caucasus Standard Time", -240, TRUE, "(UTC+04:00) Yerevan", - "Caucasus Standard Time", "Caucasus Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_83, 1 - }, - { - "Afghanistan Standard Time", -270, FALSE, "(UTC+04:30) Kabul", - "Afghanistan Standard Time", "Afghanistan Daylight Time", - NULL, 0 - }, - { - "West Asia Standard Time", -300, FALSE, "(UTC+05:00) Ashgabat, Tashkent", - "West Asia Standard Time", "West Asia Daylight Time", - NULL, 0 - }, - { - "Ekaterinburg Standard Time", -300, TRUE, "(UTC+05:00) Ekaterinburg", - "Russia TZ 4 Standard Time", "Russia TZ 4 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_86, 5 - }, - { - "Pakistan Standard Time", -300, TRUE, "(UTC+05:00) Islamabad, Karachi", - "Pakistan Standard Time", "Pakistan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_87, 2 - }, - { - "India Standard Time", -330, FALSE, "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", - "India Standard Time", "India Daylight Time", - NULL, 0 - }, - { - "Sri Lanka Standard Time", -330, FALSE, "(UTC+05:30) Sri Jayawardenepura", - "Sri Lanka Standard Time", "Sri Lanka Daylight Time", - NULL, 0 - }, - { - "Nepal Standard Time", -345, FALSE, "(UTC+05:45) Kathmandu", - "Nepal Standard Time", "Nepal Daylight Time", - NULL, 0 - }, - { - "Central Asia Standard Time", -360, FALSE, "(UTC+06:00) Astana", - "Central Asia Standard Time", "Central Asia Daylight Time", - NULL, 0 - }, - { - "Bangladesh Standard Time", -360, TRUE, "(UTC+06:00) Dhaka", - "Bangladesh Standard Time", "Bangladesh Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_92, 1 - }, - { - "Omsk Standard Time", -360, TRUE, "(UTC+06:00) Omsk", - "Omsk Standard Time", "Omsk Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_93, 5 - }, - { - "Myanmar Standard Time", -390, FALSE, "(UTC+06:30) Yangon (Rangoon)", - "Myanmar Standard Time", "Myanmar Daylight Time", - NULL, 0 - }, - { - "SE Asia Standard Time", -420, FALSE, "(UTC+07:00) Bangkok, Hanoi, Jakarta", - "SE Asia Standard Time", "SE Asia Daylight Time", - NULL, 0 - }, - { - "Altai Standard Time", -420, TRUE, "(UTC+07:00) Barnaul, Gorno-Altaysk", - "Altai Standard Time", "Altai Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_96, 5 - }, - { - "W. Mongolia Standard Time", -420, TRUE, "(UTC+07:00) Hovd", - "W. Mongolia Standard Time", "W. Mongolia Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_97, 3 - }, - { - "North Asia Standard Time", -420, TRUE, "(UTC+07:00) Krasnoyarsk", - "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_98, 5 - }, - { - "N. Central Asia Standard Time", -420, TRUE, "(UTC+07:00) Novosibirsk", - "Novosibirsk Standard Time", "Novosibirsk Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_99, 5 - }, - { - "Tomsk Standard Time", -420, TRUE, "(UTC+07:00) Tomsk", - "Tomsk Standard Time", "Tomsk Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_100, 5 - }, - { - "China Standard Time", -480, FALSE, "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi", - "China Standard Time", "China Daylight Time", - NULL, 0 - }, - { - "North Asia East Standard Time", -480, TRUE, "(UTC+08:00) Irkutsk", - "Russia TZ 7 Standard Time", "Russia TZ 7 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_102, 5 - }, - { - "Singapore Standard Time", -480, FALSE, "(UTC+08:00) Kuala Lumpur, Singapore", - "Malay Peninsula Standard Time", "Malay Peninsula Daylight Time", - NULL, 0 - }, - { - "W. Australia Standard Time", -480, TRUE, "(UTC+08:00) Perth", - "W. Australia Standard Time", "W. Australia Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_104, 4 - }, - { - "Taipei Standard Time", -480, FALSE, "(UTC+08:00) Taipei", - "Taipei Standard Time", "Taipei Daylight Time", - NULL, 0 - }, - { - "Ulaanbaatar Standard Time", -480, TRUE, "(UTC+08:00) Ulaanbaatar", - "Ulaanbaatar Standard Time", "Ulaanbaatar Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_106, 2 - }, - { - "North Korea Standard Time", -510, TRUE, "(UTC+08:30) Pyongyang", - "North Korea Standard Time", "North Korea Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_107, 2 - }, - { - "Aus Central W. Standard Time", -525, FALSE, "(UTC+08:45) Eucla", - "Aus Central W. Standard Time", "Aus Central W. Daylight Time", - NULL, 0 - }, - { - "Transbaikal Standard Time", -540, TRUE, "(UTC+09:00) Chita", - "Transbaikal Standard Time", "Transbaikal Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_109, 7 - }, - { - "Tokyo Standard Time", -540, FALSE, "(UTC+09:00) Osaka, Sapporo, Tokyo", - "Tokyo Standard Time", "Tokyo Daylight Time", - NULL, 0 - }, - { - "Korea Standard Time", -540, FALSE, "(UTC+09:00) Seoul", - "Korea Standard Time", "Korea Daylight Time", - NULL, 0 - }, - { - "Yakutsk Standard Time", -540, TRUE, "(UTC+09:00) Yakutsk", - "Russia TZ 8 Standard Time", "Russia TZ 8 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_112, 5 - }, - { - "Cen. Australia Standard Time", -570, TRUE, "(UTC+09:30) Adelaide", - "Cen. Australia Standard Time", "Cen. Australia Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_113, 2 - }, - { - "AUS Central Standard Time", -570, FALSE, "(UTC+09:30) Darwin", - "AUS Central Standard Time", "AUS Central Daylight Time", - NULL, 0 - }, - { - "E. Australia Standard Time", -600, FALSE, "(UTC+10:00) Brisbane", - "E. Australia Standard Time", "E. Australia Daylight Time", - NULL, 0 - }, - { - "AUS Eastern Standard Time", -600, TRUE, "(UTC+10:00) Canberra, Melbourne, Sydney", - "AUS Eastern Standard Time", "AUS Eastern Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_116, 2 - }, - { - "West Pacific Standard Time", -600, FALSE, "(UTC+10:00) Guam, Port Moresby", - "West Pacific Standard Time", "West Pacific Daylight Time", - NULL, 0 - }, - { - "Tasmania Standard Time", -600, TRUE, "(UTC+10:00) Hobart", - "Tasmania Standard Time", "Tasmania Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_118, 2 - }, - { - "Vladivostok Standard Time", -600, TRUE, "(UTC+10:00) Vladivostok", - "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_119, 5 - }, - { - "Lord Howe Standard Time", -630, TRUE, "(UTC+10:30) Lord Howe Island", - "Lord Howe Standard Time", "Lord Howe Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_120, 4 - }, - { - "Bougainville Standard Time", -660, TRUE, "(UTC+11:00) Bougainville Island", - "Bougainville Standard Time", "Bougainville Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_121, 2 - }, - { - "Russia Time Zone 10", -660, TRUE, "(UTC+11:00) Chokurdakh", - "Russia TZ 10 Standard Time", "Russia TZ 10 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_122, 5 - }, - { - "Magadan Standard Time", -660, TRUE, "(UTC+11:00) Magadan", - "Magadan Standard Time", "Magadan Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_123, 7 - }, - { - "Norfolk Standard Time", -660, TRUE, "(UTC+11:00) Norfolk Island", - "Norfolk Standard Time", "Norfolk Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_124, 2 - }, - { - "Sakhalin Standard Time", -660, TRUE, "(UTC+11:00) Sakhalin", - "Sakhalin Standard Time", "Sakhalin Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_125, 5 - }, - { - "Central Pacific Standard Time", -660, FALSE, "(UTC+11:00) Solomon Is., New Caledonia", - "Central Pacific Standard Time", "Central Pacific Daylight Time", - NULL, 0 - }, - { - "Russia Time Zone 11", -720, TRUE, "(UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky", - "Russia TZ 11 Standard Time", "Russia TZ 11 Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_127, 3 - }, - { - "New Zealand Standard Time", -720, TRUE, "(UTC+12:00) Auckland, Wellington", - "New Zealand Standard Time", "New Zealand Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_128, 3 - }, - { - "UTC+12", -720, FALSE, "(UTC+12:00) Coordinated Universal Time+12", - "UTC+12", "UTC+12", - NULL, 0 - }, - { - "Fiji Standard Time", -720, TRUE, "(UTC+12:00) Fiji", - "Fiji Standard Time", "Fiji Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_130, 10 - }, - { - "Kamchatka Standard Time", -720, TRUE, "(UTC+12:00) Petropavlovsk-Kamchatsky - Old", - "Kamchatka Standard Time", "Kamchatka Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_131, 1 - }, - { - "Chatham Islands Standard Time", -765, TRUE, "(UTC+12:45) Chatham Islands", - "Chatham Islands Standard Time", "Chatham Islands Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_132, 3 - }, - { - "UTC+13", -780, FALSE, "(UTC+13:00) Coordinated Universal Time+13", - "UTC+13", "UTC+13", - NULL, 0 - }, - { - "Tonga Standard Time", -780, TRUE, "(UTC+13:00) Nuku'alofa", - "Tonga Standard Time", "Tonga Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_134, 2 - }, - { - "Samoa Standard Time", -780, TRUE, "(UTC+13:00) Samoa", - "Samoa Standard Time", "Samoa Daylight Time", - (TIME_ZONE_RULE_ENTRY*) &TimeZoneRuleTable_135, 4 - }, - { - "Line Islands Standard Time", -840, FALSE, "(UTC+14:00) Kiritimati Island", - "Line Islands Standard Time", "Line Islands Daylight Time", - NULL, 0 - } -}; - -/* Table generated with WindowsZones.cs */ - -struct _WINDOWS_TZID_ENTRY -{ - const char* windows; - const char* tzid; -}; -typedef struct _WINDOWS_TZID_ENTRY WINDOWS_TZID_ENTRY; - -const WINDOWS_TZID_ENTRY WindowsTimeZoneIdTable[] = -{ - { "Afghanistan Standard Time", "Asia/Kabul" }, - { "Alaskan Standard Time", "America/Anchorage America/Juneau America/Metlakatla America/Nome America/Sitka America/Yakutat" }, - { "Alaskan Standard Time", "America/Anchorage" }, - { "Aleutian Standard Time", "America/Adak" }, - { "Altai Standard Time", "Asia/Barnaul" }, - { "Arab Standard Time", "Asia/Aden" }, - { "Arab Standard Time", "Asia/Bahrain" }, - { "Arab Standard Time", "Asia/Kuwait" }, - { "Arab Standard Time", "Asia/Qatar" }, - { "Arab Standard Time", "Asia/Riyadh" }, - { "Arabian Standard Time", "Asia/Dubai" }, - { "Arabian Standard Time", "Asia/Muscat" }, - { "Arabian Standard Time", "Etc/GMT-4" }, - { "Arabic Standard Time", "Asia/Baghdad" }, - { "Argentina Standard Time", "America/Buenos_Aires America/Argentina/La_Rioja America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Catamarca America/Cordoba America/Jujuy America/Mendoza" }, - { "Argentina Standard Time", "America/Buenos_Aires" }, - { "Astrakhan Standard Time", "Europe/Astrakhan Europe/Ulyanovsk" }, - { "Astrakhan Standard Time", "Europe/Astrakhan" }, - { "Atlantic Standard Time", "America/Halifax America/Glace_Bay America/Goose_Bay America/Moncton" }, - { "Atlantic Standard Time", "America/Halifax" }, - { "Atlantic Standard Time", "America/Thule" }, - { "Atlantic Standard Time", "Atlantic/Bermuda" }, - { "AUS Central Standard Time", "Australia/Darwin" }, - { "Aus Central W. Standard Time", "Australia/Eucla" }, - { "AUS Eastern Standard Time", "Australia/Sydney Australia/Melbourne" }, - { "AUS Eastern Standard Time", "Australia/Sydney" }, - { "Azerbaijan Standard Time", "Asia/Baku" }, - { "Azores Standard Time", "America/Scoresbysund" }, - { "Azores Standard Time", "Atlantic/Azores" }, - { "Bahia Standard Time", "America/Bahia" }, - { "Bangladesh Standard Time", "Asia/Dhaka" }, - { "Bangladesh Standard Time", "Asia/Thimphu" }, - { "Belarus Standard Time", "Europe/Minsk" }, - { "Bougainville Standard Time", "Pacific/Bougainville" }, - { "Canada Central Standard Time", "America/Regina America/Swift_Current" }, - { "Canada Central Standard Time", "America/Regina" }, - { "Cape Verde Standard Time", "Atlantic/Cape_Verde" }, - { "Cape Verde Standard Time", "Etc/GMT+1" }, - { "Caucasus Standard Time", "Asia/Yerevan" }, - { "Cen. Australia Standard Time", "Australia/Adelaide Australia/Broken_Hill" }, - { "Cen. Australia Standard Time", "Australia/Adelaide" }, - { "Central America Standard Time", "America/Belize" }, - { "Central America Standard Time", "America/Costa_Rica" }, - { "Central America Standard Time", "America/El_Salvador" }, - { "Central America Standard Time", "America/Guatemala" }, - { "Central America Standard Time", "America/Managua" }, - { "Central America Standard Time", "America/Tegucigalpa" }, - { "Central America Standard Time", "Etc/GMT+6" }, - { "Central America Standard Time", "Pacific/Galapagos" }, - { "Central Asia Standard Time", "Antarctica/Vostok" }, - { "Central Asia Standard Time", "Asia/Almaty Asia/Qyzylorda" }, - { "Central Asia Standard Time", "Asia/Almaty" }, - { "Central Asia Standard Time", "Asia/Bishkek" }, - { "Central Asia Standard Time", "Asia/Urumqi" }, - { "Central Asia Standard Time", "Etc/GMT-6" }, - { "Central Asia Standard Time", "Indian/Chagos" }, - { "Central Brazilian Standard Time", "America/Cuiaba America/Campo_Grande" }, - { "Central Brazilian Standard Time", "America/Cuiaba" }, - { "Central Europe Standard Time", "Europe/Belgrade" }, - { "Central Europe Standard Time", "Europe/Bratislava" }, - { "Central Europe Standard Time", "Europe/Budapest" }, - { "Central Europe Standard Time", "Europe/Ljubljana" }, - { "Central Europe Standard Time", "Europe/Podgorica" }, - { "Central Europe Standard Time", "Europe/Prague" }, - { "Central Europe Standard Time", "Europe/Tirane" }, - { "Central European Standard Time", "Europe/Sarajevo" }, - { "Central European Standard Time", "Europe/Skopje" }, - { "Central European Standard Time", "Europe/Warsaw" }, - { "Central European Standard Time", "Europe/Zagreb" }, - { "Central Pacific Standard Time", "Antarctica/Casey" }, - { "Central Pacific Standard Time", "Antarctica/Macquarie" }, - { "Central Pacific Standard Time", "Etc/GMT-11" }, - { "Central Pacific Standard Time", "Pacific/Efate" }, - { "Central Pacific Standard Time", "Pacific/Guadalcanal" }, - { "Central Pacific Standard Time", "Pacific/Noumea" }, - { "Central Pacific Standard Time", "Pacific/Ponape Pacific/Kosrae" }, - { "Central Standard Time (Mexico)", "America/Mexico_City America/Bahia_Banderas America/Merida America/Monterrey" }, - { "Central Standard Time (Mexico)", "America/Mexico_City" }, - { "Central Standard Time", "America/Chicago America/Indiana/Knox America/Indiana/Tell_City America/Menominee America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem" }, - { "Central Standard Time", "America/Chicago" }, - { "Central Standard Time", "America/Matamoros" }, - { "Central Standard Time", "America/Winnipeg America/Rainy_River America/Rankin_Inlet America/Resolute" }, - { "Central Standard Time", "CST6CDT" }, - { "Chatham Islands Standard Time", "Pacific/Chatham" }, - { "China Standard Time", "Asia/Hong_Kong" }, - { "China Standard Time", "Asia/Macau" }, - { "China Standard Time", "Asia/Shanghai" }, - { "Cuba Standard Time", "America/Havana" }, - { "Dateline Standard Time", "Etc/GMT+12" }, - { "E. Africa Standard Time", "Africa/Addis_Ababa" }, - { "E. Africa Standard Time", "Africa/Asmera" }, - { "E. Africa Standard Time", "Africa/Dar_es_Salaam" }, - { "E. Africa Standard Time", "Africa/Djibouti" }, - { "E. Africa Standard Time", "Africa/Juba" }, - { "E. Africa Standard Time", "Africa/Kampala" }, - { "E. Africa Standard Time", "Africa/Mogadishu" }, - { "E. Africa Standard Time", "Africa/Nairobi" }, - { "E. Africa Standard Time", "Antarctica/Syowa" }, - { "E. Africa Standard Time", "Etc/GMT-3" }, - { "E. Africa Standard Time", "Indian/Antananarivo" }, - { "E. Africa Standard Time", "Indian/Comoro" }, - { "E. Africa Standard Time", "Indian/Mayotte" }, - { "E. Australia Standard Time", "Australia/Brisbane Australia/Lindeman" }, - { "E. Australia Standard Time", "Australia/Brisbane" }, - { "E. Europe Standard Time", "Europe/Chisinau" }, - { "E. South America Standard Time", "America/Sao_Paulo" }, - { "Easter Island Standard Time", "Pacific/Easter" }, - { "Eastern Standard Time (Mexico)", "America/Cancun" }, - { "Eastern Standard Time", "America/Nassau" }, - { "Eastern Standard Time", "America/New_York America/Detroit America/Indiana/Petersburg America/Indiana/Vincennes America/Indiana/Winamac America/Kentucky/Monticello America/Louisville" }, - { "Eastern Standard Time", "America/New_York" }, - { "Eastern Standard Time", "America/Toronto America/Iqaluit America/Montreal America/Nipigon America/Pangnirtung America/Thunder_Bay" }, - { "Eastern Standard Time", "EST5EDT" }, - { "Egypt Standard Time", "Africa/Cairo" }, - { "Ekaterinburg Standard Time", "Asia/Yekaterinburg" }, - { "Fiji Standard Time", "Pacific/Fiji" }, - { "FLE Standard Time", "Europe/Helsinki" }, - { "FLE Standard Time", "Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye" }, - { "FLE Standard Time", "Europe/Kiev" }, - { "FLE Standard Time", "Europe/Mariehamn" }, - { "FLE Standard Time", "Europe/Riga" }, - { "FLE Standard Time", "Europe/Sofia" }, - { "FLE Standard Time", "Europe/Tallinn" }, - { "FLE Standard Time", "Europe/Vilnius" }, - { "Georgian Standard Time", "Asia/Tbilisi" }, - { "GMT Standard Time", "Atlantic/Canary" }, - { "GMT Standard Time", "Atlantic/Faeroe" }, - { "GMT Standard Time", "Europe/Dublin" }, - { "GMT Standard Time", "Europe/Guernsey" }, - { "GMT Standard Time", "Europe/Isle_of_Man" }, - { "GMT Standard Time", "Europe/Jersey" }, - { "GMT Standard Time", "Europe/Lisbon Atlantic/Madeira" }, - { "GMT Standard Time", "Europe/London" }, - { "Greenland Standard Time", "America/Godthab" }, - { "Greenwich Standard Time", "Africa/Abidjan" }, - { "Greenwich Standard Time", "Africa/Accra" }, - { "Greenwich Standard Time", "Africa/Bamako" }, - { "Greenwich Standard Time", "Africa/Banjul" }, - { "Greenwich Standard Time", "Africa/Bissau" }, - { "Greenwich Standard Time", "Africa/Conakry" }, - { "Greenwich Standard Time", "Africa/Dakar" }, - { "Greenwich Standard Time", "Africa/Freetown" }, - { "Greenwich Standard Time", "Africa/Lome" }, - { "Greenwich Standard Time", "Africa/Monrovia" }, - { "Greenwich Standard Time", "Africa/Nouakchott" }, - { "Greenwich Standard Time", "Africa/Ouagadougou" }, - { "Greenwich Standard Time", "Atlantic/Reykjavik" }, - { "Greenwich Standard Time", "Atlantic/St_Helena" }, - { "GTB Standard Time", "Asia/Nicosia" }, - { "GTB Standard Time", "Europe/Athens" }, - { "GTB Standard Time", "Europe/Bucharest" }, - { "Haiti Standard Time", "America/Port-au-Prince" }, - { "Hawaiian Standard Time", "Etc/GMT+10" }, - { "Hawaiian Standard Time", "Pacific/Honolulu" }, - { "Hawaiian Standard Time", "Pacific/Johnston" }, - { "Hawaiian Standard Time", "Pacific/Rarotonga" }, - { "Hawaiian Standard Time", "Pacific/Tahiti" }, - { "India Standard Time", "Asia/Calcutta" }, - { "Iran Standard Time", "Asia/Tehran" }, - { "Israel Standard Time", "Asia/Jerusalem" }, - { "Jordan Standard Time", "Asia/Amman" }, - { "Kaliningrad Standard Time", "Europe/Kaliningrad" }, - { "Korea Standard Time", "Asia/Seoul" }, - { "Libya Standard Time", "Africa/Tripoli" }, - { "Line Islands Standard Time", "Etc/GMT-14" }, - { "Line Islands Standard Time", "Pacific/Kiritimati" }, - { "Lord Howe Standard Time", "Australia/Lord_Howe" }, - { "Magadan Standard Time", "Asia/Magadan" }, - { "Magallanes Standard Time", "America/Punta_Arenas" }, - { "Magallanes Standard Time", "Antarctica/Palmer" }, - { "Marquesas Standard Time", "Pacific/Marquesas" }, - { "Mauritius Standard Time", "Indian/Mahe" }, - { "Mauritius Standard Time", "Indian/Mauritius" }, - { "Mauritius Standard Time", "Indian/Reunion" }, - { "Middle East Standard Time", "Asia/Beirut" }, - { "Montevideo Standard Time", "America/Montevideo" }, - { "Morocco Standard Time", "Africa/Casablanca" }, - { "Morocco Standard Time", "Africa/El_Aaiun" }, - { "Mountain Standard Time (Mexico)", "America/Chihuahua America/Mazatlan" }, - { "Mountain Standard Time (Mexico)", "America/Chihuahua" }, - { "Mountain Standard Time", "America/Denver America/Boise" }, - { "Mountain Standard Time", "America/Denver" }, - { "Mountain Standard Time", "America/Edmonton America/Cambridge_Bay America/Inuvik America/Yellowknife" }, - { "Mountain Standard Time", "America/Ojinaga" }, - { "Mountain Standard Time", "MST7MDT" }, - { "Myanmar Standard Time", "Asia/Rangoon" }, - { "Myanmar Standard Time", "Indian/Cocos" }, - { "N. Central Asia Standard Time", "Asia/Novosibirsk" }, - { "Namibia Standard Time", "Africa/Windhoek" }, - { "Nepal Standard Time", "Asia/Katmandu" }, - { "New Zealand Standard Time", "Antarctica/McMurdo" }, - { "New Zealand Standard Time", "Pacific/Auckland" }, - { "Newfoundland Standard Time", "America/St_Johns" }, - { "Norfolk Standard Time", "Pacific/Norfolk" }, - { "North Asia East Standard Time", "Asia/Irkutsk" }, - { "North Asia Standard Time", "Asia/Krasnoyarsk Asia/Novokuznetsk" }, - { "North Asia Standard Time", "Asia/Krasnoyarsk" }, - { "North Korea Standard Time", "Asia/Pyongyang" }, - { "Omsk Standard Time", "Asia/Omsk" }, - { "Pacific SA Standard Time", "America/Santiago" }, - { "Pacific Standard Time (Mexico)", "America/Tijuana America/Santa_Isabel" }, - { "Pacific Standard Time (Mexico)", "America/Tijuana" }, - { "Pacific Standard Time", "America/Los_Angeles" }, - { "Pacific Standard Time", "America/Vancouver America/Dawson America/Whitehorse" }, - { "Pacific Standard Time", "PST8PDT" }, - { "Pakistan Standard Time", "Asia/Karachi" }, - { "Paraguay Standard Time", "America/Asuncion" }, - { "Romance Standard Time", "Europe/Brussels" }, - { "Romance Standard Time", "Europe/Copenhagen" }, - { "Romance Standard Time", "Europe/Madrid Africa/Ceuta" }, - { "Romance Standard Time", "Europe/Paris" }, - { "Russia Time Zone 10", "Asia/Srednekolymsk" }, - { "Russia Time Zone 11", "Asia/Kamchatka Asia/Anadyr" }, - { "Russia Time Zone 11", "Asia/Kamchatka" }, - { "Russia Time Zone 3", "Europe/Samara" }, - { "Russian Standard Time", "Europe/Moscow Europe/Kirov Europe/Volgograd" }, - { "Russian Standard Time", "Europe/Moscow" }, - { "Russian Standard Time", "Europe/Simferopol" }, - { "SA Eastern Standard Time", "America/Cayenne" }, - { "SA Eastern Standard Time", "America/Fortaleza America/Belem America/Maceio America/Recife America/Santarem" }, - { "SA Eastern Standard Time", "America/Paramaribo" }, - { "SA Eastern Standard Time", "Antarctica/Rothera" }, - { "SA Eastern Standard Time", "Atlantic/Stanley" }, - { "SA Eastern Standard Time", "Etc/GMT+3" }, - { "SA Pacific Standard Time", "America/Bogota" }, - { "SA Pacific Standard Time", "America/Cayman" }, - { "SA Pacific Standard Time", "America/Coral_Harbour" }, - { "SA Pacific Standard Time", "America/Guayaquil" }, - { "SA Pacific Standard Time", "America/Jamaica" }, - { "SA Pacific Standard Time", "America/Lima" }, - { "SA Pacific Standard Time", "America/Panama" }, - { "SA Pacific Standard Time", "America/Rio_Branco America/Eirunepe" }, - { "SA Pacific Standard Time", "Etc/GMT+5" }, - { "SA Western Standard Time", "America/Anguilla" }, - { "SA Western Standard Time", "America/Antigua" }, - { "SA Western Standard Time", "America/Aruba" }, - { "SA Western Standard Time", "America/Barbados" }, - { "SA Western Standard Time", "America/Blanc-Sablon" }, - { "SA Western Standard Time", "America/Curacao" }, - { "SA Western Standard Time", "America/Dominica" }, - { "SA Western Standard Time", "America/Grenada" }, - { "SA Western Standard Time", "America/Guadeloupe" }, - { "SA Western Standard Time", "America/Guyana" }, - { "SA Western Standard Time", "America/Kralendijk" }, - { "SA Western Standard Time", "America/La_Paz" }, - { "SA Western Standard Time", "America/Lower_Princes" }, - { "SA Western Standard Time", "America/Manaus America/Boa_Vista America/Porto_Velho" }, - { "SA Western Standard Time", "America/Marigot" }, - { "SA Western Standard Time", "America/Martinique" }, - { "SA Western Standard Time", "America/Montserrat" }, - { "SA Western Standard Time", "America/Port_of_Spain" }, - { "SA Western Standard Time", "America/Puerto_Rico" }, - { "SA Western Standard Time", "America/Santo_Domingo" }, - { "SA Western Standard Time", "America/St_Barthelemy" }, - { "SA Western Standard Time", "America/St_Kitts" }, - { "SA Western Standard Time", "America/St_Lucia" }, - { "SA Western Standard Time", "America/St_Thomas" }, - { "SA Western Standard Time", "America/St_Vincent" }, - { "SA Western Standard Time", "America/Tortola" }, - { "SA Western Standard Time", "Etc/GMT+4" }, - { "Saint Pierre Standard Time", "America/Miquelon" }, - { "Sakhalin Standard Time", "Asia/Sakhalin" }, - { "Samoa Standard Time", "Pacific/Apia" }, - { "Saratov Standard Time", "Europe/Saratov" }, - { "SE Asia Standard Time", "Antarctica/Davis" }, - { "SE Asia Standard Time", "Asia/Bangkok" }, - { "SE Asia Standard Time", "Asia/Jakarta Asia/Pontianak" }, - { "SE Asia Standard Time", "Asia/Phnom_Penh" }, - { "SE Asia Standard Time", "Asia/Saigon" }, - { "SE Asia Standard Time", "Asia/Vientiane" }, - { "SE Asia Standard Time", "Etc/GMT-7" }, - { "SE Asia Standard Time", "Indian/Christmas" }, - { "Singapore Standard Time", "Asia/Brunei" }, - { "Singapore Standard Time", "Asia/Kuala_Lumpur Asia/Kuching" }, - { "Singapore Standard Time", "Asia/Makassar" }, - { "Singapore Standard Time", "Asia/Manila" }, - { "Singapore Standard Time", "Asia/Singapore" }, - { "Singapore Standard Time", "Etc/GMT-8" }, - { "South Africa Standard Time", "Africa/Blantyre" }, - { "South Africa Standard Time", "Africa/Bujumbura" }, - { "South Africa Standard Time", "Africa/Gaborone" }, - { "South Africa Standard Time", "Africa/Harare" }, - { "South Africa Standard Time", "Africa/Johannesburg" }, - { "South Africa Standard Time", "Africa/Kigali" }, - { "South Africa Standard Time", "Africa/Lubumbashi" }, - { "South Africa Standard Time", "Africa/Lusaka" }, - { "South Africa Standard Time", "Africa/Maputo" }, - { "South Africa Standard Time", "Africa/Maseru" }, - { "South Africa Standard Time", "Africa/Mbabane" }, - { "South Africa Standard Time", "Etc/GMT-2" }, - { "Sri Lanka Standard Time", "Asia/Colombo" }, - { "Sudan Standard Time", "Africa/Khartoum" }, - { "Syria Standard Time", "Asia/Damascus" }, - { "Taipei Standard Time", "Asia/Taipei" }, - { "Tasmania Standard Time", "Australia/Hobart Australia/Currie" }, - { "Tasmania Standard Time", "Australia/Hobart" }, - { "Tocantins Standard Time", "America/Araguaina" }, - { "Tokyo Standard Time", "Asia/Dili" }, - { "Tokyo Standard Time", "Asia/Jayapura" }, - { "Tokyo Standard Time", "Asia/Tokyo" }, - { "Tokyo Standard Time", "Etc/GMT-9" }, - { "Tokyo Standard Time", "Pacific/Palau" }, - { "Tomsk Standard Time", "Asia/Tomsk" }, - { "Tonga Standard Time", "Pacific/Tongatapu" }, - { "Transbaikal Standard Time", "Asia/Chita" }, - { "Turkey Standard Time", "Asia/Famagusta" }, - { "Turkey Standard Time", "Europe/Istanbul" }, - { "Turks And Caicos Standard Time", "America/Grand_Turk" }, - { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar Asia/Choibalsan" }, - { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar" }, - { "US Eastern Standard Time", "America/Indianapolis America/Indiana/Marengo America/Indiana/Vevay" }, - { "US Eastern Standard Time", "America/Indianapolis" }, - { "US Mountain Standard Time", "America/Dawson_Creek America/Creston America/Fort_Nelson" }, - { "US Mountain Standard Time", "America/Hermosillo" }, - { "US Mountain Standard Time", "America/Phoenix" }, - { "US Mountain Standard Time", "Etc/GMT+7" }, - { "UTC", "America/Danmarkshavn" }, - { "UTC", "Etc/GMT Etc/UTC" }, - { "UTC", "Etc/GMT" }, - { "UTC+12", "Etc/GMT-12" }, - { "UTC+12", "Pacific/Funafuti" }, - { "UTC+12", "Pacific/Majuro Pacific/Kwajalein" }, - { "UTC+12", "Pacific/Nauru" }, - { "UTC+12", "Pacific/Tarawa" }, - { "UTC+12", "Pacific/Wake" }, - { "UTC+12", "Pacific/Wallis" }, - { "UTC+13", "Etc/GMT-13" }, - { "UTC+13", "Pacific/Enderbury" }, - { "UTC+13", "Pacific/Fakaofo" }, - { "UTC-02", "America/Noronha" }, - { "UTC-02", "Atlantic/South_Georgia" }, - { "UTC-02", "Etc/GMT+2" }, - { "UTC-08", "Etc/GMT+8" }, - { "UTC-08", "Pacific/Pitcairn" }, - { "UTC-09", "Etc/GMT+9" }, - { "UTC-09", "Pacific/Gambier" }, - { "UTC-11", "Etc/GMT+11" }, - { "UTC-11", "Pacific/Midway" }, - { "UTC-11", "Pacific/Niue" }, - { "UTC-11", "Pacific/Pago_Pago" }, - { "Venezuela Standard Time", "America/Caracas" }, - { "Vladivostok Standard Time", "Asia/Vladivostok Asia/Ust-Nera" }, - { "Vladivostok Standard Time", "Asia/Vladivostok" }, - { "W. Australia Standard Time", "Australia/Perth" }, - { "W. Central Africa Standard Time", "Africa/Algiers" }, - { "W. Central Africa Standard Time", "Africa/Bangui" }, - { "W. Central Africa Standard Time", "Africa/Brazzaville" }, - { "W. Central Africa Standard Time", "Africa/Douala" }, - { "W. Central Africa Standard Time", "Africa/Kinshasa" }, - { "W. Central Africa Standard Time", "Africa/Lagos" }, - { "W. Central Africa Standard Time", "Africa/Libreville" }, - { "W. Central Africa Standard Time", "Africa/Luanda" }, - { "W. Central Africa Standard Time", "Africa/Malabo" }, - { "W. Central Africa Standard Time", "Africa/Ndjamena" }, - { "W. Central Africa Standard Time", "Africa/Niamey" }, - { "W. Central Africa Standard Time", "Africa/Porto-Novo" }, - { "W. Central Africa Standard Time", "Africa/Sao_Tome" }, - { "W. Central Africa Standard Time", "Africa/Tunis" }, - { "W. Central Africa Standard Time", "Etc/GMT-1" }, - { "W. Europe Standard Time", "Arctic/Longyearbyen" }, - { "W. Europe Standard Time", "Europe/Amsterdam" }, - { "W. Europe Standard Time", "Europe/Andorra" }, - { "W. Europe Standard Time", "Europe/Berlin Europe/Busingen" }, - { "W. Europe Standard Time", "Europe/Berlin" }, - { "W. Europe Standard Time", "Europe/Gibraltar" }, - { "W. Europe Standard Time", "Europe/Luxembourg" }, - { "W. Europe Standard Time", "Europe/Malta" }, - { "W. Europe Standard Time", "Europe/Monaco" }, - { "W. Europe Standard Time", "Europe/Oslo" }, - { "W. Europe Standard Time", "Europe/Rome" }, - { "W. Europe Standard Time", "Europe/San_Marino" }, - { "W. Europe Standard Time", "Europe/Stockholm" }, - { "W. Europe Standard Time", "Europe/Vaduz" }, - { "W. Europe Standard Time", "Europe/Vatican" }, - { "W. Europe Standard Time", "Europe/Vienna" }, - { "W. Europe Standard Time", "Europe/Zurich" }, - { "W. Mongolia Standard Time", "Asia/Hovd" }, - { "West Asia Standard Time", "Antarctica/Mawson" }, - { "West Asia Standard Time", "Asia/Ashgabat" }, - { "West Asia Standard Time", "Asia/Dushanbe" }, - { "West Asia Standard Time", "Asia/Oral Asia/Aqtau Asia/Aqtobe Asia/Atyrau" }, - { "West Asia Standard Time", "Asia/Tashkent Asia/Samarkand" }, - { "West Asia Standard Time", "Asia/Tashkent" }, - { "West Asia Standard Time", "Etc/GMT-5" }, - { "West Asia Standard Time", "Indian/Kerguelen" }, - { "West Asia Standard Time", "Indian/Maldives" }, - { "West Bank Standard Time", "Asia/Hebron Asia/Gaza" }, - { "West Bank Standard Time", "Asia/Hebron" }, - { "West Pacific Standard Time", "Antarctica/DumontDUrville" }, - { "West Pacific Standard Time", "Etc/GMT-10" }, - { "West Pacific Standard Time", "Pacific/Guam" }, - { "West Pacific Standard Time", "Pacific/Port_Moresby" }, - { "West Pacific Standard Time", "Pacific/Saipan" }, - { "West Pacific Standard Time", "Pacific/Truk" }, - { "Yakutsk Standard Time", "Asia/Yakutsk Asia/Khandyga" }, - { "Yakutsk Standard Time", "Asia/Yakutsk" }, -}; - -static UINT64 winpr_windows_gmtime() +static UINT64 winpr_windows_gmtime(void) { time_t unix_time; UINT64 windows_time; - time(&unix_time); - windows_time = unix_time; + + if (unix_time < 0) + return 0; + + windows_time = (UINT64)unix_time; windows_time *= 10000000; windows_time += 621355968000000000ULL; - return windows_time; } static char* winpr_read_unix_timezone_identifier_from_file(FILE* fp) { - const INT CHUNK_SIZE = 32; - INT64 rc, read = 0, length = CHUNK_SIZE; - char* tmp, *tzid = NULL; + INT64 length; + char* tzid = NULL; + + if (_fseeki64(fp, 0, SEEK_END) != 0) + return NULL; + + length = _ftelli64(fp); + + if (_fseeki64(fp, 0, SEEK_SET) != 0) + return NULL; + + if (length < 2) + return NULL; + + tzid = (char*) malloc((size_t)length + 1); - tzid = (char*) malloc(length); if (!tzid) return NULL; - do - { - rc = fread(tzid + read, 1, length - read - 1, fp); - read += rc; - - if(read < (length - 1)) - break; - - length += CHUNK_SIZE; - tmp = (char*) realloc(tzid, length); - if(!tmp) - { - free(tzid); - return NULL; - } - - tzid = tmp; - } - while(rc > 0); - - if (ferror(fp)) + if (fread(tzid, (size_t)length, 1, fp) != 1) { free(tzid); return NULL; } - tzid[read] = '\0'; - if (tzid[read - 1] == '\n') - tzid[read - 1] = '\0'; + tzid[length] = '\0'; + + if (tzid[length - 1] == '\n') + tzid[length - 1] = '\0'; return tzid; } @@ -2092,15 +108,15 @@ static char* winpr_get_timezone_from_link(void) * Some distributions do have to symlink at /etc/TZ. */ - for (x=0; x len)) + return NULL; + + alloc = (size_t)len - (size_t)pos; + tzid = (char*) malloc(alloc + 1); + if (!tzid) return NULL; - strncpy(tzid, buf + pos + 1, len - pos); - + strncpy(tzid, buf + pos + 1, alloc); return tzid; } } @@ -2133,7 +153,6 @@ static char* winpr_get_unix_timezone_identifier_from_file(void) { FILE* fp; char* tzid = NULL; - #if defined(ANDROID) fp = popen("getprop persist.sys.timezone", "r"); #elif defined(__FreeBSD__) || defined(__OpenBSD__) @@ -2142,11 +161,10 @@ static char* winpr_get_unix_timezone_identifier_from_file(void) fp = fopen("/etc/timezone", "r"); #endif - if (NULL == fp ) + if (NULL == fp) return NULL; tzid = winpr_read_unix_timezone_identifier_from_file(fp); - #if defined(ANDROID) pclose(fp) ; #else @@ -2155,13 +173,12 @@ static char* winpr_get_unix_timezone_identifier_from_file(void) return tzid; } - static BOOL winpr_match_unix_timezone_identifier_with_list(const char* tzid, const char* list) { char* p; char* list_copy; - list_copy = _strdup(list); + if (!list_copy) return FALSE; @@ -2179,16 +196,14 @@ static BOOL winpr_match_unix_timezone_identifier_with_list(const char* tzid, con } free(list_copy); - return FALSE; } static TIME_ZONE_ENTRY* winpr_detect_windows_time_zone(void) { - int i, j; + size_t i, j; char* tzid; TIME_ZONE_ENTRY* timezone; - tzid = winpr_get_unix_timezone_identifier_from_file(); if (tzid == NULL) @@ -2207,11 +222,12 @@ static TIME_ZONE_ENTRY* winpr_detect_windows_time_zone(void) if (winpr_match_unix_timezone_identifier_with_list(tzid, WindowsTimeZoneIdTable[j].tzid)) { free(tzid); - timezone = (TIME_ZONE_ENTRY*) malloc(sizeof(TIME_ZONE_ENTRY)); + if (!timezone) return NULL; - memcpy((void*) timezone, (void*) &TimeZoneTable[i], sizeof(TIME_ZONE_ENTRY)); + + *timezone = TimeZoneTable[i]; return timezone; } } @@ -2222,14 +238,14 @@ static TIME_ZONE_ENTRY* winpr_detect_windows_time_zone(void) return NULL; } -static TIME_ZONE_RULE_ENTRY* winpr_get_current_time_zone_rule(TIME_ZONE_RULE_ENTRY* rules, UINT32 count) +static const TIME_ZONE_RULE_ENTRY* winpr_get_current_time_zone_rule(const TIME_ZONE_RULE_ENTRY* + rules, UINT32 count) { - int i; + UINT32 i; UINT64 windows_time; - windows_time = winpr_windows_gmtime(); - for (i = 0; i < (int) count; i++) + for (i = 0; i < count; i++) { if ((rules[i].TicksStart >= windows_time) && (windows_time >= rules[i].TicksEnd)) { @@ -2248,36 +264,37 @@ DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation) struct tm* local_time; TIME_ZONE_ENTRY* dtz; LPTIME_ZONE_INFORMATION tz = lpTimeZoneInformation; - lpTimeZoneInformation->StandardBias = 0; - time(&t); local_time = localtime(&t); - memset(tz, 0, sizeof(TIME_ZONE_INFORMATION)); - #ifdef HAVE_TM_GMTOFF - tz->Bias = -(local_time->tm_gmtoff / 60); + { + long bias = -(local_time->tm_gmtoff / 60L); + + if (bias > INT32_MAX) + bias = INT32_MAX; + + tz->Bias = (LONG)bias; + } #else tz->Bias = 0; #endif - dtz = winpr_detect_windows_time_zone(); - if (dtz!= NULL) + if (dtz != NULL) { int status; WLog_DBG(TAG, "tz: Bias=%"PRId32" sn='%s' dln='%s'", - dtz->Bias, dtz->StandardName, dtz->DaylightName); - + dtz->Bias, dtz->StandardName, dtz->DaylightName); tz->Bias = dtz->Bias; tz->StandardBias = 0; tz->DaylightBias = 0; - ZeroMemory(tz->StandardName, sizeof(tz->StandardName)); ZeroMemory(tz->DaylightName, sizeof(tz->DaylightName)); status = MultiByteToWideChar(CP_UTF8, 0, dtz->StandardName, -1, tz->StandardName, - sizeof(tz->StandardName)/sizeof(WCHAR)-1); + sizeof(tz->StandardName) / sizeof(WCHAR) - 1); + if (status < 1) { WLog_ERR(TAG, "StandardName conversion failed - using default"); @@ -2285,7 +302,8 @@ DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation) } status = MultiByteToWideChar(CP_UTF8, 0, dtz->DaylightName, -1, tz->DaylightName, - sizeof(tz->DaylightName)/sizeof(WCHAR)-1); + sizeof(tz->DaylightName) / sizeof(WCHAR) - 1); + if (status < 1) { WLog_ERR(TAG, "DaylightName conversion failed - using default"); @@ -2294,19 +312,18 @@ DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation) if ((dtz->SupportsDST) && (dtz->RuleTableCount > 0)) { - TIME_ZONE_RULE_ENTRY* rule; - rule = winpr_get_current_time_zone_rule(dtz->RuleTable, dtz->RuleTableCount); + const TIME_ZONE_RULE_ENTRY* rule = winpr_get_current_time_zone_rule(dtz->RuleTable, + dtz->RuleTableCount); if (rule != NULL) { tz->DaylightBias = -rule->DaylightDelta; - tz->StandardDate = rule->StandardDate; tz->DaylightDate = rule->DaylightDate; } } - free(dtz); + free(dtz); /* 1 ... TIME_ZONE_ID_STANDARD * 2 ... TIME_ZONE_ID_DAYLIGHT */ return local_time->tm_isdst ? 2 : 1; @@ -2323,28 +340,39 @@ out_error: BOOL SetTimeZoneInformation(const TIME_ZONE_INFORMATION* lpTimeZoneInformation) { + WINPR_UNUSED(lpTimeZoneInformation); return FALSE; } BOOL SystemTimeToFileTime(const SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime) { + WINPR_UNUSED(lpSystemTime); + WINPR_UNUSED(lpFileTime); return FALSE; } -BOOL FileTimeToSystemTime(const FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime) +BOOL FileTimeToSystemTime(const FILETIME* lpFileTime, LPSYSTEMTIME lpSystemTime) { + WINPR_UNUSED(lpFileTime); + WINPR_UNUSED(lpSystemTime); return FALSE; } BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION lpTimeZone, - LPSYSTEMTIME lpUniversalTime, LPSYSTEMTIME lpLocalTime) + LPSYSTEMTIME lpUniversalTime, LPSYSTEMTIME lpLocalTime) { + WINPR_UNUSED(lpTimeZone); + WINPR_UNUSED(lpUniversalTime); + WINPR_UNUSED(lpLocalTime); return FALSE; } BOOL TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformation, - LPSYSTEMTIME lpLocalTime, LPSYSTEMTIME lpUniversalTime) + LPSYSTEMTIME lpLocalTime, LPSYSTEMTIME lpUniversalTime) { + WINPR_UNUSED(lpTimeZoneInformation); + WINPR_UNUSED(lpLocalTime); + WINPR_UNUSED(lpUniversalTime); return FALSE; } @@ -2358,16 +386,22 @@ BOOL TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformati DWORD GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInformation) { + WINPR_UNUSED(pTimeZoneInformation); return 0; } BOOL SetDynamicTimeZoneInformation(const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation) { + WINPR_UNUSED(lpTimeZoneInformation); return FALSE; } -BOOL GetTimeZoneInformationForYear(USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION pdtzi, LPTIME_ZONE_INFORMATION ptzi) +BOOL GetTimeZoneInformationForYear(USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION pdtzi, + LPTIME_ZONE_INFORMATION ptzi) { + WINPR_UNUSED(wYear); + WINPR_UNUSED(pdtzi); + WINPR_UNUSED(ptzi); return FALSE; } @@ -2376,14 +410,20 @@ BOOL GetTimeZoneInformationForYear(USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION #if !defined(_WIN32) || (defined(_WIN32) && (_WIN32_WINNT < 0x0601)) /* Windows 7 */ BOOL SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, - const SYSTEMTIME* lpUniversalTime, LPSYSTEMTIME lpLocalTime) + const SYSTEMTIME* lpUniversalTime, LPSYSTEMTIME lpLocalTime) { + WINPR_UNUSED(lpTimeZoneInformation); + WINPR_UNUSED(lpUniversalTime); + WINPR_UNUSED(lpLocalTime); return FALSE; } BOOL TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, - const SYSTEMTIME* lpLocalTime, LPSYSTEMTIME lpUniversalTime) + const SYSTEMTIME* lpLocalTime, LPSYSTEMTIME lpUniversalTime) { + WINPR_UNUSED(lpTimeZoneInformation); + WINPR_UNUSED(lpLocalTime); + WINPR_UNUSED(lpUniversalTime); return FALSE; } @@ -2391,14 +431,21 @@ BOOL TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION* lpTi #if !defined(_WIN32) || (defined(_WIN32) && (_WIN32_WINNT < 0x0602)) /* Windows 8 */ -DWORD EnumDynamicTimeZoneInformation(const DWORD dwIndex, PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation) +DWORD EnumDynamicTimeZoneInformation(const DWORD dwIndex, + PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation) { + WINPR_UNUSED(dwIndex); + WINPR_UNUSED(lpTimeZoneInformation); return 0; } -DWORD GetDynamicTimeZoneInformationEffectiveYears(const PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation, - LPDWORD FirstYear, LPDWORD LastYear) +DWORD GetDynamicTimeZoneInformationEffectiveYears(const PDYNAMIC_TIME_ZONE_INFORMATION + lpTimeZoneInformation, + LPDWORD FirstYear, LPDWORD LastYear) { + WINPR_UNUSED(lpTimeZoneInformation); + WINPR_UNUSED(FirstYear); + WINPR_UNUSED(LastYear); return 0; }