summaryrefslogtreecommitdiffstats
path: root/winpr/libwinpr/timezone
diff options
context:
space:
mode:
Diffstat (limited to 'winpr/libwinpr/timezone')
-rw-r--r--winpr/libwinpr/timezone/CMakeLists.txt18
-rw-r--r--winpr/libwinpr/timezone/ModuleOptions.cmake9
-rw-r--r--winpr/libwinpr/timezone/TimeZones.c4099
-rw-r--r--winpr/libwinpr/timezone/TimeZones.h34
-rw-r--r--winpr/libwinpr/timezone/WindowsZones.c530
-rw-r--r--winpr/libwinpr/timezone/WindowsZones.h18
-rw-r--r--winpr/libwinpr/timezone/timezone.c581
7 files changed, 5289 insertions, 0 deletions
diff --git a/winpr/libwinpr/timezone/CMakeLists.txt b/winpr/libwinpr/timezone/CMakeLists.txt
new file mode 100644
index 0000000..5962332
--- /dev/null
+++ b/winpr/libwinpr/timezone/CMakeLists.txt
@@ -0,0 +1,18 @@
+# WinPR: Windows Portable Runtime
+# libwinpr-timezone cmake build script
+#
+# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+winpr_module_add(timezone.c TimeZones.c WindowsZones.c TimeZones.h WindowsZones.h)
diff --git a/winpr/libwinpr/timezone/ModuleOptions.cmake b/winpr/libwinpr/timezone/ModuleOptions.cmake
new file mode 100644
index 0000000..7f5df38
--- /dev/null
+++ b/winpr/libwinpr/timezone/ModuleOptions.cmake
@@ -0,0 +1,9 @@
+
+set(MINWIN_LAYER "1")
+set(MINWIN_GROUP "core")
+set(MINWIN_MAJOR_VERSION "1")
+set(MINWIN_MINOR_VERSION "0")
+set(MINWIN_SHORT_NAME "timezone")
+set(MINWIN_LONG_NAME "Time Zone Functions")
+set(MODULE_LIBRARY_NAME "api-ms-win-${MINWIN_GROUP}-${MINWIN_SHORT_NAME}-l${MINWIN_LAYER}-${MINWIN_MAJOR_VERSION}-${MINWIN_MINOR_VERSION}")
+
diff --git a/winpr/libwinpr/timezone/TimeZones.c b/winpr/libwinpr/timezone/TimeZones.c
new file mode 100644
index 0000000..489426f
--- /dev/null
+++ b/winpr/libwinpr/timezone/TimeZones.c
@@ -0,0 +1,4099 @@
+/*
+ * Automatically generated with scripts/TimeZones.csx
+ */
+
+#include "TimeZones.h"
+
+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[] = { {
+ 638080380000000000ULL,
+ 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_13[] = { {
+ 633031164000000000ULL,
+ 0ULL,
+ 60,
+ { 0, 10, 0, 5, 2, 0, 0, 0 },
+ { 0, 4, 0, 1, 2, 0, 0, 0 },
+ },
+ {
+ 633346524000000000ULL,
+ 633032028000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 633662748000000000ULL,
+ 633347388000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 633978108000000000ULL,
+ 633663612000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 634293468000000000ULL,
+ 633978972000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 634608828000000000ULL,
+ 634294332000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 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 },
+ },
+ {
+ 636187356000000000ULL,
+ 635871996000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 636502716000000000ULL,
+ 636188220000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 11, 0, 1, 2, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 1, 3, 1, 0, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_15[] = { {
+ 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_16[] = { {
+ 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 },
+ },
+ {
+ 636187356000000000ULL,
+ 635871996000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 22, 0, 0, 0 },
+ { 0, 8, 6, 2, 22, 0, 0, 0 },
+ },
+ {
+ 636502716000000000ULL,
+ 636188220000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 22, 0, 0, 0 },
+ { 0, 8, 6, 2, 22, 0, 0, 0 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 22, 0, 0, 0 },
+ { 0, 8, 6, 2, 22, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 22, 0, 0, 0 },
+ { 0, 9, 6, 1, 22, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 22, 0, 0, 0 },
+ { 0, 9, 6, 1, 22, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 22, 0, 0, 0 },
+ { 0, 9, 6, 1, 22, 0, 0, 0 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 22, 0, 0, 0 },
+ { 0, 9, 6, 2, 22, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 22, 0, 0, 0 },
+ { 0, 9, 6, 1, 22, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_17[] = { {
+ 638080380000000000ULL,
+ 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_20[] = { {
+ 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_21[] = { {
+ 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_22[] = { {
+ 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_23[] = { {
+ 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_24[] = { {
+ 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_25[] = { {
+ 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, 3, 0, 2, 2, 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_26[] = { {
+ 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 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 3, 6, 5, 23, 59, 59, 999 },
+ { 0, 10, 6, 1, 23, 59, 59, 999 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 3, 6, 5, 23, 59, 59, 999 },
+ { 0, 10, 6, 1, 23, 59, 59, 999 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 3, 0, 4, 0, 0, 0, 0 },
+ { 0, 10, 0, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_27[] = { {
+ 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_28[] = { {
+ 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_29[] = { {
+ 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, 0, 3, 0, 0, 0, 0 },
+ { 0, 1, 2, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_31[] = { {
+ 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 },
+ },
+ {
+ 636187356000000000ULL,
+ 635871996000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 23, 59, 59, 999 },
+ { 0, 8, 6, 2, 23, 59, 59, 999 },
+ },
+ {
+ 636502716000000000ULL,
+ 636188220000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 23, 59, 59, 999 },
+ { 0, 8, 6, 2, 23, 59, 59, 999 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 5, 6, 2, 23, 59, 59, 999 },
+ { 0, 8, 6, 2, 23, 59, 59, 999 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 23, 59, 59, 999 },
+ { 0, 9, 6, 1, 23, 59, 59, 999 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 23, 59, 59, 999 },
+ { 0, 9, 6, 1, 23, 59, 59, 999 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 23, 59, 59, 999 },
+ { 0, 9, 6, 1, 23, 59, 59, 999 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 23, 59, 59, 999 },
+ { 0, 9, 6, 2, 23, 59, 59, 999 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 4, 6, 1, 23, 59, 59, 999 },
+ { 0, 9, 6, 1, 23, 59, 59, 999 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_32[] = { {
+ 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_33[] = { {
+ 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_34[] = { {
+ 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, 0, 3, 0, 0, 0, 0 },
+ { 0, 1, 2, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_36[] = { {
+ 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_37[] = { {
+ 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_38[] = { {
+ 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_39[] = { {
+ 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_40[] = { {
+ 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_41[] = { {
+ 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_43[] = { {
+ 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_44[] = { {
+ 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_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[] = { {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ -60,
+ { 0, 1, 1, 1, 1, 0, 0, 0 },
+ { 0, 1, 1, 1, 0, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 1, 2, 1, 2, 0, 0, 0 },
+ { 0, 1, 2, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_50[] = { {
+ 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, 4, 3, 0, 0, 0 },
+ { 0, 3, 0, 4, 2, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 1, 2, 1, 0, 0, 0, 0 },
+ { 0, 6, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 4, 0, 3, 3, 0, 0, 0 },
+ { 0, 5, 0, 5, 2, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 4, 0, 2, 3, 0, 0, 0 },
+ { 0, 5, 0, 3, 2, 0, 0, 0 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 3, 0, 5, 3, 0, 0, 0 },
+ { 0, 5, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 638395740000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 3, 0, 3, 3, 0, 0, 0 },
+ { 0, 4, 0, 4, 2, 0, 0, 0 },
+ },
+ {
+ 638711964000000000ULL,
+ 638396604000000000ULL,
+ 60,
+ { 0, 3, 0, 2, 3, 0, 0, 0 },
+ { 0, 4, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 639027324000000000ULL,
+ 638712828000000000ULL,
+ 60,
+ { 0, 2, 0, 5, 3, 0, 0, 0 },
+ { 0, 4, 0, 1, 2, 0, 0, 0 },
+ },
+ {
+ 639342684000000000ULL,
+ 639028188000000000ULL,
+ 60,
+ { 0, 2, 0, 3, 3, 0, 0, 0 },
+ { 0, 3, 0, 4, 2, 0, 0, 0 },
+ },
+ {
+ 639658044000000000ULL,
+ 639343548000000000ULL,
+ 60,
+ { 0, 2, 0, 1, 3, 0, 0, 0 },
+ { 0, 3, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 639974268000000000ULL,
+ 639658908000000000ULL,
+ 60,
+ { 0, 1, 0, 4, 3, 0, 0, 0 },
+ { 0, 3, 0, 1, 2, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 639975132000000000ULL,
+ 60,
+ { 0, 1, 0, 2, 3, 0, 0, 0 },
+ { 0, 2, 0, 3, 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[] = { {
+ 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_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_54[] = { {
+ 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_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 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 10, 4, 5, 23, 59, 59, 999 },
+ { 0, 4, 4, 5, 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 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 10, 4, 5, 23, 59, 59, 999 },
+ { 0, 3, 5, 5, 0, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 10, 4, 5, 23, 59, 59, 999 },
+ { 0, 3, 5, 5, 0, 0, 0, 0 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 10, 4, 5, 23, 59, 59, 999 },
+ { 0, 3, 5, 5, 0, 0, 0, 0 },
+ },
+ {
+ 638395740000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 10, 4, 5, 23, 59, 59, 999 },
+ { 0, 3, 5, 5, 0, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638396604000000000ULL,
+ 60,
+ { 0, 10, 5, 4, 0, 0, 0, 0 },
+ { 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, 5, 4, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 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 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 4, 1, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 10, 6, 4, 0, 0, 0, 0 },
+ { 0, 3, 5, 5, 0, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 10, 6, 4, 1, 0, 0, 0 },
+ { 0, 3, 6, 4, 0, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 638395740000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 638711964000000000ULL,
+ 638396604000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 639027324000000000ULL,
+ 638712828000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 639342684000000000ULL,
+ 639028188000000000ULL,
+ 60,
+ { 0, 10, 6, 4, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 639658044000000000ULL,
+ 639343548000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 639974268000000000ULL,
+ 639658908000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 0, 0, 0 },
+ },
+ {
+ 640289628000000000ULL,
+ 639975132000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 4, 0, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 640290492000000000ULL,
+ 60,
+ { 0, 10, 6, 5, 1, 0, 0, 0 },
+ { 0, 3, 6, 5, 0, 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 },
+ },
+ {
+ 638395740000000000ULL,
+ 638081244000000000ULL,
+ 60,
+ { 0, 10, 0, 5, 2, 0, 0, 0 },
+ { 0, 3, 5, 4, 2, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 638396604000000000ULL,
+ 60,
+ { 0, 10, 0, 4, 2, 0, 0, 0 },
+ { 0, 3, 5, 5, 2, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_65[] = { {
+ 637449660000000000ULL,
+ 0ULL,
+ 0,
+ { 0, 1, 0, 1, 0, 0, 0, 1 },
+ { 0, 1, 0, 1, 0, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 1, 0, 5, 23, 59, 59, 999 },
+ { 0, 1, 5, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_66[] = { {
+ 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_67[] = { {
+ 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_68[] = { {
+ 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_69[] = { {
+ 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_70[] = { {
+ 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 },
+ },
+ {
+ 635555772000000000ULL,
+ 635241276000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 635871132000000000ULL,
+ 635556636000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 636187356000000000ULL,
+ 635871996000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 636502716000000000ULL,
+ 636188220000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 10, 5, 5, 1, 0, 0, 0 },
+ { 0, 3, 4, 5, 23, 59, 59, 999 },
+ },
+ {
+ 638080380000000000ULL,
+ 637765884000000000ULL,
+ 60,
+ { 0, 1, 6, 1, 0, 0, 0, 0 },
+ { 0, 2, 4, 5, 23, 59, 59, 999 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_71[] = { {
+ 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_72[] = { {
+ 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_74[] = { {
+ 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_75[] = { {
+ 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_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 },
+ },
+ {
+ 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 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ -60,
+ { 0, 10, 0, 5, 2, 0, 0, 0 },
+ { 0, 1, 1, 1, 0, 0, 0, 0 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 0,
+ { 0, 1, 0, 1, 0, 0, 0, 1 },
+ { 0, 1, 0, 1, 0, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 12, 0, 5, 2, 0, 0, 0 },
+ { 0, 1, 3, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_78[] = { {
+ 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 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_80[] = { {
+ 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_81[] = { {
+ 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_82[] = { {
+ 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_83[] = { {
+ 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_84[] = { {
+ 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_86[] = { {
+ 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_89[] = { {
+ 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_90[] = { {
+ 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_91[] = { {
+ 636502716000000000ULL,
+ 0ULL,
+ 0,
+ { 0, 1, 0, 1, 0, 0, 0, 1 },
+ { 0, 1, 0, 1, 0, 0, 0, 0 },
+ },
+ {
+ 636818076000000000ULL,
+ 636503580000000000ULL,
+ 60,
+ { 0, 12, 5, 3, 0, 0, 0, 0 },
+ { 0, 1, 1, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_96[] = { {
+ 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_97[] = { {
+ 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_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, 3, 0, 5, 2, 0, 0, 0 },
+ { 0, 1, 5, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_101[] = { {
+ 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_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_103[] = { {
+ 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_104[] = { {
+ 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_106[] = { {
+ 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_108[] = { {
+ 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_110[] = { {
+ 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_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,
+ 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_114[] = { {
+ 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_116[] = { {
+ 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_117[] = { {
+ 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_120[] = { {
+ 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_122[] = { {
+ 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_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,
+ 60,
+ { 0, 10, 0, 5, 2, 0, 0, 0 },
+ { 0, 1, 3, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_124[] = { {
+ 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_125[] = { {
+ 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_126[] = { {
+ 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_127[] = { {
+ 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_128[] = { {
+ 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 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 1, 2, 1, 0, 0, 0, 0 },
+ { 0, 10, 0, 1, 2, 0, 0, 0 },
+ },
+ {
+ 3155378076000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 4, 0, 1, 3, 0, 0, 0 },
+ { 0, 10, 0, 1, 2, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_129[] = { {
+ 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_131[] = { {
+ 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_132[] = { {
+ 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_134[] = { {
+ 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 },
+ },
+ {
+ 637133436000000000ULL,
+ 636818940000000000ULL,
+ 60,
+ { 0, 1, 0, 2, 3, 0, 0, 0 },
+ { 0, 11, 0, 2, 2, 0, 0, 0 },
+ },
+ {
+ 637449660000000000ULL,
+ 637134300000000000ULL,
+ 60,
+ { 0, 1, 0, 2, 3, 0, 0, 0 },
+ { 0, 12, 0, 3, 2, 0, 0, 0 },
+ },
+ {
+ 637765020000000000ULL,
+ 637450524000000000ULL,
+ 60,
+ { 0, 1, 0, 3, 3, 0, 0, 0 },
+ { 0, 1, 5, 1, 0, 0, 0, 0 },
+ } };
+
+static const TIME_ZONE_RULE_ENTRY TimeZoneRuleTable_135[] = { {
+ 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_136[] = { {
+ 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_138[] = { {
+ 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_139[] = { {
+ 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 },
+ } };
+
+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) 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 },
+ { "Yukon Standard Time", 420, TRUE, "(UTC-07:00) Yukon", "Yukon Standard Time",
+ "Yukon Daylight Time", TimeZoneRuleTable_13, 15 },
+ { "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_15, 2 },
+ { "Easter Island Standard Time", 360, TRUE, "(UTC-06:00) Easter Island",
+ "Easter Island Standard Time", "Easter Island Daylight Time", TimeZoneRuleTable_16, 17 },
+ { "Central Standard Time (Mexico)", 360, TRUE,
+ "(UTC-06:00) Guadalajara, Mexico City, Monterrey", "Central Standard Time (Mexico)",
+ "Central Daylight Time (Mexico)", TimeZoneRuleTable_17, 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_20, 2 },
+ { "Eastern Standard Time", 300, TRUE, "(UTC-05:00) Eastern Time (US & Canada)",
+ "Eastern Standard Time", "Eastern Daylight Time", TimeZoneRuleTable_21, 2 },
+ { "Haiti Standard Time", 300, TRUE, "(UTC-05:00) Haiti", "Haiti Standard Time",
+ "Haiti Daylight Time", TimeZoneRuleTable_22, 6 },
+ { "Cuba Standard Time", 300, TRUE, "(UTC-05:00) Havana", "Cuba Standard Time",
+ "Cuba Daylight Time", TimeZoneRuleTable_23, 11 },
+ { "US Eastern Standard Time", 300, TRUE, "(UTC-05:00) Indiana (East)",
+ "US Eastern Standard Time", "US Eastern Daylight Time", TimeZoneRuleTable_24, 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_25, 6 },
+ { "Paraguay Standard Time", 240, TRUE, "(UTC-04:00) Asuncion", "Paraguay Standard Time",
+ "Paraguay Daylight Time", TimeZoneRuleTable_26, 16 },
+ { "Atlantic Standard Time", 240, TRUE, "(UTC-04:00) Atlantic Time (Canada)",
+ "Atlantic Standard Time", "Atlantic Daylight Time", TimeZoneRuleTable_27, 2 },
+ { "Venezuela Standard Time", 240, TRUE, "(UTC-04:00) Caracas", "Venezuela Standard Time",
+ "Venezuela Daylight Time", TimeZoneRuleTable_28, 10 },
+ { "Central Brazilian Standard Time", 240, TRUE, "(UTC-04:00) Cuiaba",
+ "Central Brazilian Standard Time", "Central Brazilian Daylight Time", TimeZoneRuleTable_29,
+ 16 },
+ { "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_31, 17 },
+ { "Newfoundland Standard Time", 210, TRUE, "(UTC-03:30) Newfoundland",
+ "Newfoundland Standard Time", "Newfoundland Daylight Time", TimeZoneRuleTable_32, 7 },
+ { "Tocantins Standard Time", 180, TRUE, "(UTC-03:00) Araguaina", "Tocantins Standard Time",
+ "Tocantins Daylight Time", TimeZoneRuleTable_33, 2 },
+ { "E. South America Standard Time", 180, TRUE, "(UTC-03:00) Brasilia",
+ "E. South America Standard Time", "E. South America Daylight Time", TimeZoneRuleTable_34,
+ 16 },
+ { "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_36, 3 },
+ { "Greenland Standard Time", 180, TRUE, "(UTC-03:00) Greenland", "Greenland Standard Time",
+ "Greenland Daylight Time", TimeZoneRuleTable_37, 18 },
+ { "Montevideo Standard Time", 180, TRUE, "(UTC-03:00) Montevideo", "Montevideo Standard Time",
+ "Montevideo Daylight Time", TimeZoneRuleTable_38, 2 },
+ { "Magallanes Standard Time", 180, TRUE, "(UTC-03:00) Punta Arenas", "Magallanes Standard Time",
+ "Magallanes Daylight Time", TimeZoneRuleTable_39, 9 },
+ { "Saint Pierre Standard Time", 180, TRUE, "(UTC-03:00) Saint Pierre and Miquelon",
+ "Saint Pierre Standard Time", "Saint Pierre Daylight Time", TimeZoneRuleTable_40, 2 },
+ { "Bahia Standard Time", 180, TRUE, "(UTC-03:00) Salvador", "Bahia Standard Time",
+ "Bahia Daylight Time", TimeZoneRuleTable_41, 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_43, 1 },
+ { "Azores Standard Time", 60, TRUE, "(UTC-01:00) Azores", "Azores Standard Time",
+ "Azores Daylight Time", TimeZoneRuleTable_44, 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 },
+ { "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 },
+ { "Sao Tome Standard Time", 0, TRUE, "(UTC+00:00) Sao Tome", "Sao Tome Standard Time",
+ "Sao Tome Daylight Time", TimeZoneRuleTable_49, 2 },
+ { "Morocco Standard Time", 0, TRUE, "(UTC+01:00) Casablanca", "Morocco Standard Time",
+ "Morocco Daylight Time", TimeZoneRuleTable_50, 22 },
+ { "W. Europe Standard Time", -60, TRUE,
+ "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", "W. Europe Standard Time",
+ "W. Europe Daylight Time", TimeZoneRuleTable_51, 1 },
+ { "Central Europe Standard Time", -60, TRUE,
+ "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",
+ "Central Europe Standard Time", "Central Europe Daylight Time", TimeZoneRuleTable_52, 1 },
+ { "Romance Standard Time", -60, TRUE, "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",
+ "Romance Standard Time", "Romance Daylight Time", TimeZoneRuleTable_53, 1 },
+ { "Central European Standard Time", -60, TRUE, "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",
+ "Central European Standard Time", "Central European Daylight Time", TimeZoneRuleTable_54, 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 },
+ { "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, 8 },
+ { "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, 21 },
+ { "West Bank Standard Time", -120, TRUE, "(UTC+02:00) Gaza, Hebron",
+ "West Bank Gaza Standard Time", "West Bank Gaza Daylight Time", TimeZoneRuleTable_61, 19 },
+ { "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, 21 },
+ { "South Sudan Standard Time", -120, TRUE, "(UTC+02:00) Juba", "South Sudan Standard Time",
+ "South Sudan Daylight Time", TimeZoneRuleTable_65, 2 },
+ { "Kaliningrad Standard Time", -120, TRUE, "(UTC+02:00) Kaliningrad",
+ "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time", TimeZoneRuleTable_66, 5 },
+ { "Sudan Standard Time", -120, TRUE, "(UTC+02:00) Khartoum", "Sudan Standard Time",
+ "Sudan Daylight Time", TimeZoneRuleTable_67, 2 },
+ { "Libya Standard Time", -120, TRUE, "(UTC+02:00) Tripoli", "Libya Standard Time",
+ "Libya Daylight Time", TimeZoneRuleTable_68, 2 },
+ { "Namibia Standard Time", -120, TRUE, "(UTC+02:00) Windhoek", "Namibia Standard Time",
+ "Namibia Daylight Time", TimeZoneRuleTable_69, 1 },
+ { "Jordan Standard Time", -180, TRUE, "(UTC+03:00) Amman", "Jordan Standard Time",
+ "Jordan Daylight Time", TimeZoneRuleTable_70, 12 },
+ { "Arabic Standard Time", -180, TRUE, "(UTC+03:00) Baghdad", "Arabic Standard Time",
+ "Arabic Daylight Time", TimeZoneRuleTable_71, 4 },
+ { "Turkey Standard Time", -180, TRUE, "(UTC+03:00) Istanbul", "Turkey Standard Time",
+ "Turkey Daylight Time", TimeZoneRuleTable_72, 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_74, 2 },
+ { "Russian Standard Time", -180, TRUE, "(UTC+03:00) Moscow, St. Petersburg",
+ "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time", TimeZoneRuleTable_75, 5 },
+ { "E. Africa Standard Time", -180, FALSE, "(UTC+03:00) Nairobi", "E. Africa Standard Time",
+ "E. Africa Daylight Time", NULL, 0 },
+ { "Volgograd Standard Time", -180, TRUE, "(UTC+03:00) Volgograd", "Volgograd Standard Time",
+ "Volgograd Daylight Time", TimeZoneRuleTable_77, 8 },
+ { "Iran Standard Time", -210, TRUE, "(UTC+03:30) Tehran", "Iran Standard Time",
+ "Iran Daylight Time", TimeZoneRuleTable_78, 17 },
+ { "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_80, 5 },
+ { "Azerbaijan Standard Time", -240, TRUE, "(UTC+04:00) Baku", "Azerbaijan Standard Time",
+ "Azerbaijan Daylight Time", TimeZoneRuleTable_81, 1 },
+ { "Russia Time Zone 3", -240, TRUE, "(UTC+04:00) Izhevsk, Samara", "Russia TZ 3 Standard Time",
+ "Russia TZ 3 Daylight Time", TimeZoneRuleTable_82, 3 },
+ { "Mauritius Standard Time", -240, TRUE, "(UTC+04:00) Port Louis", "Mauritius Standard Time",
+ "Mauritius Daylight Time", TimeZoneRuleTable_83, 2 },
+ { "Saratov Standard Time", -240, TRUE, "(UTC+04:00) Saratov", "Saratov Standard Time",
+ "Saratov Daylight Time", TimeZoneRuleTable_84, 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_86, 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_89, 5 },
+ { "Pakistan Standard Time", -300, TRUE, "(UTC+05:00) Islamabad, Karachi",
+ "Pakistan Standard Time", "Pakistan Daylight Time", TimeZoneRuleTable_90, 2 },
+ { "Qyzylorda Standard Time", -300, TRUE, "(UTC+05:00) Qyzylorda", "Qyzylorda Standard Time",
+ "Qyzylorda Daylight Time", TimeZoneRuleTable_91, 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_96, 1 },
+ { "Omsk Standard Time", -360, TRUE, "(UTC+06:00) Omsk", "Omsk Standard Time",
+ "Omsk Daylight Time", TimeZoneRuleTable_97, 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_100, 5 },
+ { "W. Mongolia Standard Time", -420, TRUE, "(UTC+07:00) Hovd", "W. Mongolia Standard Time",
+ "W. Mongolia Daylight Time", TimeZoneRuleTable_101, 3 },
+ { "North Asia Standard Time", -420, TRUE, "(UTC+07:00) Krasnoyarsk",
+ "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time", TimeZoneRuleTable_102, 5 },
+ { "N. Central Asia Standard Time", -420, TRUE, "(UTC+07:00) Novosibirsk",
+ "Novosibirsk Standard Time", "Novosibirsk Daylight Time", TimeZoneRuleTable_103, 5 },
+ { "Tomsk Standard Time", -420, TRUE, "(UTC+07:00) Tomsk", "Tomsk Standard Time",
+ "Tomsk Daylight Time", TimeZoneRuleTable_104, 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_106, 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_108, 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_110, 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_112, 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_114, 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_116, 5 },
+ { "Cen. Australia Standard Time", -570, TRUE, "(UTC+09:30) Adelaide",
+ "Cen. Australia Standard Time", "Cen. Australia Daylight Time", TimeZoneRuleTable_117, 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_120, 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_122, 2 },
+ { "Vladivostok Standard Time", -600, TRUE, "(UTC+10:00) Vladivostok",
+ "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time", TimeZoneRuleTable_123, 5 },
+ { "Lord Howe Standard Time", -630, TRUE, "(UTC+10:30) Lord Howe Island",
+ "Lord Howe Standard Time", "Lord Howe Daylight Time", TimeZoneRuleTable_124, 4 },
+ { "Bougainville Standard Time", -660, TRUE, "(UTC+11:00) Bougainville Island",
+ "Bougainville Standard Time", "Bougainville Daylight Time", TimeZoneRuleTable_125, 2 },
+ { "Russia Time Zone 10", -660, TRUE, "(UTC+11:00) Chokurdakh", "Russia TZ 10 Standard Time",
+ "Russia TZ 10 Daylight Time", TimeZoneRuleTable_126, 5 },
+ { "Magadan Standard Time", -660, TRUE, "(UTC+11:00) Magadan", "Magadan Standard Time",
+ "Magadan Daylight Time", TimeZoneRuleTable_127, 7 },
+ { "Norfolk Standard Time", -660, TRUE, "(UTC+11:00) Norfolk Island", "Norfolk Standard Time",
+ "Norfolk Daylight Time", TimeZoneRuleTable_128, 4 },
+ { "Sakhalin Standard Time", -660, TRUE, "(UTC+11:00) Sakhalin", "Sakhalin Standard Time",
+ "Sakhalin Daylight Time", TimeZoneRuleTable_129, 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_131, 3 },
+ { "New Zealand Standard Time", -720, TRUE, "(UTC+12:00) Auckland, Wellington",
+ "New Zealand Standard Time", "New Zealand Daylight Time", TimeZoneRuleTable_132, 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_134, 13 },
+ { "Kamchatka Standard Time", -720, TRUE, "(UTC+12:00) Petropavlovsk-Kamchatsky - Old",
+ "Kamchatka Standard Time", "Kamchatka Daylight Time", TimeZoneRuleTable_135, 1 },
+ { "Chatham Islands Standard Time", -765, TRUE, "(UTC+12:45) Chatham Islands",
+ "Chatham Islands Standard Time", "Chatham Islands Daylight Time", TimeZoneRuleTable_136, 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_138, 2 },
+ { "Samoa Standard Time", -780, TRUE, "(UTC+13:00) Samoa", "Samoa Standard Time",
+ "Samoa Daylight Time", TimeZoneRuleTable_139, 4 },
+ { "Line Islands Standard Time", -840, FALSE, "(UTC+14:00) Kiritimati Island",
+ "Line Islands Standard Time", "Line Islands Daylight Time", NULL, 0 }
+};
+
+const size_t TimeZoneTableNrElements = ARRAYSIZE(TimeZoneTable);
diff --git a/winpr/libwinpr/timezone/TimeZones.h b/winpr/libwinpr/timezone/TimeZones.h
new file mode 100644
index 0000000..54c9f2d
--- /dev/null
+++ b/winpr/libwinpr/timezone/TimeZones.h
@@ -0,0 +1,34 @@
+/*
+ * Automatically generated with scripts/TimeZones.csx
+ */
+
+#ifndef WINPR_TIME_ZONES_H_
+#define WINPR_TIME_ZONES_H_
+
+#include <winpr/wtypes.h>
+
+typedef struct
+{
+ UINT64 TicksStart;
+ UINT64 TicksEnd;
+ INT32 DaylightDelta;
+ SYSTEMTIME StandardDate;
+ SYSTEMTIME DaylightDate;
+} TIME_ZONE_RULE_ENTRY;
+
+typedef struct
+{
+ const char* Id;
+ INT32 Bias;
+ BOOL SupportsDST;
+ const char* DisplayName;
+ const char* StandardName;
+ const char* DaylightName;
+ const TIME_ZONE_RULE_ENTRY* RuleTable;
+ UINT32 RuleTableCount;
+} TIME_ZONE_ENTRY;
+
+extern const TIME_ZONE_ENTRY TimeZoneTable[];
+extern const size_t TimeZoneTableNrElements;
+
+#endif /* WINPR_TIME_ZONES_H_ */
diff --git a/winpr/libwinpr/timezone/WindowsZones.c b/winpr/libwinpr/timezone/WindowsZones.c
new file mode 100644
index 0000000..d97ec3c
--- /dev/null
+++ b/winpr/libwinpr/timezone/WindowsZones.c
@@ -0,0 +1,530 @@
+/*
+ * Automatically generated with scripts/update-windows-zones.py
+ */
+
+#include "WindowsZones.h"
+
+const WINDOWS_TZID_ENTRY WindowsTimeZoneIdTable[] = {
+ { "AUS Central Standard Time", "Australia/Darwin" },
+ { "AUS Central Standard Time", "Australia/Darwin" },
+ { "AUS Eastern Standard Time", "Australia/Sydney Australia/Melbourne" },
+ { "AUS Eastern Standard Time", "Australia/Sydney" },
+ { "Afghanistan Standard Time", "Asia/Kabul" },
+ { "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" },
+ { "Aleutian Standard Time", "America/Adak" },
+ { "Altai Standard Time", "Asia/Barnaul" },
+ { "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" },
+ { "Arab Standard Time", "Asia/Riyadh" },
+ { "Arabian Standard Time", "Asia/Dubai" },
+ { "Arabian Standard Time", "Asia/Dubai" },
+ { "Arabian Standard Time", "Asia/Muscat" },
+ { "Arabian Standard Time", "Etc/GMT-4" },
+ { "Arabic Standard Time", "Asia/Baghdad" },
+ { "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 W. Standard Time", "Australia/Eucla" },
+ { "Aus Central W. Standard Time", "Australia/Eucla" },
+ { "Azerbaijan Standard Time", "Asia/Baku" },
+ { "Azerbaijan Standard Time", "Asia/Baku" },
+ { "Azores Standard Time", "America/Scoresbysund" },
+ { "Azores Standard Time", "Atlantic/Azores" },
+ { "Azores Standard Time", "Atlantic/Azores" },
+ { "Bahia Standard Time", "America/Bahia" },
+ { "Bahia Standard Time", "America/Bahia" },
+ { "Bangladesh Standard Time", "Asia/Dhaka" },
+ { "Bangladesh Standard Time", "Asia/Dhaka" },
+ { "Bangladesh Standard Time", "Asia/Thimphu" },
+ { "Belarus Standard Time", "Europe/Minsk" },
+ { "Belarus Standard Time", "Europe/Minsk" },
+ { "Bougainville Standard Time", "Pacific/Bougainville" },
+ { "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", "Atlantic/Cape_Verde" },
+ { "Cape Verde Standard Time", "Etc/GMT+1" },
+ { "Caucasus Standard Time", "Asia/Yerevan" },
+ { "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/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/Qostanay" },
+ { "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/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/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/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" },
+ { "Chatham Islands Standard Time", "Pacific/Chatham" },
+ { "China Standard Time", "Asia/Hong_Kong" },
+ { "China Standard Time", "Asia/Macau" },
+ { "China Standard Time", "Asia/Shanghai" },
+ { "China Standard Time", "Asia/Shanghai" },
+ { "Cuba Standard Time", "America/Havana" },
+ { "Cuba Standard Time", "America/Havana" },
+ { "Dateline Standard Time", "Etc/GMT+12" },
+ { "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", "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. Europe Standard Time", "Europe/Chisinau" },
+ { "E. South America Standard Time", "America/Sao_Paulo" },
+ { "E. South America Standard Time", "America/Sao_Paulo" },
+ { "Easter Island Standard Time", "Pacific/Easter" },
+ { "Easter Island Standard Time", "Pacific/Easter" },
+ { "Eastern Standard Time (Mexico)", "America/Cancun" },
+ { "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" },
+ { "Egypt Standard Time", "Africa/Cairo" },
+ { "Ekaterinburg Standard Time", "Asia/Yekaterinburg" },
+ { "Ekaterinburg Standard Time", "Asia/Yekaterinburg" },
+ { "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" },
+ { "Fiji Standard Time", "Pacific/Fiji" },
+ { "Fiji Standard Time", "Pacific/Fiji" },
+ { "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" },
+ { "GMT Standard Time", "Europe/London" },
+ { "GTB Standard Time", "Asia/Nicosia Asia/Famagusta" },
+ { "GTB Standard Time", "Europe/Athens" },
+ { "GTB Standard Time", "Europe/Bucharest" },
+ { "GTB Standard Time", "Europe/Bucharest" },
+ { "Georgian Standard Time", "Asia/Tbilisi" },
+ { "Georgian Standard Time", "Asia/Tbilisi" },
+ { "Greenland Standard Time", "America/Godthab" },
+ { "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/Reykjavik" },
+ { "Greenwich Standard Time", "Atlantic/St_Helena" },
+ { "Haiti Standard Time", "America/Port-au-Prince" },
+ { "Haiti Standard Time", "America/Port-au-Prince" },
+ { "Hawaiian Standard Time", "Etc/GMT+10" },
+ { "Hawaiian Standard Time", "Pacific/Honolulu" },
+ { "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" },
+ { "India Standard Time", "Asia/Calcutta" },
+ { "Iran Standard Time", "Asia/Tehran" },
+ { "Iran Standard Time", "Asia/Tehran" },
+ { "Israel Standard Time", "Asia/Jerusalem" },
+ { "Israel Standard Time", "Asia/Jerusalem" },
+ { "Jordan Standard Time", "Asia/Amman" },
+ { "Jordan Standard Time", "Asia/Amman" },
+ { "Kaliningrad Standard Time", "Europe/Kaliningrad" },
+ { "Kaliningrad Standard Time", "Europe/Kaliningrad" },
+ { "Korea Standard Time", "Asia/Seoul" },
+ { "Korea Standard Time", "Asia/Seoul" },
+ { "Libya Standard Time", "Africa/Tripoli" },
+ { "Libya Standard Time", "Africa/Tripoli" },
+ { "Line Islands Standard Time", "Etc/GMT-14" },
+ { "Line Islands Standard Time", "Pacific/Kiritimati" },
+ { "Line Islands Standard Time", "Pacific/Kiritimati" },
+ { "Lord Howe Standard Time", "Australia/Lord_Howe" },
+ { "Lord Howe Standard Time", "Australia/Lord_Howe" },
+ { "Magadan Standard Time", "Asia/Magadan" },
+ { "Magadan Standard Time", "Asia/Magadan" },
+ { "Magallanes Standard Time", "America/Punta_Arenas" },
+ { "Magallanes Standard Time", "America/Punta_Arenas" },
+ { "Marquesas Standard Time", "Pacific/Marquesas" },
+ { "Marquesas Standard Time", "Pacific/Marquesas" },
+ { "Mauritius Standard Time", "Indian/Mahe" },
+ { "Mauritius Standard Time", "Indian/Mauritius" },
+ { "Mauritius Standard Time", "Indian/Mauritius" },
+ { "Mauritius Standard Time", "Indian/Reunion" },
+ { "Middle East Standard Time", "Asia/Beirut" },
+ { "Middle East Standard Time", "Asia/Beirut" },
+ { "Montevideo Standard Time", "America/Montevideo" },
+ { "Montevideo Standard Time", "America/Montevideo" },
+ { "Morocco Standard Time", "Africa/Casablanca" },
+ { "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", "Asia/Rangoon" },
+ { "Myanmar Standard Time", "Indian/Cocos" },
+ { "N. Central Asia Standard Time", "Asia/Novosibirsk" },
+ { "N. Central Asia Standard Time", "Asia/Novosibirsk" },
+ { "Namibia Standard Time", "Africa/Windhoek" },
+ { "Namibia Standard Time", "Africa/Windhoek" },
+ { "Nepal Standard Time", "Asia/Katmandu" },
+ { "Nepal Standard Time", "Asia/Katmandu" },
+ { "New Zealand Standard Time", "Antarctica/McMurdo" },
+ { "New Zealand Standard Time", "Pacific/Auckland" },
+ { "New Zealand Standard Time", "Pacific/Auckland" },
+ { "Newfoundland Standard Time", "America/St_Johns" },
+ { "Newfoundland Standard Time", "America/St_Johns" },
+ { "Norfolk Standard Time", "Pacific/Norfolk" },
+ { "Norfolk Standard Time", "Pacific/Norfolk" },
+ { "North Asia East Standard Time", "Asia/Irkutsk" },
+ { "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" },
+ { "North Korea Standard Time", "Asia/Pyongyang" },
+ { "Omsk Standard Time", "Asia/Omsk" },
+ { "Omsk Standard Time", "Asia/Omsk" },
+ { "Pacific SA Standard Time", "America/Santiago" },
+ { "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/Los_Angeles" },
+ { "Pacific Standard Time", "America/Vancouver America/Dawson America/Whitehorse" },
+ { "Pacific Standard Time", "PST8PDT" },
+ { "Pakistan Standard Time", "Asia/Karachi" },
+ { "Pakistan Standard Time", "Asia/Karachi" },
+ { "Paraguay Standard Time", "America/Asuncion" },
+ { "Paraguay Standard Time", "America/Asuncion" },
+ { "Qyzylorda Standard Time", "Asia/Qyzylorda" },
+ { "Qyzylorda Standard Time", "Asia/Qyzylorda" },
+ { "Romance Standard Time", "Europe/Brussels" },
+ { "Romance Standard Time", "Europe/Copenhagen" },
+ { "Romance Standard Time", "Europe/Madrid Africa/Ceuta" },
+ { "Romance Standard Time", "Europe/Paris" },
+ { "Romance Standard Time", "Europe/Paris" },
+ { "Russia Time Zone 10", "Asia/Srednekolymsk" },
+ { "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" },
+ { "Russia Time Zone 3", "Europe/Samara" },
+ { "Russian Standard Time", "Europe/Moscow Europe/Kirov" },
+ { "Russian Standard Time", "Europe/Moscow" },
+ { "Russian Standard Time", "Europe/Simferopol" },
+ { "SA Eastern Standard Time", "America/Cayenne" },
+ { "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 Antarctica/Palmer" },
+ { "SA Eastern Standard Time", "Atlantic/Stanley" },
+ { "SA Eastern Standard Time", "Etc/GMT+3" },
+ { "SA Pacific Standard Time", "America/Bogota" },
+ { "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/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" },
+ { "SE Asia Standard Time", "Antarctica/Davis" },
+ { "SE Asia Standard Time", "Asia/Bangkok" },
+ { "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" },
+ { "Saint Pierre Standard Time", "America/Miquelon" },
+ { "Saint Pierre Standard Time", "America/Miquelon" },
+ { "Sakhalin Standard Time", "Asia/Sakhalin" },
+ { "Sakhalin Standard Time", "Asia/Sakhalin" },
+ { "Samoa Standard Time", "Pacific/Apia" },
+ { "Samoa Standard Time", "Pacific/Apia" },
+ { "Sao Tome Standard Time", "Africa/Sao_Tome" },
+ { "Sao Tome Standard Time", "Africa/Sao_Tome" },
+ { "Saratov Standard Time", "Europe/Saratov" },
+ { "Saratov Standard Time", "Europe/Saratov" },
+ { "Singapore Standard Time", "Antarctica/Casey" },
+ { "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", "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/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" },
+ { "Sri Lanka Standard Time", "Asia/Colombo" },
+ { "Sudan Standard Time", "Africa/Khartoum" },
+ { "Sudan Standard Time", "Africa/Khartoum" },
+ { "Syria Standard Time", "Asia/Damascus" },
+ { "Syria Standard Time", "Asia/Damascus" },
+ { "Taipei Standard Time", "Asia/Taipei" },
+ { "Taipei Standard Time", "Asia/Taipei" },
+ { "Tasmania Standard Time", "Australia/Hobart Australia/Currie" },
+ { "Tasmania Standard Time", "Australia/Hobart" },
+ { "Tocantins Standard Time", "America/Araguaina" },
+ { "Tocantins Standard Time", "America/Araguaina" },
+ { "Tokyo Standard Time", "Asia/Dili" },
+ { "Tokyo Standard Time", "Asia/Jayapura" },
+ { "Tokyo Standard Time", "Asia/Tokyo" },
+ { "Tokyo Standard Time", "Asia/Tokyo" },
+ { "Tokyo Standard Time", "Etc/GMT-9" },
+ { "Tokyo Standard Time", "Pacific/Palau" },
+ { "Tomsk Standard Time", "Asia/Tomsk" },
+ { "Tomsk Standard Time", "Asia/Tomsk" },
+ { "Tonga Standard Time", "Pacific/Tongatapu" },
+ { "Tonga Standard Time", "Pacific/Tongatapu" },
+ { "Transbaikal Standard Time", "Asia/Chita" },
+ { "Transbaikal Standard Time", "Asia/Chita" },
+ { "Turkey Standard Time", "Europe/Istanbul" },
+ { "Turkey Standard Time", "Europe/Istanbul" },
+ { "Turks And Caicos Standard Time", "America/Grand_Turk" },
+ { "Turks And Caicos Standard Time", "America/Grand_Turk" },
+ { "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", "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", "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", "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-02", "Etc/GMT+2" },
+ { "UTC-08", "Etc/GMT+8" },
+ { "UTC-08", "Etc/GMT+8" },
+ { "UTC-08", "Pacific/Pitcairn" },
+ { "UTC-09", "Etc/GMT+9" },
+ { "UTC-09", "Etc/GMT+9" },
+ { "UTC-09", "Pacific/Gambier" },
+ { "UTC-11", "Etc/GMT+11" },
+ { "UTC-11", "Etc/GMT+11" },
+ { "UTC-11", "Pacific/Midway" },
+ { "UTC-11", "Pacific/Niue" },
+ { "UTC-11", "Pacific/Pago_Pago" },
+ { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar Asia/Choibalsan" },
+ { "Ulaanbaatar Standard Time", "Asia/Ulaanbaatar" },
+ { "Venezuela Standard Time", "America/Caracas" },
+ { "Venezuela Standard Time", "America/Caracas" },
+ { "Vladivostok Standard Time", "Asia/Vladivostok Asia/Ust-Nera" },
+ { "Vladivostok Standard Time", "Asia/Vladivostok" },
+ { "Volgograd Standard Time", "Europe/Volgograd" },
+ { "Volgograd Standard Time", "Europe/Volgograd" },
+ { "W. Australia Standard Time", "Australia/Perth" },
+ { "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/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" },
+ { "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/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" },
+};
+
+const size_t WindowsTimeZoneIdTableNrElements = ARRAYSIZE(WindowsTimeZoneIdTable);
diff --git a/winpr/libwinpr/timezone/WindowsZones.h b/winpr/libwinpr/timezone/WindowsZones.h
new file mode 100644
index 0000000..231c0c6
--- /dev/null
+++ b/winpr/libwinpr/timezone/WindowsZones.h
@@ -0,0 +1,18 @@
+/*
+ * Automatically generated with scripts/update-windows-zones.py
+ */
+#ifndef WINPR_WINDOWS_ZONES_H_
+#define WINPR_WINDOWS_ZONES_H_
+
+#include <winpr/wtypes.h>
+
+typedef struct
+{
+ const char* windows;
+ const char* tzid;
+} WINDOWS_TZID_ENTRY;
+
+extern const WINDOWS_TZID_ENTRY WindowsTimeZoneIdTable[];
+extern const size_t WindowsTimeZoneIdTableNrElements;
+
+#endif /* WINPR_WINDOWS_ZONES_H_ */
diff --git a/winpr/libwinpr/timezone/timezone.c b/winpr/libwinpr/timezone/timezone.c
new file mode 100644
index 0000000..f6d9874
--- /dev/null
+++ b/winpr/libwinpr/timezone/timezone.c
@@ -0,0 +1,581 @@
+/**
+ * WinPR: Windows Portable Runtime
+ * Time Zone
+ *
+ * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <winpr/config.h>
+
+#include <winpr/environment.h>
+#include <winpr/wtypes.h>
+#include <winpr/timezone.h>
+#include <winpr/crt.h>
+#include <winpr/file.h>
+#include "../log.h"
+
+#define TAG WINPR_TAG("timezone")
+
+#ifndef _WIN32
+
+#include <time.h>
+#include <unistd.h>
+
+#include "TimeZones.h"
+#include "WindowsZones.h"
+
+static UINT64 winpr_windows_gmtime(void)
+{
+ time_t unix_time = 0;
+ UINT64 windows_time = 0;
+ 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 = 0;
+ INT64 read = 0;
+ INT64 length = CHUNK_SIZE;
+ char* tzid = NULL;
+
+ tzid = (char*)malloc(length);
+ if (!tzid)
+ return NULL;
+
+ do
+ {
+ rc = fread(tzid + read, 1, length - read - 1, fp);
+ if (rc > 0)
+ read += rc;
+
+ if (read < (length - 1))
+ break;
+
+ length += CHUNK_SIZE;
+ char* tmp = (char*)realloc(tzid, length);
+ if (!tmp)
+ {
+ free(tzid);
+ return NULL;
+ }
+
+ tzid = tmp;
+ } while (rc > 0);
+
+ if (ferror(fp))
+ {
+ free(tzid);
+ return NULL;
+ }
+
+ tzid[read] = '\0';
+ if (read > 0)
+ {
+ if (tzid[read - 1] == '\n')
+ tzid[read - 1] = '\0';
+ }
+
+ return tzid;
+}
+
+static char* winpr_get_timezone_from_link(const char* links[], size_t count)
+{
+ const char* _links[] = { "/etc/localtime", "/etc/TZ" };
+
+ if (links == NULL)
+ {
+ links = _links;
+ count = ARRAYSIZE(_links);
+ }
+
+ /*
+ * On linux distros such as Redhat or Archlinux, a symlink at /etc/localtime
+ * will point to /usr/share/zoneinfo/region/place where region/place could be
+ * America/Montreal for example.
+ * Some distributions do have to symlink at /etc/TZ.
+ */
+
+ for (size_t x = 0; x < count; x++)
+ {
+ char* tzid = NULL;
+ const char* link = links[x];
+ char* buf = realpath(link, NULL);
+
+ if (buf)
+ {
+ size_t sep = 0;
+ size_t alloc = 0;
+ size_t pos = 0;
+ size_t len = pos = strlen(buf);
+
+ /* find the position of the 2nd to last "/" */
+ for (size_t i = 1; i <= len; i++)
+ {
+ const size_t curpos = len - i;
+ const char cur = buf[curpos];
+
+ if (cur == '/')
+ sep++;
+ if (sep >= 2)
+ {
+ alloc = i;
+ pos = len - i + 1;
+ break;
+ }
+ }
+
+ if ((len == 0) || (sep != 2))
+ goto end;
+
+ tzid = (char*)calloc(alloc + 1, sizeof(char));
+
+ if (!tzid)
+ goto end;
+
+ strncpy(tzid, &buf[pos], alloc);
+ WLog_DBG(TAG, "tzid: %s", tzid);
+ goto end;
+ }
+
+ end:
+ free(buf);
+ if (tzid)
+ return tzid;
+ }
+
+ return NULL;
+}
+
+#if defined(ANDROID)
+#include "../utils/android.h"
+
+static char* winpr_get_android_timezone_identifier(void)
+{
+ char* tzid = NULL;
+ JNIEnv* jniEnv;
+
+ /* Preferred: Try to get identifier from java TimeZone class */
+ if (jniVm && ((*jniVm)->GetEnv(jniVm, (void**)&jniEnv, JNI_VERSION_1_6) == JNI_OK))
+ {
+ const char* raw;
+ jclass jObjClass;
+ jobject jObj;
+ jmethodID jDefaultTimezone;
+ jmethodID jTimezoneIdentifier;
+ jstring tzJId;
+ jboolean attached = (*jniVm)->AttachCurrentThread(jniVm, &jniEnv, NULL);
+ jObjClass = (*jniEnv)->FindClass(jniEnv, "java/util/TimeZone");
+
+ if (!jObjClass)
+ goto fail;
+
+ jDefaultTimezone =
+ (*jniEnv)->GetStaticMethodID(jniEnv, jObjClass, "getDefault", "()Ljava/util/TimeZone;");
+
+ if (!jDefaultTimezone)
+ goto fail;
+
+ jObj = (*jniEnv)->CallStaticObjectMethod(jniEnv, jObjClass, jDefaultTimezone);
+
+ if (!jObj)
+ goto fail;
+
+ jTimezoneIdentifier =
+ (*jniEnv)->GetMethodID(jniEnv, jObjClass, "getID", "()Ljava/lang/String;");
+
+ if (!jTimezoneIdentifier)
+ goto fail;
+
+ tzJId = (*jniEnv)->CallObjectMethod(jniEnv, jObj, jTimezoneIdentifier);
+
+ if (!tzJId)
+ goto fail;
+
+ raw = (*jniEnv)->GetStringUTFChars(jniEnv, tzJId, 0);
+
+ if (raw)
+ tzid = _strdup(raw);
+
+ (*jniEnv)->ReleaseStringUTFChars(jniEnv, tzJId, raw);
+ fail:
+
+ if (attached)
+ (*jniVm)->DetachCurrentThread(jniVm);
+ }
+
+ /* Fall back to property, might not be available. */
+ if (!tzid)
+ {
+ FILE* fp = popen("getprop persist.sys.timezone", "r");
+
+ if (fp)
+ {
+ tzid = winpr_read_unix_timezone_identifier_from_file(fp);
+ pclose(fp);
+ }
+ }
+
+ return tzid;
+}
+#endif
+
+static char* winpr_get_unix_timezone_identifier_from_file(void)
+{
+#if defined(ANDROID)
+ return winpr_get_android_timezone_identifier();
+#else
+ FILE* fp = NULL;
+ char* tzid = NULL;
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
+ fp = winpr_fopen("/var/db/zoneinfo", "r");
+#else
+ fp = winpr_fopen("/etc/timezone", "r");
+#endif
+
+ if (NULL == fp)
+ return NULL;
+
+ tzid = winpr_read_unix_timezone_identifier_from_file(fp);
+ fclose(fp);
+ if (tzid != NULL)
+ WLog_DBG(TAG, "tzid: %s", tzid);
+ return tzid;
+#endif
+}
+
+static BOOL winpr_match_unix_timezone_identifier_with_list(const char* tzid, const char* list)
+{
+ char* p = NULL;
+ char* list_copy = NULL;
+ char* context = NULL;
+
+ list_copy = _strdup(list);
+
+ if (!list_copy)
+ return FALSE;
+
+ p = strtok_s(list_copy, " ", &context);
+
+ while (p != NULL)
+ {
+ if (strcmp(p, tzid) == 0)
+ {
+ free(list_copy);
+ return TRUE;
+ }
+
+ p = strtok_s(NULL, " ", &context);
+ }
+
+ free(list_copy);
+ return FALSE;
+}
+
+static TIME_ZONE_ENTRY* winpr_detect_windows_time_zone(void)
+{
+ char* tzid = NULL;
+ char* ntzid = NULL;
+ LPCSTR tz = "TZ";
+
+ DWORD nSize = GetEnvironmentVariableA(tz, NULL, 0);
+ if (nSize)
+ {
+ tzid = (char*)malloc(nSize);
+ if (!GetEnvironmentVariableA(tz, tzid, nSize))
+ {
+ free(tzid);
+ tzid = NULL;
+ }
+ }
+
+ if (tzid == NULL)
+ tzid = winpr_get_unix_timezone_identifier_from_file();
+
+ if (tzid == NULL)
+ {
+ tzid = winpr_get_timezone_from_link(NULL, 0);
+ }
+ else
+ {
+ const char* zipath = "/usr/share/zoneinfo/";
+ char buf[1024] = { 0 };
+ const char* links[] = { buf };
+
+ snprintf(buf, ARRAYSIZE(buf), "%s%s", zipath, tzid);
+ ntzid = winpr_get_timezone_from_link(links, 1);
+ if (ntzid != NULL)
+ {
+ free(tzid);
+ tzid = ntzid;
+ }
+ }
+
+ if (tzid == NULL)
+ return NULL;
+
+ WLog_INFO(TAG, "tzid: %s", tzid);
+
+ for (size_t i = 0; i < TimeZoneTableNrElements; i++)
+ {
+ const TIME_ZONE_ENTRY* tze = &TimeZoneTable[i];
+
+ for (size_t j = 0; j < WindowsTimeZoneIdTableNrElements; j++)
+ {
+ const WINDOWS_TZID_ENTRY* wzid = &WindowsTimeZoneIdTable[j];
+
+ if (strcmp(tze->Id, wzid->windows) != 0)
+ continue;
+
+ if (winpr_match_unix_timezone_identifier_with_list(tzid, wzid->tzid))
+ {
+ TIME_ZONE_ENTRY* ctimezone = (TIME_ZONE_ENTRY*)malloc(sizeof(TIME_ZONE_ENTRY));
+ free(tzid);
+
+ if (!ctimezone)
+ return NULL;
+
+ *ctimezone = TimeZoneTable[i];
+ return ctimezone;
+ }
+ }
+ }
+
+ WLog_ERR(TAG, "Unable to find a match for unix timezone: %s", tzid);
+ free(tzid);
+ return NULL;
+}
+
+static const TIME_ZONE_RULE_ENTRY*
+winpr_get_current_time_zone_rule(const TIME_ZONE_RULE_ENTRY* rules, UINT32 count)
+{
+ UINT64 windows_time = 0;
+ windows_time = winpr_windows_gmtime();
+
+ for (UINT32 i = 0; i < count; i++)
+ {
+ if ((rules[i].TicksStart >= windows_time) && (windows_time >= rules[i].TicksEnd))
+ {
+ /*WLog_ERR(TAG, "Got rule %" PRIu32 " from table at %p with count %"PRIu32"", i,
+ * (void*) rules, count);*/
+ return &rules[i];
+ }
+ }
+
+ WLog_ERR(TAG, "Unable to get current timezone rule");
+ return NULL;
+}
+
+DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
+{
+ time_t t = 0;
+ struct tm tres;
+ struct tm* local_time = NULL;
+ TIME_ZONE_ENTRY* dtz = NULL;
+ LPTIME_ZONE_INFORMATION tz = lpTimeZoneInformation;
+ lpTimeZoneInformation->StandardBias = 0;
+ time(&t);
+ local_time = localtime_r(&t, &tres);
+ if (!local_time)
+ goto out_error;
+
+ memset(tz, 0, sizeof(TIME_ZONE_INFORMATION));
+#ifdef WINPR_HAVE_TM_GMTOFF
+ {
+ 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)
+ {
+ const TIME_ZONE_INFORMATION empty = { 0 };
+
+ WLog_DBG(TAG, "tz: Bias=%" PRId32 " sn='%s' dln='%s'", dtz->Bias, dtz->StandardName,
+ dtz->DaylightName);
+
+ *tz = empty;
+ tz->Bias = dtz->Bias;
+
+ if (ConvertUtf8ToWChar(dtz->StandardName, tz->StandardName, ARRAYSIZE(tz->StandardName)) <
+ 0)
+ {
+ WLog_ERR(TAG, "StandardName conversion failed - using default");
+ goto out_error;
+ }
+
+ if (ConvertUtf8ToWChar(dtz->DaylightName, tz->DaylightName, ARRAYSIZE(tz->DaylightName)) <
+ 0)
+ {
+ WLog_ERR(TAG, "DaylightName conversion failed - using default");
+ goto out_error;
+ }
+
+ if ((dtz->SupportsDST) && (dtz->RuleTableCount > 0))
+ {
+ 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);
+ /* 1 ... TIME_ZONE_ID_STANDARD
+ * 2 ... TIME_ZONE_ID_DAYLIGHT */
+ return local_time->tm_isdst ? 2 : 1;
+ }
+
+ /* could not detect timezone, use computed bias from tm_gmtoff */
+ WLog_DBG(TAG, "tz not found, using computed bias %" PRId32 ".", tz->Bias);
+out_error:
+ free(dtz);
+ memcpy(tz->StandardName, L"Client Local Time", sizeof(tz->StandardName));
+ memcpy(tz->DaylightName, L"Client Local Time", sizeof(tz->DaylightName));
+ return 0; /* TIME_ZONE_ID_UNKNOWN */
+}
+
+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)
+{
+ WINPR_UNUSED(lpFileTime);
+ WINPR_UNUSED(lpSystemTime);
+ return FALSE;
+}
+
+BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION lpTimeZone,
+ 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)
+{
+ WINPR_UNUSED(lpTimeZoneInformation);
+ WINPR_UNUSED(lpLocalTime);
+ WINPR_UNUSED(lpUniversalTime);
+ return FALSE;
+}
+
+#endif
+
+/*
+ * GetDynamicTimeZoneInformation is provided by the SDK if _WIN32_WINNT >= 0x0600 in SDKs above 7.1A
+ * and incorrectly if _WIN32_WINNT >= 0x0501 in older SDKs
+ */
+#if !defined(_WIN32) || \
+ (defined(_WIN32) && (defined(NTDDI_WIN8) && _WIN32_WINNT < 0x0600 || \
+ !defined(NTDDI_WIN8) && _WIN32_WINNT < 0x0501)) /* Windows Vista */
+
+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)
+{
+ WINPR_UNUSED(wYear);
+ WINPR_UNUSED(pdtzi);
+ WINPR_UNUSED(ptzi);
+ return FALSE;
+}
+
+#endif
+
+#if !defined(_WIN32) || (defined(_WIN32) && (_WIN32_WINNT < 0x0601)) /* Windows 7 */
+
+BOOL SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation,
+ 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)
+{
+ WINPR_UNUSED(lpTimeZoneInformation);
+ WINPR_UNUSED(lpLocalTime);
+ WINPR_UNUSED(lpUniversalTime);
+ return FALSE;
+}
+
+#endif
+
+#if !defined(_WIN32) || (defined(_WIN32) && (_WIN32_WINNT < 0x0602)) /* Windows 8 */
+
+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)
+{
+ WINPR_UNUSED(lpTimeZoneInformation);
+ WINPR_UNUSED(FirstYear);
+ WINPR_UNUSED(LastYear);
+ return 0;
+}
+
+#endif