diff --git a/.github/actions/setup-caddy/action.yml b/.github/actions/setup-caddy/action.yml
index 8c3969bd28248..ba89cae4ecc54 100644
--- a/.github/actions/setup-caddy/action.yml
+++ b/.github/actions/setup-caddy/action.yml
@@ -3,8 +3,11 @@ runs:
using: composite
steps:
- shell: bash
+ env:
+ GH_TOKEN: ${{ github.token }}
run: |
set -x
- sudo curl 'https://caddyserver.com/api/download?os=linux&arch=amd64' -o /usr/bin/caddy
+ gh release -R caddyserver/caddy download --pattern 'caddy_*_linux_amd64.tar.gz' -O - | sudo tar -xz -C /usr/bin caddy
sudo chmod +x /usr/bin/caddy
sudo caddy start --config ext/curl/tests/Caddyfile
+ continue-on-error: true
diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml
index 876ef3ff84d11..f3bd55365ac7c 100644
--- a/.github/actions/test-linux/action.yml
+++ b/.github/actions/test-linux/action.yml
@@ -55,7 +55,7 @@ runs:
--show-diff \
--show-slow 1000 \
--set-timeout 120
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
if: always() && inputs.testArtifacts != null
with:
name: ${{ github.job }}_${{ inputs.testArtifacts }}
diff --git a/.github/actions/test-macos/action.yml b/.github/actions/test-macos/action.yml
index 46cd64d2aa5b5..15b077a4ea8a9 100644
--- a/.github/actions/test-macos/action.yml
+++ b/.github/actions/test-macos/action.yml
@@ -29,7 +29,7 @@ runs:
--show-diff \
--show-slow 1000 \
--set-timeout 120
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
if: always() && inputs.testArtifacts != null
with:
name: ${{ github.job }}_${{ inputs.testArtifacts }}
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
index 6ccd524a062bd..eb8c4929a1305 100644
--- a/.github/workflows/push.yml
+++ b/.github/workflows/push.yml
@@ -2,7 +2,7 @@ name: Push
on:
push:
paths-ignore:
- - docs/*
+ - docs/**
- NEWS
- UPGRADING
- UPGRADING.INTERNALS
@@ -11,8 +11,8 @@ on:
- CODING_STANDARDS.md
- .cirrus.yml
- .travis.yml
- - travis/*
- - .circleci/*
+ - travis/**
+ - .circleci/**
branches:
- PHP-7.4
- PHP-8.0
@@ -22,7 +22,7 @@ on:
- master
pull_request:
paths-ignore:
- - docs/*
+ - docs/**
- NEWS
- UPGRADING
- UPGRADING.INTERNALS
@@ -31,8 +31,8 @@ on:
- CODING_STANDARDS.md
- .cirrus.yml
- .travis.yml
- - travis/*
- - .circleci/*
+ - travis/**
+ - .circleci/**
branches:
- '**'
permissions:
diff --git a/CODEOWNERS b/CODEOWNERS
index dc79939aeae13..40ec5651f1c59 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -37,12 +37,14 @@
/Zend/zend.* @dstogov
/Zend/zend_alloc.* @dstogov
/Zend/zend_API.* @dstogov
+/Zend/zend_call_stack.* @arnaud-lb
/Zend/zend_closures.* @dstogov
/Zend/zend_execute.* @dstogov
/Zend/zend_execute_API.c @dstogov
-/Zend/zend_gc.* @dstogov
+/Zend/zend_gc.* @dstogov @arnaud-lb
/Zend/zend_hash.* @dstogov
/Zend/zend_inheritance.* @dstogov
+/Zend/zend_max_execution_timer.* @arnaud-lb
/Zend/zend_object_handlers.* @dstogov
/Zend/zend_objects.* @dstogov
/Zend/zend_objects_API.* @dstogov
diff --git a/NEWS b/NEWS
index a03d4e86ae906..9269a9b96fcba 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,57 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-?? ??? ????, PHP 8.3.3
+14 Mar 2024, PHP 8.3.4
+
+- Core:
+ . Fix ZTS persistent resource crashes on shutdown. (nielsdos)
+
+- Curl:
+ . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh)
+
+- DOM:
+ . Fix unlikely memory leak in case of namespace removal with extremely deep
+ trees. (nielsdos)
+ . Fix reference access in dimensions for DOMNodeList and DOMNodeMap.
+ (nielsdos)
+
+- Fileinfo:
+ . Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null),
+ backport). (nielsdos)
+
+- FPM:
+ . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER).
+ (Jakub Zelenka)
+
+- GD:
+ . Fixed bug GH-12019 (detection of image formats in system gd library).
+ (Michael Orlitzky)
+
+- MySQLnd:
+ . Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error
+ if CR_SERVER_GONE_ERROR is already set). (Saki Takamachi)
+
+- PDO:
+ . Fix various PDORow bugs. (Girgias)
+
+- PGSQL:
+ . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute
+ with null value passed by reference). (George Barbarosie)
+
+- SPL:
+ . Fixed bug GH-13531 (Unable to resize SplfixedArray after being unserialized
+ in PHP 8.2.15). (nielsdos)
+
+- Standard:
+ . Fixed bug GH-13279 (Instable array during in-place modification in uksort).
+ (ilutov)
+ . Fixed array key as hash to string (case insensitive) comparison typo
+ for the second operand buffer size (albeit unused for now). (A. Slepykh)
+
+- XML:
+ . Fixed bug GH-13517 (Multiple test failures when building with
+ --with-expat). (nielsdos)
+
+15 Feb 2024, PHP 8.3.3
- Core:
. Fixed timer leak in zend-max-execution-timers builds. (withinboredom)
diff --git a/Zend/zend.c b/Zend/zend.c
index cb2419cd87dd2..d154c67382a72 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -1167,6 +1167,8 @@ void zend_shutdown(void) /* {{{ */
#endif
zend_destroy_rsrc_list_dtors();
+ zend_unload_modules();
+
zend_optimizer_shutdown();
startup_done = false;
}
diff --git a/Zend/zend.h b/Zend/zend.h
index cddd0f3b04521..4331889ac1883 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -20,7 +20,7 @@
#ifndef ZEND_H
#define ZEND_H
-#define ZEND_VERSION "4.3.3-dev"
+#define ZEND_VERSION "4.3.4"
#define ZEND_ENGINE_3
@@ -279,6 +279,7 @@ void zend_shutdown(void);
void zend_register_standard_ini_entries(void);
zend_result zend_post_startup(void);
void zend_set_utility_values(zend_utility_values *utility_values);
+void zend_unload_modules(void);
ZEND_API ZEND_COLD ZEND_NORETURN void _zend_bailout(const char *filename, uint32_t lineno);
ZEND_API size_t zend_get_page_size(void);
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 02b015c43b6a7..cb7f3b6d29b43 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -41,6 +41,7 @@ ZEND_API HashTable module_registry;
static zend_module_entry **module_request_startup_handlers;
static zend_module_entry **module_request_shutdown_handlers;
static zend_module_entry **module_post_deactivate_handlers;
+static zend_module_entry **modules_dl_loaded;
static zend_class_entry **class_cleanup_handlers;
@@ -2368,6 +2369,7 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */
int startup_count = 0;
int shutdown_count = 0;
int post_deactivate_count = 0;
+ int dl_loaded_count = 0;
zend_class_entry *ce;
int class_count = 0;
@@ -2382,6 +2384,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */
if (module->post_deactivate_func) {
post_deactivate_count++;
}
+ if (module->handle) {
+ dl_loaded_count++;
+ }
} ZEND_HASH_FOREACH_END();
module_request_startup_handlers = (zend_module_entry**)realloc(
module_request_startup_handlers,
@@ -2394,6 +2399,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */
module_request_shutdown_handlers[shutdown_count] = NULL;
module_post_deactivate_handlers = module_request_shutdown_handlers + shutdown_count + 1;
module_post_deactivate_handlers[post_deactivate_count] = NULL;
+ /* Cannot reuse module_request_startup_handlers because it is freed in zend_destroy_modules, which happens before zend_unload_modules. */
+ modules_dl_loaded = realloc(modules_dl_loaded, sizeof(zend_module_entry*) * (dl_loaded_count + 1));
+ modules_dl_loaded[dl_loaded_count] = NULL;
startup_count = 0;
ZEND_HASH_MAP_FOREACH_PTR(&module_registry, module) {
@@ -2406,6 +2414,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */
if (module->post_deactivate_func) {
module_post_deactivate_handlers[--post_deactivate_count] = module;
}
+ if (module->handle) {
+ modules_dl_loaded[--dl_loaded_count] = module;
+ }
} ZEND_HASH_FOREACH_END();
/* Collect internal classes with static members */
@@ -3180,18 +3191,23 @@ void module_destructor(zend_module_entry *module) /* {{{ */
clean_module_functions(module);
}
-#if HAVE_LIBDL
- if (module->handle && !getenv("ZEND_DONT_UNLOAD_MODULES")) {
- DL_UNLOAD(module->handle);
- }
-#endif
-
#if ZEND_RC_DEBUG
zend_rc_debug = orig_rc_debug;
#endif
}
/* }}} */
+void module_registry_unload(const zend_module_entry *module)
+{
+#if HAVE_LIBDL
+ if (!getenv("ZEND_DONT_UNLOAD_MODULES")) {
+ DL_UNLOAD(module->handle);
+ }
+#else
+ ZEND_IGNORE_VALUE(module);
+#endif
+}
+
ZEND_API void zend_activate_modules(void) /* {{{ */
{
zend_module_entry **p = module_request_startup_handlers;
@@ -3236,6 +3252,18 @@ ZEND_API void zend_deactivate_modules(void) /* {{{ */
}
/* }}} */
+void zend_unload_modules(void) /* {{{ */
+{
+ zend_module_entry **modules = modules_dl_loaded;
+ while (*modules) {
+ module_registry_unload(*modules);
+ modules++;
+ }
+ free(modules_dl_loaded);
+ modules_dl_loaded = NULL;
+}
+/* }}} */
+
ZEND_API void zend_post_deactivate_modules(void) /* {{{ */
{
if (EG(full_tables_cleanup)) {
@@ -3254,6 +3282,9 @@ ZEND_API void zend_post_deactivate_modules(void) /* {{{ */
break;
}
module_destructor(module);
+ if (module->handle) {
+ module_registry_unload(module);
+ }
zend_string_release_ex(key, 0);
} ZEND_HASH_MAP_FOREACH_END_DEL();
} else {
diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h
index 09661e6a2b862..4b6d71556aaa0 100644
--- a/Zend/zend_modules.h
+++ b/Zend/zend_modules.h
@@ -125,7 +125,7 @@ extern ZEND_API HashTable module_registry;
void module_destructor(zend_module_entry *module);
int module_registry_request_startup(zend_module_entry *module);
-int module_registry_unload_temp(const zend_module_entry *module);
+void module_registry_unload(const zend_module_entry *module);
END_EXTERN_C()
#endif
diff --git a/configure.ac b/configure.ac
index a9e96f3cef952..17213efe30799 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice.
dnl ----------------------------------------------------------------------------
AC_PREREQ([2.68])
-AC_INIT([PHP],[8.3.3-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net])
+AC_INIT([PHP],[8.3.4],[https://github.com/php/php-src/issues],[php],[https://www.php.net])
AC_CONFIG_SRCDIR([main/php_version.h])
AC_CONFIG_AUX_DIR([build])
AC_PRESERVE_HELP_ORDER
diff --git a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt
index 82cb357352998..a9fd3a2118697 100644
--- a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt
+++ b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt
@@ -1,7 +1,7 @@
--TEST--
Calling bzerr* functions on non-bz2 streams
---SKIPIF--
-
+--EXTENSIONS--
+bz2
--FILE--
--FILE--
diff --git a/ext/curl/tests/bug77946.phpt b/ext/curl/tests/bug77946.phpt
index 8b1e70675554f..7b836187d6bfb 100644
--- a/ext/curl/tests/bug77946.phpt
+++ b/ext/curl/tests/bug77946.phpt
@@ -34,4 +34,4 @@ curl_multi_close($mh);
--EXPECTF--
int(1)
int(1)
-string(%d) "Protocol %Sunknown%S not supported or disabled in libcurl"
+string(%d) "Protocol %Sunknown%S %rnot supported( or disabled in libcurl)?%r"
diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h
index 366c85c7a7786..26c104b2a20e5 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -242,370 +242,370 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = {
{ (char*) "Arctic/Longyearbyen" , 0x022757 },
{ (char*) "Asia/Aden" , 0x022A24 },
{ (char*) "Asia/Almaty" , 0x022AB5 },
- { (char*) "Asia/Amman" , 0x022D34 },
- { (char*) "Asia/Anadyr" , 0x0230E0 },
- { (char*) "Asia/Aqtau" , 0x0233E6 },
- { (char*) "Asia/Aqtobe" , 0x023665 },
- { (char*) "Asia/Ashgabat" , 0x0238E5 },
- { (char*) "Asia/Ashkhabad" , 0x023A68 },
- { (char*) "Asia/Atyrau" , 0x023BEB },
- { (char*) "Asia/Baghdad" , 0x023E74 },
- { (char*) "Asia/Bahrain" , 0x0240F6 },
- { (char*) "Asia/Baku" , 0x0241AF },
- { (char*) "Asia/Bangkok" , 0x0244A3 },
- { (char*) "Asia/Barnaul" , 0x024547 },
- { (char*) "Asia/Beirut" , 0x024852 },
- { (char*) "Asia/Bishkek" , 0x024B3A },
- { (char*) "Asia/Brunei" , 0x024DB0 },
- { (char*) "Asia/Calcutta" , 0x024E56 },
- { (char*) "Asia/Chita" , 0x024F3E },
- { (char*) "Asia/Choibalsan" , 0x02524C },
- { (char*) "Asia/Chongqing" , 0x0254D5 },
- { (char*) "Asia/Chungking" , 0x02566A },
- { (char*) "Asia/Colombo" , 0x0257FF },
- { (char*) "Asia/Dacca" , 0x025902 },
- { (char*) "Asia/Damascus" , 0x0259F5 },
- { (char*) "Asia/Dhaka" , 0x025ED3 },
- { (char*) "Asia/Dili" , 0x025FC6 },
- { (char*) "Asia/Dubai" , 0x02607C },
- { (char*) "Asia/Dushanbe" , 0x02610D },
- { (char*) "Asia/Famagusta" , 0x026287 },
- { (char*) "Asia/Gaza" , 0x02664E },
- { (char*) "Asia/Harbin" , 0x0271FC },
- { (char*) "Asia/Hebron" , 0x027391 },
- { (char*) "Asia/Ho_Chi_Minh" , 0x027F50 },
- { (char*) "Asia/Hong_Kong" , 0x028048 },
- { (char*) "Asia/Hovd" , 0x02835B },
- { (char*) "Asia/Irkutsk" , 0x0285E4 },
- { (char*) "Asia/Istanbul" , 0x028902 },
- { (char*) "Asia/Jakarta" , 0x028DBE },
- { (char*) "Asia/Jayapura" , 0x028ECF },
- { (char*) "Asia/Jerusalem" , 0x028FBC },
- { (char*) "Asia/Kabul" , 0x0293FA },
- { (char*) "Asia/Kamchatka" , 0x0294A5 },
- { (char*) "Asia/Karachi" , 0x02979A },
- { (char*) "Asia/Kashgar" , 0x0298B0 },
- { (char*) "Asia/Kathmandu" , 0x029941 },
- { (char*) "Asia/Katmandu" , 0x0299EE },
- { (char*) "Asia/Khandyga" , 0x029A9B },
- { (char*) "Asia/Kolkata" , 0x029DCC },
- { (char*) "Asia/Krasnoyarsk" , 0x029EB4 },
- { (char*) "Asia/Kuala_Lumpur" , 0x02A1BE },
- { (char*) "Asia/Kuching" , 0x02A2DE },
- { (char*) "Asia/Kuwait" , 0x02A438 },
- { (char*) "Asia/Macao" , 0x02A4C9 },
- { (char*) "Asia/Macau" , 0x02A7EC },
- { (char*) "Asia/Magadan" , 0x02AB0F },
- { (char*) "Asia/Makassar" , 0x02AE1A },
- { (char*) "Asia/Manila" , 0x02AF2D },
- { (char*) "Asia/Muscat" , 0x02B027 },
- { (char*) "Asia/Nicosia" , 0x02B0B8 },
- { (char*) "Asia/Novokuznetsk" , 0x02B327 },
- { (char*) "Asia/Novosibirsk" , 0x02B61A },
- { (char*) "Asia/Omsk" , 0x02B92B },
- { (char*) "Asia/Oral" , 0x02BC29 },
- { (char*) "Asia/Phnom_Penh" , 0x02BEB5 },
- { (char*) "Asia/Pontianak" , 0x02BF89 },
- { (char*) "Asia/Pyongyang" , 0x02C0A2 },
- { (char*) "Asia/Qatar" , 0x02C165 },
- { (char*) "Asia/Qostanay" , 0x02C209 },
- { (char*) "Asia/Qyzylorda" , 0x02C496 },
- { (char*) "Asia/Rangoon" , 0x02C72F },
- { (char*) "Asia/Riyadh" , 0x02C7F6 },
- { (char*) "Asia/Saigon" , 0x02C887 },
- { (char*) "Asia/Sakhalin" , 0x02C97F },
- { (char*) "Asia/Samarkand" , 0x02CC96 },
- { (char*) "Asia/Seoul" , 0x02CE21 },
- { (char*) "Asia/Shanghai" , 0x02CFCC },
- { (char*) "Asia/Singapore" , 0x02D16D },
- { (char*) "Asia/Srednekolymsk" , 0x02D279 },
- { (char*) "Asia/Taipei" , 0x02D589 },
- { (char*) "Asia/Tashkent" , 0x02D794 },
- { (char*) "Asia/Tbilisi" , 0x02D91F },
- { (char*) "Asia/Tehran" , 0x02DBA0 },
- { (char*) "Asia/Tel_Aviv" , 0x02DED8 },
- { (char*) "Asia/Thimbu" , 0x02E316 },
- { (char*) "Asia/Thimphu" , 0x02E3BC },
- { (char*) "Asia/Tokyo" , 0x02E462 },
- { (char*) "Asia/Tomsk" , 0x02E543 },
- { (char*) "Asia/Ujung_Pandang" , 0x02E84E },
- { (char*) "Asia/Ulaanbaatar" , 0x02E918 },
- { (char*) "Asia/Ulan_Bator" , 0x02EB86 },
- { (char*) "Asia/Urumqi" , 0x02EDE4 },
- { (char*) "Asia/Ust-Nera" , 0x02EE82 },
- { (char*) "Asia/Vientiane" , 0x02F1A5 },
- { (char*) "Asia/Vladivostok" , 0x02F28B },
- { (char*) "Asia/Yakutsk" , 0x02F590 },
- { (char*) "Asia/Yangon" , 0x02F894 },
- { (char*) "Asia/Yekaterinburg" , 0x02F95B },
- { (char*) "Asia/Yerevan" , 0x02FC6D },
- { (char*) "Atlantic/Azores" , 0x02FF3D },
- { (char*) "Atlantic/Bermuda" , 0x0304FC },
- { (char*) "Atlantic/Canary" , 0x030908 },
- { (char*) "Atlantic/Cape_Verde" , 0x030B00 },
- { (char*) "Atlantic/Faeroe" , 0x030BBB },
- { (char*) "Atlantic/Faroe" , 0x030D80 },
- { (char*) "Atlantic/Jan_Mayen" , 0x030F45 },
- { (char*) "Atlantic/Madeira" , 0x031212 },
- { (char*) "Atlantic/Reykjavik" , 0x0317DA },
- { (char*) "Atlantic/South_Georgia" , 0x031AD7 },
- { (char*) "Atlantic/St_Helena" , 0x031B67 },
- { (char*) "Atlantic/Stanley" , 0x031C08 },
- { (char*) "Australia/ACT" , 0x031F29 },
- { (char*) "Australia/Adelaide" , 0x0322BD },
- { (char*) "Australia/Brisbane" , 0x032671 },
- { (char*) "Australia/Broken_Hill" , 0x0327B5 },
- { (char*) "Australia/Canberra" , 0x032B8A },
- { (char*) "Australia/Currie" , 0x032F1E },
- { (char*) "Australia/Darwin" , 0x033315 },
- { (char*) "Australia/Eucla" , 0x03341D },
- { (char*) "Australia/Hobart" , 0x03357C },
- { (char*) "Australia/LHI" , 0x03397B },
- { (char*) "Australia/Lindeman" , 0x033C3B },
- { (char*) "Australia/Lord_Howe" , 0x033DAB },
- { (char*) "Australia/Melbourne" , 0x03407B },
- { (char*) "Australia/North" , 0x034417 },
- { (char*) "Australia/NSW" , 0x03450D },
- { (char*) "Australia/Perth" , 0x0348A1 },
- { (char*) "Australia/Queensland" , 0x0349FD },
- { (char*) "Australia/South" , 0x034B2A },
- { (char*) "Australia/Sydney" , 0x034ECF },
- { (char*) "Australia/Tasmania" , 0x03527F },
- { (char*) "Australia/Victoria" , 0x035676 },
- { (char*) "Australia/West" , 0x035A0A },
- { (char*) "Australia/Yancowinna" , 0x035B48 },
- { (char*) "Brazil/Acre" , 0x035F01 },
- { (char*) "Brazil/DeNoronha" , 0x0360AF },
- { (char*) "Brazil/East" , 0x03629F },
- { (char*) "Brazil/West" , 0x036663 },
- { (char*) "Canada/Atlantic" , 0x03680B },
- { (char*) "Canada/Central" , 0x036E9F },
- { (char*) "Canada/Eastern" , 0x0373B9 },
- { (char*) "Canada/Mountain" , 0x037A7A },
- { (char*) "Canada/Newfoundland" , 0x037E50 },
- { (char*) "Canada/Pacific" , 0x0385B2 },
- { (char*) "Canada/Saskatchewan" , 0x038AF0 },
- { (char*) "Canada/Yukon" , 0x038D7A },
- { (char*) "CET" , 0x03918B },
- { (char*) "Chile/Continental" , 0x039404 },
- { (char*) "Chile/EasterIsland" , 0x03995A },
- { (char*) "CST6CDT" , 0x039DFC },
- { (char*) "Cuba" , 0x03A1BF },
- { (char*) "EET" , 0x03A628 },
- { (char*) "Egypt" , 0x03A825 },
- { (char*) "Eire" , 0x03AD4E },
- { (char*) "EST" , 0x03B332 },
- { (char*) "EST5EDT" , 0x03B3AD },
- { (char*) "Etc/GMT" , 0x03B770 },
- { (char*) "Etc/GMT+0" , 0x03B7EB },
- { (char*) "Etc/GMT+1" , 0x03B866 },
- { (char*) "Etc/GMT+10" , 0x03B8E3 },
- { (char*) "Etc/GMT+11" , 0x03B961 },
- { (char*) "Etc/GMT+12" , 0x03B9DF },
- { (char*) "Etc/GMT+2" , 0x03BA5D },
- { (char*) "Etc/GMT+3" , 0x03BADA },
- { (char*) "Etc/GMT+4" , 0x03BB57 },
- { (char*) "Etc/GMT+5" , 0x03BBD4 },
- { (char*) "Etc/GMT+6" , 0x03BC51 },
- { (char*) "Etc/GMT+7" , 0x03BCCE },
- { (char*) "Etc/GMT+8" , 0x03BD4B },
- { (char*) "Etc/GMT+9" , 0x03BDC8 },
- { (char*) "Etc/GMT-0" , 0x03BE45 },
- { (char*) "Etc/GMT-1" , 0x03BEC0 },
- { (char*) "Etc/GMT-10" , 0x03BF3E },
- { (char*) "Etc/GMT-11" , 0x03BFBD },
- { (char*) "Etc/GMT-12" , 0x03C03C },
- { (char*) "Etc/GMT-13" , 0x03C0BB },
- { (char*) "Etc/GMT-14" , 0x03C13A },
- { (char*) "Etc/GMT-2" , 0x03C1B9 },
- { (char*) "Etc/GMT-3" , 0x03C237 },
- { (char*) "Etc/GMT-4" , 0x03C2B5 },
- { (char*) "Etc/GMT-5" , 0x03C333 },
- { (char*) "Etc/GMT-6" , 0x03C3B1 },
- { (char*) "Etc/GMT-7" , 0x03C42F },
- { (char*) "Etc/GMT-8" , 0x03C4AD },
- { (char*) "Etc/GMT-9" , 0x03C52B },
- { (char*) "Etc/GMT0" , 0x03C5A9 },
- { (char*) "Etc/Greenwich" , 0x03C624 },
- { (char*) "Etc/UCT" , 0x03C69F },
- { (char*) "Etc/Universal" , 0x03C71A },
- { (char*) "Etc/UTC" , 0x03C795 },
- { (char*) "Etc/Zulu" , 0x03C810 },
- { (char*) "Europe/Amsterdam" , 0x03C88B },
- { (char*) "Europe/Andorra" , 0x03CCC6 },
- { (char*) "Europe/Astrakhan" , 0x03CE57 },
- { (char*) "Europe/Athens" , 0x03D14B },
- { (char*) "Europe/Belfast" , 0x03D401 },
- { (char*) "Europe/Belgrade" , 0x03DA4C },
- { (char*) "Europe/Berlin" , 0x03DC36 },
- { (char*) "Europe/Bratislava" , 0x03DF12 },
- { (char*) "Europe/Brussels" , 0x03E1F1 },
- { (char*) "Europe/Bucharest" , 0x03E64C },
- { (char*) "Europe/Budapest" , 0x03E8ED },
- { (char*) "Europe/Busingen" , 0x03EBF7 },
- { (char*) "Europe/Chisinau" , 0x03EDFC },
- { (char*) "Europe/Copenhagen" , 0x03F0FB },
- { (char*) "Europe/Dublin" , 0x03F376 },
- { (char*) "Europe/Gibraltar" , 0x03F95A },
- { (char*) "Europe/Guernsey" , 0x03FE2A },
- { (char*) "Europe/Helsinki" , 0x040481 },
- { (char*) "Europe/Isle_of_Man" , 0x04066E },
- { (char*) "Europe/Istanbul" , 0x040CB9 },
- { (char*) "Europe/Jersey" , 0x041175 },
- { (char*) "Europe/Kaliningrad" , 0x0417CC },
- { (char*) "Europe/Kiev" , 0x041B74 },
- { (char*) "Europe/Kirov" , 0x041DAE },
- { (char*) "Europe/Kyiv" , 0x0420A7 },
- { (char*) "Europe/Lisbon" , 0x0422F0 },
- { (char*) "Europe/Ljubljana" , 0x0428BD },
- { (char*) "Europe/London" , 0x042AA7 },
- { (char*) "Europe/Luxembourg" , 0x0430F2 },
- { (char*) "Europe/Madrid" , 0x04353D },
- { (char*) "Europe/Malta" , 0x0438DA },
- { (char*) "Europe/Mariehamn" , 0x043C86 },
- { (char*) "Europe/Minsk" , 0x043E73 },
- { (char*) "Europe/Monaco" , 0x0441A7 },
- { (char*) "Europe/Moscow" , 0x04460D },
- { (char*) "Europe/Nicosia" , 0x0449B9 },
- { (char*) "Europe/Oslo" , 0x044C1A },
- { (char*) "Europe/Paris" , 0x044ECA },
- { (char*) "Europe/Podgorica" , 0x045327 },
- { (char*) "Europe/Prague" , 0x045511 },
- { (char*) "Europe/Riga" , 0x0457F0 },
- { (char*) "Europe/Rome" , 0x045AB2 },
- { (char*) "Europe/Samara" , 0x045E71 },
- { (char*) "Europe/San_Marino" , 0x046172 },
- { (char*) "Europe/Sarajevo" , 0x046531 },
- { (char*) "Europe/Saratov" , 0x04671B },
- { (char*) "Europe/Simferopol" , 0x046A0D },
- { (char*) "Europe/Skopje" , 0x046D80 },
- { (char*) "Europe/Sofia" , 0x046F6A },
- { (char*) "Europe/Stockholm" , 0x0471C6 },
- { (char*) "Europe/Tallinn" , 0x0473C3 },
- { (char*) "Europe/Tirane" , 0x047672 },
- { (char*) "Europe/Tiraspol" , 0x0478DA },
- { (char*) "Europe/Ulyanovsk" , 0x047BD9 },
- { (char*) "Europe/Uzhgorod" , 0x047EEF },
- { (char*) "Europe/Vaduz" , 0x048129 },
- { (char*) "Europe/Vatican" , 0x048313 },
- { (char*) "Europe/Vienna" , 0x0486D2 },
- { (char*) "Europe/Vilnius" , 0x048970 },
- { (char*) "Europe/Volgograd" , 0x048C20 },
- { (char*) "Europe/Warsaw" , 0x048F2F },
- { (char*) "Europe/Zagreb" , 0x0492D6 },
- { (char*) "Europe/Zaporozhye" , 0x0494C0 },
- { (char*) "Europe/Zurich" , 0x0496FA },
- { (char*) "Factory" , 0x0498F7 },
- { (char*) "GB" , 0x049974 },
- { (char*) "GB-Eire" , 0x049FBF },
- { (char*) "GMT" , 0x04A60A },
- { (char*) "GMT+0" , 0x04A685 },
- { (char*) "GMT-0" , 0x04A700 },
- { (char*) "GMT0" , 0x04A77B },
- { (char*) "Greenwich" , 0x04A7F6 },
- { (char*) "Hongkong" , 0x04A871 },
- { (char*) "HST" , 0x04AB84 },
- { (char*) "Iceland" , 0x04AC00 },
- { (char*) "Indian/Antananarivo" , 0x04AC8E },
- { (char*) "Indian/Chagos" , 0x04AD3A },
- { (char*) "Indian/Christmas" , 0x04ADDE },
- { (char*) "Indian/Cocos" , 0x04AE6F },
- { (char*) "Indian/Comoro" , 0x04AF07 },
- { (char*) "Indian/Kerguelen" , 0x04AF96 },
- { (char*) "Indian/Mahe" , 0x04B027 },
- { (char*) "Indian/Maldives" , 0x04B0B8 },
- { (char*) "Indian/Mauritius" , 0x04B15C },
- { (char*) "Indian/Mayotte" , 0x04B21B },
- { (char*) "Indian/Reunion" , 0x04B2AA },
- { (char*) "Iran" , 0x04B33B },
- { (char*) "Israel" , 0x04B673 },
- { (char*) "Jamaica" , 0x04BAB1 },
- { (char*) "Japan" , 0x04BC10 },
- { (char*) "Kwajalein" , 0x04BCF1 },
- { (char*) "Libya" , 0x04BDD8 },
- { (char*) "MET" , 0x04BF93 },
- { (char*) "Mexico/BajaNorte" , 0x04C20C },
- { (char*) "Mexico/BajaSur" , 0x04C619 },
- { (char*) "Mexico/General" , 0x04C8F3 },
- { (char*) "MST" , 0x04CC04 },
- { (char*) "MST7MDT" , 0x04CC7F },
- { (char*) "Navajo" , 0x04D042 },
- { (char*) "NZ" , 0x04D460 },
- { (char*) "NZ-CHAT" , 0x04D87F },
- { (char*) "Pacific/Apia" , 0x04DBB3 },
- { (char*) "Pacific/Auckland" , 0x04DD56 },
- { (char*) "Pacific/Bougainville" , 0x04E188 },
- { (char*) "Pacific/Chatham" , 0x04E269 },
- { (char*) "Pacific/Chuuk" , 0x04E5AC },
- { (char*) "Pacific/Easter" , 0x04E68A },
- { (char*) "Pacific/Efate" , 0x04EB39 },
- { (char*) "Pacific/Enderbury" , 0x04EC9B },
- { (char*) "Pacific/Fakaofo" , 0x04ED53 },
- { (char*) "Pacific/Fiji" , 0x04EDF8 },
- { (char*) "Pacific/Funafuti" , 0x04EF90 },
- { (char*) "Pacific/Galapagos" , 0x04F022 },
- { (char*) "Pacific/Gambier" , 0x04F0EE },
- { (char*) "Pacific/Guadalcanal" , 0x04F18D },
- { (char*) "Pacific/Guam" , 0x04F21F },
- { (char*) "Pacific/Honolulu" , 0x04F389 },
- { (char*) "Pacific/Johnston" , 0x04F478 },
- { (char*) "Pacific/Kanton" , 0x04F561 },
- { (char*) "Pacific/Kiritimati" , 0x04F628 },
- { (char*) "Pacific/Kosrae" , 0x04F6EE },
- { (char*) "Pacific/Kwajalein" , 0x04F7F2 },
- { (char*) "Pacific/Majuro" , 0x04F8E2 },
- { (char*) "Pacific/Marquesas" , 0x04F9E0 },
- { (char*) "Pacific/Midway" , 0x04FA88 },
- { (char*) "Pacific/Nauru" , 0x04FB4B },
- { (char*) "Pacific/Niue" , 0x04FC0E },
- { (char*) "Pacific/Norfolk" , 0x04FCB4 },
- { (char*) "Pacific/Noumea" , 0x04FDAD },
- { (char*) "Pacific/Pago_Pago" , 0x04FE7F },
- { (char*) "Pacific/Palau" , 0x04FF1D },
- { (char*) "Pacific/Pitcairn" , 0x04FFBD },
- { (char*) "Pacific/Pohnpei" , 0x050062 },
- { (char*) "Pacific/Ponape" , 0x050152 },
- { (char*) "Pacific/Port_Moresby" , 0x0501E4 },
- { (char*) "Pacific/Rarotonga" , 0x0502A2 },
- { (char*) "Pacific/Saipan" , 0x050444 },
- { (char*) "Pacific/Samoa" , 0x0505A5 },
- { (char*) "Pacific/Tahiti" , 0x050643 },
- { (char*) "Pacific/Tarawa" , 0x0506E3 },
- { (char*) "Pacific/Tongatapu" , 0x050784 },
- { (char*) "Pacific/Truk" , 0x05087D },
- { (char*) "Pacific/Wake" , 0x050923 },
- { (char*) "Pacific/Wallis" , 0x0509C0 },
- { (char*) "Pacific/Yap" , 0x050A52 },
- { (char*) "Poland" , 0x050AF8 },
- { (char*) "Portugal" , 0x050E9F },
- { (char*) "PRC" , 0x051459 },
- { (char*) "PST8PDT" , 0x0515EE },
- { (char*) "ROC" , 0x0519B1 },
- { (char*) "ROK" , 0x051BBC },
- { (char*) "Singapore" , 0x051D67 },
- { (char*) "Turkey" , 0x051E73 },
- { (char*) "UCT" , 0x05232F },
- { (char*) "Universal" , 0x0523AA },
- { (char*) "US/Alaska" , 0x052425 },
- { (char*) "US/Aleutian" , 0x052802 },
- { (char*) "US/Arizona" , 0x052BD7 },
- { (char*) "US/Central" , 0x052CD3 },
- { (char*) "US/East-Indiana" , 0x0533B9 },
- { (char*) "US/Eastern" , 0x0535D8 },
- { (char*) "US/Hawaii" , 0x053CB4 },
- { (char*) "US/Indiana-Starke" , 0x053D9D },
- { (char*) "US/Michigan" , 0x0541A1 },
- { (char*) "US/Mountain" , 0x054530 },
- { (char*) "US/Pacific" , 0x05494E },
- { (char*) "US/Samoa" , 0x054E68 },
- { (char*) "UTC" , 0x054F06 },
- { (char*) "W-SU" , 0x054F81 },
- { (char*) "WET" , 0x055319 },
- { (char*) "Zulu" , 0x055513 },
+ { (char*) "Asia/Amman" , 0x022D3D },
+ { (char*) "Asia/Anadyr" , 0x0230E9 },
+ { (char*) "Asia/Aqtau" , 0x0233EF },
+ { (char*) "Asia/Aqtobe" , 0x02366E },
+ { (char*) "Asia/Ashgabat" , 0x0238EE },
+ { (char*) "Asia/Ashkhabad" , 0x023A71 },
+ { (char*) "Asia/Atyrau" , 0x023BF4 },
+ { (char*) "Asia/Baghdad" , 0x023E7D },
+ { (char*) "Asia/Bahrain" , 0x0240FF },
+ { (char*) "Asia/Baku" , 0x0241B8 },
+ { (char*) "Asia/Bangkok" , 0x0244AC },
+ { (char*) "Asia/Barnaul" , 0x024550 },
+ { (char*) "Asia/Beirut" , 0x02485B },
+ { (char*) "Asia/Bishkek" , 0x024B43 },
+ { (char*) "Asia/Brunei" , 0x024DB9 },
+ { (char*) "Asia/Calcutta" , 0x024E5F },
+ { (char*) "Asia/Chita" , 0x024F47 },
+ { (char*) "Asia/Choibalsan" , 0x025255 },
+ { (char*) "Asia/Chongqing" , 0x0254DE },
+ { (char*) "Asia/Chungking" , 0x025673 },
+ { (char*) "Asia/Colombo" , 0x025808 },
+ { (char*) "Asia/Dacca" , 0x02590B },
+ { (char*) "Asia/Damascus" , 0x0259FE },
+ { (char*) "Asia/Dhaka" , 0x025EDC },
+ { (char*) "Asia/Dili" , 0x025FCF },
+ { (char*) "Asia/Dubai" , 0x026085 },
+ { (char*) "Asia/Dushanbe" , 0x026116 },
+ { (char*) "Asia/Famagusta" , 0x026290 },
+ { (char*) "Asia/Gaza" , 0x026657 },
+ { (char*) "Asia/Harbin" , 0x0271F3 },
+ { (char*) "Asia/Hebron" , 0x027388 },
+ { (char*) "Asia/Ho_Chi_Minh" , 0x027F35 },
+ { (char*) "Asia/Hong_Kong" , 0x02802D },
+ { (char*) "Asia/Hovd" , 0x028340 },
+ { (char*) "Asia/Irkutsk" , 0x0285C9 },
+ { (char*) "Asia/Istanbul" , 0x0288E7 },
+ { (char*) "Asia/Jakarta" , 0x028DA3 },
+ { (char*) "Asia/Jayapura" , 0x028EB4 },
+ { (char*) "Asia/Jerusalem" , 0x028FA1 },
+ { (char*) "Asia/Kabul" , 0x0293DF },
+ { (char*) "Asia/Kamchatka" , 0x02948A },
+ { (char*) "Asia/Karachi" , 0x02977F },
+ { (char*) "Asia/Kashgar" , 0x029895 },
+ { (char*) "Asia/Kathmandu" , 0x029926 },
+ { (char*) "Asia/Katmandu" , 0x0299D3 },
+ { (char*) "Asia/Khandyga" , 0x029A80 },
+ { (char*) "Asia/Kolkata" , 0x029DB1 },
+ { (char*) "Asia/Krasnoyarsk" , 0x029E99 },
+ { (char*) "Asia/Kuala_Lumpur" , 0x02A1A3 },
+ { (char*) "Asia/Kuching" , 0x02A2C3 },
+ { (char*) "Asia/Kuwait" , 0x02A41D },
+ { (char*) "Asia/Macao" , 0x02A4AE },
+ { (char*) "Asia/Macau" , 0x02A7D1 },
+ { (char*) "Asia/Magadan" , 0x02AAF4 },
+ { (char*) "Asia/Makassar" , 0x02ADFF },
+ { (char*) "Asia/Manila" , 0x02AF12 },
+ { (char*) "Asia/Muscat" , 0x02B00C },
+ { (char*) "Asia/Nicosia" , 0x02B09D },
+ { (char*) "Asia/Novokuznetsk" , 0x02B30C },
+ { (char*) "Asia/Novosibirsk" , 0x02B5FF },
+ { (char*) "Asia/Omsk" , 0x02B910 },
+ { (char*) "Asia/Oral" , 0x02BC0E },
+ { (char*) "Asia/Phnom_Penh" , 0x02BE9A },
+ { (char*) "Asia/Pontianak" , 0x02BF6E },
+ { (char*) "Asia/Pyongyang" , 0x02C087 },
+ { (char*) "Asia/Qatar" , 0x02C14A },
+ { (char*) "Asia/Qostanay" , 0x02C1EE },
+ { (char*) "Asia/Qyzylorda" , 0x02C484 },
+ { (char*) "Asia/Rangoon" , 0x02C71D },
+ { (char*) "Asia/Riyadh" , 0x02C7E4 },
+ { (char*) "Asia/Saigon" , 0x02C875 },
+ { (char*) "Asia/Sakhalin" , 0x02C96D },
+ { (char*) "Asia/Samarkand" , 0x02CC84 },
+ { (char*) "Asia/Seoul" , 0x02CE0F },
+ { (char*) "Asia/Shanghai" , 0x02CFBA },
+ { (char*) "Asia/Singapore" , 0x02D15B },
+ { (char*) "Asia/Srednekolymsk" , 0x02D267 },
+ { (char*) "Asia/Taipei" , 0x02D577 },
+ { (char*) "Asia/Tashkent" , 0x02D782 },
+ { (char*) "Asia/Tbilisi" , 0x02D90D },
+ { (char*) "Asia/Tehran" , 0x02DB8E },
+ { (char*) "Asia/Tel_Aviv" , 0x02DEC6 },
+ { (char*) "Asia/Thimbu" , 0x02E304 },
+ { (char*) "Asia/Thimphu" , 0x02E3AA },
+ { (char*) "Asia/Tokyo" , 0x02E450 },
+ { (char*) "Asia/Tomsk" , 0x02E531 },
+ { (char*) "Asia/Ujung_Pandang" , 0x02E83C },
+ { (char*) "Asia/Ulaanbaatar" , 0x02E906 },
+ { (char*) "Asia/Ulan_Bator" , 0x02EB74 },
+ { (char*) "Asia/Urumqi" , 0x02EDD2 },
+ { (char*) "Asia/Ust-Nera" , 0x02EE70 },
+ { (char*) "Asia/Vientiane" , 0x02F193 },
+ { (char*) "Asia/Vladivostok" , 0x02F279 },
+ { (char*) "Asia/Yakutsk" , 0x02F57E },
+ { (char*) "Asia/Yangon" , 0x02F882 },
+ { (char*) "Asia/Yekaterinburg" , 0x02F949 },
+ { (char*) "Asia/Yerevan" , 0x02FC5B },
+ { (char*) "Atlantic/Azores" , 0x02FF2B },
+ { (char*) "Atlantic/Bermuda" , 0x0304EA },
+ { (char*) "Atlantic/Canary" , 0x0308F6 },
+ { (char*) "Atlantic/Cape_Verde" , 0x030AEE },
+ { (char*) "Atlantic/Faeroe" , 0x030BA9 },
+ { (char*) "Atlantic/Faroe" , 0x030D6E },
+ { (char*) "Atlantic/Jan_Mayen" , 0x030F33 },
+ { (char*) "Atlantic/Madeira" , 0x031200 },
+ { (char*) "Atlantic/Reykjavik" , 0x0317C8 },
+ { (char*) "Atlantic/South_Georgia" , 0x031AC5 },
+ { (char*) "Atlantic/St_Helena" , 0x031B55 },
+ { (char*) "Atlantic/Stanley" , 0x031BF6 },
+ { (char*) "Australia/ACT" , 0x031F17 },
+ { (char*) "Australia/Adelaide" , 0x0322AB },
+ { (char*) "Australia/Brisbane" , 0x03265F },
+ { (char*) "Australia/Broken_Hill" , 0x0327A3 },
+ { (char*) "Australia/Canberra" , 0x032B78 },
+ { (char*) "Australia/Currie" , 0x032F0C },
+ { (char*) "Australia/Darwin" , 0x033303 },
+ { (char*) "Australia/Eucla" , 0x03340B },
+ { (char*) "Australia/Hobart" , 0x03356A },
+ { (char*) "Australia/LHI" , 0x033969 },
+ { (char*) "Australia/Lindeman" , 0x033C29 },
+ { (char*) "Australia/Lord_Howe" , 0x033D99 },
+ { (char*) "Australia/Melbourne" , 0x034069 },
+ { (char*) "Australia/North" , 0x034405 },
+ { (char*) "Australia/NSW" , 0x0344FB },
+ { (char*) "Australia/Perth" , 0x03488F },
+ { (char*) "Australia/Queensland" , 0x0349EB },
+ { (char*) "Australia/South" , 0x034B18 },
+ { (char*) "Australia/Sydney" , 0x034EBD },
+ { (char*) "Australia/Tasmania" , 0x03526D },
+ { (char*) "Australia/Victoria" , 0x035664 },
+ { (char*) "Australia/West" , 0x0359F8 },
+ { (char*) "Australia/Yancowinna" , 0x035B36 },
+ { (char*) "Brazil/Acre" , 0x035EEF },
+ { (char*) "Brazil/DeNoronha" , 0x03609D },
+ { (char*) "Brazil/East" , 0x03628D },
+ { (char*) "Brazil/West" , 0x036651 },
+ { (char*) "Canada/Atlantic" , 0x0367F9 },
+ { (char*) "Canada/Central" , 0x036E8D },
+ { (char*) "Canada/Eastern" , 0x0373A7 },
+ { (char*) "Canada/Mountain" , 0x037A68 },
+ { (char*) "Canada/Newfoundland" , 0x037E3E },
+ { (char*) "Canada/Pacific" , 0x0385A0 },
+ { (char*) "Canada/Saskatchewan" , 0x038ADE },
+ { (char*) "Canada/Yukon" , 0x038D68 },
+ { (char*) "CET" , 0x039179 },
+ { (char*) "Chile/Continental" , 0x0393F2 },
+ { (char*) "Chile/EasterIsland" , 0x039948 },
+ { (char*) "CST6CDT" , 0x039DEA },
+ { (char*) "Cuba" , 0x03A1AD },
+ { (char*) "EET" , 0x03A616 },
+ { (char*) "Egypt" , 0x03A813 },
+ { (char*) "Eire" , 0x03AD3C },
+ { (char*) "EST" , 0x03B320 },
+ { (char*) "EST5EDT" , 0x03B39B },
+ { (char*) "Etc/GMT" , 0x03B75E },
+ { (char*) "Etc/GMT+0" , 0x03B7D9 },
+ { (char*) "Etc/GMT+1" , 0x03B854 },
+ { (char*) "Etc/GMT+10" , 0x03B8D1 },
+ { (char*) "Etc/GMT+11" , 0x03B94F },
+ { (char*) "Etc/GMT+12" , 0x03B9CD },
+ { (char*) "Etc/GMT+2" , 0x03BA4B },
+ { (char*) "Etc/GMT+3" , 0x03BAC8 },
+ { (char*) "Etc/GMT+4" , 0x03BB45 },
+ { (char*) "Etc/GMT+5" , 0x03BBC2 },
+ { (char*) "Etc/GMT+6" , 0x03BC3F },
+ { (char*) "Etc/GMT+7" , 0x03BCBC },
+ { (char*) "Etc/GMT+8" , 0x03BD39 },
+ { (char*) "Etc/GMT+9" , 0x03BDB6 },
+ { (char*) "Etc/GMT-0" , 0x03BE33 },
+ { (char*) "Etc/GMT-1" , 0x03BEAE },
+ { (char*) "Etc/GMT-10" , 0x03BF2C },
+ { (char*) "Etc/GMT-11" , 0x03BFAB },
+ { (char*) "Etc/GMT-12" , 0x03C02A },
+ { (char*) "Etc/GMT-13" , 0x03C0A9 },
+ { (char*) "Etc/GMT-14" , 0x03C128 },
+ { (char*) "Etc/GMT-2" , 0x03C1A7 },
+ { (char*) "Etc/GMT-3" , 0x03C225 },
+ { (char*) "Etc/GMT-4" , 0x03C2A3 },
+ { (char*) "Etc/GMT-5" , 0x03C321 },
+ { (char*) "Etc/GMT-6" , 0x03C39F },
+ { (char*) "Etc/GMT-7" , 0x03C41D },
+ { (char*) "Etc/GMT-8" , 0x03C49B },
+ { (char*) "Etc/GMT-9" , 0x03C519 },
+ { (char*) "Etc/GMT0" , 0x03C597 },
+ { (char*) "Etc/Greenwich" , 0x03C612 },
+ { (char*) "Etc/UCT" , 0x03C68D },
+ { (char*) "Etc/Universal" , 0x03C708 },
+ { (char*) "Etc/UTC" , 0x03C783 },
+ { (char*) "Etc/Zulu" , 0x03C7FE },
+ { (char*) "Europe/Amsterdam" , 0x03C879 },
+ { (char*) "Europe/Andorra" , 0x03CCB4 },
+ { (char*) "Europe/Astrakhan" , 0x03CE45 },
+ { (char*) "Europe/Athens" , 0x03D139 },
+ { (char*) "Europe/Belfast" , 0x03D3EF },
+ { (char*) "Europe/Belgrade" , 0x03DA3A },
+ { (char*) "Europe/Berlin" , 0x03DC24 },
+ { (char*) "Europe/Bratislava" , 0x03DF00 },
+ { (char*) "Europe/Brussels" , 0x03E1DF },
+ { (char*) "Europe/Bucharest" , 0x03E63A },
+ { (char*) "Europe/Budapest" , 0x03E8DB },
+ { (char*) "Europe/Busingen" , 0x03EBE5 },
+ { (char*) "Europe/Chisinau" , 0x03EDEA },
+ { (char*) "Europe/Copenhagen" , 0x03F0E9 },
+ { (char*) "Europe/Dublin" , 0x03F364 },
+ { (char*) "Europe/Gibraltar" , 0x03F948 },
+ { (char*) "Europe/Guernsey" , 0x03FE18 },
+ { (char*) "Europe/Helsinki" , 0x04046F },
+ { (char*) "Europe/Isle_of_Man" , 0x04065C },
+ { (char*) "Europe/Istanbul" , 0x040CA7 },
+ { (char*) "Europe/Jersey" , 0x041163 },
+ { (char*) "Europe/Kaliningrad" , 0x0417BA },
+ { (char*) "Europe/Kiev" , 0x041B62 },
+ { (char*) "Europe/Kirov" , 0x041D9C },
+ { (char*) "Europe/Kyiv" , 0x042095 },
+ { (char*) "Europe/Lisbon" , 0x0422DE },
+ { (char*) "Europe/Ljubljana" , 0x0428AB },
+ { (char*) "Europe/London" , 0x042A95 },
+ { (char*) "Europe/Luxembourg" , 0x0430E0 },
+ { (char*) "Europe/Madrid" , 0x04352B },
+ { (char*) "Europe/Malta" , 0x0438C8 },
+ { (char*) "Europe/Mariehamn" , 0x043C74 },
+ { (char*) "Europe/Minsk" , 0x043E61 },
+ { (char*) "Europe/Monaco" , 0x044195 },
+ { (char*) "Europe/Moscow" , 0x0445FB },
+ { (char*) "Europe/Nicosia" , 0x0449A7 },
+ { (char*) "Europe/Oslo" , 0x044C08 },
+ { (char*) "Europe/Paris" , 0x044EB8 },
+ { (char*) "Europe/Podgorica" , 0x045315 },
+ { (char*) "Europe/Prague" , 0x0454FF },
+ { (char*) "Europe/Riga" , 0x0457DE },
+ { (char*) "Europe/Rome" , 0x045AA0 },
+ { (char*) "Europe/Samara" , 0x045E5F },
+ { (char*) "Europe/San_Marino" , 0x046160 },
+ { (char*) "Europe/Sarajevo" , 0x04651F },
+ { (char*) "Europe/Saratov" , 0x046709 },
+ { (char*) "Europe/Simferopol" , 0x0469FB },
+ { (char*) "Europe/Skopje" , 0x046D6E },
+ { (char*) "Europe/Sofia" , 0x046F58 },
+ { (char*) "Europe/Stockholm" , 0x0471B4 },
+ { (char*) "Europe/Tallinn" , 0x0473B1 },
+ { (char*) "Europe/Tirane" , 0x047660 },
+ { (char*) "Europe/Tiraspol" , 0x0478C8 },
+ { (char*) "Europe/Ulyanovsk" , 0x047BC7 },
+ { (char*) "Europe/Uzhgorod" , 0x047EDD },
+ { (char*) "Europe/Vaduz" , 0x048117 },
+ { (char*) "Europe/Vatican" , 0x048301 },
+ { (char*) "Europe/Vienna" , 0x0486C0 },
+ { (char*) "Europe/Vilnius" , 0x04895E },
+ { (char*) "Europe/Volgograd" , 0x048C0E },
+ { (char*) "Europe/Warsaw" , 0x048F1D },
+ { (char*) "Europe/Zagreb" , 0x0492C4 },
+ { (char*) "Europe/Zaporozhye" , 0x0494AE },
+ { (char*) "Europe/Zurich" , 0x0496E8 },
+ { (char*) "Factory" , 0x0498E5 },
+ { (char*) "GB" , 0x049962 },
+ { (char*) "GB-Eire" , 0x049FAD },
+ { (char*) "GMT" , 0x04A5F8 },
+ { (char*) "GMT+0" , 0x04A673 },
+ { (char*) "GMT-0" , 0x04A6EE },
+ { (char*) "GMT0" , 0x04A769 },
+ { (char*) "Greenwich" , 0x04A7E4 },
+ { (char*) "Hongkong" , 0x04A85F },
+ { (char*) "HST" , 0x04AB72 },
+ { (char*) "Iceland" , 0x04ABEE },
+ { (char*) "Indian/Antananarivo" , 0x04AC7C },
+ { (char*) "Indian/Chagos" , 0x04AD28 },
+ { (char*) "Indian/Christmas" , 0x04ADCC },
+ { (char*) "Indian/Cocos" , 0x04AE5D },
+ { (char*) "Indian/Comoro" , 0x04AEF5 },
+ { (char*) "Indian/Kerguelen" , 0x04AF84 },
+ { (char*) "Indian/Mahe" , 0x04B015 },
+ { (char*) "Indian/Maldives" , 0x04B0A6 },
+ { (char*) "Indian/Mauritius" , 0x04B14A },
+ { (char*) "Indian/Mayotte" , 0x04B209 },
+ { (char*) "Indian/Reunion" , 0x04B298 },
+ { (char*) "Iran" , 0x04B329 },
+ { (char*) "Israel" , 0x04B661 },
+ { (char*) "Jamaica" , 0x04BA9F },
+ { (char*) "Japan" , 0x04BBFE },
+ { (char*) "Kwajalein" , 0x04BCDF },
+ { (char*) "Libya" , 0x04BDC6 },
+ { (char*) "MET" , 0x04BF81 },
+ { (char*) "Mexico/BajaNorte" , 0x04C1FA },
+ { (char*) "Mexico/BajaSur" , 0x04C607 },
+ { (char*) "Mexico/General" , 0x04C8E1 },
+ { (char*) "MST" , 0x04CBF2 },
+ { (char*) "MST7MDT" , 0x04CC6D },
+ { (char*) "Navajo" , 0x04D030 },
+ { (char*) "NZ" , 0x04D44E },
+ { (char*) "NZ-CHAT" , 0x04D86D },
+ { (char*) "Pacific/Apia" , 0x04DBA1 },
+ { (char*) "Pacific/Auckland" , 0x04DD44 },
+ { (char*) "Pacific/Bougainville" , 0x04E176 },
+ { (char*) "Pacific/Chatham" , 0x04E257 },
+ { (char*) "Pacific/Chuuk" , 0x04E59A },
+ { (char*) "Pacific/Easter" , 0x04E678 },
+ { (char*) "Pacific/Efate" , 0x04EB27 },
+ { (char*) "Pacific/Enderbury" , 0x04EC89 },
+ { (char*) "Pacific/Fakaofo" , 0x04ED41 },
+ { (char*) "Pacific/Fiji" , 0x04EDE6 },
+ { (char*) "Pacific/Funafuti" , 0x04EF7E },
+ { (char*) "Pacific/Galapagos" , 0x04F010 },
+ { (char*) "Pacific/Gambier" , 0x04F0DC },
+ { (char*) "Pacific/Guadalcanal" , 0x04F17B },
+ { (char*) "Pacific/Guam" , 0x04F20D },
+ { (char*) "Pacific/Honolulu" , 0x04F377 },
+ { (char*) "Pacific/Johnston" , 0x04F466 },
+ { (char*) "Pacific/Kanton" , 0x04F54F },
+ { (char*) "Pacific/Kiritimati" , 0x04F616 },
+ { (char*) "Pacific/Kosrae" , 0x04F6DC },
+ { (char*) "Pacific/Kwajalein" , 0x04F7E0 },
+ { (char*) "Pacific/Majuro" , 0x04F8D0 },
+ { (char*) "Pacific/Marquesas" , 0x04F9CE },
+ { (char*) "Pacific/Midway" , 0x04FA76 },
+ { (char*) "Pacific/Nauru" , 0x04FB39 },
+ { (char*) "Pacific/Niue" , 0x04FBFC },
+ { (char*) "Pacific/Norfolk" , 0x04FCA2 },
+ { (char*) "Pacific/Noumea" , 0x04FD9B },
+ { (char*) "Pacific/Pago_Pago" , 0x04FE6D },
+ { (char*) "Pacific/Palau" , 0x04FF0B },
+ { (char*) "Pacific/Pitcairn" , 0x04FFAB },
+ { (char*) "Pacific/Pohnpei" , 0x050050 },
+ { (char*) "Pacific/Ponape" , 0x050140 },
+ { (char*) "Pacific/Port_Moresby" , 0x0501D2 },
+ { (char*) "Pacific/Rarotonga" , 0x050290 },
+ { (char*) "Pacific/Saipan" , 0x050432 },
+ { (char*) "Pacific/Samoa" , 0x050593 },
+ { (char*) "Pacific/Tahiti" , 0x050631 },
+ { (char*) "Pacific/Tarawa" , 0x0506D1 },
+ { (char*) "Pacific/Tongatapu" , 0x050772 },
+ { (char*) "Pacific/Truk" , 0x05086B },
+ { (char*) "Pacific/Wake" , 0x050911 },
+ { (char*) "Pacific/Wallis" , 0x0509AE },
+ { (char*) "Pacific/Yap" , 0x050A40 },
+ { (char*) "Poland" , 0x050AE6 },
+ { (char*) "Portugal" , 0x050E8D },
+ { (char*) "PRC" , 0x051447 },
+ { (char*) "PST8PDT" , 0x0515DC },
+ { (char*) "ROC" , 0x05199F },
+ { (char*) "ROK" , 0x051BAA },
+ { (char*) "Singapore" , 0x051D55 },
+ { (char*) "Turkey" , 0x051E61 },
+ { (char*) "UCT" , 0x05231D },
+ { (char*) "Universal" , 0x052398 },
+ { (char*) "US/Alaska" , 0x052413 },
+ { (char*) "US/Aleutian" , 0x0527F0 },
+ { (char*) "US/Arizona" , 0x052BC5 },
+ { (char*) "US/Central" , 0x052CC1 },
+ { (char*) "US/East-Indiana" , 0x0533A7 },
+ { (char*) "US/Eastern" , 0x0535C6 },
+ { (char*) "US/Hawaii" , 0x053CA2 },
+ { (char*) "US/Indiana-Starke" , 0x053D8B },
+ { (char*) "US/Michigan" , 0x05418F },
+ { (char*) "US/Mountain" , 0x05451E },
+ { (char*) "US/Pacific" , 0x05493C },
+ { (char*) "US/Samoa" , 0x054E56 },
+ { (char*) "UTC" , 0x054EF4 },
+ { (char*) "W-SU" , 0x054F6F },
+ { (char*) "WET" , 0x055307 },
+ { (char*) "Zulu" , 0x055501 },
};
-const unsigned char timelib_timezone_db_data_builtin[349582] = {
+const unsigned char timelib_timezone_db_data_builtin[349564] = {
/* Africa/Abidjan */
0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -6509,7 +6509,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF,
-0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00,
+0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00,
0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x75, 0xC0, 0x00,
@@ -6781,10 +6781,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF,
@@ -7083,10 +7083,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF,
@@ -9002,10 +9002,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF,
@@ -9181,10 +9181,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF,
@@ -10083,7 +10083,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF,
0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00,
0x00, 0x00, 0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00,
0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00,
@@ -10109,15 +10109,16 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00,
0x00, 0x00, 0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00,
-0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
-0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03,
+0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01,
+0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
+0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00,
-0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60,
-0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00,
-0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36,
-0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73,
-0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E,
+0x02, 0x03, 0x01, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00,
+0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01,
+0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36,
+0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88,
+0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61,
+0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E,
/* Asia/Amman */
0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -11111,7 +11112,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF,
0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF,
@@ -11173,8 +11174,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00,
0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00,
0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00,
@@ -11189,41 +11190,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00,
0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00,
0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00,
0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00,
0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00,
0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00,
0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00,
0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00,
0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00,
@@ -11238,35 +11238,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00,
0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00,
0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00,
0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00,
0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02,
+0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02,
0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02,
0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
@@ -11286,13 +11286,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
-0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C,
-0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00,
-0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45,
-0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30,
-0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A,
-0x00, 0x00, 0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70,
+0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00,
+0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00,
+0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44,
+0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54,
+0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34,
+0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00,
+0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70,
/* Asia/Harbin */
0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -11328,7 +11328,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF,
0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF,
@@ -11391,8 +11391,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00,
0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00,
0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00,
@@ -11407,41 +11407,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00,
0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00,
0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00,
0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00,
0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00,
0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00,
0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00,
0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00,
-0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00,
0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00,
0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00,
@@ -11456,35 +11455,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00,
0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00,
0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00,
0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00,
0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00,
0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00,
-0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00,
+0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00,
0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00,
-0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02,
+0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02,
0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02,
0x01, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
@@ -11504,13 +11503,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
-0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A,
-0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00,
-0x00, 0x1C, 0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45,
-0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32,
-0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D,
-0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48,
-0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01,
+0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C,
+0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00,
+0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45,
+0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30,
+0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C,
+0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B,
/* Asia/Ho_Chi_Minh */
0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -11522,7 +11521,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF,
0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF,
-0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00,
+0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02,
0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D,
@@ -12675,7 +12674,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF,
0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, 0x00,
0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, 0x00,
0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, 0x00,
@@ -12701,16 +12700,17 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, 0x00,
0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, 0x00,
-0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02,
+0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01,
+0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02,
-0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00,
-0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60,
-0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D,
-0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C,
-0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00,
-0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74,
-0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79,
+0x03, 0x04, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00,
+0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00,
+0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B,
+0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A,
+0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74,
+0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75,
+0x73, 0x74, 0x61, 0x6E, 0x61, 0x79,
/* Asia/Qyzylorda */
0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -12793,7 +12793,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF,
0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF,
-0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00,
+0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02,
0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D,
@@ -15728,10 +15728,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = {
0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF,
-0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF,
+0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF,
0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF,
@@ -24213,341 +24213,341 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = {
{ (char*) "Asia/Dushanbe" , 0x047AD4 },
{ (char*) "Asia/Famagusta" , 0x047D21 },
{ (char*) "Asia/Gaza" , 0x048528 },
- { (char*) "Asia/Harbin" , 0x049454 },
- { (char*) "Asia/Hebron" , 0x049691 },
- { (char*) "Asia/Ho_Chi_Minh" , 0x04A5D8 },
- { (char*) "Asia/Hong_Kong" , 0x04A735 },
- { (char*) "Asia/Hovd" , 0x04AC12 },
- { (char*) "Asia/Irkutsk" , 0x04AFB6 },
- { (char*) "Asia/Istanbul" , 0x04B4A9 },
- { (char*) "Asia/Jakarta" , 0x04BC42 },
- { (char*) "Asia/Jayapura" , 0x04BDDA },
- { (char*) "Asia/Jerusalem" , 0x04BEF9 },
- { (char*) "Asia/Kabul" , 0x04C859 },
- { (char*) "Asia/Kamchatka" , 0x04C927 },
- { (char*) "Asia/Karachi" , 0x04CDC5 },
- { (char*) "Asia/Kashgar" , 0x04CF4C },
- { (char*) "Asia/Kathmandu" , 0x04CFEF },
- { (char*) "Asia/Katmandu" , 0x04D0C1 },
- { (char*) "Asia/Khandyga" , 0x04D193 },
- { (char*) "Asia/Kolkata" , 0x04D6A6 },
- { (char*) "Asia/Krasnoyarsk" , 0x04D7CF },
- { (char*) "Asia/Kuala_Lumpur" , 0x04DC9D },
- { (char*) "Asia/Kuching" , 0x04DE4E },
- { (char*) "Asia/Kuwait" , 0x04E03D },
- { (char*) "Asia/Macao" , 0x04E0E0 },
- { (char*) "Asia/Macau" , 0x04E5B7 },
- { (char*) "Asia/Magadan" , 0x04EA8E },
- { (char*) "Asia/Makassar" , 0x04EF62 },
- { (char*) "Asia/Manila" , 0x04F0B5 },
- { (char*) "Asia/Muscat" , 0x04F209 },
- { (char*) "Asia/Nicosia" , 0x04F2AC },
- { (char*) "Asia/Novokuznetsk" , 0x04FA98 },
- { (char*) "Asia/Novosibirsk" , 0x04FF34 },
- { (char*) "Asia/Omsk" , 0x05040B },
- { (char*) "Asia/Oral" , 0x0508CD },
- { (char*) "Asia/Phnom_Penh" , 0x050CC7 },
- { (char*) "Asia/Pontianak" , 0x050DEC },
- { (char*) "Asia/Pyongyang" , 0x050F6F },
- { (char*) "Asia/Qatar" , 0x051068 },
- { (char*) "Asia/Qostanay" , 0x05112D },
- { (char*) "Asia/Qyzylorda" , 0x051538 },
- { (char*) "Asia/Rangoon" , 0x051954 },
- { (char*) "Asia/Riyadh" , 0x051A5E },
- { (char*) "Asia/Saigon" , 0x051B01 },
- { (char*) "Asia/Sakhalin" , 0x051C5E },
- { (char*) "Asia/Samarkand" , 0x052126 },
- { (char*) "Asia/Seoul" , 0x052376 },
- { (char*) "Asia/Shanghai" , 0x0525EB },
- { (char*) "Asia/Singapore" , 0x052834 },
- { (char*) "Asia/Srednekolymsk" , 0x0529D1 },
- { (char*) "Asia/Taipei" , 0x052EA5 },
- { (char*) "Asia/Tashkent" , 0x0531AA },
- { (char*) "Asia/Tbilisi" , 0x053408 },
- { (char*) "Asia/Tehran" , 0x053811 },
- { (char*) "Asia/Tel_Aviv" , 0x053CFD },
- { (char*) "Asia/Thimbu" , 0x05465D },
- { (char*) "Asia/Thimphu" , 0x054726 },
- { (char*) "Asia/Tokyo" , 0x0547EF },
- { (char*) "Asia/Tomsk" , 0x054930 },
- { (char*) "Asia/Ujung_Pandang" , 0x054E01 },
- { (char*) "Asia/Ulaanbaatar" , 0x054F0B },
- { (char*) "Asia/Ulan_Bator" , 0x055294 },
- { (char*) "Asia/Urumqi" , 0x05560D },
- { (char*) "Asia/Ust-Nera" , 0x0556BD },
- { (char*) "Asia/Vientiane" , 0x055BB3 },
- { (char*) "Asia/Vladivostok" , 0x055CF4 },
- { (char*) "Asia/Yakutsk" , 0x0561BD },
- { (char*) "Asia/Yangon" , 0x056685 },
- { (char*) "Asia/Yekaterinburg" , 0x05678F },
- { (char*) "Asia/Yerevan" , 0x056C76 },
- { (char*) "Atlantic/Azores" , 0x0570F3 },
- { (char*) "Atlantic/Bermuda" , 0x057EAF },
- { (char*) "Atlantic/Canary" , 0x058817 },
- { (char*) "Atlantic/Cape_Verde" , 0x058F9A },
- { (char*) "Atlantic/Faeroe" , 0x0590A6 },
- { (char*) "Atlantic/Faroe" , 0x0597C9 },
- { (char*) "Atlantic/Jan_Mayen" , 0x059EEC },
- { (char*) "Atlantic/Madeira" , 0x05A7F2 },
- { (char*) "Atlantic/Reykjavik" , 0x05B5BC },
- { (char*) "Atlantic/South_Georgia" , 0x05BA52 },
- { (char*) "Atlantic/St_Helena" , 0x05BAF4 },
- { (char*) "Atlantic/Stanley" , 0x05BBB6 },
- { (char*) "Australia/ACT" , 0x05C072 },
- { (char*) "Australia/Adelaide" , 0x05C90C },
- { (char*) "Australia/Brisbane" , 0x05D1C7 },
- { (char*) "Australia/Broken_Hill" , 0x05D38D },
- { (char*) "Australia/Canberra" , 0x05DC6A },
- { (char*) "Australia/Currie" , 0x05E504 },
- { (char*) "Australia/Darwin" , 0x05EE46 },
- { (char*) "Australia/Eucla" , 0x05EFA9 },
- { (char*) "Australia/Hobart" , 0x05F196 },
- { (char*) "Australia/LHI" , 0x05FAE0 },
- { (char*) "Australia/Lindeman" , 0x060222 },
- { (char*) "Australia/Lord_Howe" , 0x060428 },
- { (char*) "Australia/Melbourne" , 0x060B7A },
- { (char*) "Australia/North" , 0x06141C },
- { (char*) "Australia/NSW" , 0x06156D },
- { (char*) "Australia/Perth" , 0x061E07 },
- { (char*) "Australia/Queensland" , 0x061FEF },
- { (char*) "Australia/South" , 0x06219E },
- { (char*) "Australia/Sydney" , 0x062A4A },
- { (char*) "Australia/Tasmania" , 0x063300 },
- { (char*) "Australia/Victoria" , 0x063C42 },
- { (char*) "Australia/West" , 0x0644DC },
- { (char*) "Australia/Yancowinna" , 0x0646A6 },
- { (char*) "Brazil/Acre" , 0x064F67 },
- { (char*) "Brazil/DeNoronha" , 0x0651D9 },
- { (char*) "Brazil/East" , 0x0654A3 },
- { (char*) "Brazil/West" , 0x065A45 },
- { (char*) "Canada/Atlantic" , 0x065C9F },
- { (char*) "Canada/Central" , 0x066A0B },
- { (char*) "Canada/Eastern" , 0x06754B },
- { (char*) "Canada/Mountain" , 0x0682FD },
- { (char*) "Canada/Newfoundland" , 0x068C25 },
- { (char*) "Canada/Pacific" , 0x069A78 },
- { (char*) "Canada/Saskatchewan" , 0x06A5D0 },
- { (char*) "Canada/Yukon" , 0x06A9B0 },
- { (char*) "CET" , 0x06B00A },
- { (char*) "Chile/Continental" , 0x06B844 },
- { (char*) "Chile/EasterIsland" , 0x06C223 },
- { (char*) "CST6CDT" , 0x06CADA },
- { (char*) "Cuba" , 0x06D3EC },
- { (char*) "EET" , 0x06DD68 },
- { (char*) "Egypt" , 0x06E4E8 },
- { (char*) "Eire" , 0x06EE53 },
- { (char*) "EST" , 0x06FC03 },
- { (char*) "EST5EDT" , 0x06FC81 },
- { (char*) "Etc/GMT" , 0x070593 },
- { (char*) "Etc/GMT+0" , 0x070611 },
- { (char*) "Etc/GMT+1" , 0x07068F },
- { (char*) "Etc/GMT+10" , 0x07070F },
- { (char*) "Etc/GMT+11" , 0x070790 },
- { (char*) "Etc/GMT+12" , 0x070811 },
- { (char*) "Etc/GMT+2" , 0x070892 },
- { (char*) "Etc/GMT+3" , 0x070912 },
- { (char*) "Etc/GMT+4" , 0x070992 },
- { (char*) "Etc/GMT+5" , 0x070A12 },
- { (char*) "Etc/GMT+6" , 0x070A92 },
- { (char*) "Etc/GMT+7" , 0x070B12 },
- { (char*) "Etc/GMT+8" , 0x070B92 },
- { (char*) "Etc/GMT+9" , 0x070C12 },
- { (char*) "Etc/GMT-0" , 0x070C92 },
- { (char*) "Etc/GMT-1" , 0x070D10 },
- { (char*) "Etc/GMT-10" , 0x070D91 },
- { (char*) "Etc/GMT-11" , 0x070E13 },
- { (char*) "Etc/GMT-12" , 0x070E95 },
- { (char*) "Etc/GMT-13" , 0x070F17 },
- { (char*) "Etc/GMT-14" , 0x070F99 },
- { (char*) "Etc/GMT-2" , 0x07101B },
- { (char*) "Etc/GMT-3" , 0x07109C },
- { (char*) "Etc/GMT-4" , 0x07111D },
- { (char*) "Etc/GMT-5" , 0x07119E },
- { (char*) "Etc/GMT-6" , 0x07121F },
- { (char*) "Etc/GMT-7" , 0x0712A0 },
- { (char*) "Etc/GMT-8" , 0x071321 },
- { (char*) "Etc/GMT-9" , 0x0713A2 },
- { (char*) "Etc/GMT0" , 0x071423 },
- { (char*) "Etc/Greenwich" , 0x0714A1 },
- { (char*) "Etc/UCT" , 0x07151F },
- { (char*) "Etc/Universal" , 0x07159D },
- { (char*) "Etc/UTC" , 0x07161B },
- { (char*) "Etc/Zulu" , 0x071699 },
- { (char*) "Europe/Amsterdam" , 0x071717 },
- { (char*) "Europe/Andorra" , 0x072281 },
- { (char*) "Europe/Astrakhan" , 0x07295B },
- { (char*) "Europe/Athens" , 0x072DF8 },
- { (char*) "Europe/Belfast" , 0x0736DA },
- { (char*) "Europe/Belgrade" , 0x074536 },
- { (char*) "Europe/Berlin" , 0x074CC2 },
- { (char*) "Europe/Bratislava" , 0x0755D7 },
- { (char*) "Europe/Brussels" , 0x075EE0 },
- { (char*) "Europe/Bucharest" , 0x076A61 },
- { (char*) "Europe/Budapest" , 0x0772F5 },
- { (char*) "Europe/Busingen" , 0x077C41 },
- { (char*) "Europe/Chisinau" , 0x0783CA },
- { (char*) "Europe/Copenhagen" , 0x078D2C },
- { (char*) "Europe/Dublin" , 0x079591 },
- { (char*) "Europe/Gibraltar" , 0x07A341 },
- { (char*) "Europe/Guernsey" , 0x07AF49 },
- { (char*) "Europe/Helsinki" , 0x07BDE9 },
- { (char*) "Europe/Isle_of_Man" , 0x07C561 },
- { (char*) "Europe/Istanbul" , 0x07D3AD },
- { (char*) "Europe/Jersey" , 0x07DB46 },
- { (char*) "Europe/Kaliningrad" , 0x07E9E6 },
- { (char*) "Europe/Kiev" , 0x07EFDB },
- { (char*) "Europe/Kirov" , 0x07F82F },
- { (char*) "Europe/Kyiv" , 0x07FCEA },
- { (char*) "Europe/Lisbon" , 0x08054D },
- { (char*) "Europe/Ljubljana" , 0x081315 },
- { (char*) "Europe/London" , 0x081AA1 },
- { (char*) "Europe/Luxembourg" , 0x0828FD },
- { (char*) "Europe/Madrid" , 0x08348B },
- { (char*) "Europe/Malta" , 0x083EDD },
- { (char*) "Europe/Mariehamn" , 0x084925 },
- { (char*) "Europe/Minsk" , 0x08509D },
- { (char*) "Europe/Monaco" , 0x0855C4 },
- { (char*) "Europe/Moscow" , 0x086150 },
- { (char*) "Europe/Nicosia" , 0x08676F },
- { (char*) "Europe/Oslo" , 0x086F4D },
- { (char*) "Europe/Paris" , 0x08780D },
- { (char*) "Europe/Podgorica" , 0x0883AB },
- { (char*) "Europe/Prague" , 0x088B37 },
- { (char*) "Europe/Riga" , 0x089440 },
- { (char*) "Europe/Rome" , 0x089CE2 },
- { (char*) "Europe/Samara" , 0x08A73F },
- { (char*) "Europe/San_Marino" , 0x08AC15 },
- { (char*) "Europe/Sarajevo" , 0x08B672 },
- { (char*) "Europe/Saratov" , 0x08BDFE },
- { (char*) "Europe/Simferopol" , 0x08C2AB },
- { (char*) "Europe/Skopje" , 0x08C87A },
- { (char*) "Europe/Sofia" , 0x08D006 },
- { (char*) "Europe/Stockholm" , 0x08D82F },
- { (char*) "Europe/Tallinn" , 0x08DFB0 },
- { (char*) "Europe/Tirane" , 0x08E820 },
- { (char*) "Europe/Tiraspol" , 0x08F050 },
- { (char*) "Europe/Ulyanovsk" , 0x08F9B2 },
- { (char*) "Europe/Uzhgorod" , 0x08FEB5 },
- { (char*) "Europe/Vaduz" , 0x090709 },
- { (char*) "Europe/Vatican" , 0x090E75 },
- { (char*) "Europe/Vienna" , 0x0918D2 },
- { (char*) "Europe/Vilnius" , 0x092176 },
- { (char*) "Europe/Volgograd" , 0x0929F4 },
- { (char*) "Europe/Warsaw" , 0x092EBB },
- { (char*) "Europe/Zagreb" , 0x093925 },
- { (char*) "Europe/Zaporozhye" , 0x0940B1 },
- { (char*) "Europe/Zurich" , 0x094905 },
- { (char*) "Factory" , 0x095086 },
- { (char*) "GB" , 0x095106 },
- { (char*) "GB-Eire" , 0x095F62 },
- { (char*) "GMT" , 0x096DBE },
- { (char*) "GMT+0" , 0x096E3C },
- { (char*) "GMT-0" , 0x096EBA },
- { (char*) "GMT0" , 0x096F38 },
- { (char*) "Greenwich" , 0x096FB6 },
- { (char*) "Hongkong" , 0x097034 },
- { (char*) "HST" , 0x097511 },
- { (char*) "Iceland" , 0x097590 },
- { (char*) "Indian/Antananarivo" , 0x097630 },
- { (char*) "Indian/Chagos" , 0x097717 },
- { (char*) "Indian/Christmas" , 0x0977DC },
- { (char*) "Indian/Cocos" , 0x09787F },
- { (char*) "Indian/Comoro" , 0x09792B },
- { (char*) "Indian/Kerguelen" , 0x0979CC },
- { (char*) "Indian/Mahe" , 0x097A6F },
- { (char*) "Indian/Maldives" , 0x097B12 },
- { (char*) "Indian/Mauritius" , 0x097BD7 },
- { (char*) "Indian/Mayotte" , 0x097CC6 },
- { (char*) "Indian/Reunion" , 0x097D67 },
- { (char*) "Iran" , 0x097E0A },
- { (char*) "Israel" , 0x0982F6 },
- { (char*) "Jamaica" , 0x098C56 },
- { (char*) "Japan" , 0x098E44 },
- { (char*) "Kwajalein" , 0x098F85 },
- { (char*) "Libya" , 0x0990BF },
- { (char*) "MET" , 0x09933C },
- { (char*) "Mexico/BajaNorte" , 0x099B76 },
- { (char*) "Mexico/BajaSur" , 0x09A4C8 },
- { (char*) "Mexico/General" , 0x09A93C },
- { (char*) "MST" , 0x09AE0E },
- { (char*) "MST7MDT" , 0x09AE8C },
- { (char*) "Navajo" , 0x09B79E },
- { (char*) "NZ" , 0x09C146 },
- { (char*) "NZ-CHAT" , 0x09CAD7 },
- { (char*) "Pacific/Apia" , 0x09D2E9 },
- { (char*) "Pacific/Auckland" , 0x09D54B },
- { (char*) "Pacific/Bougainville" , 0x09DEEF },
- { (char*) "Pacific/Chatham" , 0x09E005 },
- { (char*) "Pacific/Chuuk" , 0x09E826 },
- { (char*) "Pacific/Easter" , 0x09E940 },
- { (char*) "Pacific/Efate" , 0x09F204 },
- { (char*) "Pacific/Enderbury" , 0x09F41C },
- { (char*) "Pacific/Fakaofo" , 0x09F504 },
- { (char*) "Pacific/Fiji" , 0x09F5CA },
- { (char*) "Pacific/Funafuti" , 0x09F80A },
- { (char*) "Pacific/Galapagos" , 0x09F8AE },
- { (char*) "Pacific/Gambier" , 0x09F9AB },
- { (char*) "Pacific/Guadalcanal" , 0x09FA5C },
- { (char*) "Pacific/Guam" , 0x09FB00 },
- { (char*) "Pacific/Honolulu" , 0x09FCFA },
- { (char*) "Pacific/Johnston" , 0x09FE55 },
- { (char*) "Pacific/Kanton" , 0x09FFAA },
- { (char*) "Pacific/Kiritimati" , 0x0A00A1 },
- { (char*) "Pacific/Kosrae" , 0x0A0199 },
- { (char*) "Pacific/Kwajalein" , 0x0A02FC },
- { (char*) "Pacific/Majuro" , 0x0A043F },
- { (char*) "Pacific/Marquesas" , 0x0A058B },
- { (char*) "Pacific/Midway" , 0x0A0647 },
- { (char*) "Pacific/Nauru" , 0x0A073A },
- { (char*) "Pacific/Niue" , 0x0A0834 },
- { (char*) "Pacific/Norfolk" , 0x0A08FD },
- { (char*) "Pacific/Noumea" , 0x0A0C6B },
- { (char*) "Pacific/Pago_Pago" , 0x0A0D99 },
- { (char*) "Pacific/Palau" , 0x0A0E54 },
- { (char*) "Pacific/Pitcairn" , 0x0A0F06 },
- { (char*) "Pacific/Pohnpei" , 0x0A0FCE },
- { (char*) "Pacific/Ponape" , 0x0A1109 },
- { (char*) "Pacific/Port_Moresby" , 0x0A11AD },
- { (char*) "Pacific/Rarotonga" , 0x0A127D },
- { (char*) "Pacific/Saipan" , 0x0A14D6 },
- { (char*) "Pacific/Samoa" , 0x0A16C2 },
- { (char*) "Pacific/Tahiti" , 0x0A177D },
- { (char*) "Pacific/Tarawa" , 0x0A182F },
- { (char*) "Pacific/Tongatapu" , 0x0A18E2 },
- { (char*) "Pacific/Truk" , 0x0A1A54 },
- { (char*) "Pacific/Wake" , 0x0A1B0C },
- { (char*) "Pacific/Wallis" , 0x0A1BBB },
- { (char*) "Pacific/Yap" , 0x0A1C5F },
- { (char*) "Poland" , 0x0A1D17 },
- { (char*) "Portugal" , 0x0A2781 },
- { (char*) "PRC" , 0x0A3536 },
- { (char*) "PST8PDT" , 0x0A3773 },
- { (char*) "ROC" , 0x0A4085 },
- { (char*) "ROK" , 0x0A438A },
- { (char*) "Singapore" , 0x0A45FF },
- { (char*) "Turkey" , 0x0A479C },
- { (char*) "UCT" , 0x0A4F35 },
- { (char*) "Universal" , 0x0A4FB3 },
- { (char*) "US/Alaska" , 0x0A5031 },
- { (char*) "US/Aleutian" , 0x0A5980 },
- { (char*) "US/Arizona" , 0x0A62C0 },
- { (char*) "US/Central" , 0x0A6434 },
- { (char*) "US/East-Indiana" , 0x0A7248 },
- { (char*) "US/Eastern" , 0x0A78E6 },
- { (char*) "US/Hawaii" , 0x0A86D2 },
- { (char*) "US/Indiana-Starke" , 0x0A8827 },
- { (char*) "US/Michigan" , 0x0A91BF },
- { (char*) "US/Mountain" , 0x0A9A81 },
- { (char*) "US/Pacific" , 0x0AA429 },
- { (char*) "US/Samoa" , 0x0AAF59 },
- { (char*) "UTC" , 0x0AB014 },
- { (char*) "W-SU" , 0x0AB092 },
- { (char*) "WET" , 0x0AB69D },
- { (char*) "Zulu" , 0x0ABE1A },
+ { (char*) "Asia/Harbin" , 0x049442 },
+ { (char*) "Asia/Hebron" , 0x04967F },
+ { (char*) "Asia/Ho_Chi_Minh" , 0x04A5B4 },
+ { (char*) "Asia/Hong_Kong" , 0x04A711 },
+ { (char*) "Asia/Hovd" , 0x04ABEE },
+ { (char*) "Asia/Irkutsk" , 0x04AF92 },
+ { (char*) "Asia/Istanbul" , 0x04B485 },
+ { (char*) "Asia/Jakarta" , 0x04BC1E },
+ { (char*) "Asia/Jayapura" , 0x04BDB6 },
+ { (char*) "Asia/Jerusalem" , 0x04BED5 },
+ { (char*) "Asia/Kabul" , 0x04C835 },
+ { (char*) "Asia/Kamchatka" , 0x04C903 },
+ { (char*) "Asia/Karachi" , 0x04CDA1 },
+ { (char*) "Asia/Kashgar" , 0x04CF28 },
+ { (char*) "Asia/Kathmandu" , 0x04CFCB },
+ { (char*) "Asia/Katmandu" , 0x04D09D },
+ { (char*) "Asia/Khandyga" , 0x04D16F },
+ { (char*) "Asia/Kolkata" , 0x04D682 },
+ { (char*) "Asia/Krasnoyarsk" , 0x04D7AB },
+ { (char*) "Asia/Kuala_Lumpur" , 0x04DC79 },
+ { (char*) "Asia/Kuching" , 0x04DE2A },
+ { (char*) "Asia/Kuwait" , 0x04E019 },
+ { (char*) "Asia/Macao" , 0x04E0BC },
+ { (char*) "Asia/Macau" , 0x04E593 },
+ { (char*) "Asia/Magadan" , 0x04EA6A },
+ { (char*) "Asia/Makassar" , 0x04EF3E },
+ { (char*) "Asia/Manila" , 0x04F091 },
+ { (char*) "Asia/Muscat" , 0x04F1E5 },
+ { (char*) "Asia/Nicosia" , 0x04F288 },
+ { (char*) "Asia/Novokuznetsk" , 0x04FA74 },
+ { (char*) "Asia/Novosibirsk" , 0x04FF10 },
+ { (char*) "Asia/Omsk" , 0x0503E7 },
+ { (char*) "Asia/Oral" , 0x0508A9 },
+ { (char*) "Asia/Phnom_Penh" , 0x050CA3 },
+ { (char*) "Asia/Pontianak" , 0x050DC8 },
+ { (char*) "Asia/Pyongyang" , 0x050F4B },
+ { (char*) "Asia/Qatar" , 0x051044 },
+ { (char*) "Asia/Qostanay" , 0x051109 },
+ { (char*) "Asia/Qyzylorda" , 0x051530 },
+ { (char*) "Asia/Rangoon" , 0x05194C },
+ { (char*) "Asia/Riyadh" , 0x051A56 },
+ { (char*) "Asia/Saigon" , 0x051AF9 },
+ { (char*) "Asia/Sakhalin" , 0x051C56 },
+ { (char*) "Asia/Samarkand" , 0x05211E },
+ { (char*) "Asia/Seoul" , 0x05236E },
+ { (char*) "Asia/Shanghai" , 0x0525E3 },
+ { (char*) "Asia/Singapore" , 0x05282C },
+ { (char*) "Asia/Srednekolymsk" , 0x0529C9 },
+ { (char*) "Asia/Taipei" , 0x052E9D },
+ { (char*) "Asia/Tashkent" , 0x0531A2 },
+ { (char*) "Asia/Tbilisi" , 0x053400 },
+ { (char*) "Asia/Tehran" , 0x053809 },
+ { (char*) "Asia/Tel_Aviv" , 0x053CF5 },
+ { (char*) "Asia/Thimbu" , 0x054655 },
+ { (char*) "Asia/Thimphu" , 0x05471E },
+ { (char*) "Asia/Tokyo" , 0x0547E7 },
+ { (char*) "Asia/Tomsk" , 0x054928 },
+ { (char*) "Asia/Ujung_Pandang" , 0x054DF9 },
+ { (char*) "Asia/Ulaanbaatar" , 0x054F03 },
+ { (char*) "Asia/Ulan_Bator" , 0x05528C },
+ { (char*) "Asia/Urumqi" , 0x055605 },
+ { (char*) "Asia/Ust-Nera" , 0x0556B5 },
+ { (char*) "Asia/Vientiane" , 0x055BAB },
+ { (char*) "Asia/Vladivostok" , 0x055CEC },
+ { (char*) "Asia/Yakutsk" , 0x0561B5 },
+ { (char*) "Asia/Yangon" , 0x05667D },
+ { (char*) "Asia/Yekaterinburg" , 0x056787 },
+ { (char*) "Asia/Yerevan" , 0x056C6E },
+ { (char*) "Atlantic/Azores" , 0x0570EB },
+ { (char*) "Atlantic/Bermuda" , 0x057EA7 },
+ { (char*) "Atlantic/Canary" , 0x05880F },
+ { (char*) "Atlantic/Cape_Verde" , 0x058F92 },
+ { (char*) "Atlantic/Faeroe" , 0x05909E },
+ { (char*) "Atlantic/Faroe" , 0x0597C1 },
+ { (char*) "Atlantic/Jan_Mayen" , 0x059EE4 },
+ { (char*) "Atlantic/Madeira" , 0x05A7EA },
+ { (char*) "Atlantic/Reykjavik" , 0x05B5B4 },
+ { (char*) "Atlantic/South_Georgia" , 0x05BA4A },
+ { (char*) "Atlantic/St_Helena" , 0x05BAEC },
+ { (char*) "Atlantic/Stanley" , 0x05BBAE },
+ { (char*) "Australia/ACT" , 0x05C06A },
+ { (char*) "Australia/Adelaide" , 0x05C904 },
+ { (char*) "Australia/Brisbane" , 0x05D1BF },
+ { (char*) "Australia/Broken_Hill" , 0x05D385 },
+ { (char*) "Australia/Canberra" , 0x05DC62 },
+ { (char*) "Australia/Currie" , 0x05E4FC },
+ { (char*) "Australia/Darwin" , 0x05EE3E },
+ { (char*) "Australia/Eucla" , 0x05EFA1 },
+ { (char*) "Australia/Hobart" , 0x05F18E },
+ { (char*) "Australia/LHI" , 0x05FAD8 },
+ { (char*) "Australia/Lindeman" , 0x06021A },
+ { (char*) "Australia/Lord_Howe" , 0x060420 },
+ { (char*) "Australia/Melbourne" , 0x060B72 },
+ { (char*) "Australia/North" , 0x061414 },
+ { (char*) "Australia/NSW" , 0x061565 },
+ { (char*) "Australia/Perth" , 0x061DFF },
+ { (char*) "Australia/Queensland" , 0x061FE7 },
+ { (char*) "Australia/South" , 0x062196 },
+ { (char*) "Australia/Sydney" , 0x062A42 },
+ { (char*) "Australia/Tasmania" , 0x0632F8 },
+ { (char*) "Australia/Victoria" , 0x063C3A },
+ { (char*) "Australia/West" , 0x0644D4 },
+ { (char*) "Australia/Yancowinna" , 0x06469E },
+ { (char*) "Brazil/Acre" , 0x064F5F },
+ { (char*) "Brazil/DeNoronha" , 0x0651D1 },
+ { (char*) "Brazil/East" , 0x06549B },
+ { (char*) "Brazil/West" , 0x065A3D },
+ { (char*) "Canada/Atlantic" , 0x065C97 },
+ { (char*) "Canada/Central" , 0x066A03 },
+ { (char*) "Canada/Eastern" , 0x067543 },
+ { (char*) "Canada/Mountain" , 0x0682F5 },
+ { (char*) "Canada/Newfoundland" , 0x068C1D },
+ { (char*) "Canada/Pacific" , 0x069A70 },
+ { (char*) "Canada/Saskatchewan" , 0x06A5C8 },
+ { (char*) "Canada/Yukon" , 0x06A9A8 },
+ { (char*) "CET" , 0x06B002 },
+ { (char*) "Chile/Continental" , 0x06B83C },
+ { (char*) "Chile/EasterIsland" , 0x06C21B },
+ { (char*) "CST6CDT" , 0x06CAD2 },
+ { (char*) "Cuba" , 0x06D3E4 },
+ { (char*) "EET" , 0x06DD60 },
+ { (char*) "Egypt" , 0x06E4E0 },
+ { (char*) "Eire" , 0x06EE4B },
+ { (char*) "EST" , 0x06FBFB },
+ { (char*) "EST5EDT" , 0x06FC79 },
+ { (char*) "Etc/GMT" , 0x07058B },
+ { (char*) "Etc/GMT+0" , 0x070609 },
+ { (char*) "Etc/GMT+1" , 0x070687 },
+ { (char*) "Etc/GMT+10" , 0x070707 },
+ { (char*) "Etc/GMT+11" , 0x070788 },
+ { (char*) "Etc/GMT+12" , 0x070809 },
+ { (char*) "Etc/GMT+2" , 0x07088A },
+ { (char*) "Etc/GMT+3" , 0x07090A },
+ { (char*) "Etc/GMT+4" , 0x07098A },
+ { (char*) "Etc/GMT+5" , 0x070A0A },
+ { (char*) "Etc/GMT+6" , 0x070A8A },
+ { (char*) "Etc/GMT+7" , 0x070B0A },
+ { (char*) "Etc/GMT+8" , 0x070B8A },
+ { (char*) "Etc/GMT+9" , 0x070C0A },
+ { (char*) "Etc/GMT-0" , 0x070C8A },
+ { (char*) "Etc/GMT-1" , 0x070D08 },
+ { (char*) "Etc/GMT-10" , 0x070D89 },
+ { (char*) "Etc/GMT-11" , 0x070E0B },
+ { (char*) "Etc/GMT-12" , 0x070E8D },
+ { (char*) "Etc/GMT-13" , 0x070F0F },
+ { (char*) "Etc/GMT-14" , 0x070F91 },
+ { (char*) "Etc/GMT-2" , 0x071013 },
+ { (char*) "Etc/GMT-3" , 0x071094 },
+ { (char*) "Etc/GMT-4" , 0x071115 },
+ { (char*) "Etc/GMT-5" , 0x071196 },
+ { (char*) "Etc/GMT-6" , 0x071217 },
+ { (char*) "Etc/GMT-7" , 0x071298 },
+ { (char*) "Etc/GMT-8" , 0x071319 },
+ { (char*) "Etc/GMT-9" , 0x07139A },
+ { (char*) "Etc/GMT0" , 0x07141B },
+ { (char*) "Etc/Greenwich" , 0x071499 },
+ { (char*) "Etc/UCT" , 0x071517 },
+ { (char*) "Etc/Universal" , 0x071595 },
+ { (char*) "Etc/UTC" , 0x071613 },
+ { (char*) "Etc/Zulu" , 0x071691 },
+ { (char*) "Europe/Amsterdam" , 0x07170F },
+ { (char*) "Europe/Andorra" , 0x072279 },
+ { (char*) "Europe/Astrakhan" , 0x072953 },
+ { (char*) "Europe/Athens" , 0x072DF0 },
+ { (char*) "Europe/Belfast" , 0x0736D2 },
+ { (char*) "Europe/Belgrade" , 0x07452E },
+ { (char*) "Europe/Berlin" , 0x074CBA },
+ { (char*) "Europe/Bratislava" , 0x0755CF },
+ { (char*) "Europe/Brussels" , 0x075ED8 },
+ { (char*) "Europe/Bucharest" , 0x076A59 },
+ { (char*) "Europe/Budapest" , 0x0772ED },
+ { (char*) "Europe/Busingen" , 0x077C39 },
+ { (char*) "Europe/Chisinau" , 0x0783C2 },
+ { (char*) "Europe/Copenhagen" , 0x078D24 },
+ { (char*) "Europe/Dublin" , 0x079589 },
+ { (char*) "Europe/Gibraltar" , 0x07A339 },
+ { (char*) "Europe/Guernsey" , 0x07AF41 },
+ { (char*) "Europe/Helsinki" , 0x07BDE1 },
+ { (char*) "Europe/Isle_of_Man" , 0x07C559 },
+ { (char*) "Europe/Istanbul" , 0x07D3A5 },
+ { (char*) "Europe/Jersey" , 0x07DB3E },
+ { (char*) "Europe/Kaliningrad" , 0x07E9DE },
+ { (char*) "Europe/Kiev" , 0x07EFD3 },
+ { (char*) "Europe/Kirov" , 0x07F827 },
+ { (char*) "Europe/Kyiv" , 0x07FCE2 },
+ { (char*) "Europe/Lisbon" , 0x080545 },
+ { (char*) "Europe/Ljubljana" , 0x08130D },
+ { (char*) "Europe/London" , 0x081A99 },
+ { (char*) "Europe/Luxembourg" , 0x0828F5 },
+ { (char*) "Europe/Madrid" , 0x083483 },
+ { (char*) "Europe/Malta" , 0x083ED5 },
+ { (char*) "Europe/Mariehamn" , 0x08491D },
+ { (char*) "Europe/Minsk" , 0x085095 },
+ { (char*) "Europe/Monaco" , 0x0855BC },
+ { (char*) "Europe/Moscow" , 0x086148 },
+ { (char*) "Europe/Nicosia" , 0x086767 },
+ { (char*) "Europe/Oslo" , 0x086F45 },
+ { (char*) "Europe/Paris" , 0x087805 },
+ { (char*) "Europe/Podgorica" , 0x0883A3 },
+ { (char*) "Europe/Prague" , 0x088B2F },
+ { (char*) "Europe/Riga" , 0x089438 },
+ { (char*) "Europe/Rome" , 0x089CDA },
+ { (char*) "Europe/Samara" , 0x08A737 },
+ { (char*) "Europe/San_Marino" , 0x08AC0D },
+ { (char*) "Europe/Sarajevo" , 0x08B66A },
+ { (char*) "Europe/Saratov" , 0x08BDF6 },
+ { (char*) "Europe/Simferopol" , 0x08C2A3 },
+ { (char*) "Europe/Skopje" , 0x08C872 },
+ { (char*) "Europe/Sofia" , 0x08CFFE },
+ { (char*) "Europe/Stockholm" , 0x08D827 },
+ { (char*) "Europe/Tallinn" , 0x08DFA8 },
+ { (char*) "Europe/Tirane" , 0x08E818 },
+ { (char*) "Europe/Tiraspol" , 0x08F048 },
+ { (char*) "Europe/Ulyanovsk" , 0x08F9AA },
+ { (char*) "Europe/Uzhgorod" , 0x08FEAD },
+ { (char*) "Europe/Vaduz" , 0x090701 },
+ { (char*) "Europe/Vatican" , 0x090E6D },
+ { (char*) "Europe/Vienna" , 0x0918CA },
+ { (char*) "Europe/Vilnius" , 0x09216E },
+ { (char*) "Europe/Volgograd" , 0x0929EC },
+ { (char*) "Europe/Warsaw" , 0x092EB3 },
+ { (char*) "Europe/Zagreb" , 0x09391D },
+ { (char*) "Europe/Zaporozhye" , 0x0940A9 },
+ { (char*) "Europe/Zurich" , 0x0948FD },
+ { (char*) "Factory" , 0x09507E },
+ { (char*) "GB" , 0x0950FE },
+ { (char*) "GB-Eire" , 0x095F5A },
+ { (char*) "GMT" , 0x096DB6 },
+ { (char*) "GMT+0" , 0x096E34 },
+ { (char*) "GMT-0" , 0x096EB2 },
+ { (char*) "GMT0" , 0x096F30 },
+ { (char*) "Greenwich" , 0x096FAE },
+ { (char*) "Hongkong" , 0x09702C },
+ { (char*) "HST" , 0x097509 },
+ { (char*) "Iceland" , 0x097588 },
+ { (char*) "Indian/Antananarivo" , 0x097628 },
+ { (char*) "Indian/Chagos" , 0x09770F },
+ { (char*) "Indian/Christmas" , 0x0977D4 },
+ { (char*) "Indian/Cocos" , 0x097877 },
+ { (char*) "Indian/Comoro" , 0x097923 },
+ { (char*) "Indian/Kerguelen" , 0x0979C4 },
+ { (char*) "Indian/Mahe" , 0x097A67 },
+ { (char*) "Indian/Maldives" , 0x097B0A },
+ { (char*) "Indian/Mauritius" , 0x097BCF },
+ { (char*) "Indian/Mayotte" , 0x097CBE },
+ { (char*) "Indian/Reunion" , 0x097D5F },
+ { (char*) "Iran" , 0x097E02 },
+ { (char*) "Israel" , 0x0982EE },
+ { (char*) "Jamaica" , 0x098C4E },
+ { (char*) "Japan" , 0x098E3C },
+ { (char*) "Kwajalein" , 0x098F7D },
+ { (char*) "Libya" , 0x0990B7 },
+ { (char*) "MET" , 0x099334 },
+ { (char*) "Mexico/BajaNorte" , 0x099B6E },
+ { (char*) "Mexico/BajaSur" , 0x09A4C0 },
+ { (char*) "Mexico/General" , 0x09A934 },
+ { (char*) "MST" , 0x09AE06 },
+ { (char*) "MST7MDT" , 0x09AE84 },
+ { (char*) "Navajo" , 0x09B796 },
+ { (char*) "NZ" , 0x09C13E },
+ { (char*) "NZ-CHAT" , 0x09CACF },
+ { (char*) "Pacific/Apia" , 0x09D2E1 },
+ { (char*) "Pacific/Auckland" , 0x09D543 },
+ { (char*) "Pacific/Bougainville" , 0x09DEE7 },
+ { (char*) "Pacific/Chatham" , 0x09DFFD },
+ { (char*) "Pacific/Chuuk" , 0x09E81E },
+ { (char*) "Pacific/Easter" , 0x09E938 },
+ { (char*) "Pacific/Efate" , 0x09F1FC },
+ { (char*) "Pacific/Enderbury" , 0x09F414 },
+ { (char*) "Pacific/Fakaofo" , 0x09F4FC },
+ { (char*) "Pacific/Fiji" , 0x09F5C2 },
+ { (char*) "Pacific/Funafuti" , 0x09F802 },
+ { (char*) "Pacific/Galapagos" , 0x09F8A6 },
+ { (char*) "Pacific/Gambier" , 0x09F9A3 },
+ { (char*) "Pacific/Guadalcanal" , 0x09FA54 },
+ { (char*) "Pacific/Guam" , 0x09FAF8 },
+ { (char*) "Pacific/Honolulu" , 0x09FCF2 },
+ { (char*) "Pacific/Johnston" , 0x09FE4D },
+ { (char*) "Pacific/Kanton" , 0x09FFA2 },
+ { (char*) "Pacific/Kiritimati" , 0x0A0099 },
+ { (char*) "Pacific/Kosrae" , 0x0A0191 },
+ { (char*) "Pacific/Kwajalein" , 0x0A02F4 },
+ { (char*) "Pacific/Majuro" , 0x0A0437 },
+ { (char*) "Pacific/Marquesas" , 0x0A0583 },
+ { (char*) "Pacific/Midway" , 0x0A063F },
+ { (char*) "Pacific/Nauru" , 0x0A0732 },
+ { (char*) "Pacific/Niue" , 0x0A082C },
+ { (char*) "Pacific/Norfolk" , 0x0A08F5 },
+ { (char*) "Pacific/Noumea" , 0x0A0C63 },
+ { (char*) "Pacific/Pago_Pago" , 0x0A0D91 },
+ { (char*) "Pacific/Palau" , 0x0A0E4C },
+ { (char*) "Pacific/Pitcairn" , 0x0A0EFE },
+ { (char*) "Pacific/Pohnpei" , 0x0A0FC6 },
+ { (char*) "Pacific/Ponape" , 0x0A1101 },
+ { (char*) "Pacific/Port_Moresby" , 0x0A11A5 },
+ { (char*) "Pacific/Rarotonga" , 0x0A1275 },
+ { (char*) "Pacific/Saipan" , 0x0A14CE },
+ { (char*) "Pacific/Samoa" , 0x0A16BA },
+ { (char*) "Pacific/Tahiti" , 0x0A1775 },
+ { (char*) "Pacific/Tarawa" , 0x0A1827 },
+ { (char*) "Pacific/Tongatapu" , 0x0A18DA },
+ { (char*) "Pacific/Truk" , 0x0A1A4C },
+ { (char*) "Pacific/Wake" , 0x0A1B04 },
+ { (char*) "Pacific/Wallis" , 0x0A1BB3 },
+ { (char*) "Pacific/Yap" , 0x0A1C57 },
+ { (char*) "Poland" , 0x0A1D0F },
+ { (char*) "Portugal" , 0x0A2779 },
+ { (char*) "PRC" , 0x0A352E },
+ { (char*) "PST8PDT" , 0x0A376B },
+ { (char*) "ROC" , 0x0A407D },
+ { (char*) "ROK" , 0x0A4382 },
+ { (char*) "Singapore" , 0x0A45F7 },
+ { (char*) "Turkey" , 0x0A4794 },
+ { (char*) "UCT" , 0x0A4F2D },
+ { (char*) "Universal" , 0x0A4FAB },
+ { (char*) "US/Alaska" , 0x0A5029 },
+ { (char*) "US/Aleutian" , 0x0A5978 },
+ { (char*) "US/Arizona" , 0x0A62B8 },
+ { (char*) "US/Central" , 0x0A642C },
+ { (char*) "US/East-Indiana" , 0x0A7240 },
+ { (char*) "US/Eastern" , 0x0A78DE },
+ { (char*) "US/Hawaii" , 0x0A86CA },
+ { (char*) "US/Indiana-Starke" , 0x0A881F },
+ { (char*) "US/Michigan" , 0x0A91B7 },
+ { (char*) "US/Mountain" , 0x0A9A79 },
+ { (char*) "US/Pacific" , 0x0AA421 },
+ { (char*) "US/Samoa" , 0x0AAF51 },
+ { (char*) "UTC" , 0x0AB00C },
+ { (char*) "W-SU" , 0x0AB08A },
+ { (char*) "WET" , 0x0AB695 },
+ { (char*) "Zulu" , 0x0ABE12 },
};
-const unsigned char timelib_timezone_db_data_builtin[704152] = {
+const unsigned char timelib_timezone_db_data_builtin[704144] = {
/* Africa/Abidjan */
0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -35067,7 +35067,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
/* America/Miquelon */
0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xB6, 0x38, 0xA8,
+0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xDF, 0x17, 0x28,
0x13, 0x6E, 0x63, 0xC0, 0x20, 0x75, 0xE4, 0xD0, 0x21, 0x81, 0x77, 0x40, 0x22, 0x55, 0xC6, 0xD0,
0x23, 0x6A, 0x93, 0xC0, 0x24, 0x35, 0xA8, 0xD0, 0x25, 0x4A, 0x75, 0xC0, 0x26, 0x15, 0x8A, 0xD0,
0x27, 0x2A, 0x57, 0xC0, 0x27, 0xFE, 0xA7, 0x50, 0x29, 0x0A, 0x39, 0xC0, 0x29, 0xDE, 0x89, 0x50,
@@ -35105,7 +35105,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x41, 0x53, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x54, 0x5A, 0x69, 0x66,
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68,
-0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28,
0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0,
0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0,
0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0,
@@ -35554,8 +35554,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0,
0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0,
0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0,
-0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0,
-0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40,
+0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0,
+0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60,
0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60,
0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60,
0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60,
@@ -35646,10 +35646,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4,
-0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D,
@@ -36169,8 +36169,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0,
0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0,
0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0,
-0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0,
-0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40,
+0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0,
+0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60,
0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60,
0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60,
0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60,
@@ -36261,10 +36261,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4,
-0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D,
@@ -39863,8 +39863,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0,
0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0,
0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0,
-0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0,
-0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40,
+0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0,
+0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60,
0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60,
0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60,
0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60,
@@ -39955,10 +39955,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4,
-0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D,
@@ -40238,8 +40238,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0,
0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0,
0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0,
-0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0,
-0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40,
+0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0,
+0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60,
0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60,
0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60,
0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60,
@@ -40330,10 +40330,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4,
-0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D,
@@ -42135,8 +42135,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
/* Asia/Almaty */
0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC,
0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20,
0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0,
0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0,
@@ -42149,53 +42149,53 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x35, 0x1D, 0x56, 0xC0, 0x36, 0x32, 0x31, 0xC0, 0x36, 0xFD, 0x38, 0xC0, 0x38, 0x1B, 0x4E, 0x40,
0x38, 0xDD, 0x1A, 0xC0, 0x39, 0xFB, 0x30, 0x40, 0x3A, 0xBC, 0xFC, 0xC0, 0x3B, 0xDB, 0x12, 0x40,
0x3C, 0xA6, 0x19, 0x40, 0x3D, 0xBA, 0xF4, 0x40, 0x3E, 0x85, 0xFB, 0x40, 0x3F, 0x9A, 0xD6, 0x40,
-0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00,
-0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54,
-0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00,
-0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01,
-0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B,
-0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF,
-0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00,
-0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00,
-0x00, 0x18, 0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00,
-0x00, 0x1A, 0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x1C, 0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x1E, 0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x20, 0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x22, 0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x24, 0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x26, 0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x27, 0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00,
-0x00, 0x29, 0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x2A, 0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x2C, 0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x32, 0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x34, 0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x36, 0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x38, 0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x39, 0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00,
-0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00,
-0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05,
-0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
-0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00,
-0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C,
-0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60,
-0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00,
-0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00,
-0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C,
-0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00,
+0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03,
+0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01,
+0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70,
+0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00,
+0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04,
+0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30,
+0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x54,
+0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA,
+0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15,
+0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17,
+0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18,
+0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A,
+0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1C,
+0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1E,
+0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x22,
+0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x26,
+0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x27,
+0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29,
+0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2A,
+0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2C,
+0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2E,
+0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x30,
+0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x32,
+0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x34,
+0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36,
+0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x38,
+0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39,
+0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3B,
+0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D,
+0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F,
+0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41,
+0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, 0x02,
+0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05,
+0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04,
+0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, 0x00,
+0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01,
+0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62,
+0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00,
+0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37,
+0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C,
+0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00,
0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B,
0x68, 0x73, 0x74, 0x61, 0x6E,
@@ -43787,7 +43787,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0,
0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60,
0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, 0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00,
-0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80,
+0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00,
0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00,
0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00,
0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80,
@@ -43812,7 +43812,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D,
+0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D,
0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8,
0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC,
0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE,
@@ -43874,8 +43874,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62,
0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64,
0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66,
-0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67,
-0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69,
+0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67,
+0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69,
0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B,
0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D,
0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6F,
@@ -43889,42 +43889,41 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x98, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E,
0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80,
0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82,
-0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83,
-0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84,
+0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84,
0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85,
-0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86,
+0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86,
0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86,
-0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87,
+0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87,
0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88,
-0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89,
+0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89,
0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A,
-0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B,
+0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B,
0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C,
-0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D,
+0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D,
0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E,
-0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F,
+0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F,
0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90,
-0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91,
+0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91,
0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91,
-0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93,
+0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93,
0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93,
-0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95,
+0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95,
0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95,
-0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96,
+0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96,
0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97,
-0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98,
+0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98,
0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99,
-0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A,
+0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A,
0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B,
-0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C,
+0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C,
0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C,
-0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E,
+0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E,
0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E,
-0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0,
-0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2,
-0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4,
-0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5,
-0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7,
+0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0,
+0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2,
+0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4,
+0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6,
+0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7,
0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9,
0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB,
0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAD,
@@ -43939,35 +43938,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE,
0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1,
-0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2,
+0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2,
0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3,
-0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4,
+0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4,
0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5,
-0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5,
+0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5,
0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6,
-0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7,
+0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7,
0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8,
-0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9,
+0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9,
0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA,
-0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB,
+0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB,
0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC,
-0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD,
+0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD,
0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE,
-0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF,
+0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF,
0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF,
-0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1,
+0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1,
0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1,
-0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3,
+0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3,
0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3,
-0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4,
+0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4,
0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5,
-0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6,
+0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6,
0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7,
-0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8,
+0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8,
0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9,
-0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA,
+0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA,
0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA,
-0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02,
+0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x06,
0x05, 0x06, 0x07, 0x08, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
@@ -43986,17 +43985,17 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
-0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
-0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C,
-0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00,
-0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01,
-0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54,
-0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53,
-0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54,
-0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34,
-0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00,
-0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70,
+0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00,
+0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00,
+0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A,
+0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00,
+0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45,
+0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D,
+0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34,
+0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x0A,
+0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70,
/* Asia/Harbin */
0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -44070,8 +44069,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x58, 0x13, 0xCA, 0x60, 0x58, 0xD5, 0xA4, 0xF0, 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0,
0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60,
0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0,
-0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00,
-0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00,
+0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80,
+0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00,
0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00,
0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80,
0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, 0x74, 0x44, 0x8B, 0x70, 0x75, 0x0F, 0xA0, 0x80,
@@ -44095,7 +44094,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00,
+0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF,
0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF,
0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF,
@@ -44158,8 +44157,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0x5F, 0x93, 0x52, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00,
0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00,
0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00,
0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00,
@@ -44174,41 +44173,40 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00,
0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00,
0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00,
0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00,
0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00,
0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00,
0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00,
0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00,
0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00,
0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00,
0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00,
0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00,
0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00,
0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00,
-0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00,
0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00,
0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00,
0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00,
@@ -44223,35 +44221,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0xBB, 0xAE, 0x3B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00,
0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00,
0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00,
0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00,
0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00,
0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00,
0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00,
0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00,
0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00,
0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00,
0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00,
0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00,
0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00,
-0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00,
0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00,
-0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00,
0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03,
0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08,
@@ -44271,24 +44269,24 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04,
-0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20,
-0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00,
-0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01,
-0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C,
-0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53,
-0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E,
-0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35,
-0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65,
-0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B,
+0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20, 0xE7, 0x00,
+0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x1C,
+0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00,
+0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00,
+0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00,
+0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E,
+0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A,
+0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74,
+0x20, 0x42, 0x61, 0x6E, 0x6B,
/* Asia/Ho_Chi_Minh */
0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A,
0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0,
-0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00,
+0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00,
0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00,
0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00,
0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54,
@@ -44299,7 +44297,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF,
0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF,
0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF,
-0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00,
+0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00,
0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00,
0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62,
@@ -46092,8 +46090,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
/* Asia/Qostanay */
0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C,
0xB5, 0xA3, 0xFD, 0x40, 0x15, 0x27, 0x8B, 0xB0, 0x16, 0x18, 0xC0, 0x20, 0x17, 0x08, 0xB1, 0x20,
0x17, 0xF9, 0xF3, 0xA0, 0x18, 0xE9, 0xF2, 0xB0, 0x19, 0xDB, 0x27, 0x20, 0x1A, 0xCC, 0x77, 0xB0,
0x1B, 0xBC, 0x84, 0xD0, 0x1C, 0xAC, 0x75, 0xD0, 0x1D, 0x9C, 0x66, 0xD0, 0x1E, 0x8C, 0x57, 0xD0,
@@ -46106,56 +46104,58 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x35, 0x1D, 0x64, 0xD0, 0x36, 0x32, 0x3F, 0xD0, 0x36, 0xFD, 0x46, 0xD0, 0x38, 0x1B, 0x5C, 0x50,
0x38, 0xDD, 0x28, 0xD0, 0x39, 0xFB, 0x3E, 0x50, 0x3A, 0xBD, 0x0A, 0xD0, 0x3B, 0xDB, 0x20, 0x50,
0x3C, 0xA6, 0x27, 0x50, 0x3D, 0xBB, 0x02, 0x50, 0x3E, 0x86, 0x09, 0x50, 0x3F, 0x9A, 0xE4, 0x50,
-0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02,
-0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08,
-0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
-0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, 0x00, 0x3B, 0xA4, 0x00,
-0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54,
-0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00,
-0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00,
-0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54,
-0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B,
-0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF,
-0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00,
-0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00,
-0x17, 0xF9, 0xF3, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00,
-0x19, 0xDB, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00,
-0x1B, 0xBC, 0x84, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x1D, 0x9C, 0x66, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x1F, 0x7C, 0x48, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x21, 0x5C, 0x2A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x23, 0x3C, 0x0C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x25, 0x1B, 0xEE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x27, 0x05, 0x0B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x28, 0xE4, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00,
-0x29, 0xD4, 0xDE, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x2B, 0xB4, 0xC0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x2D, 0x94, 0xA2, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x2F, 0x74, 0x84, 0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x33, 0x3D, 0x82, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x35, 0x1D, 0x64, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00,
-0x36, 0xFD, 0x46, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x38, 0xDD, 0x28, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x3A, 0xBD, 0x0A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00,
-0x40, 0x65, 0xEB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04,
+0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x02, 0x03, 0x04,
0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05,
0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
-0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00,
-0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00,
-0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46,
-0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00,
-0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01,
-0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, 0x2B, 0x30,
-0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00,
-0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E,
-0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79,
+0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x02,
+0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50,
+0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00,
+0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08,
+0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60,
+0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00,
+0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10,
+0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0,
+0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x27, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x84, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x66, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x48, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x2A, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x0C, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xEE, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x0B, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xFB, 0x60,
+0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xDE, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xC0, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xA2, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x82, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x64, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x46, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x28, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x0A, 0xD0,
+0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20,
+0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05,
+0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
+0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06,
+0x05, 0x06, 0x09, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60,
+0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00,
+0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C,
+0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00,
+0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35,
+0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73,
+0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B,
+0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79,
/* Asia/Qyzylorda */
0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -46262,7 +46262,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A,
0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0,
-0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00,
+0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00,
0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00,
0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00,
0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54,
@@ -46273,7 +46273,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF,
0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF,
0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF,
-0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00,
+0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00,
0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00,
0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62,
@@ -51988,8 +51988,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0,
0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0,
0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0,
-0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0,
-0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40,
+0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0,
+0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60,
0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60,
0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60,
0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60,
@@ -52080,10 +52080,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4,
-0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E,
-0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A,
+0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B,
0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D,
@@ -70100,4 +70100,4 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = {
};
#endif
-const timelib_tzdb timezonedb_builtin = { "2023.4", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2024.1", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/dom/element.c b/ext/dom/element.c
index f87fbcccfef98..46f1100a767da 100644
--- a/ext/dom/element.c
+++ b/ext/dom/element.c
@@ -461,7 +461,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine)
if (worklist_size == worklist_capacity) {
if (UNEXPECTED(worklist_capacity >= SIZE_MAX / 3 * 2 / sizeof(dom_deep_ns_redef_item))) {
/* Shouldn't be possible to hit, but checked for safety anyway */
- return;
+ goto out;
}
worklist_capacity = worklist_capacity * 3 / 2;
worklist = erealloc(worklist, sizeof(dom_deep_ns_redef_item) * worklist_capacity);
@@ -472,6 +472,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine)
}
}
+out:
efree(worklist);
}
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index f008d58089bc3..5ce98a4aeb3f7 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -1713,6 +1713,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int
return NULL;
}
+ ZVAL_DEREF(offset);
+
zend_long lval;
if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) {
/* does not support named lookup */
@@ -1726,6 +1728,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int
static int dom_nodelist_has_dimension(zend_object *object, zval *member, int check_empty)
{
+ ZVAL_DEREF(member);
+
zend_long offset;
if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) {
/* does not support named lookup */
@@ -1785,6 +1789,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t
return NULL;
}
+ ZVAL_DEREF(offset);
+
zend_long lval;
if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) {
/* exceptional case, switch to named lookup */
@@ -1804,6 +1810,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t
static int dom_nodemap_has_dimension(zend_object *object, zval *member, int check_empty)
{
+ ZVAL_DEREF(member);
+
zend_long offset;
if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) {
/* exceptional case, switch to named lookup */
diff --git a/ext/dom/tests/DOMNamedNodeMap_string_references.phpt b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt
new file mode 100644
index 0000000000000..f6a79286b9132
--- /dev/null
+++ b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt
@@ -0,0 +1,64 @@
+--TEST--
+DOMNamedNodeMap string references
+--EXTENSIONS--
+dom
+--FILE--
+loadXML('');
+
+$attributes = $dom->documentElement->attributes;
+
+var_dump(isset($attributes['href']), $attributes['href']->value);
+
+var_dump(isset($attributes['foo']), $attributes['foo']->value);
+
+$str = 'href';
+$ref =& $str;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+$str = 'foo';
+$ref =& $str;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+$str = 'this does not exist';
+$ref =& $str;
+var_dump(isset($attributes[$ref]), $attributes[$ref]);
+
+$str = '0';
+$ref =& $str;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+$str = '1';
+$ref =& $str;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+$int = 0;
+$ref =& $int;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+$int = 1;
+$ref =& $int;
+var_dump(isset($attributes[$ref]), $attributes[$ref]->value);
+
+?>
+--EXPECT--
+bool(true)
+string(2) "hi"
+bool(true)
+string(3) "bar"
+bool(true)
+string(2) "hi"
+bool(true)
+string(3) "bar"
+bool(false)
+NULL
+bool(true)
+string(2) "hi"
+bool(true)
+string(3) "bar"
+bool(true)
+string(2) "hi"
+bool(true)
+string(3) "bar"
diff --git a/ext/dom/tests/bug67949.phpt b/ext/dom/tests/bug67949.phpt
index 270beb02b494c..f087633bdfe6f 100644
--- a/ext/dom/tests/bug67949.phpt
+++ b/ext/dom/tests/bug67949.phpt
@@ -5,6 +5,8 @@ dom
--FILE--
data
hello world
@@ -14,57 +16,56 @@ $doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('div');
-echo "testing has_dimension\n";
+echo "--- testing has_dimension ---\n";
var_dump(isset($nodes[0]));
var_dump(isset($nodes[1]));
var_dump(isset($nodes[-1]));
-echo "testing property access\n";
+echo "--- testing property access ---\n";
var_dump($nodes[0]->textContent);
var_dump($nodes[1]->textContent);
-echo "testing offset not a long\n";
+echo "--- testing offset not a long: array ---\n";
$offset = ['test'];
var_dump($offset);
var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent);
-var_dump($offset);
-$something = 'test';
+echo "--- testing offset not a long: Reference to string ---\n";
+$something = 'href';
$offset = &$something;
var_dump($offset);
var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent);
-var_dump($offset);
+echo "--- testing offset not a long: string ---\n";
$offset = 'test';
var_dump($offset);
var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent);
-var_dump($offset);
-echo "testing read_dimension with null offset\n";
+echo "--- testing read_dimension with null offset ---\n";
try {
var_dump($nodes[][] = 1);
} catch (Error $e) {
echo $e->getMessage(), "\n";
}
-echo "testing attribute access\n";
+echo "--- testing attribute access ---\n";
$anchor = $doc->getElementsByTagName('a')[0];
var_dump($anchor->attributes[0]->name);
echo "==DONE==\n";
?>
--EXPECTF--
-testing has_dimension
+--- testing has_dimension ---
bool(true)
bool(false)
bool(false)
-testing property access
+--- testing property access ---
string(4) "data"
Warning: Attempt to read property "textContent" on null in %s on line %d
NULL
-testing offset not a long
+--- testing offset not a long: array ---
array(1) {
[0]=>
string(4) "test"
@@ -73,20 +74,20 @@ array(1) {
Warning: Attempt to read property "textContent" on null in %s on line %d
bool(false)
NULL
-array(1) {
- [0]=>
- string(4) "test"
-}
-string(4) "test"
-bool(true)
-string(4) "data"
-string(4) "test"
-string(4) "test"
-bool(true)
-string(4) "data"
+--- testing offset not a long: Reference to string ---
+string(4) "href"
+
+Warning: Attempt to read property "textContent" on null in %s on line %d
+bool(false)
+NULL
+--- testing offset not a long: string ---
string(4) "test"
-testing read_dimension with null offset
+
+Warning: Attempt to read property "textContent" on null in %s on line %d
+bool(false)
+NULL
+--- testing read_dimension with null offset ---
Cannot access DOMNodeList without offset
-testing attribute access
+--- testing attribute access ---
string(4) "href"
==DONE==
diff --git a/ext/dom/tests/bug79971_2.phpt b/ext/dom/tests/bug79971_2.phpt
index c4e6b1e4e0933..f5bee66302b0f 100644
--- a/ext/dom/tests/bug79971_2.phpt
+++ b/ext/dom/tests/bug79971_2.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug #79971 (special character is breaking the path in xml function)
---SKIPIF--
-
+--EXTENSIONS--
+dom
--FILE--
--FILE--
diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch
index a0c62be524f04..8fb5efbcac07f 100644
--- a/ext/fileinfo/libmagic.patch
+++ b/ext/fileinfo/libmagic.patch
@@ -1,6 +1,6 @@
diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
--- libmagic.orig/apprentice.c 2022-09-13 20:46:07.000000000 +0200
-+++ libmagic/apprentice.c 2022-10-02 20:39:14.879183555 +0200
++++ libmagic/apprentice.c 2023-10-25 17:56:17.066628832 +0200
@@ -48,7 +48,9 @@
#ifdef QUICK
#include
@@ -864,7 +864,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
break;
diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
--- libmagic.orig/ascmagic.c 2022-09-13 20:40:30.000000000 +0200
-+++ libmagic/ascmagic.c 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/ascmagic.c 2024-02-13 21:14:11.091069093 +0100
@@ -96,7 +96,7 @@
rv = file_ascmagic_with_encoding(ms, &bb,
ubuf, ulen, code, type, text);
@@ -874,7 +874,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
return rv;
}
-@@ -143,7 +143,7 @@
+@@ -143,13 +143,15 @@
/* malloc size is a conservative overestimate; could be
improved, or at least realloced after conversion. */
mlen = ulen * 6;
@@ -883,7 +883,16 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
file_oomem(ms, mlen);
goto done;
}
-@@ -273,8 +273,8 @@
+ if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen))
+- == NULL)
++ == NULL) {
++ rv = 0;
+ goto done;
++ }
+ buffer_init(&bb, b->fd, &b->st, utf8_buf,
+ CAST(size_t, utf8_end - utf8_buf));
+
+@@ -273,8 +275,8 @@
goto done;
if (has_long_lines)
@@ -894,7 +903,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
goto done;
/*
-@@ -330,7 +330,8 @@
+@@ -330,7 +332,8 @@
}
rv = 1;
done:
@@ -906,7 +915,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
}
diff -u libmagic.orig/buffer.c libmagic/buffer.c
--- libmagic.orig/buffer.c 2022-09-13 20:34:20.000000000 +0200
-+++ libmagic/buffer.c 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/buffer.c 2023-10-25 17:56:17.069962152 +0200
@@ -31,19 +31,21 @@
#endif /* lint */
@@ -960,7 +969,7 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c
}
diff -u libmagic.orig/cdf.c libmagic/cdf.c
--- libmagic.orig/cdf.c 2022-09-13 20:34:25.000000000 +0200
-+++ libmagic/cdf.c 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/cdf.c 2023-10-25 17:56:17.069962152 +0200
@@ -43,7 +43,9 @@
#include
#endif
@@ -1191,7 +1200,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
#endif
diff -u libmagic.orig/cdf.h libmagic/cdf.h
--- libmagic.orig/cdf.h 2022-09-13 20:34:29.000000000 +0200
-+++ libmagic/cdf.h 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/cdf.h 2023-10-25 17:56:17.069962152 +0200
@@ -37,8 +37,6 @@
#ifdef WIN32
@@ -1203,7 +1212,7 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h
#define timespec timeval
diff -u libmagic.orig/compress.c libmagic/compress.c
--- libmagic.orig/compress.c 2022-09-13 20:34:42.000000000 +0200
-+++ libmagic/compress.c 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/compress.c 2023-10-25 17:56:17.069962152 +0200
@@ -63,13 +63,14 @@
#if defined(HAVE_SYS_TIME_H)
#include
@@ -1312,7 +1321,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
+#endif
diff -u libmagic.orig/der.c libmagic/der.c
--- libmagic.orig/der.c 2022-09-13 20:34:54.000000000 +0200
-+++ libmagic/der.c 2022-10-02 15:56:16.390142333 +0200
++++ libmagic/der.c 2023-10-25 17:56:17.069962152 +0200
@@ -54,7 +54,9 @@
#include "magic.h"
#include "der.h"
@@ -1325,7 +1334,7 @@ diff -u libmagic.orig/der.c libmagic/der.c
#endif
diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
--- libmagic.orig/elfclass.h 2022-09-13 20:35:11.000000000 +0200
-+++ libmagic/elfclass.h 2022-10-02 03:02:46.697523453 +0200
++++ libmagic/elfclass.h 2023-08-30 22:16:33.784980199 +0200
@@ -41,7 +41,7 @@
return toomany(ms, "program headers", phnum);
flags |= FLAGS_IS_CORE;
@@ -1355,7 +1364,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
CAST(int, elf_getu16(swap, elfhdr.e_shstrndx)),
diff -u libmagic.orig/encoding.c libmagic/encoding.c
--- libmagic.orig/encoding.c 2022-09-13 20:46:07.000000000 +0200
-+++ libmagic/encoding.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/encoding.c 2023-10-25 17:56:17.069962152 +0200
@@ -97,7 +97,7 @@
nbytes = ms->encoding_max;
@@ -1391,7 +1400,7 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c
}
diff -u libmagic.orig/file.h libmagic/file.h
--- libmagic.orig/file.h 2022-09-13 20:35:30.000000000 +0200
-+++ libmagic/file.h 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/file.h 2023-10-25 17:56:17.069962152 +0200
@@ -33,9 +33,7 @@
#ifndef __file_h__
#define __file_h__
@@ -1570,7 +1579,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#define QUICK
diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
--- libmagic.orig/fsmagic.c 2022-09-13 20:36:53.000000000 +0200
-+++ libmagic/fsmagic.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/fsmagic.c 2023-10-25 17:56:17.069962152 +0200
@@ -66,26 +66,10 @@
# define minor(dev) ((dev) & 0xff)
#endif
@@ -1863,7 +1872,7 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
case S_IFSOCK:
diff -u libmagic.orig/funcs.c libmagic/funcs.c
--- libmagic.orig/funcs.c 2022-09-13 20:46:07.000000000 +0200
-+++ libmagic/funcs.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/funcs.c 2023-10-25 17:56:17.069962152 +0200
@@ -66,7 +66,7 @@
private void
file_clearbuf(struct magic_set *ms)
@@ -2167,7 +2176,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
file_clear_closexec(int fd) {
diff -u libmagic.orig/magic.c libmagic/magic.c
--- libmagic.orig/magic.c 2022-09-13 20:37:57.000000000 +0200
-+++ libmagic/magic.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/magic.c 2023-10-25 17:56:17.069962152 +0200
@@ -25,11 +25,6 @@
* SUCH DAMAGE.
*/
@@ -2640,8 +2649,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
}
return file_getbuffer(ms);
diff -u libmagic.orig/magic.h libmagic/magic.h
---- libmagic.orig/magic.h 2022-10-02 20:59:55.617810794 +0200
-+++ libmagic/magic.h 2022-10-02 15:56:16.394142341 +0200
+--- libmagic.orig/magic.h 2024-02-13 21:14:59.340250330 +0100
++++ libmagic/magic.h 2023-10-25 17:56:17.069962152 +0200
@@ -126,6 +126,7 @@
const char *magic_getpath(const char *, int);
@@ -2652,7 +2661,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
diff -u libmagic.orig/print.c libmagic/print.c
--- libmagic.orig/print.c 2022-09-13 20:38:34.000000000 +0200
-+++ libmagic/print.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/print.c 2023-10-25 17:56:17.069962152 +0200
@@ -73,7 +73,7 @@
if (m->mask_op & FILE_OPINVERSE)
(void) fputc('~', stderr);
@@ -2709,7 +2718,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
goto out;
diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
--- libmagic.orig/readcdf.c 2022-09-13 20:38:40.000000000 +0200
-+++ libmagic/readcdf.c 2022-10-02 15:56:16.394142341 +0200
++++ libmagic/readcdf.c 2023-10-25 17:56:17.069962152 +0200
@@ -31,7 +31,9 @@
#include
@@ -2829,7 +2838,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
if (i != -1)
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
--- libmagic.orig/softmagic.c 2022-09-13 20:46:07.000000000 +0200
-+++ libmagic/softmagic.c 2022-10-02 20:58:58.073503436 +0200
++++ libmagic/softmagic.c 2023-10-25 17:56:17.069962152 +0200
@@ -43,7 +43,7 @@
#include
#include "der.h"
diff --git a/ext/fileinfo/libmagic/ascmagic.c b/ext/fileinfo/libmagic/ascmagic.c
index acd5089cb1900..0372b8e5c0b8d 100644
--- a/ext/fileinfo/libmagic/ascmagic.c
+++ b/ext/fileinfo/libmagic/ascmagic.c
@@ -148,8 +148,10 @@ file_ascmagic_with_encoding(struct magic_set *ms, const struct buffer *b,
goto done;
}
if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen))
- == NULL)
+ == NULL) {
+ rv = 0;
goto done;
+ }
buffer_init(&bb, b->fd, &b->st, utf8_buf,
CAST(size_t, utf8_end - utf8_buf));
diff --git a/ext/fileinfo/tests/gh13344.phpt b/ext/fileinfo/tests/gh13344.phpt
new file mode 100644
index 0000000000000..a2074af8a0bf1
--- /dev/null
+++ b/ext/fileinfo/tests/gh13344.phpt
@@ -0,0 +1,12 @@
+--TEST--
+GH-13344 (finfo::buffer(): Failed identify data 0:(null))
+--EXTENSIONS--
+fileinfo
+--FILE--
+buffer($data);
+echo $mime_type;
+?>
+--EXPECT--
+application/octet-stream; charset=utf-32le
diff --git a/ext/filter/tests/bug77221.phpt b/ext/filter/tests/bug77221.phpt
index 307a83898ac44..f94a14dee2de8 100644
--- a/ext/filter/tests/bug77221.phpt
+++ b/ext/filter/tests/bug77221.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug #77221 (Request IP address filter flag to exclude non-global IP addresses)
---SKIPIF--
-
+--EXTENSIONS--
+filter
--FILE--
+--EXTENSIONS--
+filter
--FILE--
+#include
+#include
+
+/* A custom gdErrorMethod */
+void exit1(int priority, const char *format, va_list args) {
+ _exit(1);
+}
+
+/* Override the default gd_error_method with one that
+ actually causes the program to return an error. */
+int main(int argc, char** argv) {
+ m4_if([$1],[Xpm],
+ [char* f = "test.xpm"],
+ [FILE* f = NULL]);
+ gdSetErrorMethod(exit1);
+ gdImagePtr p = gdImageCreateFrom$1(f);
+ return 0;
+}])],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+ ],[
+ AC_MSG_RESULT([no])
+ ],[
+ AC_MSG_RESULT([no])
+ ])
+ AC_LANG_POP([C])
+ LIBS="${old_LIBS}"
+])
+
AC_DEFUN([PHP_GD_CHECK_VERSION],[
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromPng, [AC_DEFINE(HAVE_GD_PNG, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromAvif, [AC_DEFINE(HAVE_GD_AVIF, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromWebp, [AC_DEFINE(HAVE_GD_WEBP, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromJpeg, [AC_DEFINE(HAVE_GD_JPG, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm, [AC_DEFINE(HAVE_GD_XPM, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromBmp, [AC_DEFINE(HAVE_GD_BMP, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageCreateFromTga, [AC_DEFINE(HAVE_GD_TGA, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
- PHP_CHECK_LIBRARY(gd, gdImageStringFT, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
+ PHP_GD_CHECK_FORMAT([Png], [HAVE_GD_PNG])
+ PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF])
+ PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP])
+ PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG])
+ PHP_GD_CHECK_FORMAT([Xpm], [HAVE_GD_XPM])
+ PHP_GD_CHECK_FORMAT([Bmp], [HAVE_GD_BMP])
+ PHP_GD_CHECK_FORMAT([Tga], [HAVE_GD_TGA])
+ PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdVersionString, [AC_DEFINE(HAVE_GD_LIBVERSION, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdImageGetInterpolationMethod, [AC_DEFINE(HAVE_GD_GET_INTERPOLATION, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
])
diff --git a/ext/intl/tests/gh10647.phpt b/ext/intl/tests/gh10647.phpt
index 61c6b87e0ddec..34bac8c8f7636 100644
--- a/ext/intl/tests/gh10647.phpt
+++ b/ext/intl/tests/gh10647.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug GH-10647 (Spoofchecker::isSuspicious $errorCode always null)
---SKIPIF--
-
+--EXTENSIONS--
+intl
--FILE--
+--EXTENSIONS--
+intl
--FILE--
+--EXTENSIONS--
+intl
--FILE--
+--EXTENSIONS--
+mbstring
--INI--
sendmail_path={MAIL:{PWD}/gh8086.eml}
mail.mixed_lf_and_crlf=on
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c
index fce042ec5be5c..14cbe518bebf8 100644
--- a/ext/mysqlnd/mysqlnd_wireprotocol.c
+++ b/ext/mysqlnd/mysqlnd_wireprotocol.c
@@ -2467,8 +2467,10 @@ MYSQLND_METHOD(mysqlnd_protocol, send_command_handle_OK)(
payload_decoder_factory->m.init_ok_packet(&ok_response);
DBG_ENTER("mysqlnd_protocol::send_command_handle_OK");
if (FAIL == (ret = PACKET_READ(payload_decoder_factory->conn, &ok_response))) {
- DBG_INF("Error while reading OK packet");
- SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet");
+ if (error_info->error_no != CR_SERVER_GONE_ERROR) {
+ DBG_INF("Error while reading OK packet");
+ SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet");
+ }
goto end;
}
DBG_INF_FMT("OK from server");
diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
index 705ca0eb3dc70..44a55a90dfd5d 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
@@ -42,6 +42,10 @@ if test "$PHP_OPCACHE" != "no"; then
PHP_OPCACHE_JIT=no
;;
esac
+ if test "$host_vendor" = "apple" && test "$host_cpu" = "aarch64" && test "$PHP_THREAD_SAFETY" = "yes"; then
+ AC_MSG_WARN([JIT not supported on Apple Silicon with ZTS])
+ PHP_OPCACHE_JIT=no
+ fi
fi
if test "$PHP_OPCACHE_JIT" = "yes"; then
diff --git a/ext/opcache/jit/zend_jit_vm_helpers.c b/ext/opcache/jit/zend_jit_vm_helpers.c
index 4eca7d78f1e86..9b92d9ebc6b85 100644
--- a/ext/opcache/jit/zend_jit_vm_helpers.c
+++ b/ext/opcache/jit/zend_jit_vm_helpers.c
@@ -643,6 +643,16 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex,
return ZEND_JIT_TRACE_STOP_EXCEPTION;
}
+ trace_flags = ZEND_OP_TRACE_INFO(opline, offset)->trace_flags;
+ if (trace_flags & ZEND_JIT_TRACE_UNSUPPORTED) {
+ TRACE_END(ZEND_JIT_TRACE_END, ZEND_JIT_TRACE_STOP_NOT_SUPPORTED, opline);
+#ifdef HAVE_GCC_GLOBAL_REGS
+ execute_data = save_execute_data;
+ opline = save_opline;
+#endif
+ return ZEND_JIT_TRACE_STOP_NOT_SUPPORTED;
+ }
+
if (prev_call) {
int ret = zend_jit_trace_record_fake_init_call(prev_call, trace_buffer, idx, is_megamorphic);
if (ret < 0) {
diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc
index e4d7a745cba2d..7c92d88351a84 100644
--- a/ext/opcache/jit/zend_jit_x86.dasc
+++ b/ext/opcache/jit/zend_jit_x86.dasc
@@ -2901,6 +2901,14 @@ static int zend_jit_setup(void)
asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0"
: "=r" (ret));
tsrm_ls_cache_tcb_offset = ret;
+#elif defined(__MUSL__)
+ size_t *ti;
+
+ __asm__(
+ "leaq _tsrm_ls_cache@tlsgd(%%rip), %0\n"
+ : "=a" (ti));
+ tsrm_tls_offset = ti[1];
+ tsrm_tls_index = ti[0] * 8;
#else
size_t *ti;
diff --git a/ext/openssl/tests/bug50293.phpt b/ext/openssl/tests/bug50293.phpt
index 8eae2914bd195..0fc2bc371a735 100644
--- a/ext/openssl/tests/bug50293.phpt
+++ b/ext/openssl/tests/bug50293.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug #50293 (Several openssl functions ignore the VCWD)
---SKIPIF--
-
+--EXTENSIONS--
+openssl
--FILE--
+--EXTENSIONS--
+openssl
--FILE--
column_count; colno++) {
+ if (zend_string_equals(stmt->columns[colno].name, name)) {
+ fetch_value(stmt, rv, colno, NULL);
+ return rv;
+ }
+ }
+ return NULL;
+}
+
+static zval *row_read_column_number(pdo_stmt_t *stmt, zend_long column, zval *rv)
+{
+ if (column >= 0 && column < stmt->column_count) {
+ fetch_value(stmt, rv, column, NULL);
+ return rv;
+ }
+ return NULL;
+}
static zval *row_prop_read(zend_object *object, zend_string *name, int type, void **cache_slot, zval *rv)
{
pdo_row_t *row = (pdo_row_t *)object;
pdo_stmt_t *stmt = row->stmt;
- int colno = -1;
zend_long lval;
+ zval *retval;
ZEND_ASSERT(stmt);
ZVAL_NULL(rv);
if (zend_string_equals_literal(name, "queryString")) {
return zend_std_read_property(&stmt->std, name, type, cache_slot, rv);
- } else if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) {
- if (lval >= 0 && lval < stmt->column_count) {
- fetch_value(stmt, rv, lval, NULL);
- }
+ } else if (is_numeric_str_function(name, &lval, /* dval */ NULL) == IS_LONG) {
+ retval = row_read_column_number(stmt, lval, rv);
} else {
- /* TODO: replace this with a hash of available column names to column
- * numbers */
- for (colno = 0; colno < stmt->column_count; colno++) {
- if (zend_string_equals(stmt->columns[colno].name, name)) {
- fetch_value(stmt, rv, colno, NULL);
- return rv;
- }
- }
+ retval = row_read_column_name(stmt, name, rv);
}
-
- return rv;
+ if (UNEXPECTED(!retval)) {
+ // TODO throw an error on master
+ //if (type != BP_VAR_IS) {
+ // if (is_numeric) {
+ // zend_value_error("Invalid column index");
+ // } else {
+ // zend_throw_error(NULL, "No column named \"%s\" exists", ZSTR_VAL(name));
+ // }
+ //}
+ //return &EG(uninitialized_zval);
+ ZVAL_NULL(rv);
+ return rv;
+ }
+ return retval;
}
-static zval *row_dim_read(zend_object *object, zval *member, int type, zval *rv)
+static zval *row_dim_read(zend_object *object, zval *offset, int type, zval *rv)
{
- pdo_row_t *row = (pdo_row_t *)object;
- pdo_stmt_t *stmt = row->stmt;
- int colno = -1;
- zend_long lval;
- ZEND_ASSERT(stmt);
+ if (UNEXPECTED(!offset)) {
+ zend_throw_error(NULL, "Cannot append to PDORow offset");
+ return NULL;
+ }
+ if (Z_TYPE_P(offset) == IS_LONG) {
+ pdo_row_t *row = (pdo_row_t *)object;
+ pdo_stmt_t *stmt = row->stmt;
+ ZEND_ASSERT(stmt);
- ZVAL_NULL(rv);
- if (Z_TYPE_P(member) == IS_LONG) {
- if (Z_LVAL_P(member) >= 0 && Z_LVAL_P(member) < stmt->column_count) {
- fetch_value(stmt, rv, Z_LVAL_P(member), NULL);
- }
- } else if (Z_TYPE_P(member) == IS_STRING
- && is_numeric_string(Z_STRVAL_P(member), Z_STRLEN_P(member), &lval, NULL, 0) == IS_LONG) {
- if (lval >= 0 && lval < stmt->column_count) {
- fetch_value(stmt, rv, lval, NULL);
+ ZVAL_NULL(rv);
+ if (Z_LVAL_P(offset) >= 0 && Z_LVAL_P(offset) < stmt->column_count) {
+ fetch_value(stmt, rv, Z_LVAL_P(offset), NULL);
}
+ return rv;
} else {
- if (!try_convert_to_string(member)) {
- return &EG(uninitialized_zval);
- }
-
- if (zend_string_equals_literal(Z_STR_P(member), "queryString")) {
- return zend_std_read_property(&stmt->std, Z_STR_P(member), type, NULL, rv);
- }
-
- /* TODO: replace this with a hash of available column names to column
- * numbers */
- for (colno = 0; colno < stmt->column_count; colno++) {
- if (zend_string_equals(stmt->columns[colno].name, Z_STR_P(member))) {
- fetch_value(stmt, rv, colno, NULL);
- return rv;
- }
+ zend_string *member = zval_try_get_string(offset);
+ if (!member) {
+ return NULL;
}
+ zval *result = row_prop_read(object, member, type, NULL, rv);
+ zend_string_release_ex(member, false);
+ return result;
}
-
- return rv;
}
static zval *row_prop_write(zend_object *object, zend_string *name, zval *value, void **cache_slot)
@@ -2332,75 +2342,67 @@ static zval *row_prop_write(zend_object *object, zend_string *name, zval *value,
static void row_dim_write(zend_object *object, zval *member, zval *value)
{
- zend_throw_error(NULL, "Cannot write to PDORow offset");
+ if (!member) {
+ zend_throw_error(NULL, "Cannot append to PDORow offset");
+ } else {
+ zend_throw_error(NULL, "Cannot write to PDORow offset");
+ }
}
static int row_prop_exists(zend_object *object, zend_string *name, int check_empty, void **cache_slot)
{
pdo_row_t *row = (pdo_row_t *)object;
pdo_stmt_t *stmt = row->stmt;
- int colno = -1;
zend_long lval;
+ zval tmp_val;
+ zval *retval = NULL;
ZEND_ASSERT(stmt);
- if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) {
- return lval >=0 && lval < stmt->column_count;
+ if (is_numeric_str_function(name, &lval, /* dval */ NULL) == IS_LONG) {
+ retval = row_read_column_number(stmt, lval, &tmp_val);
+ } else {
+ retval = row_read_column_name(stmt, name, &tmp_val);
}
- /* TODO: replace this with a hash of available column names to column
- * numbers */
- for (colno = 0; colno < stmt->column_count; colno++) {
- if (zend_string_equals(stmt->columns[colno].name, name)) {
- int res;
- zval val;
-
- fetch_value(stmt, &val, colno, NULL);
- res = check_empty ? i_zend_is_true(&val) : Z_TYPE(val) != IS_NULL;
- zval_ptr_dtor_nogc(&val);
-
- return res;
- }
+ if (!retval) {
+ return false;
}
-
- return 0;
+ ZEND_ASSERT(retval == &tmp_val);
+ int res = check_empty ? i_zend_is_true(retval) : Z_TYPE(tmp_val) != IS_NULL;
+ zval_ptr_dtor_nogc(retval);
+ return res;
}
-static int row_dim_exists(zend_object *object, zval *member, int check_empty)
+static int row_dim_exists(zend_object *object, zval *offset, int check_empty)
{
- pdo_row_t *row = (pdo_row_t *)object;
- pdo_stmt_t *stmt = row->stmt;
- int colno = -1;
- zend_long lval;
- ZEND_ASSERT(stmt);
+ if (Z_TYPE_P(offset) == IS_LONG) {
+ pdo_row_t *row = (pdo_row_t *)object;
+ pdo_stmt_t *stmt = row->stmt;
+ ZEND_ASSERT(stmt);
+ zend_long column = Z_LVAL_P(offset);
- if (Z_TYPE_P(member) == IS_LONG) {
- return Z_LVAL_P(member) >= 0 && Z_LVAL_P(member) < stmt->column_count;
- } else if (Z_TYPE_P(member) == IS_STRING) {
- if (is_numeric_string(Z_STRVAL_P(member), Z_STRLEN_P(member), &lval, NULL, 0) == IS_LONG) {
- return lval >=0 && lval < stmt->column_count;
+ if (!check_empty) {
+ return column >= 0 && column < stmt->column_count;
}
+
+ zval tmp_val;
+ zval *retval = row_read_column_number(stmt, column, &tmp_val);
+ if (!retval) {
+ return false;
+ }
+ ZEND_ASSERT(retval == &tmp_val);
+ int res = check_empty ? i_zend_is_true(retval) : Z_TYPE(tmp_val) != IS_NULL;
+ zval_ptr_dtor_nogc(retval);
+ return res;
} else {
- if (!try_convert_to_string(member)) {
+ zend_string *member = zval_try_get_string(offset);
+ if (!member) {
return 0;
}
+ int result = row_prop_exists(object, member, check_empty, NULL);
+ zend_string_release_ex(member, false);
+ return result;
}
-
- /* TODO: replace this with a hash of available column names to column
- * numbers */
- for (colno = 0; colno < stmt->column_count; colno++) {
- if (zend_string_equals(stmt->columns[colno].name, Z_STR_P(member))) {
- int res;
- zval val;
-
- fetch_value(stmt, &val, colno, NULL);
- res = check_empty ? i_zend_is_true(&val) : Z_TYPE(val) != IS_NULL;
- zval_ptr_dtor_nogc(&val);
-
- return res;
- }
- }
-
- return 0;
}
static void row_prop_delete(zend_object *object, zend_string *offset, void **cache_slot)
diff --git a/ext/pdo/tests/gh8626.phpt b/ext/pdo/tests/gh8626.phpt
index 0a6f81b6a9c00..913d94630a67b 100644
--- a/ext/pdo/tests/gh8626.phpt
+++ b/ext/pdo/tests/gh8626.phpt
@@ -1,8 +1,9 @@
--TEST--
GH-8626: PDOStatement->execute() failed, then execute successfully, errorInfo() information is incorrect
+--EXTENSIONS--
+pdo
--SKIPIF--
+--FILE--
+exec('CREATE TABLE ' . TABLE_NAME .' (id int, name varchar(10))');
+$db->exec('INSERT INTO ' . TABLE_NAME .' VALUES (23, \'0\')');
+
+$stmt = $db->prepare('SELECT id, name FROM ' . TABLE_NAME);
+$stmt->execute();
+$result = $stmt->fetch(PDO::FETCH_LAZY);
+
+var_dump($result);
+var_dump(get_parent_class($result));
+
+foreach ([0, "0", "id", "name", 1] as $offset) {
+ echo 'Offset: ', var_export($offset), PHP_EOL;
+ $offsetRef = &$offset;
+
+ echo 'Dimension:', PHP_EOL;
+ echo 'Isset:', PHP_EOL;
+ var_dump(isset($result[$offset]));
+ var_dump(isset($result[$offsetRef]));
+ echo 'Empty:', PHP_EOL;
+ var_dump(empty($result[$offset]));
+ var_dump(empty($result[$offsetRef]));
+ echo 'Null coalesce:', PHP_EOL;
+ var_dump($result[$offset] ?? "default");
+ var_dump($result[$offsetRef] ?? "default");
+ echo 'Read:', PHP_EOL;
+ var_dump($result[$offset]);
+ var_dump($result[$offsetRef]);
+ echo 'Property:', PHP_EOL;
+ echo 'Isset:', PHP_EOL;
+ var_dump(isset($result->{$offset}));
+ var_dump(isset($result->{$offsetRef}));
+ echo 'Empty:', PHP_EOL;
+ var_dump(empty($result->{$offset}));
+ var_dump(empty($result->{$offsetRef}));
+ echo 'Null coalesce:', PHP_EOL;
+ var_dump($result->{$offset} ?? "default");
+ var_dump($result->{$offsetRef} ?? "default");
+ echo 'Read:', PHP_EOL;
+ var_dump($result->{$offset});
+ var_dump($result->{$offsetRef});
+}
+
+echo 'Errors:', PHP_EOL;
+try {
+ $result[0] = 1;
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ $result[] = 1;
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ $refResult = &$result[0];
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ $refResult = &$result[];
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ unset($result[0]);
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ $result->foo = 1;
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ unset($result->foo);
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
+
+?>
+--CLEAN--
+setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
+
+const TABLE_NAME = 'test_pdo_35_pdo_row';
+$db->exec("DROP TABLE " . TABLE_NAME);
+?>
+--EXPECTF--
+object(PDORow)#3 (3) {
+ ["queryString"]=>
+ string(40) "SELECT id, name FROM test_pdo_35_pdo_row"
+ ["id"]=>
+ string(2) "23"
+ ["name"]=>
+ string(1) "0"
+}
+bool(false)
+Offset: 0
+Dimension:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Property:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Offset: '0'
+Dimension:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Property:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Offset: 'id'
+Dimension:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Property:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(false)
+bool(false)
+Null coalesce:
+string(2) "23"
+string(2) "23"
+Read:
+string(2) "23"
+string(2) "23"
+Offset: 'name'
+Dimension:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(true)
+bool(true)
+Null coalesce:
+string(1) "0"
+string(1) "0"
+Read:
+string(1) "0"
+string(1) "0"
+Property:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(true)
+bool(true)
+Null coalesce:
+string(1) "0"
+string(1) "0"
+Read:
+string(1) "0"
+string(1) "0"
+Offset: 1
+Dimension:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(true)
+bool(true)
+Null coalesce:
+string(1) "0"
+string(1) "0"
+Read:
+string(1) "0"
+string(1) "0"
+Property:
+Isset:
+bool(true)
+bool(true)
+Empty:
+bool(true)
+bool(true)
+Null coalesce:
+string(1) "0"
+string(1) "0"
+Read:
+string(1) "0"
+string(1) "0"
+Errors:
+Cannot write to PDORow offset
+Cannot append to PDORow offset
+
+Notice: Indirect modification of overloaded element of PDORow has no effect in %s on line %d
+Cannot append to PDORow offset
+Cannot unset PDORow offset
+Cannot write to PDORow property
+Cannot unset PDORow property
diff --git a/ext/pdo_pgsql/tests/gh7723.phpt b/ext/pdo_pgsql/tests/gh7723.phpt
index bbbf5fd5bc21c..5ba265fc68d39 100644
--- a/ext/pdo_pgsql/tests/gh7723.phpt
+++ b/ext/pdo_pgsql/tests/gh7723.phpt
@@ -1,8 +1,10 @@
--TEST--
GitHub #7723 (Fix error message allocation of PDO PgSQL)
+--EXTENSIONS--
+pdo
+pdo_pgsql
--SKIPIF--
exec('CREATE TABLE test_pdo_035 (id int)');
-$db->exec('INSERT INTO test_pdo_035 VALUES (23)');
-
-$stmt = $db->prepare('SELECT id FROM test_pdo_035');
-$stmt->execute();
-$result = $stmt->fetch(PDO::FETCH_LAZY);
-
-echo get_class($result), "\n";
-var_dump(get_parent_class($result));
-
-try {
- $result->foo = 1;
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
-}
-try {
- $result[0] = 1;
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
-}
-try {
- unset($result->foo);
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
-}
-try {
- unset($result[0]);
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
-}
-
-?>
---EXPECT--
-PDORow
-bool(false)
-Cannot write to PDORow property
-Cannot write to PDORow offset
-Cannot unset PDORow property
-Cannot unset PDORow offset
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index d11c328254a83..4087e61670230 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -1292,7 +1292,7 @@ PHP_FUNCTION(pg_execute)
params = (char **)safe_emalloc(sizeof(char *), num_params, 0);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) {
-
+ ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_NULL) {
params[i] = NULL;
} else {
@@ -3702,7 +3702,7 @@ PHP_FUNCTION(pg_send_query_params)
params = (char **)safe_emalloc(sizeof(char *), num_params, 0);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) {
-
+ ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_NULL) {
params[i] = NULL;
} else {
@@ -3869,7 +3869,7 @@ PHP_FUNCTION(pg_send_execute)
params = (char **)safe_emalloc(sizeof(char *), num_params, 0);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) {
-
+ ZVAL_DEREF(tmp);
if (Z_TYPE_P(tmp) == IS_NULL) {
params[i] = NULL;
} else {
diff --git a/ext/pgsql/tests/gh13354.phpt b/ext/pgsql/tests/gh13354.phpt
new file mode 100644
index 0000000000000..1de84acae847d
--- /dev/null
+++ b/ext/pgsql/tests/gh13354.phpt
@@ -0,0 +1,80 @@
+--TEST--
+GH-13354 (null-by-reference handling in pg_execute, pg_send_query_params, pg_send_execute)
+--EXTENSIONS--
+pgsql
+--SKIPIF--
+
+--FILE--
+
+--EXPECT--
+pg_execute, null value: t
+pg_execute, null value by reference: t
+pg_query_params, null value: t
+pg_query_params, null value by reference: t
+pg_send_query_params, null value: t
+pg_send_query_params, null value by reference: t
+pg_send_execute, null value: t
+pg_send_execute, null value by reference: t
diff --git a/ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt b/ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt
index 4e12f05fb62f1..e92a632843f6f 100644
--- a/ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt
+++ b/ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt
@@ -1,7 +1,7 @@
--TEST--
GHSA-jqcx-ccgc-xwhv (Buffer overflow and overread in phar_dir_read())
---SKIPIF--
-
+--EXTENSIONS--
+phar
--INI--
phar.readonly=0
--FILE--
diff --git a/ext/phar/tests/bug81211.phpt b/ext/phar/tests/bug81211.phpt
index 96b1401b40342..fe7b1326aa688 100644
--- a/ext/phar/tests/bug81211.phpt
+++ b/ext/phar/tests/bug81211.phpt
@@ -1,8 +1,9 @@
--TEST--
Bug #81211 (Symlinks are followed when creating PHAR archive)
+--EXTENSIONS--
+phar
--SKIPIF--
getDependencies();
var_dump($deps);
?>
--EXPECT--
-array(1) {
+array(2) {
["libxml"]=>
string(8) "Required"
+ ["domxml"]=>
+ string(9) "Conflicts"
}
diff --git a/ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt b/ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt
index 54f9d4941eb72..ae5a29913ebd1 100644
--- a/ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt
+++ b/ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt
@@ -1,10 +1,11 @@
--TEST--
GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
+--EXTENSIONS--
+libxml
+simplexml
+zend_test
--SKIPIF--
--FILE--
diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c
index 95ab191b77824..14be941cd338d 100644
--- a/ext/spl/spl_fixedarray.c
+++ b/ext/spl/spl_fixedarray.c
@@ -89,6 +89,7 @@ static void spl_fixedarray_default_ctor(spl_fixedarray *array)
{
array->size = 0;
array->elements = NULL;
+ array->cached_resize = -1;
}
/* Initializes the range [from, to) to null. Does not dtor existing elements. */
@@ -107,6 +108,7 @@ static void spl_fixedarray_init_non_empty_struct(spl_fixedarray *array, zend_lon
array->size = 0; /* reset size in case ecalloc() fails */
array->elements = size ? safe_emalloc(size, sizeof(zval), 0) : NULL;
array->size = size;
+ array->cached_resize = -1;
}
static void spl_fixedarray_init(spl_fixedarray *array, zend_long size)
@@ -117,7 +119,6 @@ static void spl_fixedarray_init(spl_fixedarray *array, zend_long size)
} else {
spl_fixedarray_default_ctor(array);
}
- array->cached_resize = -1;
}
/* Copies the range [begin, end) into the fixedarray, beginning at `offset`.
diff --git a/ext/spl/tests/gh13531.phpt b/ext/spl/tests/gh13531.phpt
new file mode 100644
index 0000000000000..46503ccf22a63
--- /dev/null
+++ b/ext/spl/tests/gh13531.phpt
@@ -0,0 +1,28 @@
+--TEST--
+GH-13531 (Unable to resize SplfixedArray after being unserialized in PHP 8.2.15)
+--FILE--
+setSize(6);
+var_dump($unserialized);
+
+?>
+--EXPECT--
+object(SplFixedArray)#2 (6) {
+ [0]=>
+ NULL
+ [1]=>
+ NULL
+ [2]=>
+ NULL
+ [3]=>
+ NULL
+ [4]=>
+ int(1)
+ [5]=>
+ NULL
+}
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 388b15a0879bb..30868a47b5932 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -188,7 +188,7 @@ static zend_always_inline int php_array_key_compare_string_case_unstable_i(Bucke
l2 = s->key->len;
} else {
s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h);
- l2 = buf2 + sizeof(buf2) - 1 - s1;
+ l2 = buf2 + sizeof(buf2) - 1 - s2;
}
return zend_binary_strcasecmp_l(s1, l1, s2, l2);
}
@@ -238,7 +238,7 @@ static int php_array_key_compare_string_natural_general(Bucket *f, Bucket *s, in
l2 = s->key->len;
} else {
s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h);
- l2 = buf2 + sizeof(buf2) - 1 - s1;
+ l2 = buf2 + sizeof(buf2) - 1 - s2;
}
return strnatcmp_ex(s1, l1, s2, l2, fold_case);
}
@@ -901,19 +901,11 @@ static void php_usort(INTERNAL_FUNCTION_PARAMETERS, bucket_compare_func_t compar
RETURN_TRUE;
}
- /* Copy array, so the in-place modifications will not be visible to the callback function.
- * Unless there are no other references since we know for sure it won't be visible. */
- bool in_place = zend_may_modify_arg_in_place(array);
- if (!in_place) {
- arr = zend_array_dup(arr);
- }
+ /* Copy array, so the in-place modifications will not be visible to the callback function */
+ arr = zend_array_dup(arr);
zend_hash_sort(arr, compare_func, renumber);
- if (in_place) {
- GC_ADDREF(arr);
- }
-
zval garbage;
ZVAL_COPY_VALUE(&garbage, array);
ZVAL_ARR(array, arr);
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 6faef88e10135..746465d9f27a7 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -735,7 +735,7 @@ PHP_FUNCTION(getenv)
if (!str) {
array_init(return_value);
- php_import_environment_variables(return_value);
+ php_load_environment_variables(return_value);
return;
}
diff --git a/ext/standard/tests/gh13279.phpt b/ext/standard/tests/gh13279.phpt
new file mode 100644
index 0000000000000..c39f520e57e08
--- /dev/null
+++ b/ext/standard/tests/gh13279.phpt
@@ -0,0 +1,18 @@
+--TEST--
+GH-13279: Instable array during in-place modification in uksort
+--FILE--
+
+===DONE===
+--EXPECT--
+===DONE===
diff --git a/ext/xml/tests/bug26614.inc b/ext/xml/tests/bug26614.inc
new file mode 100644
index 0000000000000..1b0c94edb9fbe
--- /dev/null
+++ b/ext/xml/tests/bug26614.inc
@@ -0,0 +1,73 @@
+
+
+
+';
+
+// Case 2: replace some characters so that we get comments instead
+$xmls["Comment"] ='
+
+
+';
+
+// Case 3: replace even more characters so that only textual data is left
+$xmls["Text"] ='
+
+-!-- ATA[
+multi
+line
+CDATA
+block
+---
+';
+
+function startElement($parser, $name, $attrs) {
+ printf("<$name> at line %d, col %d (byte %d)\n",
+ xml_get_current_line_number($parser),
+ xml_get_current_column_number($parser),
+ xml_get_current_byte_index($parser));
+}
+
+function endElement($parser, $name) {
+ printf("$name> at line %d, col %d (byte %d)\n",
+ xml_get_current_line_number($parser),
+ xml_get_current_column_number($parser),
+ xml_get_current_byte_index($parser));
+}
+
+function characterData($parser, $data) {
+ // dummy
+}
+
+foreach ($xmls as $desc => $xml) {
+ echo "$desc\n";
+ $xml_parser = xml_parser_create();
+ xml_set_element_handler($xml_parser, "startElement", "endElement");
+ xml_set_character_data_handler($xml_parser, "characterData");
+ if (!xml_parse($xml_parser, $xml, true))
+ echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n";
+ xml_parser_free($xml_parser);
+}
diff --git a/ext/xml/tests/bug26614.phpt b/ext/xml/tests/bug26614.phpt
index 846d9fc65317e..5fb9f9da4ccec 100644
--- a/ext/xml/tests/bug26614.phpt
+++ b/ext/xml/tests/bug26614.phpt
@@ -4,91 +4,20 @@ Bug #26614 (CDATA sections skipped on line count)
xml
--SKIPIF--
--FILE--
-
-
-';
-
-// Case 2: replace some characters so that we get comments instead
-$xmls["Comment"] ='
-
-
-';
-
-// Case 3: replace even more characters so that only textual data is left
-$xmls["Text"] ='
-
--!-- ATA[
-multi
-line
-CDATA
-block
----
-';
-
-function startElement($parser, $name, $attrs) {
- printf("<$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function endElement($parser, $name) {
- printf("$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function characterData($parser, $data) {
- // dummy
-}
-
-foreach ($xmls as $desc => $xml) {
- echo "$desc\n";
- $xml_parser = xml_parser_create();
- xml_set_element_handler($xml_parser, "startElement", "endElement");
- xml_set_character_data_handler($xml_parser, "characterData");
- if (!xml_parse($xml_parser, $xml, true))
- echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n";
- xml_parser_free($xml_parser);
-}
+require __DIR__ . '/bug26614.inc';
?>
--EXPECT--
CDATA
at line 2, col 0 (byte 45)
- at line 9, col 0 (byte 90)
+ at line 9, col 0 (byte 89)
Comment
at line 2, col 0 (byte 45)
- at line 9, col 0 (byte 90)
+ at line 9, col 0 (byte 89)
Text
at line 2, col 0 (byte 45)
- at line 9, col 0 (byte 90)
+ at line 9, col 0 (byte 89)
diff --git a/ext/xml/tests/bug26614_libxml_gte2_11.phpt b/ext/xml/tests/bug26614_libxml_gte2_11.phpt
index 9a81b67686d14..f494ddc4c50f9 100644
--- a/ext/xml/tests/bug26614_libxml_gte2_11.phpt
+++ b/ext/xml/tests/bug26614_libxml_gte2_11.phpt
@@ -4,84 +4,13 @@ Bug #26614 (CDATA sections skipped on line count)
xml
--SKIPIF--
= 2.11');
?>
--FILE--
-
-
-';
-
-// Case 2: replace some characters so that we get comments instead
-$xmls["Comment"] ='
-
-
-';
-
-// Case 3: replace even more characters so that only textual data is left
-$xmls["Text"] ='
-
--!-- ATA[
-multi
-line
-CDATA
-block
----
-';
-
-function startElement($parser, $name, $attrs) {
- printf("<$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function endElement($parser, $name) {
- printf("$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function characterData($parser, $data) {
- // dummy
-}
-
-foreach ($xmls as $desc => $xml) {
- echo "$desc\n";
- $xml_parser = xml_parser_create();
- xml_set_element_handler($xml_parser, "startElement", "endElement");
- xml_set_character_data_handler($xml_parser, "characterData");
- if (!xml_parse($xml_parser, $xml, true))
- echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n";
- xml_parser_free($xml_parser);
-}
+require __DIR__ . '/bug26614.inc';
?>
--EXPECTF--
CDATA
diff --git a/ext/xml/tests/bug26614_libxml_pre2_11.phpt b/ext/xml/tests/bug26614_libxml_pre2_11.phpt
index c581a08e9b8fb..c78f7088e7052 100644
--- a/ext/xml/tests/bug26614_libxml_pre2_11.phpt
+++ b/ext/xml/tests/bug26614_libxml_pre2_11.phpt
@@ -4,84 +4,13 @@ Bug #26614 (CDATA sections skipped on line count)
xml
--SKIPIF--
= 21100) die('skip libxml2 test variant for version < 2.11');
?>
--FILE--
-
-
-';
-
-// Case 2: replace some characters so that we get comments instead
-$xmls["Comment"] ='
-
-
-';
-
-// Case 3: replace even more characters so that only textual data is left
-$xmls["Text"] ='
-
--!-- ATA[
-multi
-line
-CDATA
-block
----
-';
-
-function startElement($parser, $name, $attrs) {
- printf("<$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function endElement($parser, $name) {
- printf("$name> at line %d, col %d (byte %d)\n",
- xml_get_current_line_number($parser),
- xml_get_current_column_number($parser),
- xml_get_current_byte_index($parser));
-}
-
-function characterData($parser, $data) {
- // dummy
-}
-
-foreach ($xmls as $desc => $xml) {
- echo "$desc\n";
- $xml_parser = xml_parser_create();
- xml_set_element_handler($xml_parser, "startElement", "endElement");
- xml_set_character_data_handler($xml_parser, "characterData");
- if (!xml_parse($xml_parser, $xml, true))
- echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n";
- xml_parser_free($xml_parser);
-}
+require __DIR__ . '/bug26614.inc';
?>
--EXPECTF--
CDATA
diff --git a/ext/xml/tests/bug46699.phpt b/ext/xml/tests/bug46699.phpt
index 9570ad9231d2e..b921ab39b7d31 100644
--- a/ext/xml/tests/bug46699.phpt
+++ b/ext/xml/tests/bug46699.phpt
@@ -27,8 +27,8 @@ xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parse($parser, $xml);
xml_parser_free($parser);
?>
---EXPECT--
-
+--EXPECTF--
+
1
2
diff --git a/ext/xml/tests/bug81351.phpt b/ext/xml/tests/bug81351.phpt
index 7380a9a937008..319db2ee6877b 100644
--- a/ext/xml/tests/bug81351.phpt
+++ b/ext/xml/tests/bug81351.phpt
@@ -22,5 +22,5 @@ $error = xml_error_string($code);
echo "xml_parse returned $success, xml_get_error_code = $code, xml_error_string = $error\r\n";
?>
--EXPECTF--
-xml_parse returned 1, xml_get_error_code = 0, xml_error_string = No error
-%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r
+xml_parse returned 1, xml_get_error_code = 0, xml_error_string = %S
+%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 3, xml_error_string = no element found|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r
diff --git a/ext/xml/tests/libxml_expat_skipif.inc b/ext/xml/tests/libxml_expat_skipif.inc
new file mode 100644
index 0000000000000..f8c5ef83db0ad
--- /dev/null
+++ b/ext/xml/tests/libxml_expat_skipif.inc
@@ -0,0 +1,9 @@
+',
@@ -19,16 +14,4 @@ foreach ($xmls as $xml) {
var_dump(xml_error_string(xml_get_error_code($xml_parser)));
}
xml_parser_free($xml_parser);
-}
-?>
---EXPECTF--
-int(%r5|77%r)
-string(%d) %r"Invalid document end"|"Tag not finished"%r
-int(47)
-string(35) "Processing Instruction not finished"
-int(57)
-string(28) "XML declaration not finished"
-int(64)
-string(17) "Reserved XML Name"
-int(76)
-string(14) "Mismatched tag"
+}
\ No newline at end of file
diff --git a/ext/xml/tests/xml_error_string_basic_expat.phpt b/ext/xml/tests/xml_error_string_basic_expat.phpt
new file mode 100644
index 0000000000000..c095efa8e844e
--- /dev/null
+++ b/ext/xml/tests/xml_error_string_basic_expat.phpt
@@ -0,0 +1,24 @@
+--TEST--
+xml_error_string() - Basic test on 5 error codes
+--EXTENSIONS--
+xml
+--SKIPIF--
+
+--FILE--
+
+--EXPECT--
+int(3)
+string(16) "no element found"
+int(4)
+string(31) "not well-formed (invalid token)"
+int(5)
+string(14) "unclosed token"
+int(30)
+string(31) "XML declaration not well-formed"
+int(7)
+string(14) "mismatched tag"
diff --git a/ext/xml/tests/xml_error_string_basic_libxml.phpt b/ext/xml/tests/xml_error_string_basic_libxml.phpt
new file mode 100644
index 0000000000000..aafd005cb4a3c
--- /dev/null
+++ b/ext/xml/tests/xml_error_string_basic_libxml.phpt
@@ -0,0 +1,24 @@
+--TEST--
+xml_error_string() - Basic test on 5 error codes
+--EXTENSIONS--
+xml
+--SKIPIF--
+
+--FILE--
+
+--EXPECTF--
+int(%r5|77%r)
+string(%d) %r"Invalid document end"|"Tag not finished"%r
+int(47)
+string(35) "Processing Instruction not finished"
+int(57)
+string(28) "XML declaration not finished"
+int(64)
+string(17) "Reserved XML Name"
+int(76)
+string(14) "Mismatched tag"
diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc
similarity index 75%
rename from ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt
rename to ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc
index a13e0c22939b8..b27b5c0efeb48 100644
--- a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt
+++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc
@@ -1,8 +1,3 @@
---TEST--
-Test xml_set_start_namespace_decl_handler function: basic
---EXTENSIONS--
-xml
---FILE--
' );
-}
-?>
---EXPECT--
-bool(true)
-bool(true)
-Namespace_Start_Handler called
-...Prefix: aw1
-...Uri: http://www.somewhere.com/namespace1
-Namespace_Start_Handler called
-...Prefix: aw2
-...Uri: file:/DTD/somewhere.dtd
-Done
+}
\ No newline at end of file
diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt
new file mode 100644
index 0000000000000..34babe4d30f67
--- /dev/null
+++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test xml_set_start_namespace_decl_handler function: basic
+--EXTENSIONS--
+xml
+--SKIPIF--
+
+--FILE--
+
+--EXPECT--
+bool(true)
+bool(true)
+Namespace_Start_Handler called
+...Prefix: aw1
+...Uri: http://www.somewhere.com/namespace1
+Namespace_Start_Handler called
+...Prefix: aw2
+...Uri: file:/DTD/somewhere.dtd
+Namespace_End_Handler called
+...Prefix: aw2
+
+Namespace_End_Handler called
+...Prefix: aw1
+
+Done
diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt
new file mode 100644
index 0000000000000..ff6057c075d55
--- /dev/null
+++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Test xml_set_start_namespace_decl_handler function: basic
+--EXTENSIONS--
+xml
+--SKIPIF--
+
+--FILE--
+
+--EXPECT--
+bool(true)
+bool(true)
+Namespace_Start_Handler called
+...Prefix: aw1
+...Uri: http://www.somewhere.com/namespace1
+Namespace_Start_Handler called
+...Prefix: aw2
+...Uri: file:/DTD/somewhere.dtd
+Done
diff --git a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt
index cb0297b6b1bc8..a0223367c70ad 100644
--- a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt
+++ b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt
@@ -1,10 +1,11 @@
--TEST--
GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass)
+--EXTENSIONS--
+libxml
+xmlreader
+zend_test
--SKIPIF--
--FILE--
diff --git a/ext/zend_test/tests/observer_sqlite_create_function.phpt b/ext/zend_test/tests/observer_sqlite_create_function.phpt
index 85d269c9ead1a..26330043ef28d 100644
--- a/ext/zend_test/tests/observer_sqlite_create_function.phpt
+++ b/ext/zend_test/tests/observer_sqlite_create_function.phpt
@@ -2,7 +2,7 @@
Observer: PDO::sqliteCreateFunction() can be observed
--EXTENSIONS--
zend_test
-PDO
+pdo
pdo_sqlite
--INI--
zend_test.observer.enabled=1
diff --git a/ext/zip/tests/bug77978.phpt b/ext/zip/tests/bug77978.phpt
index 2f3c22f4213a2..bcf3538f65da1 100644
--- a/ext/zip/tests/bug77978.phpt
+++ b/ext/zip/tests/bug77978.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug #77978 (Dirname ending in colon unzips to wrong dir)
---SKIPIF--
-
+--EXTENSIONS--
+zip
--FILE--
--FILE--
diff --git a/ext/zip/tests/bug81420.phpt b/ext/zip/tests/bug81420.phpt
index 9eec0ee7e99c4..ad89e7c0ac7b2 100644
--- a/ext/zip/tests/bug81420.phpt
+++ b/ext/zip/tests/bug81420.phpt
@@ -1,9 +1,7 @@
--TEST--
Bug #81420 (ZipArchive::extractTo extracts outside of destination)
---SKIPIF--
-
+--EXTENSIONS--
+zip
--FILE--
+--EXTENSIONS--
+zip
--FILE--
+--EXTENSIONS--
+zip
--FILE--
+--FILE--
+start();
+$tester->expectLogStartNotices();
+$tester->request()->expectBody([
+ 'bool(false)',
+ 'bool(true)',
+ 'string(4) "test"',
+ 'bool(false)',
+ 'bool(false)',
+ 'string(2) "dt"',
+ 'string(2) "dt"',
+]);
+$tester->terminate();
+$tester->close();
+
+?>
+Done
+--EXPECT--
+Done
+--CLEAN--
+