M1737515 M966856(no tests) M1735028/M1737470(no tests) +TLDs, HSTS, tzdata

This commit is contained in:
Cameron Kaiser 2022-01-02 18:46:14 -08:00
parent 03ffdeadba
commit fd2b82f13a
10 changed files with 1758 additions and 2227 deletions

View File

@ -3,9 +3,9 @@
// License & terms of use: http://www.unicode.org/copyright.html
//---------------------------------------------------------
// Build tool: tz2icu
// Build date: Mon Sep 27 21:39:51 2021
// Build date: Thu Nov 4 10:32:31 2021
// tz database: ftp://ftp.iana.org/tz/
// tz version: 2021a1
// tz version: 2021a4
// ICU version: 70.1
//---------------------------------------------------------
// >> !!! >> THIS IS A MACHINE-GENERATED FILE << !!! <<
@ -13,7 +13,7 @@
//---------------------------------------------------------
zoneinfo64:table(nofallback) {
TZVersion { "2021a1" }
TZVersion { "2021a4" }
Zones:array {
/* ACT */ :int { 356 } //Z#0
/* AET */ :int { 368 } //Z#1
@ -181,7 +181,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -36000 }
finalYear:int { 2008 }
links:intvector { 59, 80, 617 }
links:intvector { 59, 80, 618 }
} //Z#59
/* America/Anchorage */ :table {
transPre32:intvector { -1, 1069743569, -1, 2106016072 }
@ -191,7 +191,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -32400 }
finalYear:int { 2008 }
links:intvector { 4, 60, 616 }
links:intvector { 4, 60, 617 }
} //Z#60
/* America/Anguilla */ :int { 187 } //Z#61
/* America/Antigua */ :int { 187 } //Z#62
@ -387,7 +387,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -21600 }
finalYear:int { 2008 }
links:intvector { 98, 382, 619 }
links:intvector { 98, 382, 620 }
} //Z#98
/* America/Chihuahua */ :table {
trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600 }
@ -446,7 +446,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -25200 }
finalYear:int { 2008 }
links:intvector { 109, 205, 545, 625 }
links:intvector { 109, 205, 545, 626 }
} //Z#109
/* America/Detroit */ :table {
trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, -80506740, -68666400, -52938000, -37216800, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
@ -455,7 +455,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -18000 }
finalYear:int { 2008 }
links:intvector { 110, 624 }
links:intvector { 110, 625 }
} //Z#110
/* America/Dominica */ :int { 187 } //Z#111
/* America/Edmonton */ :table {
@ -567,7 +567,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -18000 }
finalYear:int { 2008 }
links:intvector { 117, 131, 139, 513, 620 }
links:intvector { 117, 131, 139, 513, 621 }
} //Z#131
/* America/Indiana/Knox */ :table {
transPre32:intvector { -1, 1577320096 }
@ -577,7 +577,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -21600 }
finalYear:int { 2008 }
links:intvector { 132, 147, 623 }
links:intvector { 132, 147, 624 }
} //Z#132
/* America/Indiana/Marengo */ :table {
transPre32:intvector { -1, 1577320096 }
@ -706,7 +706,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -28800 }
finalYear:int { 2008 }
links:intvector { 151, 550, 626, 627 }
links:intvector { 151, 550, 627, 628 }
} //Z#151
/* America/Louisville */ :int { 145 } //Z#152
/* America/Lower_Princes */ :int { 105 } //Z#153
@ -834,7 +834,7 @@ zoneinfo64:table(nofallback) {
finalRule { "US" }
finalRaw:int { -18000 }
finalYear:int { 2008 }
links:intvector { 173, 621 }
links:intvector { 173, 622 }
} //Z#173
/* America/Nipigon */ :table {
transPre32:intvector { -1, 1928233280 }
@ -929,7 +929,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -820519140, -812653140, -796845540, -84380400, -68659200 }
typeOffsets:intvector { -26898, 0, -25200, 0, -25200, 3600 }
typeMap:bin { "0102010201020102010201" }
links:intvector { 185, 547, 618 }
links:intvector { 185, 547, 619 }
} //Z#185
/* America/Port-au-Prince */ :table {
transPre32:intvector { -1, 1770463056 }
@ -1363,28 +1363,28 @@ zoneinfo64:table(nofallback) {
} //Z#268
/* 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 }
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 }
typeOffsets:intvector { 8272, 0, 7200, 0, 7200, 3600 }
typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
finalRule { "Palestine" }
finalRaw:int { 7200 }
finalYear:int { 2021 }
finalYear:int { 2022 }
} //Z#269
/* Asia/Harbin */ :int { 315 } //Z#270
/* 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 }
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 }
typeOffsets:intvector { 8423, 0, 7200, 0, 7200, 3600 }
typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
finalRule { "Palestine" }
finalRaw:int { 7200 }
finalYear:int { 2021 }
finalYear:int { 2022 }
} //Z#271
/* Asia/Ho_Chi_Minh */ :table {
trans:intvector { -2004073600, -1851577590, -852105600, -782643600, -767869200, -718095600, -457776000, -315648000, 171820800 }
typeOffsets:intvector { 25600, 0, 25200, 0, 25590, 0, 28800, 0, 32400, 0 }
typeMap:bin { "020103040103010301" }
links:intvector { 272, 311, 631 }
links:intvector { 272, 311, 632 }
} //Z#272
/* Asia/Hong_Kong */ :table {
trans:intvector { -2056690800, -900910800, -891579600, -884248200, -761209200, -747907200, -728541000, -717049800, -697091400, -683785800, -668061000, -654755400, -636611400, -623305800, -605161800, -591856200, -573712200, -559801800, -541657800, -528352200, -510211800, -498112200, -478762200, -466662600, -446707800, -435213000, -415258200, -403158600, -383808600, -371709000, -352359000, -340259400, -320909400, -308809800, -288855000, -277360200, -257405400, -245910600, -225955800, -213856200, -194506200, -182406600, -163056600, -148537800, -132816600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72214200, 88540200, 104268600, 119989800, 126041400, 151439400, 167167800, 182889000, 198617400, 214338600, 295385400, 309292200 }
@ -1580,7 +1580,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1948782472, -1830414600, -681210000, -672228000, -654771600, -640864800, -623408400, -609415200, -588848400, -577965600, -498128400, -462702600, -451733400, -429784200, -418296600, -399544200, -387451800, -368094600, -356002200, -336645000, -324552600, -305195400, -293103000, -264933000, 547578000, 560883600, 579027600, 592333200 }
typeOffsets:intvector { 30472, 0, 30600, 0, 30600, 3600, 32400, 0, 32400, 3600 }
typeMap:bin { "01030403040304030403010201020102010201020102010304030403" }
links:intvector { 314, 598 }
links:intvector { 314, 599 }
} //Z#314
/* Asia/Shanghai */ :table {
transPre32:intvector { -1, 2117485353 }
@ -1593,7 +1593,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, 378664200 }
typeOffsets:intvector { 24925, 0, 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
typeMap:bin { "01020304060405" }
links:intvector { 316, 600 }
links:intvector { 316, 601 }
} //Z#316
/* Asia/Srednekolymsk */ :table {
trans:intvector { -1441188892, -1247565600, 354891600, 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, 1414245600 }
@ -1605,7 +1605,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1017820800, -766224000, -745833600, -733827600, -716889600, -699613200, -683884800, -670669200, -652348800, -639133200, -620812800, -607597200, -589276800, -576061200, -562924800, -541760400, -528710400, -510224400, -497174400, -478688400, -465638400, -449830800, -434016000, -418208400, -402480000, -386672400, -370944000, -355136400, -339408000, -323600400, -302515200, -291978000, -270979200, -260442000, 133977600, 149785200, 165513600, 181321200, 299606400, 307551600 }
typeOffsets:intvector { 29160, 0, 28800, 0, 28800, 3600, 32400, 0 }
typeMap:bin { "0103010201020102010201020102010201020102010201020102010201020102010201020102010201" }
links:intvector { 318, 597 }
links:intvector { 318, 598 }
} //Z#318
/* Asia/Tashkent */ :table {
trans:intvector { -1441168631, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600 }
@ -2015,7 +2015,7 @@ zoneinfo64:table(nofallback) {
/* Etc/UCT */ :int { 436 } //Z#435
/* Etc/UTC */ :table {
typeOffsets:intvector { 0, 0 }
links:intvector { 435, 436, 437, 439, 615, 629, 630, 634 }
links:intvector { 435, 436, 437, 439, 616, 630, 631, 635 }
} //Z#436
/* Etc/Universal */ :int { 436 } //Z#437
/* Etc/Unknown */ :table {
@ -2154,7 +2154,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1869875816, -1693706400, -1680490800, -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1440208800, -1428030000, -1409709600, -1396494000, -931053600, -922676400, -917834400, -892436400, -875844000, -764737200, -744343200, -733806000, -716436000, -701924400, -684986400, -670474800, -654141600, -639025200, -622087200, -606970800, -590032800, -575521200, -235620000, -194842800, -177732000, -165726000, 107910000, 121215600, 133920000, 152665200, 164678400, 184114800, 196214400, 215564400, 228873600, 245804400, 260323200, 267915600, 428454000, 433893600, 468111600, 482799600, 496710000, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686098800, 701823600, 717548400, 733273200, 748998000, 764118000, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301274000, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396227600, 1414285200, 1427590800, 1446944400, 1459040400, 1473195600 }
typeOffsets:intvector { 6952, 0, 7016, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030405040203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020304" }
links:intvector { 276, 459, 614 }
links:intvector { 276, 459, 615 }
} //Z#459
/* Europe/Jersey */ :int { 466 } //Z#460
/* Europe/Kaliningrad */ :table {
@ -2183,7 +2183,7 @@ zoneinfo64:table(nofallback) {
finalRule { "EU" }
finalRaw:int { 0 }
finalYear:int { 1997 }
links:intvector { 464, 596 }
links:intvector { 464, 597 }
} //Z#464
/* Europe/Ljubljana */ :int { 445 } //Z#465
/* Europe/London */ :table {
@ -2242,7 +2242,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1688265017, -1656819079, -1641353479, -1627965079, -1618716679, -1596429079, -1593820800, -1589860800, -1542427200, -1539493200, -1525323600, -1522728000, -1491188400, -1247536800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
typeOffsets:intvector { 9017, 0, 7200, 0, 7200, 3600, 9079, 0, 9079, 3600, 9079, 7200, 10800, 0, 10800, 3600, 10800, 7200, 14400, 0 }
typeMap:bin { "0304030504050706070807060106070607060706070607060706070607060706070602010607060706070607060706070607060706070607060706070607060706070607060706070607060906" }
links:intvector { 473, 632 }
links:intvector { 473, 633 }
} //Z#473
/* Europe/Nicosia */ :int { 298 } //Z#474
/* Europe/Oslo */ :table {
@ -2393,7 +2393,7 @@ zoneinfo64:table(nofallback) {
finalRule { "EU" }
finalRaw:int { 3600 }
finalYear:int { 1997 }
links:intvector { 499, 595 }
links:intvector { 499, 596 }
} //Z#499
/* Europe/Zagreb */ :int { 445 } //Z#500
/* Europe/Zaporozhye */ :table {
@ -2480,7 +2480,7 @@ zoneinfo64:table(nofallback) {
/* JST */ :int { 325 } //Z#529
/* Jamaica */ :int { 142 } //Z#530
/* Japan */ :int { 325 } //Z#531
/* Kwajalein */ :int { 571 } //Z#532
/* Kwajalein */ :int { 572 } //Z#532
/* Libya */ :int { 56 } //Z#533
/* MET */ :table {
trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@ -2561,7 +2561,7 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1743674400, -1606813200, -907408800, -770634000 }
typeOffsets:intvector { -49972, 0, 32400, 0, 36000, 0, 36428, 0 }
typeMap:bin { "030201020102" }
links:intvector { 556, 591, 594 }
links:intvector { 556, 592, 595 }
} //Z#556
/* Pacific/Easter */ :table {
trans:intvector { -1178124152, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1463281200, 1471147200, 1494730800, 1502596800, 1526180400, 1534046400, 1554606000, 1567915200 }
@ -2577,12 +2577,7 @@ zoneinfo64:table(nofallback) {
typeOffsets:intvector { 40396, 0, 39600, 0, 39600, 3600 }
typeMap:bin { "0102010201020102010201020102010201020102010201" }
} //Z#558
/* Pacific/Enderbury */ :table {
transPre32:intvector { -1, 2117555556 }
trans:intvector { 307627200, 788871600 }
typeOffsets:intvector { -41060, 0, -43200, 0, -39600, 0, 46800, 0 }
typeMap:bin { "010203" }
} //Z#559
/* Pacific/Enderbury */ :int { 569 } //Z#559
/* Pacific/Fakaofo */ :table {
transPre32:intvector { -1, 2117555592 }
trans:intvector { 1325242800 }
@ -2590,12 +2585,12 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "0102" }
} //Z#560
/* Pacific/Fiji */ :table {
trans:intvector { -1709985344, 909842400, 920124000, 941896800, 951573600, 1259416800, 1269698400, 1287842400, 1299333600, 1319292000, 1327154400, 1350741600, 1358604000, 1382796000, 1390050000, 1414850400, 1421503200, 1446300000, 1452952800, 1478354400, 1484402400, 1509804000, 1515852000, 1541253600, 1547301600, 1573308000, 1578751200, 1608386400, 1610805600, 1636812000 }
trans:intvector { -1709985344, 909842400, 920124000, 941896800, 951573600, 1259416800, 1269698400, 1287842400, 1299333600, 1319292000, 1327154400, 1350741600, 1358604000, 1382796000, 1390050000, 1414850400, 1421503200, 1446300000, 1452952800, 1478354400, 1484402400, 1509804000, 1515852000, 1541253600, 1547301600, 1573308000, 1578751200, 1608386400, 1610805600, 1668261600, 1673704800, 1699711200 }
typeOffsets:intvector { 42944, 0, 43200, 0, 43200, 3600 }
typeMap:bin { "010201020102010201020102010201020102010201020102010201020102" }
typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102" }
finalRule { "Fiji" }
finalRaw:int { 43200 }
finalYear:int { 2022 }
finalYear:int { 2024 }
} //Z#561
/* Pacific/Funafuti */ :table {
transPre32:intvector { -1, 2117471484 }
@ -2616,64 +2611,70 @@ zoneinfo64:table(nofallback) {
trans:intvector { -1806748788 }
typeOffsets:intvector { 38388, 0, 39600, 0 }
typeMap:bin { "01" }
links:intvector { 565, 599 }
links:intvector { 565, 600 }
} //Z#565
/* Pacific/Guam */ :table {
transPre32:intvector { -1, 350340556, -1, 2117479756 }
trans:intvector { -885549600, -802256400, -331891200, -281610000, -73728000, -29415540, -16704000, -10659600, 9907200, 21394800, 41356800, 52844400, 124819200, 130863600, 201888000, 209487660, 230659200, 241542000 }
typeOffsets:intvector { -51660, 0, 32400, 0, 34740, 0, 36000, 0, 36000, 3600 }
typeMap:bin { "0203010304030403040304030403040304030403" }
links:intvector { 566, 586 }
links:intvector { 566, 587 }
} //Z#566
/* Pacific/Honolulu */ :table {
transPre32:intvector { -1, 1960865982 }
trans:intvector { -1157283000, -1155436200, -880198200, -765376200, -712150200 }
typeOffsets:intvector { -37886, 0, -37800, 0, -37800, 3600, -36000, 0 }
typeMap:bin { "010201020103" }
links:intvector { 567, 568, 622 }
links:intvector { 567, 568, 623 }
} //Z#567
/* Pacific/Johnston */ :int { 567 } //Z#568
/* Pacific/Kanton */ :table {
trans:intvector { -1020470400, 307627200, 788871600 }
typeOffsets:intvector { 0, 0, -43200, 0, -39600, 0, 46800, 0 }
typeMap:bin { "010203" }
links:intvector { 559, 569 }
} //Z#569
/* Pacific/Kiritimati */ :table {
transPre32:intvector { -1, 2117552256 }
trans:intvector { 307622400, 788868000 }
typeOffsets:intvector { -37760, 0, -38400, 0, -36000, 0, 50400, 0 }
typeMap:bin { "010203" }
} //Z#569
} //Z#570
/* Pacific/Kosrae */ :table {
transPre32:intvector { -1, 350336180, -1, 2117475380 }
trans:intvector { -1743678000, -1606813200, -1041418800, -907408800, -770634000, -7988400, 915105600 }
typeOffsets:intvector { -47284, 0, 32400, 0, 36000, 0, 39116, 0, 39600, 0, 43200, 0 }
typeMap:bin { "030401040201040504" }
} //Z#570
} //Z#571
/* Pacific/Kwajalein */ :table {
transPre32:intvector { -1, 2117474336 }
trans:intvector { -1041418800, -907408800, -817462800, -7988400, 745934400 }
typeOffsets:intvector { 40160, 0, -43200, 0, 32400, 0, 36000, 0, 39600, 0, 43200, 0 }
typeMap:bin { "040302040105" }
links:intvector { 532, 571 }
} //Z#571
links:intvector { 532, 572 }
} //Z#572
/* Pacific/Majuro */ :table {
transPre32:intvector { -1, 2117473408 }
trans:intvector { -1743678000, -1606813200, -1041418800, -907408800, -818067600, -7988400 }
typeOffsets:intvector { 41088, 0, 32400, 0, 36000, 0, 39600, 0, 43200, 0 }
typeMap:bin { "03010302010304" }
} //Z#572
} //Z#573
/* Pacific/Marquesas */ :table {
trans:intvector { -1806676920 }
typeOffsets:intvector { -33480, 0, -34200, 0 }
typeMap:bin { "01" }
} //Z#573
/* Pacific/Midway */ :int { 579 } //Z#574
} //Z#574
/* Pacific/Midway */ :int { 580 } //Z#575
/* Pacific/Nauru */ :table {
trans:intvector { -1545131260, -862918200, -767350800, 287418600 }
typeOffsets:intvector { 40060, 0, 32400, 0, 41400, 0, 43200, 0 }
typeMap:bin { "02010203" }
} //Z#575
} //Z#576
/* Pacific/Niue */ :table {
trans:intvector { -543069620, -173623200 }
typeOffsets:intvector { -40780, 0, -40800, 0, -39600, 0 }
typeMap:bin { "0102" }
} //Z#576
} //Z#577
/* Pacific/Norfolk */ :table {
transPre32:intvector { -1, 2117474184 }
trans:intvector { -599656320, 152029800, 162916200, 1443882600, 1570287600, 1586012400, 1601737200 }
@ -2682,87 +2683,87 @@ zoneinfo64:table(nofallback) {
finalRule { "AN" }
finalRaw:int { 39600 }
finalYear:int { 2021 }
} //Z#577
} //Z#578
/* Pacific/Noumea */ :table {
trans:intvector { -1829387148, 250002000, 257342400, 281451600, 288878400, 849366000, 857228400 }
typeOffsets:intvector { 39948, 0, 39600, 0, 39600, 3600 }
typeMap:bin { "01020102010201" }
} //Z#578
} //Z#579
/* Pacific/Pago_Pago */ :table {
transPre32:intvector { -1, 1849542664 }
trans:intvector { -1861879032 }
typeOffsets:intvector { 45432, 0, -40968, 0, -39600, 0 }
typeMap:bin { "0102" }
links:intvector { 574, 579, 587, 628 }
} //Z#579
links:intvector { 575, 580, 588, 629 }
} //Z#580
/* Pacific/Palau */ :table {
transPre32:intvector { -1, 350343020, -1, 2117482220 }
typeOffsets:intvector { -54124, 0, 32276, 0, 32400, 0 }
typeMap:bin { "0102" }
} //Z#580
} //Z#581
/* Pacific/Pitcairn */ :table {
transPre32:intvector { -1, 2117545716 }
trans:intvector { 893665800 }
typeOffsets:intvector { -31220, 0, -30600, 0, -28800, 0 }
typeMap:bin { "0102" }
} //Z#581
} //Z#582
/* Pacific/Pohnpei */ :table {
transPre32:intvector { -1, 350337324, -1, 2117476524 }
trans:intvector { -1743678000, -1606813200, -1041418800, -907408800, -770634000 }
typeOffsets:intvector { -48428, 0, 32400, 0, 36000, 0, 37972, 0, 39600, 0 }
typeMap:bin { "03040104020104" }
links:intvector { 582, 583 }
} //Z#582
/* Pacific/Ponape */ :int { 582 } //Z#583
links:intvector { 583, 584 }
} //Z#583
/* Pacific/Ponape */ :int { 583 } //Z#584
/* Pacific/Port_Moresby */ :table {
transPre32:intvector { -1, 1454791176, -1, 1928176784 }
typeOffsets:intvector { 35320, 0, 35312, 0, 36000, 0 }
typeMap:bin { "0102" }
} //Z#584
} //Z#585
/* Pacific/Rarotonga */ :table {
transPre32:intvector { -1, 2085412040 }
trans:intvector { -543072056, 279714600, 289387800, 309952800, 320837400, 341402400, 352287000, 372852000, 384341400, 404906400, 415791000, 436356000, 447240600, 467805600, 478690200, 499255200, 510139800, 530704800, 541589400, 562154400, 573643800, 594208800, 605093400, 625658400, 636543000, 657108000, 667992600 }
typeOffsets:intvector { 48056, 0, -38344, 0, -37800, 0, -36000, 0, -36000, 1800 }
typeMap:bin { "01020403040304030403040304030403040304030403040304030403" }
} //Z#585
/* Pacific/Saipan */ :int { 566 } //Z#586
/* Pacific/Samoa */ :int { 579 } //Z#587
} //Z#586
/* Pacific/Saipan */ :int { 566 } //Z#587
/* Pacific/Samoa */ :int { 580 } //Z#588
/* Pacific/Tahiti */ :table {
trans:intvector { -1806674504 }
typeOffsets:intvector { -35896, 0, -36000, 0 }
typeMap:bin { "01" }
} //Z#588
} //Z#589
/* Pacific/Tarawa */ :table {
transPre32:intvector { -1, 2117472972 }
typeOffsets:intvector { 41524, 0, 43200, 0 }
typeMap:bin { "01" }
} //Z#589
} //Z#590
/* Pacific/Tongatapu */ :table {
trans:intvector { -767189952, -284041200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400, 1478350800, 1484398800 }
typeOffsets:intvector { 44352, 0, 44400, 0, 46800, 0, 46800, 3600 }
typeMap:bin { "01020302030203020302" }
} //Z#590
/* Pacific/Truk */ :int { 556 } //Z#591
} //Z#591
/* Pacific/Truk */ :int { 556 } //Z#592
/* Pacific/Wake */ :table {
transPre32:intvector { -1, 2117474508 }
typeOffsets:intvector { 39988, 0, 43200, 0 }
typeMap:bin { "01" }
} //Z#592
} //Z#593
/* Pacific/Wallis */ :table {
transPre32:intvector { -1, 2117470376 }
typeOffsets:intvector { 44120, 0, 43200, 0 }
typeMap:bin { "01" }
} //Z#593
/* Pacific/Yap */ :int { 556 } //Z#594
/* Poland */ :int { 499 } //Z#595
/* Portugal */ :int { 464 } //Z#596
/* ROC */ :int { 318 } //Z#597
/* ROK */ :int { 314 } //Z#598
/* SST */ :int { 565 } //Z#599
/* Singapore */ :int { 316 } //Z#600
} //Z#594
/* Pacific/Yap */ :int { 556 } //Z#595
/* Poland */ :int { 499 } //Z#596
/* Portugal */ :int { 464 } //Z#597
/* ROC */ :int { 318 } //Z#598
/* ROK */ :int { 314 } //Z#599
/* SST */ :int { 565 } //Z#600
/* Singapore */ :int { 316 } //Z#601
/* SystemV/AST4 */ :table {
typeOffsets:intvector { -14400, 0 }
} //Z#601
} //Z#602
/* 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 }
@ -2771,10 +2772,10 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -14400 }
finalYear:int { 1977 }
} //Z#602
} //Z#603
/* SystemV/CST6 */ :table {
typeOffsets:intvector { -21600, 0 }
} //Z#603
} //Z#604
/* 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 }
@ -2783,10 +2784,10 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -21600 }
finalYear:int { 1977 }
} //Z#604
} //Z#605
/* SystemV/EST5 */ :table {
typeOffsets:intvector { -18000, 0 }
} //Z#605
} //Z#606
/* 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 }
@ -2795,13 +2796,13 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -18000 }
finalYear:int { 1977 }
} //Z#606
} //Z#607
/* SystemV/HST10 */ :table {
typeOffsets:intvector { -36000, 0 }
} //Z#607
} //Z#608
/* SystemV/MST7 */ :table {
typeOffsets:intvector { -25200, 0 }
} //Z#608
} //Z#609
/* 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 }
@ -2810,10 +2811,10 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -25200 }
finalYear:int { 1977 }
} //Z#609
} //Z#610
/* SystemV/PST8 */ :table {
typeOffsets:intvector { -28800, 0 }
} //Z#610
} //Z#611
/* 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 }
@ -2822,10 +2823,10 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -28800 }
finalYear:int { 1977 }
} //Z#611
} //Z#612
/* SystemV/YST9 */ :table {
typeOffsets:intvector { -32400, 0 }
} //Z#612
} //Z#613
/* 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 }
@ -2834,26 +2835,26 @@ zoneinfo64:table(nofallback) {
finalRule { "SystemV" }
finalRaw:int { -32400 }
finalYear:int { 1977 }
} //Z#613
/* Turkey */ :int { 459 } //Z#614
/* UCT */ :int { 436 } //Z#615
/* US/Alaska */ :int { 60 } //Z#616
/* US/Aleutian */ :int { 59 } //Z#617
/* US/Arizona */ :int { 185 } //Z#618
/* US/Central */ :int { 98 } //Z#619
/* US/East-Indiana */ :int { 131 } //Z#620
/* US/Eastern */ :int { 173 } //Z#621
/* US/Hawaii */ :int { 567 } //Z#622
/* US/Indiana-Starke */ :int { 132 } //Z#623
/* US/Michigan */ :int { 110 } //Z#624
/* US/Mountain */ :int { 109 } //Z#625
/* US/Pacific */ :int { 151 } //Z#626
/* US/Pacific-New */ :int { 151 } //Z#627
/* US/Samoa */ :int { 579 } //Z#628
/* UTC */ :int { 436 } //Z#629
/* Universal */ :int { 436 } //Z#630
/* VST */ :int { 272 } //Z#631
/* W-SU */ :int { 473 } //Z#632
} //Z#614
/* Turkey */ :int { 459 } //Z#615
/* UCT */ :int { 436 } //Z#616
/* US/Alaska */ :int { 60 } //Z#617
/* US/Aleutian */ :int { 59 } //Z#618
/* US/Arizona */ :int { 185 } //Z#619
/* US/Central */ :int { 98 } //Z#620
/* US/East-Indiana */ :int { 131 } //Z#621
/* US/Eastern */ :int { 173 } //Z#622
/* US/Hawaii */ :int { 567 } //Z#623
/* US/Indiana-Starke */ :int { 132 } //Z#624
/* US/Michigan */ :int { 110 } //Z#625
/* US/Mountain */ :int { 109 } //Z#626
/* US/Pacific */ :int { 151 } //Z#627
/* US/Pacific-New */ :int { 151 } //Z#628
/* US/Samoa */ :int { 580 } //Z#629
/* UTC */ :int { 436 } //Z#630
/* Universal */ :int { 436 } //Z#631
/* VST */ :int { 272 } //Z#632
/* W-SU */ :int { 473 } //Z#633
/* WET */ :table {
trans:intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
typeOffsets:intvector { 0, 0, 0, 3600 }
@ -2861,8 +2862,8 @@ zoneinfo64:table(nofallback) {
finalRule { "EU" }
finalRaw:int { 0 }
finalYear:int { 1997 }
} //Z#633
/* Zulu */ :int { 436 } //Z#634
} //Z#634
/* Zulu */ :int { 436 } //Z#635
}
Names {
"ACT","AET","AGT","ART","AST","Africa/Abidjan","Africa/Accra" // 6
@ -3033,24 +3034,24 @@ zoneinfo64:table(nofallback) {
,"Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo" // 560
,"Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos" // 563
,"Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam" // 566
,"Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati" // 569
,"Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro" // 572
,"Pacific/Marquesas","Pacific/Midway","Pacific/Nauru" // 575
,"Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 578
,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 581
,"Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby" // 584
,"Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa" // 587
,"Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu" // 590
,"Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap" // 594
,"Poland","Portugal","ROC","ROK","SST","Singapore" // 600
,"SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT" // 604
,"SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7" // 608
,"SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT" // 611
,"SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska" // 616
,"US/Aleutian","US/Arizona","US/Central","US/East-Indiana" // 620
,"US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan" // 624
,"US/Mountain","US/Pacific","US/Pacific-New","US/Samoa" // 628
,"UTC","Universal","VST","W-SU","WET","Zulu" // 634
,"Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton" // 569
,"Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein" // 572
,"Pacific/Majuro","Pacific/Marquesas","Pacific/Midway" // 575
,"Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 579
,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 582
,"Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby" // 585
,"Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa" // 588
,"Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu" // 591
,"Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap" // 595
,"Poland","Portugal","ROC","ROK","SST","Singapore" // 601
,"SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT" // 605
,"SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7" // 609
,"SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT" // 612
,"SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska" // 617
,"US/Aleutian","US/Arizona","US/Central","US/East-Indiana" // 621
,"US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan" // 625
,"US/Mountain","US/Pacific","US/Pacific-New","US/Samoa" // 629
,"UTC","Universal","VST","W-SU","WET","Zulu" // 635
}
Rules {
AN:intvector {
@ -3114,7 +3115,7 @@ zoneinfo64:table(nofallback) {
8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
} //_#19
Palestine:intvector {
2, 24, -7, 0, 0, 9, 24, -7, 3600, 0, 3600
2, 24, -7, 0, 0, 9, -31, -6, 3600, 0, 3600
} //_#20
Para:intvector {
9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
@ -3708,71 +3709,72 @@ zoneinfo64:table(nofallback) {
"GU", //Z#566 Pacific/Guam
"US", //Z#567 Pacific/Honolulu
"UM", //Z#568 Pacific/Johnston
"KI", //Z#569 Pacific/Kiritimati
"FM", //Z#570 Pacific/Kosrae
"MH", //Z#571 Pacific/Kwajalein
"MH", //Z#572 Pacific/Majuro
"PF", //Z#573 Pacific/Marquesas
"UM", //Z#574 Pacific/Midway
"NR", //Z#575 Pacific/Nauru
"NU", //Z#576 Pacific/Niue
"NF", //Z#577 Pacific/Norfolk
"NC", //Z#578 Pacific/Noumea
"AS", //Z#579 Pacific/Pago_Pago
"PW", //Z#580 Pacific/Palau
"PN", //Z#581 Pacific/Pitcairn
"FM", //Z#582 Pacific/Pohnpei
"FM", //Z#583 Pacific/Ponape
"PG", //Z#584 Pacific/Port_Moresby
"CK", //Z#585 Pacific/Rarotonga
"MP", //Z#586 Pacific/Saipan
"AS", //Z#587 Pacific/Samoa
"PF", //Z#588 Pacific/Tahiti
"KI", //Z#589 Pacific/Tarawa
"TO", //Z#590 Pacific/Tongatapu
"FM", //Z#591 Pacific/Truk
"UM", //Z#592 Pacific/Wake
"WF", //Z#593 Pacific/Wallis
"FM", //Z#594 Pacific/Yap
"PL", //Z#595 Poland
"PT", //Z#596 Portugal
"TW", //Z#597 ROC
"KR", //Z#598 ROK
"SB", //Z#599 SST
"SG", //Z#600 Singapore
"001",//Z#601 SystemV/AST4
"001",//Z#602 SystemV/AST4ADT
"001",//Z#603 SystemV/CST6
"001",//Z#604 SystemV/CST6CDT
"001",//Z#605 SystemV/EST5
"001",//Z#606 SystemV/EST5EDT
"001",//Z#607 SystemV/HST10
"001",//Z#608 SystemV/MST7
"001",//Z#609 SystemV/MST7MDT
"001",//Z#610 SystemV/PST8
"001",//Z#611 SystemV/PST8PDT
"001",//Z#612 SystemV/YST9
"001",//Z#613 SystemV/YST9YDT
"TR", //Z#614 Turkey
"001",//Z#615 UCT
"US", //Z#616 US/Alaska
"US", //Z#617 US/Aleutian
"US", //Z#618 US/Arizona
"US", //Z#619 US/Central
"US", //Z#620 US/East-Indiana
"US", //Z#621 US/Eastern
"US", //Z#622 US/Hawaii
"US", //Z#623 US/Indiana-Starke
"US", //Z#624 US/Michigan
"US", //Z#625 US/Mountain
"US", //Z#626 US/Pacific
"US", //Z#627 US/Pacific-New
"AS", //Z#628 US/Samoa
"001",//Z#629 UTC
"001",//Z#630 Universal
"VN", //Z#631 VST
"RU", //Z#632 W-SU
"001",//Z#633 WET
"001",//Z#634 Zulu
"KI", //Z#569 Pacific/Kanton
"KI", //Z#570 Pacific/Kiritimati
"FM", //Z#571 Pacific/Kosrae
"MH", //Z#572 Pacific/Kwajalein
"MH", //Z#573 Pacific/Majuro
"PF", //Z#574 Pacific/Marquesas
"UM", //Z#575 Pacific/Midway
"NR", //Z#576 Pacific/Nauru
"NU", //Z#577 Pacific/Niue
"NF", //Z#578 Pacific/Norfolk
"NC", //Z#579 Pacific/Noumea
"AS", //Z#580 Pacific/Pago_Pago
"PW", //Z#581 Pacific/Palau
"PN", //Z#582 Pacific/Pitcairn
"FM", //Z#583 Pacific/Pohnpei
"FM", //Z#584 Pacific/Ponape
"PG", //Z#585 Pacific/Port_Moresby
"CK", //Z#586 Pacific/Rarotonga
"MP", //Z#587 Pacific/Saipan
"AS", //Z#588 Pacific/Samoa
"PF", //Z#589 Pacific/Tahiti
"KI", //Z#590 Pacific/Tarawa
"TO", //Z#591 Pacific/Tongatapu
"FM", //Z#592 Pacific/Truk
"UM", //Z#593 Pacific/Wake
"WF", //Z#594 Pacific/Wallis
"FM", //Z#595 Pacific/Yap
"PL", //Z#596 Poland
"PT", //Z#597 Portugal
"TW", //Z#598 ROC
"KR", //Z#599 ROK
"SB", //Z#600 SST
"SG", //Z#601 Singapore
"001",//Z#602 SystemV/AST4
"001",//Z#603 SystemV/AST4ADT
"001",//Z#604 SystemV/CST6
"001",//Z#605 SystemV/CST6CDT
"001",//Z#606 SystemV/EST5
"001",//Z#607 SystemV/EST5EDT
"001",//Z#608 SystemV/HST10
"001",//Z#609 SystemV/MST7
"001",//Z#610 SystemV/MST7MDT
"001",//Z#611 SystemV/PST8
"001",//Z#612 SystemV/PST8PDT
"001",//Z#613 SystemV/YST9
"001",//Z#614 SystemV/YST9YDT
"TR", //Z#615 Turkey
"001",//Z#616 UCT
"US", //Z#617 US/Alaska
"US", //Z#618 US/Aleutian
"US", //Z#619 US/Arizona
"US", //Z#620 US/Central
"US", //Z#621 US/East-Indiana
"US", //Z#622 US/Eastern
"US", //Z#623 US/Hawaii
"US", //Z#624 US/Indiana-Starke
"US", //Z#625 US/Michigan
"US", //Z#626 US/Mountain
"US", //Z#627 US/Pacific
"US", //Z#628 US/Pacific-New
"AS", //Z#629 US/Samoa
"001",//Z#630 UTC
"001",//Z#631 Universal
"VN", //Z#632 VST
"RU", //Z#633 W-SU
"001",//Z#634 WET
"001",//Z#635 Zulu
}
}

View File

@ -254,6 +254,9 @@ public:
{
JSXrayTraits& self = JSXrayTraits::singleton;
JS::RootedObject holder(cx, self.ensureHolder(cx, wrapper));
if (!holder) {
return false;
}
if (self.getProtoKey(holder) == JSProto_Function)
return baseInstance.call(cx, wrapper, args);
@ -267,6 +270,9 @@ public:
{
JSXrayTraits& self = JSXrayTraits::singleton;
JS::RootedObject holder(cx, self.ensureHolder(cx, wrapper));
if (!holder) {
return false;
}
if (self.getProtoKey(holder) == JSProto_Function)
return baseInstance.construct(cx, wrapper, args);
@ -280,6 +286,9 @@ public:
JS::MutableHandleObject protop)
{
JS::RootedObject holder(cx, ensureHolder(cx, wrapper));
if (!holder) {
return false;
}
JSProtoKey key = getProtoKey(holder);
if (isPrototype(holder)) {
JSProtoKey parentKey = js::ParentKeyForStandardClass(key);

View File

@ -7132,7 +7132,7 @@ org.zw
// newGTLDs
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-10-08T15:12:46Z
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2021-12-04T15:13:28Z
// This list is auto-generated, don't edit it manually.
// aaa : 2015-02-26 American Automobile Association, Inc.
aaa
@ -7197,9 +7197,6 @@ aeg
// aetna : 2015-05-21 Aetna Life Insurance Company
aetna
// afamilycompany : 2015-07-23 Johnson Shareholdings, Inc.
afamilycompany
// afl : 2014-10-02 Australian Football League
afl
@ -7647,7 +7644,7 @@ cars
// casa : 2013-11-21 Registry Services, LLC
casa
// case : 2015-09-03 CNH Industrial N.V.
// case : 2015-09-03 Helium TLDs Ltd
case
// cash : 2014-03-06 Binky Moon, LLC
@ -8016,9 +8013,6 @@ dtv
// dubai : 2015-01-01 Dubai Smart Government Department
dubai
// duck : 2015-07-23 Johnson Shareholdings, Inc.
duck
// dunlop : 2015-07-02 The Goodyear Tire & Rubber Company
dunlop
@ -8346,9 +8340,6 @@ gives
// giving : 2014-11-13 Giving Limited
giving
// glade : 2015-07-23 Johnson Shareholdings, Inc.
glade
// glass : 2013-11-07 Binky Moon, LLC
glass
@ -9216,9 +9207,6 @@ obi
// observer : 2015-04-30 Dog Beach, LLC
observer
// off : 2015-07-23 Johnson Shareholdings, Inc.
off
// office : 2015-03-12 Microsoft Corporation
office
@ -9462,9 +9450,6 @@ racing
// radio : 2016-07-21 European Broadcasting Union (EBU)
radio
// raid : 2015-07-23 Johnson Shareholdings, Inc.
raid
// read : 2014-12-18 Amazon Registry Services, Inc.
read
@ -9669,9 +9654,6 @@ schwarz
// science : 2014-09-11 dot Science Limited
science
// scjohnson : 2015-07-23 Johnson Shareholdings, Inc.
scjohnson
// scot : 2014-01-23 Dot Scot Registry Limited
scot
@ -10317,9 +10299,6 @@ xin
// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED OY
在线
// xn--3oq18vl8pn36a : 2015-07-02 Volkswagen (China) Investment Co., Ltd.
大众汽车
// xn--3pxu8k : 2015-01-15 VeriSign Sarl
点看
@ -10785,10 +10764,6 @@ s3-website.eu-west-2.amazonaws.com
s3-website.eu-west-3.amazonaws.com
s3-website.us-east-2.amazonaws.com
// Amsterdam Wireless: https://www.amsterdamwireless.nl/
// Submitted by Imre Jonk <hostmaster@amsterdamwireless.nl>
amsw.nl
// Amune : https://amune.org/
// Submitted by Team Amune <cert@amune.org>
t3l3p0rt.net
@ -10880,6 +10855,18 @@ rs.ba
app.banzaicloud.io
*.backyards.banzaicloud.io
// BASE, Inc. : https://binc.jp
// Submitted by Yuya NAGASAWA <public-suffix-list@binc.jp>
base.ec
official.ec
buyshop.jp
fashionstore.jp
handcrafted.jp
kawaiishop.jp
supersale.jp
theshop.jp
shopselect.net
base.shop
// BetaInABox
// Submitted by Adrian <adrian@betainabox.com>
@ -10982,7 +10969,6 @@ za.com
// No longer operated by CentralNic, these entries should be adopted and/or removed by current operators
// Submitted by Gavin Brown <gavin.brown@centralnic.com>
ar.com
gb.com
hu.com
kr.com
no.com
@ -11036,10 +11022,6 @@ cx.ua
discourse.group
discourse.team
// ClearVox : http://www.clearvox.nl/
// Submitted by Leon Rowland <leon@clearvox.nl>
virtueeldomein.nl
// Clever Cloud : https://www.clever-cloud.com/
// Submitted by Quentin Adam <noc@clever-cloud.com>
cleverapps.io
@ -11642,12 +11624,6 @@ blogsite.xyz
// Submitted by Dominik Menke <dom@digineo.de>
dynv6.net
// Ellucian : https://ellucian.com
// Submitted by Josue Colon <CloudOps-Network@ellucian.com>
elluciancrmadvance.com
elluciancrmadvise.com
elluciancrmrecruit.com
// E4YOU spol. s.r.o. : https://e4you.cz/
// Submitted by Vladimir Dudr <info@e4you.cz>
e4.cz
@ -11676,6 +11652,10 @@ tuleap-partners.com
onred.one
staging.onred.one
// encoway GmbH : https://www.encoway.de
// Submitted by Marcel Daus <cloudops@encoway.de>
eu.encoway.cloud
// EU.org https://eu.org/
// Submitted by Pierre Beyssac <hostmaster@eu.org>
eu.org
@ -11915,6 +11895,11 @@ fireweb.app
// Submitted by Louis Chemineau <louis@chmn.me>
flap.id
// FlashDrive : https://flashdrive.io
// Submitted by Eric Chan <support@flashdrive.io>
onflashdrive.app
fldrv.com
// fly.io: https://fly.io
// Submitted by Kurt Mackey <kurt@fly.io>
fly.dev
@ -12200,6 +12185,7 @@ herokussl.com
// Hibernating Rhinos
// Submitted by Oren Eini <oren@ravendb.net>
ravendb.cloud
myravendb.com
ravendb.community
ravendb.me
@ -12214,6 +12200,11 @@ homesklep.pl
// Submitted by SECaaS Team <summchan@hkpc.org>
secaas.hk
// Hoplix : https://www.hoplix.com
// Submitted by Danilo De Franco<info@hoplix.shop>
hoplix.shop
// HOSTBIP REGISTRY : https://www.hostbip.com/
// Submitted by Atanunu Igbunuroghene <publicsuffixlist@hostbip.com>
orx.biz
@ -12459,6 +12450,10 @@ uni5.net
// Submitted by Roy Keene <rkeene@knightpoint.com>
knightpoint.systems
// KoobinEvent, SL: https://www.koobin.com
// Submitted by Iván Oliva <ivan.oliva@koobin.com>
koobin.events
// KUROKU LTD : https://kuroku.ltd/
// Submitted by DisposaBoy <security@oya.to>
oya.to
@ -12727,6 +12722,10 @@ that.win
from.work
to.work
// Net at Work Gmbh : https://www.netatwork.de
// Submitted by Jan Jaeschke <jan.jaeschke@netatwork.de>
cloud.nospamproxy.com
// Netlify : https://www.netlify.com
// Submitted by Jessica Parsons <jessica@netlify.com>
netlify.app
@ -12886,11 +12885,6 @@ zapto.org
// Submitted by Konstantin Nosov <Nosov@nodeart.io>
stage.nodeart.io
// Nodum B.V. : https://nodum.io/
// Submitted by Wietse Wind <hello+publicsuffixlist@nodum.io>
nodum.co
nodum.io
// Nucleos Inc. : https://nucleos.com
// Submitted by Piotr Zduniak <piotr@nucleos.com>
pcloud.host
@ -13491,7 +13485,8 @@ sopot.pl
// Teckids e.V. : https://www.teckids.org
// Submitted by Dominik George <dominik.george@teckids.org>
edugit.org
edugit.io
s3.teckids.org
// Telebit : https://telebit.cloud
// Submitted by AJ ONeal <aj@telebit.cloud>
@ -13589,6 +13584,10 @@ syno-ds.de
synology-diskstation.de
synology-ds.de
// Typeform : https://www.typeform.com
// Submitted by Sergi Ferriz <sergi.ferriz@typeform.com>
pro.typeform.com
// Uberspace : https://uberspace.de
// Submitted by Moritz Werner <mwerner@jonaspasche.com>
uber.space

View File

@ -1149,4 +1149,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1643626214621000);
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1648464588021000);

File diff suppressed because it is too large Load Diff

View File

@ -164,6 +164,37 @@ verifyPKCS1DigestInfo(const VFYContext *cx, const SECItem *digest)
PR_FALSE /*XXX: unsafeAllowMissingParameters*/);
}
static unsigned int
checkedSignatureLen(const SECKEYPublicKey *pubk)
{
unsigned int sigLen = SECKEY_SignatureLen(pubk);
if (sigLen == 0) {
/* Error set by SECKEY_SignatureLen */
return sigLen;
}
unsigned int maxSigLen;
switch (pubk->keyType) {
case rsaKey:
case rsaPssKey:
maxSigLen = (RSA_MAX_MODULUS_BITS + 7) / 8;
break;
case dsaKey:
maxSigLen = DSA_MAX_SIGNATURE_LEN;
break;
case ecKey:
maxSigLen = 2 * MAX_ECKEY_LEN;
break;
default:
PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG);
return 0;
}
if (sigLen > maxSigLen) {
PORT_SetError(SEC_ERROR_INVALID_KEY);
return 0;
}
return sigLen;
}
/*
* decode the ECDSA or DSA signature from it's DER wrapping.
* The unwrapped/raw signature is placed in the buffer pointed
@ -174,38 +205,38 @@ decodeECorDSASignature(SECOidTag algid, const SECItem *sig, unsigned char *dsig,
unsigned int len)
{
SECItem *dsasig = NULL; /* also used for ECDSA */
SECStatus rv = SECSuccess;
if ((algid != SEC_OID_ANSIX9_DSA_SIGNATURE) &&
(algid != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) {
if (sig->len != len) {
PORT_SetError(SEC_ERROR_BAD_DER);
return SECFailure;
/* Safety: Ensure algId is as expected and that signature size is within maxmimums */
if (algid == SEC_OID_ANSIX9_DSA_SIGNATURE) {
if (len > DSA_MAX_SIGNATURE_LEN) {
goto loser;
}
PORT_Memcpy(dsig, sig->data, sig->len);
return SECSuccess;
}
if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) {
} else if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) {
if (len > MAX_ECKEY_LEN * 2) {
PORT_SetError(SEC_ERROR_BAD_DER);
return SECFailure;
goto loser;
}
}
dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len);
if ((dsasig == NULL) || (dsasig->len != len)) {
rv = SECFailure;
} else {
PORT_Memcpy(dsig, dsasig->data, dsasig->len);
goto loser;
}
if (dsasig != NULL)
/* Decode and pad to length */
dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len);
if (dsasig == NULL) {
goto loser;
}
if (dsasig->len != len) {
SECITEM_FreeItem(dsasig, PR_TRUE);
if (rv == SECFailure)
PORT_SetError(SEC_ERROR_BAD_DER);
return rv;
goto loser;
}
PORT_Memcpy(dsig, dsasig->data, len);
SECITEM_FreeItem(dsasig, PR_TRUE);
return SECSuccess;
loser:
PORT_SetError(SEC_ERROR_BAD_DER);
return SECFailure;
}
const SEC_ASN1Template hashParameterTemplate[] =
@ -231,7 +262,7 @@ SECStatus
sec_DecodeSigAlg(const SECKEYPublicKey *key, SECOidTag sigAlg,
const SECItem *param, SECOidTag *encalg, SECOidTag *hashalg)
{
int len;
unsigned int len;
PLArenaPool *arena;
SECStatus rv;
SECItem oid;
@ -446,48 +477,52 @@ vfy_CreateContext(const SECKEYPublicKey *key, const SECItem *sig,
cx->pkcs1RSADigestInfo = NULL;
rv = SECSuccess;
if (sig) {
switch (type) {
case rsaKey:
rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg,
&cx->pkcs1RSADigestInfo,
&cx->pkcs1RSADigestInfoLen,
cx->key,
sig, wincx);
break;
case rsaPssKey:
sigLen = SECKEY_SignatureLen(key);
if (sigLen == 0) {
/* error set by SECKEY_SignatureLen */
rv = SECFailure;
break;
}
if (sig->len != sigLen) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
rv = SECFailure;
break;
}
PORT_Memcpy(cx->u.buffer, sig->data, sigLen);
break;
case dsaKey:
case ecKey:
sigLen = SECKEY_SignatureLen(key);
if (sigLen == 0) {
/* error set by SECKEY_SignatureLen */
rv = SECFailure;
break;
}
rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen);
break;
default:
rv = SECFailure;
if (type == rsaKey) {
rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg,
&cx->pkcs1RSADigestInfo,
&cx->pkcs1RSADigestInfoLen,
cx->key,
sig, wincx);
} else {
sigLen = checkedSignatureLen(key);
/* Check signature length is within limits */
if (sigLen == 0) {
/* error set by checkedSignatureLen */
rv = SECFailure;
PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG);
break;
goto loser;
}
if (sigLen > sizeof(cx->u)) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
rv = SECFailure;
goto loser;
}
switch (type) {
case rsaPssKey:
if (sig->len != sigLen) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
rv = SECFailure;
goto loser;
}
PORT_Memcpy(cx->u.buffer, sig->data, sigLen);
rv = SECSuccess;
break;
case ecKey:
case dsaKey:
/* decodeECorDSASignature will check sigLen == sig->len after padding */
rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen);
break;
default:
/* Unreachable */
rv = SECFailure;
goto loser;
}
}
if (rv != SECSuccess) {
goto loser;
}
}
if (rv)
goto loser;
/* check hash alg again, RSA may have changed it.*/
if (HASH_GetHashTypeByOidTag(cx->hashAlg) == HASH_AlgNULL) {
/* error set by HASH_GetHashTypeByOidTag */
@ -622,11 +657,16 @@ VFY_EndWithSignature(VFYContext *cx, SECItem *sig)
switch (cx->key->keyType) {
case ecKey:
case dsaKey:
dsasig.data = cx->u.buffer;
dsasig.len = SECKEY_SignatureLen(cx->key);
dsasig.len = checkedSignatureLen(cx->key);
if (dsasig.len == 0) {
return SECFailure;
}
if (dsasig.len > sizeof(cx->u)) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
return SECFailure;
}
dsasig.data = cx->u.buffer;
if (sig) {
rv = decodeECorDSASignature(cx->encAlg, sig, dsasig.data,
dsasig.len);
@ -658,8 +698,13 @@ VFY_EndWithSignature(VFYContext *cx, SECItem *sig)
}
rsasig.data = cx->u.buffer;
rsasig.len = SECKEY_SignatureLen(cx->key);
rsasig.len = checkedSignatureLen(cx->key);
if (rsasig.len == 0) {
/* Error set by checkedSignatureLen */
return SECFailure;
}
if (rsasig.len > sizeof(cx->u)) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
return SECFailure;
}
if (sig) {
@ -721,7 +766,6 @@ vfy_VerifyDigest(const SECItem *digest, const SECKEYPublicKey *key,
SECStatus rv;
VFYContext *cx;
SECItem dsasig; /* also used for ECDSA */
rv = SECFailure;
cx = vfy_CreateContext(key, sig, encAlg, hashAlg, NULL, wincx);
@ -729,19 +773,25 @@ vfy_VerifyDigest(const SECItem *digest, const SECKEYPublicKey *key,
switch (key->keyType) {
case rsaKey:
rv = verifyPKCS1DigestInfo(cx, digest);
/* Error (if any) set by verifyPKCS1DigestInfo */
break;
case dsaKey:
case ecKey:
case dsaKey:
dsasig.data = cx->u.buffer;
dsasig.len = SECKEY_SignatureLen(cx->key);
dsasig.len = checkedSignatureLen(cx->key);
if (dsasig.len == 0) {
/* Error set by checkedSignatureLen */
rv = SECFailure;
break;
}
if (PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx) !=
SECSuccess) {
if (dsasig.len > sizeof(cx->u)) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
rv = SECFailure;
break;
}
rv = PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx);
if (rv != SECSuccess) {
PORT_SetError(SEC_ERROR_BAD_SIGNATURE);
} else {
rv = SECSuccess;
}
break;
default:

View File

@ -259,6 +259,20 @@ Result CheckSubjectPublicKeyInfo(Input subjectPublicKeyInfo,
#else
#error Unsupported compiler for MOZILLA_PKIX_UNREACHABLE_DEFAULT.
#endif
inline size_t DigestAlgorithmToSizeInBytes(DigestAlgorithm digestAlgorithm) {
switch (digestAlgorithm) {
case DigestAlgorithm::sha1:
return 160 / 8;
case DigestAlgorithm::sha256:
return 256 / 8;
case DigestAlgorithm::sha384:
return 384 / 8;
case DigestAlgorithm::sha512:
return 512 / 8;
MOZILLA_PKIX_UNREACHABLE_DEFAULT_ENUM
}
}
}
} // namespace mozilla::pkix

View File

@ -28,12 +28,6 @@
#include "mozpkix/pkixcheck.h"
#include "mozpkix/pkixutil.h"
namespace {
const size_t SHA1_DIGEST_LENGTH = 160 / 8;
} // namespace
namespace mozilla { namespace pkix {
// These values correspond to the tag values in the ASN.1 CertStatus
@ -181,10 +175,12 @@ static inline Result MatchCertID(Reader& input,
const Context& context,
/*out*/ bool& match);
static Result MatchKeyHash(TrustDomain& trustDomain,
DigestAlgorithm hashAlgorithm,
Input issuerKeyHash,
Input issuerSubjectPublicKeyInfo,
/*out*/ bool& match);
static Result KeyHash(TrustDomain& trustDomain,
DigestAlgorithm hashAlgorithm,
Input subjectPublicKeyInfo,
/*out*/ uint8_t* hashBuf, size_t hashBufSize);
@ -213,7 +209,7 @@ MatchResponderID(TrustDomain& trustDomain,
if (rv != Success) {
return rv;
}
return MatchKeyHash(trustDomain, keyHash,
return MatchKeyHash(trustDomain, DigestAlgorithm::sha1, keyHash,
potentialSignerSubjectPublicKeyInfo, match);
}
@ -741,36 +737,36 @@ MatchCertID(Reader& input, const Context& context, /*out*/ bool& match)
return Success;
}
// TODO: support SHA-2 hashes.
if (hashAlgorithm != DigestAlgorithm::sha1) {
// Again, not interested in this response. Consume input, return success.
input.SkipToEnd();
return Success;
}
if (issuerNameHash.GetLength() != SHA1_DIGEST_LENGTH) {
size_t hashAlgorithmLength = DigestAlgorithmToSizeInBytes(hashAlgorithm);
if (issuerNameHash.GetLength() != hashAlgorithmLength) {
return Result::ERROR_OCSP_MALFORMED_RESPONSE;
}
// From http://tools.ietf.org/html/rfc6960#section-4.1.1:
// "The hash shall be calculated over the DER encoding of the
// issuer's name field in the certificate being checked."
uint8_t hashBuf[SHA1_DIGEST_LENGTH];
uint8_t hashBuf[MAX_DIGEST_SIZE_IN_BYTES];
if (hashAlgorithmLength > sizeof(hashBuf)) {
return Result::FATAL_ERROR_LIBRARY_FAILURE;
}
rv = context.trustDomain.DigestBuf(context.certID.issuer,
DigestAlgorithm::sha1, hashBuf,
sizeof(hashBuf));
hashAlgorithm, hashBuf,
hashAlgorithmLength);
if (rv != Success) {
return rv;
}
Input computed;
rv = computed.Init(hashBuf, hashAlgorithmLength);
if (rv != Success) {
return rv;
}
Input computed(hashBuf);
if (!InputsAreEqual(computed, issuerNameHash)) {
// Again, not interested in this response. Consume input, return success.
input.SkipToEnd();
return Success;
}
return MatchKeyHash(context.trustDomain, issuerKeyHash,
return MatchKeyHash(context.trustDomain, hashAlgorithm, issuerKeyHash,
context.certID.issuerSubjectPublicKeyInfo, match);
}
@ -784,30 +780,53 @@ MatchCertID(Reader& input, const Context& context, /*out*/ bool& match)
// -- BIT STRING subjectPublicKey [excluding
// -- the tag, length, and number of unused
// -- bits] in the responder's certificate)
//
// From https://datatracker.ietf.org/doc/html/rfc6960#section-4.1.1:
// CertID ::= SEQUENCE {
// hashAlgorithm AlgorithmIdentifier,
// issuerNameHash OCTET STRING, -- Hash of issuer's DN
// issuerKeyHash OCTET STRING, -- Hash of issuer's public key
// serialNumber CertificateSerialNumber }
// ...
// o hashAlgorithm is the hash algorithm used to generate the
// issuerNameHash and issuerKeyHash values.
// ...
// o issuerKeyHash is the hash of the issuer's public key. The hash
// shall be calculated over the value (excluding tag and length) of
// the subject public key field in the issuer's certificate.
static Result
MatchKeyHash(TrustDomain& trustDomain, Input keyHash,
const Input subjectPublicKeyInfo, /*out*/ bool& match)
MatchKeyHash(TrustDomain& trustDomain, DigestAlgorithm hashAlgorithm,
Input keyHash, const Input subjectPublicKeyInfo,
/*out*/ bool& match)
{
if (keyHash.GetLength() != SHA1_DIGEST_LENGTH) {
size_t hashLength = DigestAlgorithmToSizeInBytes(hashAlgorithm);
if (keyHash.GetLength() != hashLength) {
return Result::ERROR_OCSP_MALFORMED_RESPONSE;
}
uint8_t hashBuf[SHA1_DIGEST_LENGTH];
Result rv = KeyHash(trustDomain, subjectPublicKeyInfo, hashBuf,
sizeof hashBuf);
uint8_t hashBuf[MAX_DIGEST_SIZE_IN_BYTES];
if (hashLength > MAX_DIGEST_SIZE_IN_BYTES) {
return Result::FATAL_ERROR_LIBRARY_FAILURE;
}
Result rv = KeyHash(trustDomain, hashAlgorithm, subjectPublicKeyInfo,
hashBuf, hashLength);
if (rv != Success) {
return rv;
}
Input computed;
rv = computed.Init(hashBuf, hashLength);
if (rv != Success) {
return rv;
}
Input computed(hashBuf);
match = InputsAreEqual(computed, keyHash);
return Success;
}
// TODO(bug 966856): support SHA-2 hashes
Result
KeyHash(TrustDomain& trustDomain, const Input subjectPublicKeyInfo,
/*out*/ uint8_t* hashBuf, size_t hashBufSize)
KeyHash(TrustDomain& trustDomain, DigestAlgorithm hashAlgorithm,
const Input subjectPublicKeyInfo, /*out*/ uint8_t* hashBuf,
size_t hashBufSize)
{
if (!hashBuf || hashBufSize != SHA1_DIGEST_LENGTH) {
if (!hashBuf || hashBufSize != DigestAlgorithmToSizeInBytes(hashAlgorithm)) {
return Result::FATAL_ERROR_LIBRARY_FAILURE;
}
@ -840,8 +859,8 @@ KeyHash(TrustDomain& trustDomain, const Input subjectPublicKeyInfo,
return rv;
}
return trustDomain.DigestBuf(subjectPublicKey, DigestAlgorithm::sha1,
hashBuf, hashBufSize);
return trustDomain.DigestBuf(subjectPublicKey, hashAlgorithm, hashBuf,
hashBufSize);
}
Result
@ -921,8 +940,6 @@ CreateEncodedOCSPRequest(TrustDomain& trustDomain, const struct CertID& certID,
// and thus more likely to fit within the 255 byte limit for OCSP GET that
// is specified in RFC 5019 Section 5.
// Bug 966856: Add the id-pkix-ocsp-pref-sig-algs extension.
// Since we don't know whether the OCSP responder supports anything other
// than SHA-1, we have no choice but to use SHA-1 for issuerNameHash and
// issuerKeyHash.
@ -986,7 +1003,8 @@ CreateEncodedOCSPRequest(TrustDomain& trustDomain, const struct CertID& certID,
// reqCert.issuerKeyHash (OCTET STRING)
*d++ = 0x04;
*d++ = hashLen;
rv = KeyHash(trustDomain, certID.issuerSubjectPublicKeyInfo, d, hashLen);
rv = KeyHash(trustDomain, DigestAlgorithm::sha1,
certID.issuerSubjectPublicKeyInfo, d, hashLen);
if (rv != Success) {
return rv;
}

View File

@ -43,14 +43,7 @@ DigestSignedData(TrustDomain& trustDomain,
return Result::ERROR_BAD_DER;
}
size_t digestLen;
switch (signedDigest.digestAlgorithm) {
case DigestAlgorithm::sha512: digestLen = 512 / 8; break;
case DigestAlgorithm::sha384: digestLen = 384 / 8; break;
case DigestAlgorithm::sha256: digestLen = 256 / 8; break;
case DigestAlgorithm::sha1: digestLen = 160 / 8; break;
MOZILLA_PKIX_UNREACHABLE_DEFAULT_ENUM
}
size_t digestLen = DigestAlgorithmToSizeInBytes(signedDigest.digestAlgorithm);
assert(digestLen <= sizeof(digestBuf));
rv = trustDomain.DigestBuf(signedData.data, signedDigest.digestAlgorithm,

View File

@ -139,6 +139,11 @@ SEC_ReadPKCS7Certs(SECItem *pkcs7Item, CERTImportCertificateFunc f, void *arg)
goto done;
}
if (contentInfo.content.signedData == NULL) {
PORT_SetError(SEC_ERROR_BAD_DER);
goto done;
}
rv = SECSuccess;
certs = contentInfo.content.signedData->certificates;