From a5f28e22cc28ca53d092f6545bc924ee43a8bbe4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 8 Apr 2024 17:18:54 +0200 Subject: Merging upstream version 115.9.0esr. Signed-off-by: Daniel Baumann --- CLOBBER | 2 +- Cargo.lock | 12 + .../content/browser-fullScreenAndPointerLock.js | 13 + .../browser_popupNotification_security_delay.js | 101 + .../search/schema/search-telemetry-schema.json | 95 +- browser/config/version.txt | 2 +- browser/config/version_display.txt | 2 +- build/workspace-hack/Cargo.toml | 1 + config/external/icu/data/icudt73l.dat | Bin 15518912 -> 15519200 bytes config/milestone.txt | 2 +- dom/base/nsContentUtils.cpp | 102 +- dom/indexedDB/SafeRefPtr.h | 3 +- .../platforms/wrappers/MediaChangeMonitor.cpp | 27 +- dom/media/platforms/wrappers/MediaChangeMonitor.h | 2 + gfx/thebes/SharedFontList.cpp | 35 +- gfx/thebes/SharedFontList.h | 3 +- gfx/thebes/gfxUserFontSet.cpp | 13 +- intl/tzdata/GIT-INFO | 6 +- intl/tzdata/VERSION | 2 +- intl/tzdata/source/be/metaZones.res | Bin 43264 -> 43040 bytes intl/tzdata/source/be/timezoneTypes.res | Bin 20256 -> 21104 bytes intl/tzdata/source/be/windowsZones.res | Bin 22624 -> 22128 bytes intl/tzdata/source/be/zoneinfo64.res | Bin 151344 -> 151504 bytes intl/tzdata/source/ee/metaZones.res | Bin 43264 -> 43040 bytes intl/tzdata/source/ee/timezoneTypes.res | Bin 20256 -> 21104 bytes intl/tzdata/source/ee/windowsZones.res | Bin 22624 -> 22128 bytes intl/tzdata/source/ee/zoneinfo64.res | Bin 151344 -> 151504 bytes intl/tzdata/source/le/metaZones.res | Bin 43264 -> 43040 bytes intl/tzdata/source/le/timezoneTypes.res | Bin 20256 -> 21104 bytes intl/tzdata/source/le/windowsZones.res | Bin 22624 -> 22128 bytes intl/tzdata/source/le/zoneinfo64.res | Bin 151344 -> 151504 bytes intl/tzdata/source/metaZones.txt | 143 +- intl/tzdata/source/timezoneTypes.txt | 56 +- intl/tzdata/source/windowsZones.txt | 30 +- intl/tzdata/source/zoneinfo64.txt | 76 +- ipc/glue/GeckoChildProcessHost.cpp | 11 +- ipc/glue/GeckoChildProcessHost.h | 1 - js/src/builtin/intl/TimeZoneDataGenerated.h | 13 +- js/src/jit/arm/MacroAssembler-arm.cpp | 24 +- .../Intl/DateTimeFormat/timeZone_backward_links.js | 2 +- .../Intl/DateTimeFormat/timeZone_backzone.js | 3 +- .../Intl/DateTimeFormat/timeZone_backzone_links.js | 2 +- .../DateTimeFormat/timeZone_notbackward_links.js | 2 +- .../non262/Intl/DateTimeFormat/timeZone_version.js | 4 +- .../Intl/supportedValuesOf-timeZones-canonical.js | 2 +- layout/generic/test/file_bug514732_window.xhtml | 17 +- .../grid-repeat-auto-fill-fit-001-ref.html | 2 + .../css-grid/grid-repeat-auto-fill-fit-001.html | 2 + .../grid-repeat-auto-fill-fit-010-ref.html | 2 + .../css-grid/grid-repeat-auto-fill-fit-010.html | 2 + .../css-grid/grid-repeat-auto-fill-fit-011.html | 2 + layout/style/FontFaceImpl.cpp | 8 - layout/tables/nsTableCellFrame.cpp | 6 +- media/gmp-clearkey/0.1/ClearKeyUtils.cpp | 16 +- mozglue/misc/RuntimeExceptionModule.cpp | 18 +- netwerk/dns/effective_tld_names.dat | 111 +- netwerk/protocol/http/Http2Compression.cpp | 33 +- netwerk/protocol/http/Http2Compression.h | 9 + netwerk/protocol/http/HttpChannelChild.cpp | 49 +- netwerk/protocol/http/HttpChannelChild.h | 10 +- netwerk/protocol/http/TlsHandshaker.cpp | 18 + netwerk/protocol/http/nsITlsHandshakeListener.idl | 2 + netwerk/test/unit/test_client_auth_with_proxy.js | 185 + netwerk/test/unit/xpcshell.ini | 2 + parser/html/nsHtml5TreeOperation.cpp | 3 +- python/sites/wpt.txt | 2 +- security/manager/ssl/NSSSocketControl.cpp | 15 + security/manager/ssl/StaticHPKPins.h | 2 +- security/manager/ssl/nsSTSPreloadList.inc | 3968 ++++++++++---------- security/nss/TAG-INFO | 2 +- security/nss/coreconf/coreconf.dep | 1 - security/nss/doc/rst/releases/nss_3_90_2.rst | 56 + security/nss/lib/freebl/mpi/mpi-priv.h | 3 + security/nss/lib/freebl/mpi/mpi.c | 300 +- security/nss/lib/freebl/mpi/mpi.h | 41 + security/nss/lib/freebl/mpi/mpmontg.c | 29 +- security/nss/lib/freebl/rsa.c | 16 +- security/nss/lib/nss/nss.h | 4 +- security/nss/lib/softoken/softkver.h | 4 +- security/nss/lib/ssl/sslsecur.c | 7 +- security/nss/lib/util/nssutil.h | 4 +- .../dumps/blocklists/addons-bloomfilters.json | 3616 +----------------- .../blocklists/addons-bloomfilters/addons-mlbf.bin | Bin 817083 -> 828655 bytes .../addons-bloomfilters/addons-mlbf.bin.meta.json | 2 +- .../dumps/main/cookie-banner-rules-list.json | 1281 ++++--- .../main/devtools-compatibility-browsers.json | 308 +- services/settings/dumps/main/search-config.json | 421 +-- .../settings/dumps/main/search-telemetry-v2.json | 75 +- .../dumps/security-state/intermediates.json | 704 ++-- services/settings/dumps/security-state/onecrl.json | 17 +- sourcestamp.txt | 4 +- .../websocketprocessbridge_requirements_3.txt | 4 + .../offscreencanvas-worker-font-load-crash.html | 19 + .../tests/tools/webtransport/requirements.txt | 2 +- .../tools/wptrunner/requirements_chromium.txt | 2 +- third_party/dav1d/src/decode.c | 13 +- third_party/dav1d/src/internal.h | 2 +- .../tests/xpcshell/searchconfigs/test_amazon.js | 298 +- .../xpcshell/searchconfigs/test_distributions.js | 8 +- toolkit/crashreporter/client/crashreporter.cpp | 33 +- toolkit/crashreporter/client/moz.build | 1 + toolkit/crashreporter/docs/index.rst | 5 +- toolkit/crashreporter/mozwer-rust/Cargo.toml | 1 + toolkit/crashreporter/mozwer-rust/lib.rs | 315 +- toolkit/crashreporter/mozwer-rust/moz.build | 1 + toolkit/crashreporter/nsExceptionHandler.cpp | 27 +- toolkit/crashreporter/nsExceptionHandler.h | 13 +- toolkit/crashreporter/process_reader/Cargo.toml | 18 + toolkit/crashreporter/process_reader/src/error.rs | 30 + toolkit/crashreporter/process_reader/src/lib.rs | 13 + .../process_reader/src/process_reader.rs | 6 + .../process_reader/src/process_reader/windows.rs | 226 ++ toolkit/modules/PopupNotifications.sys.mjs | 17 +- toolkit/xre/nsEmbedFunctions.cpp | 7 - widget/cocoa/MOZMenuOpeningCoordinator.mm | 3 + widget/nsBaseDragService.cpp | 1 + xpcom/build/XPCOMInit.cpp | 12 +- 117 files changed, 5674 insertions(+), 7574 deletions(-) create mode 100644 netwerk/test/unit/test_client_auth_with_proxy.js create mode 100644 security/nss/doc/rst/releases/nss_3_90_2.rst create mode 100644 testing/web-platform/tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html create mode 100644 toolkit/crashreporter/process_reader/Cargo.toml create mode 100644 toolkit/crashreporter/process_reader/src/error.rs create mode 100644 toolkit/crashreporter/process_reader/src/lib.rs create mode 100644 toolkit/crashreporter/process_reader/src/process_reader.rs create mode 100644 toolkit/crashreporter/process_reader/src/process_reader/windows.rs diff --git a/CLOBBER b/CLOBBER index 62c1a41712..d512cbdcc7 100644 --- a/CLOBBER +++ b/CLOBBER @@ -22,4 +22,4 @@ # changes to stick? As of bug 928195, this shouldn't be necessary! Please # don't change CLOBBER for WebIDL changes any more. -Merge day clobber 2024-01-22 \ No newline at end of file +Merge day clobber 2024-02-19 \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 1cb46da489..87f212d01f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3454,6 +3454,7 @@ version = "0.1.0" dependencies = [ "libc", "mozilla-central-workspace-hack", + "process_reader", "rust-ini", "serde", "serde_json", @@ -4184,6 +4185,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "process_reader" +version = "0.1.0" +dependencies = [ + "goblin", + "memoffset", + "mozilla-central-workspace-hack", + "thiserror", + "winapi", +] + [[package]] name = "processtools" version = "0.1.0" diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js index 82d5727f14..cc5fefff68 100644 --- a/browser/base/content/browser-fullScreenAndPointerLock.js +++ b/browser/base/content/browser-fullScreenAndPointerLock.js @@ -275,11 +275,24 @@ var PointerlockFsWarning = { }; var PointerLock = { + _isActive: false, + + /** + * @returns {boolean} - true if pointer lock is currently active for the + * associated window. + */ + get isActive() { + return this._isActive; + }, + entered(originNoSuffix) { + this._isActive = true; + Services.obs.notifyObservers(null, "pointer-lock-entered"); PointerlockFsWarning.showPointerLock(originNoSuffix); }, exited() { + this._isActive = false; PointerlockFsWarning.close("pointerlock-warning"); }, }; diff --git a/browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js b/browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js index 515895f35a..600456640b 100644 --- a/browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js +++ b/browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js @@ -294,3 +294,104 @@ add_task(async function test_notificationReshowTabSwitch() { "Should not longer see the notification." ); }); + +/** + * Tests that the security delay gets reset when a window is repositioned and + * the PopupNotifications panel position is updated. + */ +add_task(async function test_notificationWindowMove() { + await ensureSecurityDelayReady(); + + info("Open a notification."); + let popupShownPromise = waitForNotificationPanel(); + showNotification(); + await popupShownPromise; + ok( + PopupNotifications.isPanelOpen, + "PopupNotification should be open after show call." + ); + + // Test that the initial security delay works. + info("Trigger main action via button click during the new security delay."); + triggerMainCommand(PopupNotifications.panel); + + await new Promise(resolve => setTimeout(resolve, 0)); + + ok(PopupNotifications.isPanelOpen, "PopupNotification should still be open."); + let notification = PopupNotifications.getNotification( + "foo", + gBrowser.selectedBrowser + ); + ok( + notification, + "Notification should still be open because we clicked during the security delay." + ); + // If the notification is no longer shown (test failure) skip the remaining + // checks. + if (!notification) { + return; + } + + info("Wait for security delay to expire."); + await new Promise(resolve => + // eslint-disable-next-line mozilla/no-arbitrary-setTimeout + setTimeout(resolve, TEST_SECURITY_DELAY + 500) + ); + + info("Reposition the window"); + // Remember original window position. + let { screenX, screenY } = window; + + let promisePopupPositioned = BrowserTestUtils.waitForEvent( + PopupNotifications.panel, + "popuppositioned" + ); + + // Move the window. + window.moveTo(200, 200); + + // Wait for the panel to reposition and the PopupNotifications listener to run. + await promisePopupPositioned; + await new Promise(resolve => setTimeout(resolve, 0)); + + info("Trigger main action via button click during the new security delay."); + triggerMainCommand(PopupNotifications.panel); + + await new Promise(resolve => setTimeout(resolve, 0)); + + ok(PopupNotifications.isPanelOpen, "PopupNotification should still be open."); + notification = PopupNotifications.getNotification( + "foo", + gBrowser.selectedBrowser + ); + ok( + notification, + "Notification should still be open because we clicked during the security delay." + ); + // If the notification is no longer shown (test failure) skip the remaining + // checks. + if (!notification) { + return; + } + + // Ensure that once the security delay has passed the notification can be + // closed again. + let fakeTimeShown = TEST_SECURITY_DELAY + 500; + info(`Manually set timeShown to ${fakeTimeShown}ms in the past.`); + notification.timeShown = performance.now() - fakeTimeShown; + + info("Trigger main action via button click outside security delay"); + let notificationHiddenPromise = waitForNotificationPanelHidden(); + triggerMainCommand(PopupNotifications.panel); + + info("Wait for panel to be hidden."); + await notificationHiddenPromise; + + ok( + !PopupNotifications.getNotification("foo", gBrowser.selectedBrowser), + "Should not longer see the notification." + ); + + // Reset window position + window.moveTo(screenX, screenY); +}); diff --git a/browser/components/search/schema/search-telemetry-schema.json b/browser/components/search/schema/search-telemetry-schema.json index 8bca1f30fb..872166d44c 100644 --- a/browser/components/search/schema/search-telemetry-schema.json +++ b/browser/components/search/schema/search-telemetry-schema.json @@ -130,17 +130,9 @@ "type": "object", "properties": { "type": { - "enum": [ - "ad_carousel", - "ad_image_row", - "ad_link", - "ad_sitelink", - "ad_sidebar", - "incontent_searchbox", - "refined_search_buttons", - "shopping_tab" - ], - "description": "The type of component the anchor or DOM element should belong to." + "type": "string", + "description": "The type of component the anchor or DOM element should belong to.", + "pattern": "^[a-z](?:_?[a-z])*$" }, "included": { "type": "object", @@ -154,6 +146,12 @@ "selector": { "description": "If topDown is true for this component, then this will be the value used in querySelectorAll(). Otherwise, it will be the value to in closest() from the context of an anchor.", "type": "string" + }, + "eventListeners": { + "$ref": "#/definitions/eventListeners" + }, + "skipCount": { + "$ref": "#/definitions/skipCount" } }, "required": ["selector"] @@ -170,21 +168,19 @@ "description": "The selector to use querySelectorAll from the context of the parent." }, "type": { - "enum": [ - "ad_carousel", - "ad_image_row", - "ad_link", - "ad_sitelink", - "ad_sidebar", - "incontent_searchbox", - "refined_search_buttons", - "shopping_tab" - ], - "description": "The component type to use if this child is present." + "type": "string", + "description": "The component type to use if this child is present.", + "pattern": "^[a-z](?:_?[a-z])*$" }, "countChildren": { "type": "boolean", "description": "Whether we should count all instances of the child element instead of anchor links found inside of the parent. Defaults to false." + }, + "eventListeners": { + "$ref": "#/definitions/eventListeners" + }, + "skipCount": { + "$ref": "#/definitions/skipCount" } }, "required": ["selector"] @@ -233,6 +229,15 @@ } } }, + "ignoreLinkRegexps": { + "type": "array", + "title": "Ignore links matching regular expressions", + "description": "Regular expressions matching links that should be ignored by the network observer.", + "items": { + "type": "string", + "description": "The matching regular expression." + } + }, "nonAdsLinkRegexps": { "type": "array", "title": "Non-ads link matching regular expressions", @@ -270,22 +275,55 @@ "type": "array", "description": "An array of methods for extracting domains from ads.", "items": { - "$ref": "/schemas/extraction" + "$ref": "#/definitions/extraction" } }, "nonAds": { "type": "array", "description": "An array of methods for extracting domains from non-ads.", "items": { - "$ref": "/schemas/extraction" + "$ref": "#/definitions/extraction" } } } } }, - "$defs": { + "definitions": { + "eventListener": { + "title": "Event Listener", + "type": "object", + "description": "Event listeners attached to a component.", + "properties": { + "eventType": { + "title": "Event Type", + "description": "The type of event to listen for. Custom events, especially those with special logic like keydownEnter, can be used if the Desktop code has been updated.", + "type": "string", + "pattern": "^[a-z][A-Za-z]*$" + }, + "target": { + "title": "Target", + "description": "The component type to report when the event is triggered. Uses the child component type (if exists), otherwise uses the parent component type.", + "type": "string", + "pattern": "^[a-z](?:_?[a-z])*$" + }, + "action": { + "title": "Action", + "description": "The action to report when the event is triggered. If the event type is 'click', defaults to clicked. Otherwise, this should be provided.", + "type": "string", + "pattern": "^[a-z](?:_?[a-z])*$" + } + }, + "required": ["eventType"] + }, + "eventListeners": { + "title": "Event Listeners", + "description": "An array of Event Listeners to apply to elements.", + "type": "array", + "items": { + "$ref": "#/definitions/eventListener" + } + }, "extraction": { - "$id": "/schemas/extraction", "anyOf": [ { "type": "object", @@ -337,5 +375,10 @@ } ] } + }, + "skipCount": { + "title": "Skip Count", + "description": "Whether to skip reporting of the count of these elements to ad_impressions. Defaults to false.", + "type": "boolean" } } diff --git a/browser/config/version.txt b/browser/config/version.txt index f5a13d6b75..9423409c32 100644 --- a/browser/config/version.txt +++ b/browser/config/version.txt @@ -1 +1 @@ -115.8.0 +115.9.0 diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt index 86a7ee43ba..f95bb6139e 100644 --- a/browser/config/version_display.txt +++ b/browser/config/version_display.txt @@ -1 +1 @@ -115.8.0esr +115.9.0esr diff --git a/build/workspace-hack/Cargo.toml b/build/workspace-hack/Cargo.toml index fe68dc42e9..ecbbff025a 100644 --- a/build/workspace-hack/Cargo.toml +++ b/build/workspace-hack/Cargo.toml @@ -90,6 +90,7 @@ features = [ "profileapi", "psapi", "rpcndr", + "securitybaseapi", "setupapi", "shlobj", "std", diff --git a/config/external/icu/data/icudt73l.dat b/config/external/icu/data/icudt73l.dat index b2780e7c75..b7c80341a8 100644 Binary files a/config/external/icu/data/icudt73l.dat and b/config/external/icu/data/icudt73l.dat differ diff --git a/config/milestone.txt b/config/milestone.txt index 68661b2941..d560f90433 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -115.8.0 +115.9.0 diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 13a54f0214..21519d91e6 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -8951,13 +8951,19 @@ class StringBuilder { TextFragmentWithEncode, }; + struct LiteralSpan { + const char16_t* mData; + uint32_t mLength; + + Span AsSpan() { return Span(mData, mLength); } + }; + union { nsAtom* mAtom; - const char16_t* mLiteral; + LiteralSpan mLiteral; nsString mString; const nsTextFragment* mTextFragment; }; - uint32_t mLength = 0; Type mType = Type::Unknown; }; @@ -8987,17 +8993,15 @@ class StringBuilder { u->mAtom = aAtom; u->mType = Unit::Type::Atom; uint32_t len = aAtom->GetLength(); - u->mLength = len; mLength += len; } template void Append(const char16_t (&aLiteral)[N]) { + constexpr uint32_t len = N - 1; Unit* u = AddUnit(); - u->mLiteral = aLiteral; + u->mLiteral = {aLiteral, len}; u->mType = Unit::Type::Literal; - uint32_t len = N - 1; - u->mLength = len; mLength += len; } @@ -9006,15 +9010,14 @@ class StringBuilder { uint32_t len = aString.Length(); new (&u->mString) nsString(std::move(aString)); u->mType = Unit::Type::String; - u->mLength = len; mLength += len; } - void AppendWithAttrEncode(nsString&& aString, uint32_t aLen) { + // aLen can be !isValid(), which will get propagated into mLength. + void AppendWithAttrEncode(nsString&& aString, CheckedInt aLen) { Unit* u = AddUnit(); new (&u->mString) nsString(std::move(aString)); u->mType = Unit::Type::StringWithEncode; - u->mLength = aLen; mLength += aLen; } @@ -9023,15 +9026,15 @@ class StringBuilder { u->mTextFragment = aTextFragment; u->mType = Unit::Type::TextFragment; uint32_t len = aTextFragment->GetLength(); - u->mLength = len; mLength += len; } - void AppendWithEncode(const nsTextFragment* aTextFragment, uint32_t aLen) { + // aLen can be !isValid(), which will get propagated into mLength. + void AppendWithEncode(const nsTextFragment* aTextFragment, + CheckedInt aLen) { Unit* u = AddUnit(); u->mTextFragment = aTextFragment; u->mType = Unit::Type::TextFragmentWithEncode; - u->mLength = aLen; mLength += aLen; } @@ -9062,7 +9065,7 @@ class StringBuilder { EncodeAttrString(u.mString, appender); break; case Unit::Type::Literal: - appender.Append(Span(u.mLiteral, u.mLength)); + appender.Append(u.mLiteral.AsSpan()); break; case Unit::Type::TextFragment: if (u.mTextFragment->Is2b()) { @@ -9187,7 +9190,7 @@ static_assert(sizeof(StringBuilder) <= StringBuilder::TARGET_SIZE, static void AppendEncodedCharacters(const nsTextFragment* aText, StringBuilder& aBuilder) { - uint32_t extraSpaceNeeded = 0; + uint32_t numEncodedChars = 0; uint32_t len = aText->GetLength(); if (aText->Is2b()) { const char16_t* data = aText->Get2b(); @@ -9195,16 +9198,10 @@ static void AppendEncodedCharacters(const nsTextFragment* aText, const char16_t c = data[i]; switch (c) { case '<': - extraSpaceNeeded += ArrayLength("<") - 2; - break; case '>': - extraSpaceNeeded += ArrayLength(">") - 2; - break; case '&': - extraSpaceNeeded += ArrayLength("&") - 2; - break; case 0x00A0: - extraSpaceNeeded += ArrayLength(" ") - 2; + ++numEncodedChars; break; default: break; @@ -9216,16 +9213,10 @@ static void AppendEncodedCharacters(const nsTextFragment* aText, const unsigned char c = data[i]; switch (c) { case '<': - extraSpaceNeeded += ArrayLength("<") - 2; - break; case '>': - extraSpaceNeeded += ArrayLength(">") - 2; - break; case '&': - extraSpaceNeeded += ArrayLength("&") - 2; - break; case 0x00A0: - extraSpaceNeeded += ArrayLength(" ") - 2; + ++numEncodedChars; break; default: break; @@ -9233,28 +9224,37 @@ static void AppendEncodedCharacters(const nsTextFragment* aText, } } - if (extraSpaceNeeded) { - aBuilder.AppendWithEncode(aText, len + extraSpaceNeeded); + if (numEncodedChars) { + // For simplicity, conservatively estimate the size of the string after + // encoding. This will result in reserving more memory than we actually + // need, but that should be fine unless the string has an enormous number of + // eg < in it. We subtract 1 for the null terminator, then 1 more for the + // existing character that will be replaced. + constexpr uint32_t maxCharExtraSpace = + std::max({ArrayLength("<"), ArrayLength(">"), + ArrayLength("&"), ArrayLength(" ")}) - + 2; + static_assert(maxCharExtraSpace < 100, "Possible underflow"); + CheckedInt maxExtraSpace = + CheckedInt(numEncodedChars) * maxCharExtraSpace; + aBuilder.AppendWithEncode(aText, maxExtraSpace + len); } else { aBuilder.Append(aText); } } -static uint32_t ExtraSpaceNeededForAttrEncoding(const nsAString& aValue) { +static CheckedInt ExtraSpaceNeededForAttrEncoding( + const nsAString& aValue) { const char16_t* c = aValue.BeginReading(); const char16_t* end = aValue.EndReading(); - uint32_t extraSpaceNeeded = 0; + uint32_t numEncodedChars = 0; while (c < end) { switch (*c) { case '"': - extraSpaceNeeded += ArrayLength(""") - 2; - break; case '&': - extraSpaceNeeded += ArrayLength("&") - 2; - break; case 0x00A0: - extraSpaceNeeded += ArrayLength(" ") - 2; + ++numEncodedChars; break; default: break; @@ -9262,19 +9262,33 @@ static uint32_t ExtraSpaceNeededForAttrEncoding(const nsAString& aValue) { ++c; } - return extraSpaceNeeded; + if (!numEncodedChars) { + return 0; + } + + // For simplicity, conservatively estimate the size of the string after + // encoding. This will result in reserving more memory than we actually + // need, but that should be fine unless the string has an enormous number of + // & in it. We subtract 1 for the null terminator, then 1 more for the + // existing character that will be replaced. + constexpr uint32_t maxCharExtraSpace = + std::max({ArrayLength("""), ArrayLength("&"), + ArrayLength(" ")}) - + 2; + static_assert(maxCharExtraSpace < 100, "Possible underflow"); + return CheckedInt(numEncodedChars) * maxCharExtraSpace; } static void AppendEncodedAttributeValue(const nsAttrValue& aValue, StringBuilder& aBuilder) { if (nsAtom* atom = aValue.GetStoredAtom()) { nsDependentAtomString atomStr(atom); - uint32_t space = ExtraSpaceNeededForAttrEncoding(atomStr); - if (!space) { + auto space = ExtraSpaceNeededForAttrEncoding(atomStr); + if (space.isValid() && !space.value()) { aBuilder.Append(atom); } else { aBuilder.AppendWithAttrEncode(nsString(atomStr), - atomStr.Length() + space); + space + atomStr.Length()); } return; } @@ -9282,9 +9296,9 @@ static void AppendEncodedAttributeValue(const nsAttrValue& aValue, // nsStringBuffer. nsString str; aValue.ToString(str); - uint32_t space = ExtraSpaceNeededForAttrEncoding(str); - if (space) { - aBuilder.AppendWithAttrEncode(std::move(str), str.Length() + space); + auto space = ExtraSpaceNeededForAttrEncoding(str); + if (!space.isValid() || space.value()) { + aBuilder.AppendWithAttrEncode(std::move(str), space + str.Length()); } else { aBuilder.Append(std::move(str)); } diff --git a/dom/indexedDB/SafeRefPtr.h b/dom/indexedDB/SafeRefPtr.h index 3d7a5d635e..91fa4dded1 100644 --- a/dom/indexedDB/SafeRefPtr.h +++ b/dom/indexedDB/SafeRefPtr.h @@ -219,8 +219,7 @@ class MOZ_IS_REFPTR MOZ_TRIVIAL_ABI SafeRefPtr { aOther.mRawPtr = nullptr; } SafeRefPtr& operator=(SafeRefPtr&& aOther) noexcept { - assign_assuming_AddRef(aOther.mRawPtr); - aOther.mRawPtr = nullptr; + assign_assuming_AddRef(aOther.forget().take()); return *this; } diff --git a/dom/media/platforms/wrappers/MediaChangeMonitor.cpp b/dom/media/platforms/wrappers/MediaChangeMonitor.cpp index 17387204ed..544abea161 100644 --- a/dom/media/platforms/wrappers/MediaChangeMonitor.cpp +++ b/dom/media/platforms/wrappers/MediaChangeMonitor.cpp @@ -519,6 +519,10 @@ RefPtr MediaChangeMonitor::Init() { mDecoderInitialized = true; mConversionRequired = Some(mDecoder->NeedsConversion()); mCanRecycleDecoder = Some(CanRecycleDecoder()); + if (mPendingSeekThreshold) { + mDecoder->SetSeekThreshold(*mPendingSeekThreshold); + mPendingSeekThreshold.reset(); + } } return mInitPromise.ResolveOrRejectIfExists(std::move(aValue), __func__); @@ -686,11 +690,19 @@ bool MediaChangeMonitor::IsHardwareAccelerated( } void MediaChangeMonitor::SetSeekThreshold(const media::TimeUnit& aTime) { - if (mDecoder) { - mDecoder->SetSeekThreshold(aTime); - } else { - MediaDataDecoder::SetSeekThreshold(aTime); - } + GetCurrentSerialEventTarget()->Dispatch(NS_NewRunnableFunction( + "MediaChangeMonitor::SetSeekThreshold", + [self = RefPtr(this), time = aTime, this] { + // During the shutdown. + if (mShutdownPromise) { + return; + } + if (mDecoder && mDecoderInitialized) { + mDecoder->SetSeekThreshold(time); + } else { + mPendingSeekThreshold = Some(time); + } + })); } RefPtr @@ -744,6 +756,11 @@ MediaResult MediaChangeMonitor::CreateDecoderAndInit(MediaRawData* aSample) { mConversionRequired = Some(mDecoder->NeedsConversion()); mCanRecycleDecoder = Some(CanRecycleDecoder()); + if (mPendingSeekThreshold) { + mDecoder->SetSeekThreshold(*mPendingSeekThreshold); + mPendingSeekThreshold.reset(); + } + if (!mFlushPromise.IsEmpty()) { // A Flush is pending, abort the current operation. mFlushPromise.Resolve(true, __func__); diff --git a/dom/media/platforms/wrappers/MediaChangeMonitor.h b/dom/media/platforms/wrappers/MediaChangeMonitor.h index a85c23fcb2..843dd9035b 100644 --- a/dom/media/platforms/wrappers/MediaChangeMonitor.h +++ b/dom/media/platforms/wrappers/MediaChangeMonitor.h @@ -135,6 +135,8 @@ class MediaChangeMonitor final Maybe mConversionRequired; bool mDecoderInitialized = false; const CreateDecoderParamsForAsync mParams; + // Keep any seek threshold set for after decoder creation and initialization. + Maybe mPendingSeekThreshold; }; } // namespace mozilla diff --git a/gfx/thebes/SharedFontList.cpp b/gfx/thebes/SharedFontList.cpp index f97e7e2832..83b389cd16 100644 --- a/gfx/thebes/SharedFontList.cpp +++ b/gfx/thebes/SharedFontList.cpp @@ -168,7 +168,11 @@ class SetCharMapRunnable : public mozilla::Runnable { void Face::SetCharacterMap(FontList* aList, gfxCharacterMap* aCharMap, const Family* aFamily) { if (!XRE_IsParentProcess()) { - std::pair familyIndex = aFamily->FindIndex(aList); + Maybe> familyIndex = aFamily->FindIndex(aList); + if (!familyIndex) { + NS_WARNING("Family index not found! Ignoring SetCharacterMap"); + return; + } const auto* faces = aFamily->Faces(aList); uint32_t faceIndex = 0; while (faceIndex < aFamily->NumFaces()) { @@ -177,14 +181,17 @@ void Face::SetCharacterMap(FontList* aList, gfxCharacterMap* aCharMap, } ++faceIndex; } - MOZ_RELEASE_ASSERT(faceIndex < aFamily->NumFaces(), "Face ptr not found!"); + if (faceIndex >= aFamily->NumFaces()) { + NS_WARNING("Face not found in family! Ignoring SetCharacterMap"); + return; + } if (NS_IsMainThread()) { dom::ContentChild::GetSingleton()->SendSetCharacterMap( - aList->GetGeneration(), familyIndex.first, familyIndex.second, + aList->GetGeneration(), familyIndex->first, familyIndex->second, faceIndex, *aCharMap); } else { NS_DispatchToMainThread(new SetCharMapRunnable( - aList->GetGeneration(), familyIndex, faceIndex, aCharMap)); + aList->GetGeneration(), familyIndex.value(), faceIndex, aCharMap)); } return; } @@ -629,16 +636,20 @@ void Family::SetupFamilyCharMap(FontList* aList) { if (!XRE_IsParentProcess()) { // |this| could be a Family record in either the Families() or Aliases() // arrays; FindIndex will map it back to its index and which array. - std::pair index = FindIndex(aList); + Maybe> index = FindIndex(aList); + if (!index) { + NS_WARNING("Family index not found! Ignoring SetupFamilyCharMap"); + return; + } if (NS_IsMainThread()) { dom::ContentChild::GetSingleton()->SendSetupFamilyCharMap( - aList->GetGeneration(), index.first, index.second); + aList->GetGeneration(), index->first, index->second); return; } NS_DispatchToMainThread(NS_NewRunnableFunction( "SetupFamilyCharMap callback", - [gen = aList->GetGeneration(), idx = index.first, - alias = index.second] { + [gen = aList->GetGeneration(), idx = index->first, + alias = index->second] { dom::ContentChild::GetSingleton()->SendSetupFamilyCharMap(gen, idx, alias); })); @@ -685,13 +696,13 @@ void Family::SetupFamilyCharMap(FontList* aList) { } } -std::pair Family::FindIndex(FontList* aList) const { +Maybe> Family::FindIndex(FontList* aList) const { const auto* start = aList->Families(); const auto* end = start + aList->NumFamilies(); if (this >= start && this < end) { uint32_t index = this - start; MOZ_RELEASE_ASSERT(start + index == this, "misaligned Family ptr!"); - return std::pair(index, false); + return Some(std::pair(index, false)); } start = aList->AliasFamilies(); @@ -699,10 +710,10 @@ std::pair Family::FindIndex(FontList* aList) const { if (this >= start && this < end) { uint32_t index = this - start; MOZ_RELEASE_ASSERT(start + index == this, "misaligned AliasFamily ptr!"); - return std::pair(index, true); + return Some(std::pair(index, true)); } - MOZ_CRASH("invalid font-list Family ptr!"); + return Nothing(); } FontList::FontList(uint32_t aGeneration) { diff --git a/gfx/thebes/SharedFontList.h b/gfx/thebes/SharedFontList.h index 279bbd1a57..289dd7364a 100644 --- a/gfx/thebes/SharedFontList.h +++ b/gfx/thebes/SharedFontList.h @@ -333,7 +333,8 @@ struct Family { // Return the index of this family in the font-list's Families() or // AliasFamilies() list, and which of those it belongs to. - std::pair FindIndex(FontList* aList) const; + // Returns Nothing if the family cannot be found. + mozilla::Maybe> FindIndex(FontList* aList) const; private: // Returns true if there are specifically-sized bitmap faces in the list, diff --git a/gfx/thebes/gfxUserFontSet.cpp b/gfx/thebes/gfxUserFontSet.cpp index 1d83a34977..0c7c6d24e1 100644 --- a/gfx/thebes/gfxUserFontSet.cpp +++ b/gfx/thebes/gfxUserFontSet.cpp @@ -18,6 +18,7 @@ #include "mozilla/gfx/2D.h" #include "gfxPlatformFontList.h" #include "mozilla/PostTraversalTask.h" +#include "mozilla/dom/WorkerCommon.h" #include "gfxOTSUtils.h" #include "nsIFontLoadCompleteCallback.h" #include "nsProxyRelease.h" @@ -786,9 +787,17 @@ bool gfxUserFontEntry::LoadPlatformFont(uint32_t aSrcIndex, } void gfxUserFontEntry::Load() { - if (mUserFontLoadState == STATUS_NOT_LOADED) { - LoadNextSrc(); + if (mUserFontLoadState != STATUS_NOT_LOADED) { + return; + } + if (dom::IsCurrentThreadRunningWorker()) { + // TODO: Maybe support loading the font entry in workers, at least for + // buffers or other sync sources? + NS_DispatchToMainThread(NewRunnableMethod("gfxUserFontEntry::Load", this, + &gfxUserFontEntry::Load)); + return; } + LoadNextSrc(); } void gfxUserFontEntry::IncrementGeneration() { diff --git a/intl/tzdata/GIT-INFO b/intl/tzdata/GIT-INFO index 98632cb649..42e4928cc6 100644 --- a/intl/tzdata/GIT-INFO +++ b/intl/tzdata/GIT-INFO @@ -1,5 +1,5 @@ -commit a4248d02cdf8329364d86e317e34422a894ae2f5 +commit 6f877dbcd7930f92fe8f97929e2ca683e7d443a2 Author: yumaoka -Date: Wed Mar 29 08:31:53 2023 -0400 +Date: Thu Feb 8 15:05:36 2024 -0500 - ICU-22339 Update tzdata to 2023c + ICU-22659 tzdata2024a updates in ICU Data repo diff --git a/intl/tzdata/VERSION b/intl/tzdata/VERSION index 7daa77e00d..04fe674443 100644 --- a/intl/tzdata/VERSION +++ b/intl/tzdata/VERSION @@ -1 +1 @@ -2023c +2024a diff --git a/intl/tzdata/source/be/metaZones.res b/intl/tzdata/source/be/metaZones.res index 910694356d..22369ca219 100644 Binary files a/intl/tzdata/source/be/metaZones.res and b/intl/tzdata/source/be/metaZones.res differ diff --git a/intl/tzdata/source/be/timezoneTypes.res b/intl/tzdata/source/be/timezoneTypes.res index b80cff0473..8bd236064d 100644 Binary files a/intl/tzdata/source/be/timezoneTypes.res and b/intl/tzdata/source/be/timezoneTypes.res differ diff --git a/intl/tzdata/source/be/windowsZones.res b/intl/tzdata/source/be/windowsZones.res index ce7c3637ab..fc9bbdbfb6 100644 Binary files a/intl/tzdata/source/be/windowsZones.res and b/intl/tzdata/source/be/windowsZones.res differ diff --git a/intl/tzdata/source/be/zoneinfo64.res b/intl/tzdata/source/be/zoneinfo64.res index fad0c1f415..5260bf76ea 100644 Binary files a/intl/tzdata/source/be/zoneinfo64.res and b/intl/tzdata/source/be/zoneinfo64.res differ diff --git a/intl/tzdata/source/ee/metaZones.res b/intl/tzdata/source/ee/metaZones.res index 3a0a2f1715..5692c962d1 100644 Binary files a/intl/tzdata/source/ee/metaZones.res and b/intl/tzdata/source/ee/metaZones.res differ diff --git a/intl/tzdata/source/ee/timezoneTypes.res b/intl/tzdata/source/ee/timezoneTypes.res index 7d8503ca8d..e0c5feed58 100644 Binary files a/intl/tzdata/source/ee/timezoneTypes.res and b/intl/tzdata/source/ee/timezoneTypes.res differ diff --git a/intl/tzdata/source/ee/windowsZones.res b/intl/tzdata/source/ee/windowsZones.res index 7d379a55c0..3e2826e9fd 100644 Binary files a/intl/tzdata/source/ee/windowsZones.res and b/intl/tzdata/source/ee/windowsZones.res differ diff --git a/intl/tzdata/source/ee/zoneinfo64.res b/intl/tzdata/source/ee/zoneinfo64.res index d4409e4c62..ebe36eed5e 100644 Binary files a/intl/tzdata/source/ee/zoneinfo64.res and b/intl/tzdata/source/ee/zoneinfo64.res differ diff --git a/intl/tzdata/source/le/metaZones.res b/intl/tzdata/source/le/metaZones.res index e9638d745e..77fda7b543 100644 Binary files a/intl/tzdata/source/le/metaZones.res and b/intl/tzdata/source/le/metaZones.res differ diff --git a/intl/tzdata/source/le/timezoneTypes.res b/intl/tzdata/source/le/timezoneTypes.res index d8b0ba062d..5bf829a62b 100644 Binary files a/intl/tzdata/source/le/timezoneTypes.res and b/intl/tzdata/source/le/timezoneTypes.res differ diff --git a/intl/tzdata/source/le/windowsZones.res b/intl/tzdata/source/le/windowsZones.res index 8ec7d1a8f6..37f75f882c 100644 Binary files a/intl/tzdata/source/le/windowsZones.res and b/intl/tzdata/source/le/windowsZones.res differ diff --git a/intl/tzdata/source/le/zoneinfo64.res b/intl/tzdata/source/le/zoneinfo64.res index 38d9489b15..156f082c78 100644 Binary files a/intl/tzdata/source/le/zoneinfo64.res and b/intl/tzdata/source/le/zoneinfo64.res differ diff --git a/intl/tzdata/source/metaZones.txt b/intl/tzdata/source/metaZones.txt index 7e648a7358..fab32bcaed 100644 --- a/intl/tzdata/source/metaZones.txt +++ b/intl/tzdata/source/metaZones.txt @@ -89,7 +89,6 @@ metaZones:table(nofallback){ America_Mountain{ 001{"America/Denver"} CA{"America/Edmonton"} - MX{"America/Hermosillo"} } America_Pacific{ 001{"America/Los_Angeles"} @@ -361,6 +360,9 @@ metaZones:table(nofallback){ Goose_Bay{ 001{"America/Goose_Bay"} } + Greenland{ + 001{"America/Godthab"} + } Greenland_Central{ 001{"America/Scoresbysund"} } @@ -473,9 +475,6 @@ metaZones:table(nofallback){ Macau{ 001{"Asia/Macau"} } - Macquarie{ - 001{"Antarctica/Macquarie"} - } Magadan{ 001{"Asia/Magadan"} } @@ -500,9 +499,6 @@ metaZones:table(nofallback){ Mawson{ 001{"Antarctica/Mawson"} } - Mexico_Northwest{ - 001{"America/Santa_Isabel"} - } Mexico_Pacific{ 001{"America/Mazatlan"} } @@ -773,6 +769,7 @@ metaZones:table(nofallback){ geor{"Georgia"} giis{"Gilbert_Islands"} grea{"Greenland_Eastern"} + gree{"Greenland"} grwe{"Greenland_Western"} guam{"Guam"} gulf{"Gulf"} @@ -801,7 +798,6 @@ metaZones:table(nofallback){ liis{"Line_Islands"} loho{"Lord_Howe"} maca{"Macau"} - macq{"Macquarie"} maga{"Magadan"} mais{"Marshall_Islands"} mala{"Malaysia"} @@ -809,7 +805,6 @@ metaZones:table(nofallback){ marq{"Marquesas"} maur{"Mauritius"} maws{"Mawson"} - meno{"Mexico_Northwest"} mepa{"Mexico_Pacific"} mgmt{"GMT"} mong{"Mongolia"} @@ -1823,6 +1818,13 @@ metaZones:table(nofallback){ "America:Godthab"{ { "Greenland_Western", + "1970-01-01 00:00", + "2024-03-26 01:00", + } + { + "Greenland", + "2024-03-26 01:00", + "9999-12-31 23:59", } } "America:Goose_Bay"{ @@ -2324,11 +2326,6 @@ metaZones:table(nofallback){ "America_Eastern", } } - "America:Nipigon"{ - { - "America_Eastern", - } - } "America:Nome"{ { "Bering", @@ -2404,23 +2401,6 @@ metaZones:table(nofallback){ "America_Eastern", } } - "America:Pangnirtung"{ - { - "America_Eastern", - "1970-01-01 00:00", - "1999-10-31 06:00", - } - { - "America_Central", - "1999-10-31 06:00", - "2000-10-29 07:00", - } - { - "America_Eastern", - "2000-10-29 07:00", - "9999-12-31 23:59", - } - } "America:Paramaribo"{ { "Dutch_Guiana", @@ -2465,11 +2445,6 @@ metaZones:table(nofallback){ "2016-12-03 23:00", } } - "America:Rainy_River"{ - { - "America_Central", - } - } "America:Rankin_Inlet"{ { "America_Central", @@ -2541,11 +2516,6 @@ metaZones:table(nofallback){ "9999-12-31 23:59", } } - "America:Santa_Isabel"{ - { - "Mexico_Northwest", - } - } "America:Santarem"{ { "Amazon", @@ -2599,6 +2569,11 @@ metaZones:table(nofallback){ { "Greenland_Eastern", "1981-03-29 02:00", + "2024-03-31 01:00", + } + { + "Greenland", + "2024-03-31 01:00", "9999-12-31 23:59", } } @@ -2666,11 +2641,6 @@ metaZones:table(nofallback){ "Atlantic", } } - "America:Thunder_Bay"{ - { - "America_Eastern", - } - } "America:Tijuana"{ { "America_Pacific", @@ -2715,11 +2685,6 @@ metaZones:table(nofallback){ "9999-12-31 23:59", } } - "America:Yellowknife"{ - { - "America_Mountain", - } - } "Antarctica:Casey"{ { "Australia_Western", @@ -2779,6 +2744,31 @@ metaZones:table(nofallback){ { "Casey", "2020-10-03 16:01", + "2021-03-13 13:00", + } + { + "Australia_Western", + "2021-03-13 13:00", + "2021-10-02 16:01", + } + { + "Casey", + "2021-10-02 16:01", + "2022-03-12 13:00", + } + { + "Australia_Western", + "2022-03-12 13:00", + "2022-10-01 16:01", + } + { + "Casey", + "2022-10-01 16:01", + "2023-03-08 16:00", + } + { + "Australia_Western", + "2023-03-08 16:00", "9999-12-31 23:59", } } @@ -2858,6 +2848,11 @@ metaZones:table(nofallback){ { "Kazakhstan_Eastern", "2004-10-30 20:00", + "2024-02-29 18:00", + } + { + "Kazakhstan_Western", + "2024-02-29 18:00", "9999-12-31 23:59", } } @@ -3373,6 +3368,11 @@ metaZones:table(nofallback){ { "Kazakhstan_Eastern", "2004-10-30 21:00", + "2024-02-29 18:00", + } + { + "Kazakhstan_Western", + "2024-02-29 18:00", "9999-12-31 23:59", } } @@ -3658,11 +3658,6 @@ metaZones:table(nofallback){ "Australia_Central", } } - "Australia:Currie"{ - { - "Australia_Eastern", - } - } "Australia:Darwin"{ { "Australia_Central", @@ -4158,18 +4153,6 @@ metaZones:table(nofallback){ "2016-03-26 23:00", } } - "Europe:Uzhgorod"{ - { - "Moscow", - "1970-01-01 00:00", - "1990-06-30 22:00", - } - { - "Europe_Eastern", - "1990-06-30 22:00", - "9999-12-31 23:59", - } - } "Europe:Vaduz"{ { "Europe_Central", @@ -4222,18 +4205,6 @@ metaZones:table(nofallback){ "Europe_Central", } } - "Europe:Zaporozhye"{ - { - "Moscow", - "1970-01-01 00:00", - "1990-06-30 22:00", - } - { - "Europe_Eastern", - "1990-06-30 22:00", - "9999-12-31 23:59", - } - } "Europe:Zurich"{ { "Europe_Central", @@ -4402,18 +4373,6 @@ metaZones:table(nofallback){ "9999-12-31 23:59", } } - "Pacific:Johnston"{ - { - "Alaska_Hawaii", - "1970-01-01 00:00", - "1983-10-30 11:00", - } - { - "Hawaii_Aleutian", - "1983-10-30 11:00", - "9999-12-31 23:59", - } - } "Pacific:Kiritimati"{ { "Line_Islands", diff --git a/intl/tzdata/source/timezoneTypes.txt b/intl/tzdata/source/timezoneTypes.txt index d46182c821..9c9e1e1b10 100644 --- a/intl/tzdata/source/timezoneTypes.txt +++ b/intl/tzdata/source/timezoneTypes.txt @@ -5,13 +5,47 @@ timezoneTypes:table(nofallback){ bcpTypeAlias{ tz{ aqams{"nzakl"} + aukns{"auhba"} + caffs{"cawnp"} + camtr{"cator"} + canpg{"cator"} + capnt{"caiql"} + cathu{"cator"} + cayzf{"caedm"} cnckg{"cnsha"} cnhrb{"cnsha"} cnkhg{"cnurc"} gaza{"gazastrp"} + mxstis{"mxtij"} + uaozh{"uaiev"} + uauzh{"uaiev"} + umjon{"ushnl"} usnavajo{"usden"} } } + ianaMap{ + timezone{ + "Africa:Asmera"{"Africa/Asmara"} + "America:Buenos_Aires"{"America/Argentina/Buenos_Aires"} + "America:Catamarca"{"America/Argentina/Catamarca"} + "America:Coral_Harbour"{"America/Atikokan"} + "America:Cordoba"{"America/Argentina/Cordoba"} + "America:Godthab"{"America/Nuuk"} + "America:Indianapolis"{"America/Indiana/Indianapolis"} + "America:Jujuy"{"America/Argentina/Jujuy"} + "America:Louisville"{"America/Kentucky/Louisville"} + "America:Mendoza"{"America/Argentina/Mendoza"} + "Asia:Calcutta"{"Asia/Kolkata"} + "Asia:Katmandu"{"Asia/Kathmandu"} + "Asia:Rangoon"{"Asia/Yangon"} + "Asia:Saigon"{"Asia/Ho_Chi_Minh"} + "Atlantic:Faeroe"{"Atlantic/Faroe"} + "Europe:Kiev"{"Europe/Kyiv"} + "Pacific:Enderbury"{"Pacific/Kanton"} + "Pacific:Ponape"{"Pacific/Pohnpei"} + "Pacific:Truk"{"Pacific/Chuuk"} + } + } typeAlias{ timezone{ "Africa:Asmara"{"Africa/Asmera"} @@ -29,11 +63,18 @@ timezoneTypes:table(nofallback){ "America:Indiana:Indianapolis"{"America/Indianapolis"} "America:Kentucky:Louisville"{"America/Louisville"} "America:Knox_IN"{"America/Indiana/Knox"} + "America:Montreal"{"America/Toronto"} + "America:Nipigon"{"America/Toronto"} "America:Nuuk"{"America/Godthab"} + "America:Pangnirtung"{"America/Iqaluit"} "America:Porto_Acre"{"America/Rio_Branco"} + "America:Rainy_River"{"America/Winnipeg"} "America:Rosario"{"America/Cordoba"} + "America:Santa_Isabel"{"America/Tijuana"} "America:Shiprock"{"America/Denver"} + "America:Thunder_Bay"{"America/Toronto"} "America:Virgin"{"America/St_Thomas"} + "America:Yellowknife"{"America/Edmonton"} "Antarctica:South_Pole"{"Pacific/Auckland"} "Asia:Ashkhabad"{"Asia/Ashgabat"} "Asia:Chongqing"{"Asia/Shanghai"} @@ -55,6 +96,7 @@ timezoneTypes:table(nofallback){ "Atlantic:Jan_Mayen"{"Arctic/Longyearbyen"} "Australia:ACT"{"Australia/Sydney"} "Australia:Canberra"{"Australia/Sydney"} + "Australia:Currie"{"Australia/Hobart"} "Australia:LHI"{"Australia/Lord_Howe"} "Australia:NSW"{"Australia/Sydney"} "Australia:North"{"Australia/Darwin"} @@ -90,10 +132,13 @@ timezoneTypes:table(nofallback){ "Europe:Kyiv"{"Europe/Kiev"} "Europe:Nicosia"{"Asia/Nicosia"} "Europe:Tiraspol"{"Europe/Chisinau"} + "Europe:Uzhgorod"{"Europe/Kiev"} + "Europe:Zaporozhye"{"Europe/Kiev"} "Mexico:BajaNorte"{"America/Tijuana"} "Mexico:BajaSur"{"America/Mazatlan"} "Mexico:General"{"America/Mexico_City"} "Pacific:Chuuk"{"Pacific/Truk"} + "Pacific:Johnston"{"Pacific/Honolulu"} "Pacific:Kanton"{"Pacific/Enderbury"} "Pacific:Pohnpei"{"Pacific/Ponape"} "Pacific:Samoa"{"Pacific/Pago_Pago"} @@ -302,11 +347,9 @@ timezoneTypes:table(nofallback){ "America:Moncton"{"camon"} "America:Monterrey"{"mxmty"} "America:Montevideo"{"uymvd"} - "America:Montreal"{"camtr"} "America:Montserrat"{"msmni"} "America:Nassau"{"bsnas"} "America:New_York"{"usnyc"} - "America:Nipigon"{"canpg"} "America:Nome"{"usome"} "America:Noronha"{"brfen"} "America:North_Dakota:Beulah"{"usxul"} @@ -314,7 +357,6 @@ timezoneTypes:table(nofallback){ "America:North_Dakota:New_Salem"{"usndnsl"} "America:Ojinaga"{"mxoji"} "America:Panama"{"papty"} - "America:Pangnirtung"{"capnt"} "America:Paramaribo"{"srpbm"} "America:Phoenix"{"usphx"} "America:Port-au-Prince"{"htpap"} @@ -322,13 +364,11 @@ timezoneTypes:table(nofallback){ "America:Porto_Velho"{"brpvh"} "America:Puerto_Rico"{"prsju"} "America:Punta_Arenas"{"clpuq"} - "America:Rainy_River"{"caffs"} "America:Rankin_Inlet"{"cayek"} "America:Recife"{"brrec"} "America:Regina"{"careg"} "America:Resolute"{"careb"} "America:Rio_Branco"{"brrbr"} - "America:Santa_Isabel"{"mxstis"} "America:Santarem"{"brstm"} "America:Santiago"{"clscl"} "America:Santo_Domingo"{"dosdq"} @@ -344,7 +384,6 @@ timezoneTypes:table(nofallback){ "America:Swift_Current"{"cayyn"} "America:Tegucigalpa"{"hntgu"} "America:Thule"{"glthu"} - "America:Thunder_Bay"{"cathu"} "America:Tijuana"{"mxtij"} "America:Toronto"{"cator"} "America:Tortola"{"vgtov"} @@ -352,7 +391,6 @@ timezoneTypes:table(nofallback){ "America:Whitehorse"{"cayxy"} "America:Winnipeg"{"cawnp"} "America:Yakutat"{"usyak"} - "America:Yellowknife"{"cayzf"} "Antarctica:Casey"{"aqcas"} "Antarctica:Davis"{"aqdav"} "Antarctica:DumontDUrville"{"aqddu"} @@ -461,7 +499,6 @@ timezoneTypes:table(nofallback){ "Australia:Adelaide"{"auadl"} "Australia:Brisbane"{"aubne"} "Australia:Broken_Hill"{"aubhq"} - "Australia:Currie"{"aukns"} "Australia:Darwin"{"audrw"} "Australia:Eucla"{"aueuc"} "Australia:Hobart"{"auhba"} @@ -549,7 +586,6 @@ timezoneTypes:table(nofallback){ "Europe:Tallinn"{"eetll"} "Europe:Tirane"{"altia"} "Europe:Ulyanovsk"{"ruuly"} - "Europe:Uzhgorod"{"uauzh"} "Europe:Vaduz"{"livdz"} "Europe:Vatican"{"vavat"} "Europe:Vienna"{"atvie"} @@ -557,7 +593,6 @@ timezoneTypes:table(nofallback){ "Europe:Volgograd"{"ruvog"} "Europe:Warsaw"{"plwaw"} "Europe:Zagreb"{"hrzag"} - "Europe:Zaporozhye"{"uaozh"} "Europe:Zurich"{"chzrh"} "Indian:Antananarivo"{"mgtnr"} "Indian:Chagos"{"iodga"} @@ -585,7 +620,6 @@ timezoneTypes:table(nofallback){ "Pacific:Guadalcanal"{"sbhir"} "Pacific:Guam"{"gugum"} "Pacific:Honolulu"{"ushnl"} - "Pacific:Johnston"{"umjon"} "Pacific:Kiritimati"{"kicxi"} "Pacific:Kosrae"{"fmksa"} "Pacific:Kwajalein"{"mhkwa"} diff --git a/intl/tzdata/source/windowsZones.txt b/intl/tzdata/source/windowsZones.txt index 092e700f71..6ba9ca1e68 100644 --- a/intl/tzdata/source/windowsZones.txt +++ b/intl/tzdata/source/windowsZones.txt @@ -126,12 +126,11 @@ windowsZones:table(nofallback){ ZZ{"Etc/GMT+6"} } "Central Asia Standard Time"{ - 001{"Asia/Almaty"} + 001{"Asia/Bishkek"} AQ{"Antarctica/Vostok"} CN{"Asia/Urumqi"} IO{"Indian/Chagos"} KG{"Asia/Bishkek"} - KZ{"Asia/Almaty Asia/Qostanay"} ZZ{"Etc/GMT-6"} } "Central Brazilian Standard Time"{ @@ -173,10 +172,7 @@ windowsZones:table(nofallback){ } "Central Standard Time"{ 001{"America/Chicago"} - CA{ - "America/Winnipeg America/Rainy_River America/Rankin_Inlet America/Re" - "solute" - } + CA{"America/Winnipeg America/Rankin_Inlet America/Resolute"} MX{"America/Matamoros America/Ojinaga"} US{ "America/Chicago America/Indiana/Knox America/Indiana/Tell_City Ameri" @@ -241,10 +237,7 @@ windowsZones:table(nofallback){ "Eastern Standard Time"{ 001{"America/New_York"} BS{"America/Nassau"} - CA{ - "America/Toronto America/Iqaluit America/Montreal America/Nipigon Ame" - "rica/Pangnirtung America/Thunder_Bay" - } + CA{"America/Toronto America/Iqaluit"} US{ "America/New_York America/Detroit America/Indiana/Petersburg America/" "Indiana/Vincennes America/Indiana/Winamac America/Kentucky/Monticell" @@ -268,7 +261,7 @@ windowsZones:table(nofallback){ FI{"Europe/Helsinki"} LT{"Europe/Vilnius"} LV{"Europe/Riga"} - UA{"Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye"} + UA{"Europe/Kiev"} } "Fiji Standard Time"{ 001{"Pacific/Fiji"} @@ -325,7 +318,6 @@ windowsZones:table(nofallback){ 001{"Pacific/Honolulu"} CK{"Pacific/Rarotonga"} PF{"Pacific/Tahiti"} - UM{"Pacific/Johnston"} US{"Pacific/Honolulu"} ZZ{"Etc/GMT+10"} } @@ -403,10 +395,7 @@ windowsZones:table(nofallback){ } "Mountain Standard Time"{ 001{"America/Denver"} - CA{ - "America/Edmonton America/Cambridge_Bay America/Inuvik America/Yellow" - "knife" - } + CA{"America/Edmonton America/Cambridge_Bay America/Inuvik"} MX{"America/Ciudad_Juarez"} US{"America/Denver America/Boise"} ZZ{"MST7MDT"} @@ -463,7 +452,7 @@ windowsZones:table(nofallback){ } "Pacific Standard Time (Mexico)"{ 001{"America/Tijuana"} - MX{"America/Tijuana America/Santa_Isabel"} + MX{"America/Tijuana"} } "Pacific Standard Time"{ 001{"America/Los_Angeles"} @@ -638,7 +627,7 @@ windowsZones:table(nofallback){ } "Tasmania Standard Time"{ 001{"Australia/Hobart"} - AU{"Australia/Hobart Australia/Currie Antarctica/Macquarie"} + AU{"Australia/Hobart Antarctica/Macquarie"} } "Tocantins Standard Time"{ 001{"America/Araguaina"} @@ -789,7 +778,10 @@ windowsZones:table(nofallback){ "West Asia Standard Time"{ 001{"Asia/Tashkent"} AQ{"Antarctica/Mawson"} - KZ{"Asia/Oral Asia/Aqtau Asia/Aqtobe Asia/Atyrau"} + KZ{ + "Asia/Oral Asia/Almaty Asia/Aqtau Asia/Aqtobe Asia/Atyrau Asia/Qostan" + "ay" + } MV{"Indian/Maldives"} TF{"Indian/Kerguelen"} TJ{"Asia/Dushanbe"} diff --git a/intl/tzdata/source/zoneinfo64.txt b/intl/tzdata/source/zoneinfo64.txt index 4d49612577..5d648cdfe1 100644 --- a/intl/tzdata/source/zoneinfo64.txt +++ b/intl/tzdata/source/zoneinfo64.txt @@ -3,17 +3,17 @@ // License & terms of use: http://www.unicode.org/copyright.html //--------------------------------------------------------- // Build tool: tz2icu -// Build date: Tue Mar 28 17:28:32 2023 +// Build date: Wed Feb 7 16:30:19 2024 // tz database: ftp://ftp.iana.org/tz/ -// tz version: 2023c -// ICU version: 73.1 +// tz version: 2024a +// ICU version: 75.0.1 //--------------------------------------------------------- // >> !!! >> THIS IS A MACHINE-GENERATED FILE << !!! << // >> !!! >>> DO NOT EDIT <<< !!! << //--------------------------------------------------------- zoneinfo64:table(nofallback) { - TZVersion { "2023c" } + TZVersion { "2024a" } Zones:array { /* ACT */ :int { 357 } //Z#0 /* AET */ :int { 369 } //Z#1 @@ -759,7 +759,7 @@ zoneinfo64:table(nofallback) { links:intvector { 166, 542 } } //Z#166 /* America/Miquelon */ :table { - trans:intvector { -1850328920, 326001600, 544597200, 562132800, 576046800, 594187200, 607496400, 625636800, 638946000, 657086400, 671000400, 688536000, 702450000, 719985600, 733899600, 752040000, 765349200, 783489600, 796798800, 814939200, 828853200, 846388800, 860302800, 877838400, 891752400, 909288000, 923202000, 941342400, 954651600, 972792000, 986101200, 1004241600, 1018155600, 1035691200, 1049605200, 1067140800, 1081054800, 1099195200, 1112504400, 1130644800, 1143954000, 1162094400, 1173589200, 1194148800 } + trans:intvector { -1847650520, 326001600, 544597200, 562132800, 576046800, 594187200, 607496400, 625636800, 638946000, 657086400, 671000400, 688536000, 702450000, 719985600, 733899600, 752040000, 765349200, 783489600, 796798800, 814939200, 828853200, 846388800, 860302800, 877838400, 891752400, 909288000, 923202000, 941342400, 954651600, 972792000, 986101200, 1004241600, 1018155600, 1035691200, 1049605200, 1067140800, 1081054800, 1099195200, 1112504400, 1130644800, 1143954000, 1162094400, 1173589200, 1194148800 } typeOffsets:intvector { -13480, 0, -14400, 0, -10800, 0, -10800, 3600 } typeMap:bin { "0102030203020302030203020302030203020302030203020302030203020302030203020302030203020302" } finalRule { "Canada" } @@ -842,9 +842,9 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } } //Z#180 /* America/Nuuk */ :table { - trans:intvector { -1686083584, 323845200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000, 859683600, 877827600, 891133200, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1477789200, 1490490000, 1509238800, 1521939600, 1540688400, 1553994000, 1572138000, 1585443600, 1603587600, 1616893200, 1635642000, 1648342800, 1667091600, 1679792400, 1698541200, 1711846800, 1729990800 } + trans:intvector { -1686083584, 323845200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000, 859683600, 877827600, 891133200, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1477789200, 1490490000, 1509238800, 1521939600, 1540688400, 1553994000, 1572138000, 1585443600, 1603587600, 1616893200, 1635642000, 1648342800, 1667091600, 1679792400, 1711846800, 1729990800 } typeOffsets:intvector { -12416, 0, -10800, 0, -10800, 3600, -7200, 0, -7200, 3600 } - typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102030403" } + typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201030403" } finalRule { "EU" } finalRaw:int { -7200 } finalYear:int { 2025 } @@ -970,12 +970,12 @@ zoneinfo64:table(nofallback) { links:intvector { 204, 374, 378 } } //Z#204 /* America/Scoresbysund */ :table { - trans:intvector { -1686090728, 323841600, 338961600, 354679200, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 } + trans:intvector { -1686090728, 323841600, 338961600, 354679200, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000, 859683600, 877827600, 891133200, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1477789200, 1490490000, 1509238800, 1521939600, 1540688400, 1553994000, 1572138000, 1585443600, 1603587600, 1616893200, 1635642000, 1648342800, 1667091600, 1679792400, 1698541200, 1711846800, 1729990800 } typeOffsets:intvector { -5272, 0, -7200, 0, -7200, 3600, -3600, 0, -3600, 3600 } - typeMap:bin { "0102010403040304030403040304030403040304030403040304030403040304030403" } + typeMap:bin { "01020104030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030201" } finalRule { "EU" } - finalRaw:int { -3600 } - finalYear:int { 1997 } + finalRaw:int { -7200 } + finalYear:int { 2025 } } //Z#205 /* America/Shiprock */ :int { 110 } //Z#206 /* America/Sitka */ :table { @@ -1031,7 +1031,7 @@ zoneinfo64:table(nofallback) { } //Z#218 /* America/Toronto */ :table { transPre32:intvector { -1, 1928231148 } - trans:intvector { -1632070800, -1615140000, -1601753400, -1583697600, -1567357200, -1554667200, -1534698000, -1524074400, -1503248400, -1492365600, -1471798800, -1460916000, -1440954000, -1428861600, -1409504400, -1397412000, -1378054800, -1365962400, -1346605200, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1188752400, -1176055200, -1157302800, -1144000800, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -765396000, -747248400, -733946400, -715806000, -702504000, -684356400, -671054400, -652906800, -634161600, -620845200, -602704800, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 } + trans:intvector { -1632070800, -1615140000, -1601753400, -1583697600, -1567357200, -1554667200, -1534698000, -1524074400, -1503248400, -1492365600, -1471798800, -1460916000, -1440954000, -1428861600, -1409504400, -1397412000, -1378054800, -1365962400, -1346605200, -1333908000, -1315155600, -1301853600, -1283706000, -1270404000, -1252256400, -1238954400, -1220806800, -1207504800, -1188752400, -1176055200, -1157302800, -1144000800, -1125853200, -1112551200, -1094403600, -1081101600, -1062954000, -1049652000, -1031504400, -1018202400, -1000054800, -986752800, -968000400, -955303200, -936550800, -765396000, -747248400, -733946400, -715798800, -702496800, -684349200, -671047200, -652899600, -634154400, -620845200, -602704800, -589395600, -576093600, -557946000, -544644000, -526496400, -513194400, -495046800, -481744800, -463597200, -450295200, -431542800, -418240800, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 } typeOffsets:intvector { -19052, 0, -18000, 0, -18000, 3600 } typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } finalRule { "Canada" } @@ -1079,9 +1079,9 @@ zoneinfo64:table(nofallback) { } //Z#225 /* America/Yellowknife */ :int { 113 } //Z#226 /* Antarctica/Casey */ :table { - trans:intvector { -31536000, 1255802400, 1267714800, 1319738400, 1329843600, 1477065600, 1520701200, 1538856000, 1552752000, 1570129200, 1583596800, 1601740860 } + trans:intvector { -31536000, 1255802400, 1267714800, 1319738400, 1329843600, 1477065600, 1520701200, 1538856000, 1552752000, 1570129200, 1583596800, 1601740860, 1615640400, 1633190460, 1647090000, 1664640060, 1678291200 } typeOffsets:intvector { 0, 0, 28800, 0, 39600, 0 } - typeMap:bin { "010201020102010201020102" } + typeMap:bin { "0102010201020102010201020102010201" } } //Z#227 /* Antarctica/Davis */ :table { trans:intvector { -409190400, -163062000, -28857600, 1255806000, 1268251200, 1319742000, 1329854400 } @@ -1124,13 +1124,17 @@ zoneinfo64:table(nofallback) { finalRaw:int { 0 } finalYear:int { 2006 } } //Z#237 - /* Antarctica/Vostok */ :int { 331 } //Z#238 + /* Antarctica/Vostok */ :table { + trans:intvector { -380073600, 760035600, 783648000, 1702839600 } + typeOffsets:intvector { 0, 0, 18000, 0, 25200, 0 } + typeMap:bin { "02000201" } + } //Z#238 /* Arctic/Longyearbyen */ :int { 447 } //Z#239 /* Asia/Aden */ :int { 311 } //Z#240 /* Asia/Almaty */ :table { - trans:intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701812800, 717537600, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400 } + trans:intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701812800, 717537600, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1709229600 } typeOffsets:intvector { 18468, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 } - typeMap:bin { "010304030403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030403" } + typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040301" } } //Z#241 /* Asia/Amman */ :table { trans:intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938124000, 954367200, 970178400, 985816800, 1001628000, 1017352800, 1033077600, 1048802400, 1066946400, 1080252000, 1097791200, 1112306400, 1128031200, 1143756000, 1161900000, 1175205600, 1193349600, 1206655200, 1225404000, 1238104800, 1256853600, 1269554400, 1288303200, 1301608800, 1319752800, 1333058400, 1387486800, 1395957600, 1414706400, 1427407200, 1446156000, 1459461600, 1477605600, 1490911200, 1509055200, 1522360800, 1540504800, 1553810400, 1571954400, 1585260000, 1604008800, 1616709600, 1635458400, 1645740000, 1666908000 } @@ -1260,10 +1264,10 @@ zoneinfo64:table(nofallback) { } //Z#269 /* Asia/Gaza */ :table { transPre32:intvector { -1, 2109557424 } - trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1219957200, 1238104800, 1252015200, 1269640860, 1281474000, 1301608860, 1312146000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400, 1616796000, 1635458400, 1648332000, 1666998000, 1682726400, 1698447600, 1712966400, 1729897200, 1743811200, 1761346800, 1774656000, 1792796400, 1806105600, 1824850800, 1837555200, 1856300400, 1869004800, 1887750000, 1901059200, 1919199600, 1932508800, 1950649200, 1963958400, 1982703600, 1995408000, 2014153200, 2026857600, 2045602800, 2058307200, 2077052400, 2090361600, 2107897200, 2121811200, 2138742000 } - transPost32:intvector { 0, -2141706496, 0, -2125985296, 0, -2110256896, 0, -2095140496, 0, -2092112896, 0, -2091511696, 0, -2078807296, 0, -2064900496, 0, -2061268096, 0, -2060062096, 0, -2046752896, 0, -2034055696, 0, -2031028096, 0, -2028612496, 0, -2015303296, 0, -2003210896, 0, -2000183296, 0, -1997162896, 0, -1983853696, 0, -1972970896, 0, -1969338496, 0, -1965713296, 0, -1952404096, 0, -1942126096, 0, -1939098496, 0, -1933658896, 0, -1920954496, 0, -1911281296, 0, -1908253696, 0, -1902209296, 0, -1889504896, 0, -1881041296, 0, -1877408896, 0, -1870759696, 0, -1857450496, 0, -1850196496, 0, -1847168896, 0, -1839310096, 0, -1826000896, 0, -1819956496, 0, -1816324096, 0, -1807860496, 0, -1794551296, 0, -1789111696, 0, -1786084096, 0, -1775806096, 0, -1763101696, 0, -1758266896, 0, -1755239296, 0, -1744356496, 0, -1731652096, 0, -1728026896, 0, -1724394496, 0, -1712906896, 0, -1699597696, 0, -1697182096, 0, -1694154496, 0, -1681457296, 0, -1668148096, 0, -1666942096, 0, -1663309696, 0, -1650007696, 0, -1636698496, 0, -1636097296, 0, -1632464896, 0, -1618558096, 0, -1602224896, 0, -1586503696, 0, -1571380096, 0, -1555054096, 0, -1541140096, 0, -1523604496, 0, -1510295296, 0, -1492154896, 0, -1478845696, 0, -1460705296, 0, -1447396096, 0, -1428650896, 0, -1415946496, 0, -1397201296, 0, -1384496896, 0, -1365751696, 0, -1353047296, 0, -1334302096, 0, -1320992896, 0, -1302852496, 0, -1289543296, 0, -1271402896, 0, -1258093696, 0, -1239348496, 0, -1226644096, 0, -1207898896, 0, -1195194496, 0, -1177054096, 0, -1163140096, 0, -1146209296, 0, -1131690496, 0, -1115364496, 0, -1100240896, 0, -1085124496, 0, -1068791296, 0, -1054279696, 0, -1051252096, 0, -1023434896, 0, -1020407296, 0, -993194896, 0, -989562496, 0, -962350096, 0, -959322496, 0, -955697296, 0, -942388096, 0, -932110096, 0, -928477696, 0, -924247696, 0, -910938496, 0, -901265296, 0, -897632896, 0, -892193296, 0, -879488896, 0, -870420496, 0, -867392896, 0, -860743696, 0, -848039296, 0, -840180496, 0, -836548096, 0, -829294096, 0, -815984896, 0, -809335696, 0, -806308096, 0, -797844496, 0, -784535296, 0, -778490896, 0, -775463296, 0, -766394896, 0, -753085696, 0, -748250896, 0, -744618496, 0, -734945296, 0, -721636096, 0, -717406096, 0, -714378496, 0, -702890896, 0, -690186496, 0, -687166096, 0, -683533696, 0, -671441296, 0, -658736896, 0, -656321296, 0, -652688896, 0, -639991696, 0, -626682496, 0, -625476496, 0, -622448896, 0, -608542096, 0, -595232896, 0, -577092496 } + trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1219957200, 1238104800, 1252015200, 1269640860, 1281474000, 1301608860, 1312146000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400, 1616796000, 1635458400, 1648332000, 1666998000, 1682726400, 1698447600, 1713571200, 1729897200, 1744416000, 1761346800, 1774656000, 1792796400, 1806105600, 1824850800, 1837555200, 1856300400, 1869004800, 1887750000, 1901059200, 1919199600, 1932508800, 1950649200, 1963958400, 1982703600, 1995408000, 2014153200, 2026857600, 2045602800, 2058307200, 2077052400, 2090361600, 2107897200, 2121811200, 2138742000 } + transPost32:intvector { 0, -2141706496, 0, -2125985296, 0, -2110256896, 0, -2095140496, 0, -2078807296, 0, -2064900496, 0, -2060663296, 0, -2060062096, 0, -2046752896, 0, -2034055696, 0, -2030423296, 0, -2028612496, 0, -2015303296, 0, -2003210896, 0, -1999578496, 0, -1997162896, 0, -1983853696, 0, -1972970896, 0, -1968733696, 0, -1965713296, 0, -1952404096, 0, -1942126096, 0, -1938493696, 0, -1933658896, 0, -1920954496, 0, -1911281296, 0, -1907648896, 0, -1902209296, 0, -1889504896, 0, -1881041296, 0, -1876804096, 0, -1870759696, 0, -1857450496, 0, -1850196496, 0, -1846564096, 0, -1839310096, 0, -1826000896, 0, -1819956496, 0, -1815719296, 0, -1807860496, 0, -1794551296, 0, -1789111696, 0, -1785479296, 0, -1775806096, 0, -1763101696, 0, -1758266896, 0, -1754634496, 0, -1744356496, 0, -1731652096, 0, -1728026896, 0, -1723789696, 0, -1712906896, 0, -1699597696, 0, -1697182096, 0, -1693549696, 0, -1681457296, 0, -1668148096, 0, -1666942096, 0, -1662704896, 0, -1650007696, 0, -1636698496, 0, -1636097296, 0, -1631860096, 0, -1618558096, 0, -1601620096, 0, -1586503696, 0, -1570775296, 0, -1555054096, 0, -1540535296, 0, -1523604496, 0, -1509690496, 0, -1492154896, 0, -1478845696, 0, -1460705296, 0, -1447396096, 0, -1428650896, 0, -1415946496, 0, -1397201296, 0, -1384496896, 0, -1365751696, 0, -1353047296, 0, -1334302096, 0, -1320992896, 0, -1302852496, 0, -1289543296, 0, -1271402896, 0, -1258093696, 0, -1239348496, 0, -1226644096, 0, -1207898896, 0, -1195194496, 0, -1177054096, 0, -1163140096, 0, -1146209296, 0, -1131690496, 0, -1115364496, 0, -1100240896, 0, -1085124496, 0, -1068791296, 0, -1054279696, 0, -1050647296, 0, -1050046096, 0, -1037341696, 0, -1023434896, 0, -1019802496, 0, -1018596496, 0, -1005892096, 0, -993194896, 0, -988957696, 0, -987146896, 0, -973837696, 0, -962350096, 0, -958717696, 0, -955697296, 0, -942388096, 0, -932110096, 0, -927872896, 0, -924247696, 0, -910938496, 0, -901265296, 0, -897028096, 0, -892193296, 0, -879488896, 0, -870420496, 0, -866788096, 0, -860743696, 0, -848039296, 0, -840180496, 0, -835943296, 0, -829294096, 0, -815984896, 0, -809335696, 0, -805703296, 0, -797844496, 0, -784535296, 0, -778490896, 0, -774858496, 0, -766394896, 0, -753085696, 0, -748250896, 0, -744013696, 0, -734945296, 0, -721636096, 0, -717406096, 0, -713773696, 0, -702890896, 0, -690186496, 0, -687166096, 0, -682928896, 0, -671441296, 0, -658736896, 0, -656321296, 0, -652084096, 0, -639991696, 0, -626682496, 0, -625476496, 0, -621844096, 0, -608542096, 0, -595232896, 0, -577092496 } typeOffsets:intvector { 8272, 0, 7200, 0, 7200, 3600 } - typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } finalRule { "Palestine" } finalRaw:int { 7200 } finalYear:int { 2088 } @@ -1271,16 +1275,16 @@ zoneinfo64:table(nofallback) { /* Asia/Harbin */ :int { 316 } //Z#271 /* Asia/Hebron */ :table { transPre32:intvector { -1, 2109557273 } - trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1220216400, 1238104800, 1252015200, 1269554400, 1281474000, 1301608860, 1312146000, 1314655200, 1317330000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400, 1616796000, 1635458400, 1648332000, 1666998000, 1682726400, 1698447600, 1712966400, 1729897200, 1743811200, 1761346800, 1774656000, 1792796400, 1806105600, 1824850800, 1837555200, 1856300400, 1869004800, 1887750000, 1901059200, 1919199600, 1932508800, 1950649200, 1963958400, 1982703600, 1995408000, 2014153200, 2026857600, 2045602800, 2058307200, 2077052400, 2090361600, 2107897200, 2121811200, 2138742000 } - transPost32:intvector { 0, -2141706496, 0, -2125985296, 0, -2110256896, 0, -2095140496, 0, -2092112896, 0, -2091511696, 0, -2078807296, 0, -2064900496, 0, -2061268096, 0, -2060062096, 0, -2046752896, 0, -2034055696, 0, -2031028096, 0, -2028612496, 0, -2015303296, 0, -2003210896, 0, -2000183296, 0, -1997162896, 0, -1983853696, 0, -1972970896, 0, -1969338496, 0, -1965713296, 0, -1952404096, 0, -1942126096, 0, -1939098496, 0, -1933658896, 0, -1920954496, 0, -1911281296, 0, -1908253696, 0, -1902209296, 0, -1889504896, 0, -1881041296, 0, -1877408896, 0, -1870759696, 0, -1857450496, 0, -1850196496, 0, -1847168896, 0, -1839310096, 0, -1826000896, 0, -1819956496, 0, -1816324096, 0, -1807860496, 0, -1794551296, 0, -1789111696, 0, -1786084096, 0, -1775806096, 0, -1763101696, 0, -1758266896, 0, -1755239296, 0, -1744356496, 0, -1731652096, 0, -1728026896, 0, -1724394496, 0, -1712906896, 0, -1699597696, 0, -1697182096, 0, -1694154496, 0, -1681457296, 0, -1668148096, 0, -1666942096, 0, -1663309696, 0, -1650007696, 0, -1636698496, 0, -1636097296, 0, -1632464896, 0, -1618558096, 0, -1602224896, 0, -1586503696, 0, -1571380096, 0, -1555054096, 0, -1541140096, 0, -1523604496, 0, -1510295296, 0, -1492154896, 0, -1478845696, 0, -1460705296, 0, -1447396096, 0, -1428650896, 0, -1415946496, 0, -1397201296, 0, -1384496896, 0, -1365751696, 0, -1353047296, 0, -1334302096, 0, -1320992896, 0, -1302852496, 0, -1289543296, 0, -1271402896, 0, -1258093696, 0, -1239348496, 0, -1226644096, 0, -1207898896, 0, -1195194496, 0, -1177054096, 0, -1163140096, 0, -1146209296, 0, -1131690496, 0, -1115364496, 0, -1100240896, 0, -1085124496, 0, -1068791296, 0, -1054279696, 0, -1051252096, 0, -1023434896, 0, -1020407296, 0, -993194896, 0, -989562496, 0, -962350096, 0, -959322496, 0, -955697296, 0, -942388096, 0, -932110096, 0, -928477696, 0, -924247696, 0, -910938496, 0, -901265296, 0, -897632896, 0, -892193296, 0, -879488896, 0, -870420496, 0, -867392896, 0, -860743696, 0, -848039296, 0, -840180496, 0, -836548096, 0, -829294096, 0, -815984896, 0, -809335696, 0, -806308096, 0, -797844496, 0, -784535296, 0, -778490896, 0, -775463296, 0, -766394896, 0, -753085696, 0, -748250896, 0, -744618496, 0, -734945296, 0, -721636096, 0, -717406096, 0, -714378496, 0, -702890896, 0, -690186496, 0, -687166096, 0, -683533696, 0, -671441296, 0, -658736896, 0, -656321296, 0, -652688896, 0, -639991696, 0, -626682496, 0, -625476496, 0, -622448896, 0, -608542096, 0, -595232896, 0, -577092496 } + trans:intvector { -933638400, -923097600, -919036800, -857347200, -844300800, -825811200, -812678400, -794188800, -779846400, -762652800, -748310400, -731116800, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 334101600, 337730400, 452642400, 462319200, 482277600, 494370000, 516751200, 526424400, 545436000, 558478800, 576626400, 589323600, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1220216400, 1238104800, 1252015200, 1269554400, 1281474000, 1301608860, 1312146000, 1314655200, 1317330000, 1333058400, 1348178400, 1364508000, 1380229200, 1395957600, 1414098000, 1427493600, 1445551200, 1458946800, 1477692000, 1490396400, 1509141600, 1521846000, 1540591200, 1553810400, 1572037200, 1585346400, 1603490400, 1616796000, 1635458400, 1648332000, 1666998000, 1682726400, 1698447600, 1713571200, 1729897200, 1744416000, 1761346800, 1774656000, 1792796400, 1806105600, 1824850800, 1837555200, 1856300400, 1869004800, 1887750000, 1901059200, 1919199600, 1932508800, 1950649200, 1963958400, 1982703600, 1995408000, 2014153200, 2026857600, 2045602800, 2058307200, 2077052400, 2090361600, 2107897200, 2121811200, 2138742000 } + transPost32:intvector { 0, -2141706496, 0, -2125985296, 0, -2110256896, 0, -2095140496, 0, -2078807296, 0, -2064900496, 0, -2060663296, 0, -2060062096, 0, -2046752896, 0, -2034055696, 0, -2030423296, 0, -2028612496, 0, -2015303296, 0, -2003210896, 0, -1999578496, 0, -1997162896, 0, -1983853696, 0, -1972970896, 0, -1968733696, 0, -1965713296, 0, -1952404096, 0, -1942126096, 0, -1938493696, 0, -1933658896, 0, -1920954496, 0, -1911281296, 0, -1907648896, 0, -1902209296, 0, -1889504896, 0, -1881041296, 0, -1876804096, 0, -1870759696, 0, -1857450496, 0, -1850196496, 0, -1846564096, 0, -1839310096, 0, -1826000896, 0, -1819956496, 0, -1815719296, 0, -1807860496, 0, -1794551296, 0, -1789111696, 0, -1785479296, 0, -1775806096, 0, -1763101696, 0, -1758266896, 0, -1754634496, 0, -1744356496, 0, -1731652096, 0, -1728026896, 0, -1723789696, 0, -1712906896, 0, -1699597696, 0, -1697182096, 0, -1693549696, 0, -1681457296, 0, -1668148096, 0, -1666942096, 0, -1662704896, 0, -1650007696, 0, -1636698496, 0, -1636097296, 0, -1631860096, 0, -1618558096, 0, -1601620096, 0, -1586503696, 0, -1570775296, 0, -1555054096, 0, -1540535296, 0, -1523604496, 0, -1509690496, 0, -1492154896, 0, -1478845696, 0, -1460705296, 0, -1447396096, 0, -1428650896, 0, -1415946496, 0, -1397201296, 0, -1384496896, 0, -1365751696, 0, -1353047296, 0, -1334302096, 0, -1320992896, 0, -1302852496, 0, -1289543296, 0, -1271402896, 0, -1258093696, 0, -1239348496, 0, -1226644096, 0, -1207898896, 0, -1195194496, 0, -1177054096, 0, -1163140096, 0, -1146209296, 0, -1131690496, 0, -1115364496, 0, -1100240896, 0, -1085124496, 0, -1068791296, 0, -1054279696, 0, -1050647296, 0, -1050046096, 0, -1037341696, 0, -1023434896, 0, -1019802496, 0, -1018596496, 0, -1005892096, 0, -993194896, 0, -988957696, 0, -987146896, 0, -973837696, 0, -962350096, 0, -958717696, 0, -955697296, 0, -942388096, 0, -932110096, 0, -927872896, 0, -924247696, 0, -910938496, 0, -901265296, 0, -897028096, 0, -892193296, 0, -879488896, 0, -870420496, 0, -866788096, 0, -860743696, 0, -848039296, 0, -840180496, 0, -835943296, 0, -829294096, 0, -815984896, 0, -809335696, 0, -805703296, 0, -797844496, 0, -784535296, 0, -778490896, 0, -774858496, 0, -766394896, 0, -753085696, 0, -748250896, 0, -744013696, 0, -734945296, 0, -721636096, 0, -717406096, 0, -713773696, 0, -702890896, 0, -690186496, 0, -687166096, 0, -682928896, 0, -671441296, 0, -658736896, 0, -656321296, 0, -652084096, 0, -639991696, 0, -626682496, 0, -625476496, 0, -621844096, 0, -608542096, 0, -595232896, 0, -577092496 } typeOffsets:intvector { 8423, 0, 7200, 0, 7200, 3600 } - typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } finalRule { "Palestine" } finalRaw:int { 7200 } finalYear:int { 2088 } } //Z#272 /* Asia/Ho_Chi_Minh */ :table { - trans:intvector { -1851577590, -852105600, -782643600, -767869200, -718095600, -457776000, -315648000, 171820800 } + trans:intvector { -1851577590, -852105600, -782643600, -767869200, -718095600, -457772400, -315648000, 171820800 } typeOffsets:intvector { 25590, 0, 25200, 0, 28800, 0, 32400, 0 } typeMap:bin { "0102030102010201" } links:intvector { 273, 312, 634 } @@ -1444,9 +1448,9 @@ zoneinfo64:table(nofallback) { links:intvector { 250, 307 } } //Z#307 /* Asia/Qostanay */ :table { - trans:intvector { -1441167268, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701816400, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000 } + trans:intvector { -1441167268, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701816400, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1709229600 } typeOffsets:intvector { 15268, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 } - typeMap:bin { "010304050403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030405" } + typeMap:bin { "01030405040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040503" } } //Z#308 /* Asia/Qyzylorda */ :table { trans:intvector { -1441167712, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695768400, 701812800, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1545328800 } @@ -1550,7 +1554,7 @@ zoneinfo64:table(nofallback) { trans:intvector { -1325483420 } typeOffsets:intvector { 21020, 0, 21600, 0 } typeMap:bin { "01" } - links:intvector { 238, 284, 331 } + links:intvector { 284, 331 } } //Z#331 /* Asia/Ust-Nera */ :table { trans:intvector { -1579426374, -1247558400, 354898800, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701794800, 717519600, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1315828800, 1414249200 } @@ -2542,10 +2546,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -14400, 0 } } //Z#604 /* SystemV/AST4ADT */ :table { - transPre32:intvector { -1, 2096195296, -1, 2111916496, -1, 2127644896, -1, 2143366096 } trans:intvector { -2135872800, -2120151600, -2104423200, -2088702000, -2072973600, -2056647600, -2040919200, -2025198000, -2009469600, -1993748400, -1978020000, -1962298800, -1946570400, -1930849200, -1915120800, -1898794800, -1883671200, -1867345200, -1851616800, -1835895600, -1820167200, -1804446000, -1788717600, -1772996400, -1757268000, -1741546800, -1725818400, -1709492400, -1693764000, -1678042800, -1662314400, -1646593200, -1630864800, -1615143600, -1599415200, -1583694000, -1567965600, -1551639600, -1536516000, -1520190000, -1504461600, -1488740400, -1473012000, -1457290800, -1441562400, -1425841200, -1410112800, -1394391600, -1378663200, -1362337200, -1347213600, -1330887600, -1315159200, -1299438000, -1283709600, -1267988400, -1252260000, -1236538800, -1220810400, -1205089200, -1189360800, -1173034800, -1157306400, -1141585200, -1125856800, -1110135600, -1094407200, -1078686000, -1062957600, -1047236400, -1031508000, -1015182000, -1000058400, -983732400, -968004000, -952282800, -936554400, -920833200, -905104800, -889383600, -873655200, -857934000, -842205600, -825879600, -810151200, -794430000, -778701600, -762980400, -747252000, -731530800, -715802400, -700081200, -684352800, -668026800, -652903200, -636577200, -620848800, -605127600, -589399200, -573678000, -557949600, -542228400, -526500000, -510778800, -495050400, -478724400, -463600800, -447274800, -431546400, -415825200, -400096800, -384375600, -368647200, -352926000, -337197600, -321476400, -305748000, -289422000, -273693600, -257972400, -242244000, -226522800, -210794400, -195073200, -179344800, -163623600, -147895200, -131569200, -116445600, -100119600, -84391200, -68670000, -52941600, -37220400, -21492000, -5770800, 9957600, 25678800, 41407200, 57733200, 73461600, 89182800, 104911200, 120632400, 126684000, 154501200, 162367200, 183531600, 199260000, 215586000 } typeOffsets:intvector { -14400, 0, -14400, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -14400 } finalYear:int { 1977 } @@ -2554,10 +2557,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -21600, 0 } } //Z#606 /* SystemV/CST6CDT */ :table { - transPre32:intvector { -1, 2096202496, -1, 2111923696, -1, 2127652096, -1, 2143373296 } trans:intvector { -2135865600, -2120144400, -2104416000, -2088694800, -2072966400, -2056640400, -2040912000, -2025190800, -2009462400, -1993741200, -1978012800, -1962291600, -1946563200, -1930842000, -1915113600, -1898787600, -1883664000, -1867338000, -1851609600, -1835888400, -1820160000, -1804438800, -1788710400, -1772989200, -1757260800, -1741539600, -1725811200, -1709485200, -1693756800, -1678035600, -1662307200, -1646586000, -1630857600, -1615136400, -1599408000, -1583686800, -1567958400, -1551632400, -1536508800, -1520182800, -1504454400, -1488733200, -1473004800, -1457283600, -1441555200, -1425834000, -1410105600, -1394384400, -1378656000, -1362330000, -1347206400, -1330880400, -1315152000, -1299430800, -1283702400, -1267981200, -1252252800, -1236531600, -1220803200, -1205082000, -1189353600, -1173027600, -1157299200, -1141578000, -1125849600, -1110128400, -1094400000, -1078678800, -1062950400, -1047229200, -1031500800, -1015174800, -1000051200, -983725200, -967996800, -952275600, -936547200, -920826000, -905097600, -889376400, -873648000, -857926800, -842198400, -825872400, -810144000, -794422800, -778694400, -762973200, -747244800, -731523600, -715795200, -700074000, -684345600, -668019600, -652896000, -636570000, -620841600, -605120400, -589392000, -573670800, -557942400, -542221200, -526492800, -510771600, -495043200, -478717200, -463593600, -447267600, -431539200, -415818000, -400089600, -384368400, -368640000, -352918800, -337190400, -321469200, -305740800, -289414800, -273686400, -257965200, -242236800, -226515600, -210787200, -195066000, -179337600, -163616400, -147888000, -131562000, -116438400, -100112400, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 154508400, 162374400, 183538800, 199267200, 215593200 } typeOffsets:intvector { -21600, 0, -21600, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -21600 } finalYear:int { 1977 } @@ -2566,10 +2568,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -18000, 0 } } //Z#608 /* SystemV/EST5EDT */ :table { - transPre32:intvector { -1, 2096198896, -1, 2111920096, -1, 2127648496, -1, 2143369696 } trans:intvector { -2135869200, -2120148000, -2104419600, -2088698400, -2072970000, -2056644000, -2040915600, -2025194400, -2009466000, -1993744800, -1978016400, -1962295200, -1946566800, -1930845600, -1915117200, -1898791200, -1883667600, -1867341600, -1851613200, -1835892000, -1820163600, -1804442400, -1788714000, -1772992800, -1757264400, -1741543200, -1725814800, -1709488800, -1693760400, -1678039200, -1662310800, -1646589600, -1630861200, -1615140000, -1599411600, -1583690400, -1567962000, -1551636000, -1536512400, -1520186400, -1504458000, -1488736800, -1473008400, -1457287200, -1441558800, -1425837600, -1410109200, -1394388000, -1378659600, -1362333600, -1347210000, -1330884000, -1315155600, -1299434400, -1283706000, -1267984800, -1252256400, -1236535200, -1220806800, -1205085600, -1189357200, -1173031200, -1157302800, -1141581600, -1125853200, -1110132000, -1094403600, -1078682400, -1062954000, -1047232800, -1031504400, -1015178400, -1000054800, -983728800, -968000400, -952279200, -936550800, -920829600, -905101200, -889380000, -873651600, -857930400, -842202000, -825876000, -810147600, -794426400, -778698000, -762976800, -747248400, -731527200, -715798800, -700077600, -684349200, -668023200, -652899600, -636573600, -620845200, -605124000, -589395600, -573674400, -557946000, -542224800, -526496400, -510775200, -495046800, -478720800, -463597200, -447271200, -431542800, -415821600, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 154504800, 162370800, 183535200, 199263600, 215589600 } typeOffsets:intvector { -18000, 0, -18000, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -18000 } finalYear:int { 1977 } @@ -2581,10 +2582,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -25200, 0 } } //Z#611 /* SystemV/MST7MDT */ :table { - transPre32:intvector { -1, 2096206096, -1, 2111927296, -1, 2127655696, -1, 2143376896 } trans:intvector { -2135862000, -2120140800, -2104412400, -2088691200, -2072962800, -2056636800, -2040908400, -2025187200, -2009458800, -1993737600, -1978009200, -1962288000, -1946559600, -1930838400, -1915110000, -1898784000, -1883660400, -1867334400, -1851606000, -1835884800, -1820156400, -1804435200, -1788706800, -1772985600, -1757257200, -1741536000, -1725807600, -1709481600, -1693753200, -1678032000, -1662303600, -1646582400, -1630854000, -1615132800, -1599404400, -1583683200, -1567954800, -1551628800, -1536505200, -1520179200, -1504450800, -1488729600, -1473001200, -1457280000, -1441551600, -1425830400, -1410102000, -1394380800, -1378652400, -1362326400, -1347202800, -1330876800, -1315148400, -1299427200, -1283698800, -1267977600, -1252249200, -1236528000, -1220799600, -1205078400, -1189350000, -1173024000, -1157295600, -1141574400, -1125846000, -1110124800, -1094396400, -1078675200, -1062946800, -1047225600, -1031497200, -1015171200, -1000047600, -983721600, -967993200, -952272000, -936543600, -920822400, -905094000, -889372800, -873644400, -857923200, -842194800, -825868800, -810140400, -794419200, -778690800, -762969600, -747241200, -731520000, -715791600, -700070400, -684342000, -668016000, -652892400, -636566400, -620838000, -605116800, -589388400, -573667200, -557938800, -542217600, -526489200, -510768000, -495039600, -478713600, -463590000, -447264000, -431535600, -415814400, -400086000, -384364800, -368636400, -352915200, -337186800, -321465600, -305737200, -289411200, -273682800, -257961600, -242233200, -226512000, -210783600, -195062400, -179334000, -163612800, -147884400, -131558400, -116434800, -100108800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 154512000, 162378000, 183542400, 199270800, 215596800 } typeOffsets:intvector { -25200, 0, -25200, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -25200 } finalYear:int { 1977 } @@ -2593,10 +2593,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -28800, 0 } } //Z#613 /* SystemV/PST8PDT */ :table { - transPre32:intvector { -1, 2096209696, -1, 2111930896, -1, 2127659296, -1, 2143380496 } trans:intvector { -2135858400, -2120137200, -2104408800, -2088687600, -2072959200, -2056633200, -2040904800, -2025183600, -2009455200, -1993734000, -1978005600, -1962284400, -1946556000, -1930834800, -1915106400, -1898780400, -1883656800, -1867330800, -1851602400, -1835881200, -1820152800, -1804431600, -1788703200, -1772982000, -1757253600, -1741532400, -1725804000, -1709478000, -1693749600, -1678028400, -1662300000, -1646578800, -1630850400, -1615129200, -1599400800, -1583679600, -1567951200, -1551625200, -1536501600, -1520175600, -1504447200, -1488726000, -1472997600, -1457276400, -1441548000, -1425826800, -1410098400, -1394377200, -1378648800, -1362322800, -1347199200, -1330873200, -1315144800, -1299423600, -1283695200, -1267974000, -1252245600, -1236524400, -1220796000, -1205074800, -1189346400, -1173020400, -1157292000, -1141570800, -1125842400, -1110121200, -1094392800, -1078671600, -1062943200, -1047222000, -1031493600, -1015167600, -1000044000, -983718000, -967989600, -952268400, -936540000, -920818800, -905090400, -889369200, -873640800, -857919600, -842191200, -825865200, -810136800, -794415600, -778687200, -762966000, -747237600, -731516400, -715788000, -700066800, -684338400, -668012400, -652888800, -636562800, -620834400, -605113200, -589384800, -573663600, -557935200, -542214000, -526485600, -510764400, -495036000, -478710000, -463586400, -447260400, -431532000, -415810800, -400082400, -384361200, -368632800, -352911600, -337183200, -321462000, -305733600, -289407600, -273679200, -257958000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 154515600, 162381600, 183546000, 199274400, 215600400 } typeOffsets:intvector { -28800, 0, -28800, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -28800 } finalYear:int { 1977 } @@ -2605,10 +2604,9 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -32400, 0 } } //Z#615 /* SystemV/YST9YDT */ :table { - transPre32:intvector { -1, 2096213296, -1, 2111934496, -1, 2127662896, -1, 2143384096 } trans:intvector { -2135854800, -2120133600, -2104405200, -2088684000, -2072955600, -2056629600, -2040901200, -2025180000, -2009451600, -1993730400, -1978002000, -1962280800, -1946552400, -1930831200, -1915102800, -1898776800, -1883653200, -1867327200, -1851598800, -1835877600, -1820149200, -1804428000, -1788699600, -1772978400, -1757250000, -1741528800, -1725800400, -1709474400, -1693746000, -1678024800, -1662296400, -1646575200, -1630846800, -1615125600, -1599397200, -1583676000, -1567947600, -1551621600, -1536498000, -1520172000, -1504443600, -1488722400, -1472994000, -1457272800, -1441544400, -1425823200, -1410094800, -1394373600, -1378645200, -1362319200, -1347195600, -1330869600, -1315141200, -1299420000, -1283691600, -1267970400, -1252242000, -1236520800, -1220792400, -1205071200, -1189342800, -1173016800, -1157288400, -1141567200, -1125838800, -1110117600, -1094389200, -1078668000, -1062939600, -1047218400, -1031490000, -1015164000, -1000040400, -983714400, -967986000, -952264800, -936536400, -920815200, -905086800, -889365600, -873637200, -857916000, -842187600, -825861600, -810133200, -794412000, -778683600, -762962400, -747234000, -731512800, -715784400, -700063200, -684334800, -668008800, -652885200, -636559200, -620830800, -605109600, -589381200, -573660000, -557931600, -542210400, -526482000, -510760800, -495032400, -478706400, -463582800, -447256800, -431528400, -415807200, -400078800, -384357600, -368629200, -352908000, -337179600, -321458400, -305730000, -289404000, -273675600, -257954400, -242226000, -226504800, -210776400, -195055200, -179326800, -163605600, -147877200, -131551200, -116427600, -100101600, -84373200, -68652000, -52923600, -37202400, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 154519200, 162385200, 183549600, 199278000, 215604000 } typeOffsets:intvector { -32400, 0, -32400, 3600 } - typeMap:bin { "01000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } + typeMap:bin { "010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100010001000100" } finalRule { "SystemV" } finalRaw:int { -32400 } finalYear:int { 1977 } diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp index b4895e0e45..8d12ed2579 100644 --- a/ipc/glue/GeckoChildProcessHost.cpp +++ b/ipc/glue/GeckoChildProcessHost.cpp @@ -263,8 +263,7 @@ class WindowsProcessLauncher : public BaseProcessLauncher { WindowsProcessLauncher(GeckoChildProcessHost* aHost, std::vector&& aExtraOpts) : BaseProcessLauncher(aHost, std::move(aExtraOpts)), - mCachedNtdllThunk(GetCachedNtDllThunk()), - mWerDataPointer(&(aHost->mWerData)) {} + mCachedNtdllThunk(GetCachedNtDllThunk()) {} protected: bool SetChannel(IPC::Channel*) override { return true; } @@ -276,7 +275,6 @@ class WindowsProcessLauncher : public BaseProcessLauncher { bool mUseSandbox = false; const Buffer* mCachedNtdllThunk; - CrashReporter::WindowsErrorReportingData const* mWerDataPointer; }; typedef WindowsProcessLauncher ProcessLauncher; #endif // XP_WIN @@ -399,9 +397,6 @@ GeckoChildProcessHost::GeckoChildProcessHost(GeckoProcessType aProcessType, mProcessState(CREATING_CHANNEL), #ifdef XP_WIN mGroupId(u"-"), - mWerData{.mWerNotifyProc = CrashReporter::WerNotifyProc, - .mChildPid = 0, - .mMinidumpFile = {}}, #endif #if defined(MOZ_SANDBOX) && defined(XP_WIN) mEnableSandboxLogging(false), @@ -1587,10 +1582,6 @@ Result WindowsProcessLauncher::DoSetup() { mLaunchOptions->handles_to_inherit.push_back(reinterpret_cast(h)); std::string hStr = std::to_string(h); mCmdLine->AppendLooseValue(UTF8ToWide(hStr)); - - char werDataAddress[17] = {}; - SprintfLiteral(werDataAddress, "%p", mWerDataPointer); - mCmdLine->AppendLooseValue(UTF8ToWide(werDataAddress)); } // Process type diff --git a/ipc/glue/GeckoChildProcessHost.h b/ipc/glue/GeckoChildProcessHost.h index ccf8a4aca4..1ff01cd51a 100644 --- a/ipc/glue/GeckoChildProcessHost.h +++ b/ipc/glue/GeckoChildProcessHost.h @@ -258,7 +258,6 @@ class GeckoChildProcessHost : public ChildProcessHost, #ifdef XP_WIN void InitWindowsGroupID(); nsString mGroupId; - CrashReporter::WindowsErrorReportingData mWerData; # ifdef MOZ_SANDBOX RefPtr mSandboxBroker; std::vector mAllowedFilesRead; diff --git a/js/src/builtin/intl/TimeZoneDataGenerated.h b/js/src/builtin/intl/TimeZoneDataGenerated.h index 7757e11402..75e09fc522 100644 --- a/js/src/builtin/intl/TimeZoneDataGenerated.h +++ b/js/src/builtin/intl/TimeZoneDataGenerated.h @@ -1,5 +1,5 @@ // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a #ifndef builtin_intl_TimeZoneDataGenerated_h #define builtin_intl_TimeZoneDataGenerated_h @@ -22,8 +22,14 @@ const char* const ianaZonesTreatedAsLinksByICU[] = { "America/Ensenada", // America/Tijuana [backzone] "America/Indiana/Indianapolis", // America/Indianapolis [northamerica] "America/Kentucky/Louisville", // America/Louisville [northamerica] + "America/Montreal", // America/Toronto [backzone] + "America/Nipigon", // America/Toronto [backzone] "America/Nuuk", // America/Godthab [europe] + "America/Pangnirtung", // America/Iqaluit [backzone] + "America/Rainy_River", // America/Winnipeg [backzone] "America/Rosario", // America/Cordoba [backzone] + "America/Thunder_Bay", // America/Toronto [backzone] + "America/Yellowknife", // America/Edmonton [backzone] "Asia/Chongqing", // Asia/Shanghai [backzone] "Asia/Harbin", // Asia/Shanghai [backzone] "Asia/Ho_Chi_Minh", // Asia/Saigon [asia] @@ -34,13 +40,17 @@ const char* const ianaZonesTreatedAsLinksByICU[] = { "Asia/Yangon", // Asia/Rangoon [asia] "Atlantic/Faroe", // Atlantic/Faeroe [europe] "Atlantic/Jan_Mayen", // Arctic/Longyearbyen [backzone] + "Australia/Currie", // Australia/Hobart [backzone] "EST", // Etc/GMT+5 [northamerica] "Europe/Belfast", // Europe/London [backzone] "Europe/Kyiv", // Europe/Kiev [europe] "Europe/Tiraspol", // Europe/Chisinau [backzone] + "Europe/Uzhgorod", // Europe/Kiev [backzone] + "Europe/Zaporozhye", // Europe/Kiev [backzone] "HST", // Etc/GMT+10 [northamerica] "MST", // Etc/GMT+7 [northamerica] "Pacific/Chuuk", // Pacific/Truk [backzone] + "Pacific/Johnston", // Pacific/Honolulu [backzone] "Pacific/Kanton", // Pacific/Enderbury [australasia] "Pacific/Pohnpei", // Pacific/Ponape [backzone] }; @@ -67,7 +77,6 @@ const LinkAndTarget ianaLinksCanonicalizedDifferentlyByICU[] = { { "America/Lower_Princes", "America/Curacao" }, // America/Lower_Princes [backward] { "America/Marigot", "America/Port_of_Spain" }, // America/Marigot [backward] { "America/Mendoza", "America/Argentina/Mendoza" }, // America/Mendoza [backward] - { "America/Santa_Isabel", "America/Tijuana" }, // America/Santa_Isabel [backward] { "America/St_Barthelemy", "America/Port_of_Spain" }, // America/St_Barthelemy [backward] { "Antarctica/South_Pole", "Antarctica/McMurdo" }, // Pacific/Auckland [backward] { "Arctic/Longyearbyen", "Europe/Oslo" }, // Arctic/Longyearbyen [backward] diff --git a/js/src/jit/arm/MacroAssembler-arm.cpp b/js/src/jit/arm/MacroAssembler-arm.cpp index fe4f36ab26..b031461751 100644 --- a/js/src/jit/arm/MacroAssembler-arm.cpp +++ b/js/src/jit/arm/MacroAssembler-arm.cpp @@ -5843,11 +5843,13 @@ inline void EmitRemainderOrQuotient(bool isRemainder, MacroAssembler& masm, masm.quotient32(rhs, lhsOutput, isUnsigned); } } else { - // Ensure that the output registers are saved and restored properly, - MOZ_ASSERT(volatileLiveRegs.has(ReturnRegVal0)); - MOZ_ASSERT(volatileLiveRegs.has(ReturnRegVal1)); + // Ensure that the output registers are saved and restored properly. + LiveRegisterSet liveRegs = volatileLiveRegs; + liveRegs.addUnchecked(ReturnRegVal0); + liveRegs.addUnchecked(ReturnRegVal1); + + masm.PushRegsInMask(liveRegs); - masm.PushRegsInMask(volatileLiveRegs); using Fn = int64_t (*)(int, int); { ScratchRegisterScope scratch(masm); @@ -5870,7 +5872,7 @@ inline void EmitRemainderOrQuotient(bool isRemainder, MacroAssembler& masm, LiveRegisterSet ignore; ignore.add(lhsOutput); - masm.PopRegsInMaskIgnore(volatileLiveRegs, ignore); + masm.PopRegsInMaskIgnore(liveRegs, ignore); } } @@ -5899,10 +5901,12 @@ void MacroAssembler::flexibleDivMod32(Register rhs, Register lhsOutput, remainder32(rhs, remOutput, isUnsigned); quotient32(rhs, lhsOutput, isUnsigned); } else { - // Ensure that the output registers are saved and restored properly, - MOZ_ASSERT(volatileLiveRegs.has(ReturnRegVal0)); - MOZ_ASSERT(volatileLiveRegs.has(ReturnRegVal1)); - PushRegsInMask(volatileLiveRegs); + // Ensure that the output registers are saved and restored properly. + LiveRegisterSet liveRegs = volatileLiveRegs; + liveRegs.addUnchecked(ReturnRegVal0); + liveRegs.addUnchecked(ReturnRegVal1); + + PushRegsInMask(liveRegs); using Fn = int64_t (*)(int, int); { @@ -5923,7 +5927,7 @@ void MacroAssembler::flexibleDivMod32(Register rhs, Register lhsOutput, LiveRegisterSet ignore; ignore.add(remOutput); ignore.add(lhsOutput); - PopRegsInMaskIgnore(volatileLiveRegs, ignore); + PopRegsInMaskIgnore(liveRegs, ignore); } } diff --git a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js index 234616bfd9..5f10b8f65e 100644 --- a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js +++ b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backward_links.js @@ -1,7 +1,7 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a const tzMapper = [ x => x, diff --git a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js index 0c5882deca..15e5e6af4b 100644 --- a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js +++ b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone.js @@ -1,7 +1,7 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a const tzMapper = [ x => x, @@ -81,7 +81,6 @@ const links = { "Antarctica/DumontDUrville": "Antarctica/DumontDUrville", "Antarctica/McMurdo": "Antarctica/McMurdo", "Antarctica/Syowa": "Antarctica/Syowa", - "Antarctica/Vostok": "Antarctica/Vostok", "Asia/Aden": "Asia/Aden", "Asia/Bahrain": "Asia/Bahrain", "Asia/Brunei": "Asia/Brunei", diff --git a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js index 15806dd42c..df3e6c58af 100644 --- a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js +++ b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_backzone_links.js @@ -1,7 +1,7 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a const tzMapper = [ x => x, diff --git a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js index 7dbd456c2e..864505f546 100644 --- a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js +++ b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_notbackward_links.js @@ -1,7 +1,7 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a const tzMapper = [ x => x, diff --git a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_version.js b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_version.js index 15c7553dd8..915b1537ca 100644 --- a/js/src/tests/non262/Intl/DateTimeFormat/timeZone_version.js +++ b/js/src/tests/non262/Intl/DateTimeFormat/timeZone_version.js @@ -1,8 +1,8 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c -const tzdata = "2023c"; +// tzdata version = 2024a +const tzdata = "2024a"; if (typeof getICUOptions === "undefined") { var getICUOptions = SpecialPowers.Cu.getJSTestingFunctions().getICUOptions; diff --git a/js/src/tests/non262/Intl/supportedValuesOf-timeZones-canonical.js b/js/src/tests/non262/Intl/supportedValuesOf-timeZones-canonical.js index 333f220038..c134858f5c 100644 --- a/js/src/tests/non262/Intl/supportedValuesOf-timeZones-canonical.js +++ b/js/src/tests/non262/Intl/supportedValuesOf-timeZones-canonical.js @@ -1,7 +1,7 @@ // |reftest| skip-if(!this.hasOwnProperty("Intl")) // Generated by make_intl_data.py. DO NOT EDIT. -// tzdata version = 2023c +// tzdata version = 2024a // This file was generated with historical, pre-1970 backzone information // respected. diff --git a/layout/generic/test/file_bug514732_window.xhtml b/layout/generic/test/file_bug514732_window.xhtml index 094ff9ab23..5d7342776f 100644 --- a/layout/generic/test/file_bug514732_window.xhtml +++ b/layout/generic/test/file_bug514732_window.xhtml @@ -5,7 +5,7 @@ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" width="600" height="600" - onload="setTimeout(nextTest,0);" + onload="setTimeout(startTests,0);" title="bug 514732 test"> diff --git a/layout/reftests/css-grid/grid-repeat-auto-fill-fit-001-ref.html b/layout/reftests/css-grid/grid-repeat-auto-fill-fit-001-ref.html index e650af263a..422ae78679 100644 --- a/layout/reftests/css-grid/grid-repeat-auto-fill-fit-001-ref.html +++ b/layout/reftests/css-grid/grid-repeat-auto-fill-fit-001-ref.html @@ -10,6 +10,8 @@