Merge cherrypicks of [20388533] into sparse-9189353-L75700000957236973.

Change-Id: Ib1595d8f4b509c3506f114def83543093f359b3e
diff --git a/android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java b/android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java
index af71534..b776d5c 100644
--- a/android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java
+++ b/android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java
@@ -1569,7 +1569,9 @@
                 {"America/Montreal", "America/Toronto"},
                 {"America/Montserrat", "America/Puerto_Rico"},
                 {"America/Nassau", "America/Toronto"},
+                {"America/Nipigon", "America/Toronto"},
                 {"America/Port_of_Spain", "America/Puerto_Rico"},
+                {"America/Rainy_River", "America/Winnipeg"},
                 {"America/Santa_Isabel", "America/Tijuana"},
                 {"America/Shiprock", "America/Denver"},
                 {"America/St_Barthelemy", "America/Puerto_Rico"},
@@ -1577,6 +1579,7 @@
                 {"America/St_Lucia", "America/Puerto_Rico"},
                 {"America/St_Thomas", "America/Puerto_Rico"},
                 {"America/St_Vincent", "America/Puerto_Rico"},
+                {"America/Thunder_Bay", "America/Toronto"},
                 {"America/Tortola", "America/Puerto_Rico"},
                 {"America/Virgin", "America/Puerto_Rico"},
                 {"Antarctica/DumontDUrville", "Pacific/Port_Moresby"},
diff --git a/icu4c/source/data/misc/metaZones.txt b/icu4c/source/data/misc/metaZones.txt
index e0f1d10..7579854 100644
--- a/icu4c/source/data/misc/metaZones.txt
+++ b/icu4c/source/data/misc/metaZones.txt
@@ -1490,6 +1490,11 @@
             {
                 "Mexico_Pacific",
                 "1998-04-05 09:00",
+                "2022-10-30 08:00",
+            }
+            {
+                "America_Central",
+                "2022-10-30 08:00",
                 "9999-12-31 23:59",
             }
         }
@@ -2221,6 +2226,11 @@
             {
                 "America_Mountain",
                 "1998-04-05 09:00",
+                "2022-10-30 08:00",
+            }
+            {
+                "America_Central",
+                "2022-10-30 08:00",
                 "9999-12-31 23:59",
             }
         }
diff --git a/icu4c/source/data/misc/zoneinfo64.txt b/icu4c/source/data/misc/zoneinfo64.txt
index ded4ba1..7583941 100644
--- a/icu4c/source/data/misc/zoneinfo64.txt
+++ b/icu4c/source/data/misc/zoneinfo64.txt
@@ -3,9 +3,9 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License
 //---------------------------------------------------------
 // Build tool:  tz2icu
-// Build date:  Fri Oct 14 16:21:54 2022
+// Build date:  Fri Nov  4 14:04:40 2022
 // tz database: ftp://ftp.iana.org/tz/
-// tz version:  2022e
+// tz version:  2022f
 // ICU version: 63.2
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
@@ -13,7 +13,7 @@
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2022e" }
+ TZVersion { "2022f" }
  Zones:array { 
   /* ACT */ :int { 356 } //Z#0
   /* AET */ :int { 368 } //Z#1
@@ -290,12 +290,9 @@
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
   } //Z#81
   /* America/Bahia_Banderas */ :table {
-    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1270371600, 1288508400, 1301817600, 1319958000 }
+    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1270371600, 1288508400, 1301817600, 1319958000, 1333267200, 1351407600, 1365321600, 1382857200, 1396771200, 1414306800, 1428220800, 1445756400, 1459670400, 1477810800, 1491120000, 1509260400, 1522569600, 1540710000, 1554624000, 1572159600, 1586073600, 1603609200, 1617523200, 1635663600, 1648972800, 1667113200 }
     typeOffsets:intvector { -25260, 0, -28800, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
-    typeMap:bin { "0204020302040201020302030203020302030203020302030203020302030203020302030205040504" }
-    finalRule { "Mexico" }
-    finalRaw:int { -21600 }
-    finalYear:int { 2012 }
+    typeMap:bin { "020402030204020102030203020302030203020302030203020302030203020302030203020504050405040504050405040504050405040504050405040504" }
   } //Z#82
   /* America/Barbados */ :table {
     trans:intvector { -1841256091, -874263600, -862682400, -841604400, -830714400, -811882800, -798660000, 234943200, 244616400, 261554400, 276066000, 293004000, 307515600, 325058400, 338706000 }
@@ -375,12 +372,9 @@
     links:intvector { 98, 382, 621 }
   } //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 }
+    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1270371600, 1288512000, 1301821200, 1319961600, 1333270800, 1351411200, 1365325200, 1382860800, 1396774800, 1414310400, 1428224400, 1445760000, 1459674000, 1477814400, 1491123600, 1509264000, 1522573200, 1540713600, 1554627600, 1572163200, 1586077200, 1603612800, 1617526800, 1635667200, 1648976400, 1667116800 }
     typeOffsets:intvector { -25460, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
-    typeMap:bin { "0103010201030403040302010201020102010201" }
-    finalRule { "Mexico" }
-    finalRaw:int { -25200 }
-    finalYear:int { 2003 }
+    typeMap:bin { "010301020103040304030201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" }
   } //Z#99
   /* America/Coral_Harbour */ :int { 182 } //Z#100
   /* America/Cordoba */ :int { 67 } //Z#101
@@ -717,12 +711,9 @@
     finalYear:int { 2011 }
   } //Z#159
   /* America/Mazatlan */ :table {
-    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600 }
+    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1270371600, 1288512000, 1301821200, 1319961600, 1333270800, 1351411200, 1365325200, 1382860800, 1396774800, 1414310400, 1428224400, 1445760000, 1459674000, 1477814400, 1491123600, 1509264000, 1522573200, 1540713600, 1554627600, 1572163200, 1586077200, 1603612800, 1617526800, 1635667200, 1648976400, 1667116800 }
     typeOffsets:intvector { -25540, 0, -28800, 0, -25200, 0, -25200, 3600, -21600, 0 }
-    typeMap:bin { "0204020302040201020302030203020302030203020302" }
-    finalRule { "Mexico" }
-    finalRaw:int { -25200 }
-    finalYear:int { 2003 }
+    typeMap:bin { "020402030204020102030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
     links:intvector { 160, 540 }
   } //Z#160
   /* America/Mendoza */ :int { 70 } //Z#161
@@ -736,12 +727,9 @@
     finalYear:int { 2008 }
   } //Z#162
   /* America/Merida */ :table {
-    trans:intvector { -1514743200, 377935200, 407653200, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000 }
+    trans:intvector { -1514743200, 377935200, 407653200, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1175414400, 1193554800, 1207468800, 1225004400, 1238918400, 1256454000, 1270368000, 1288508400, 1301817600, 1319958000, 1333267200, 1351407600, 1365321600, 1382857200, 1396771200, 1414306800, 1428220800, 1445756400, 1459670400, 1477810800, 1491120000, 1509260400, 1522569600, 1540710000, 1554624000, 1572159600, 1586073600, 1603609200, 1617523200, 1635663600, 1648972800, 1667113200 }
     typeOffsets:intvector { -21508, 0, -21600, 0, -21600, 3600, -18000, 0 }
-    typeMap:bin { "0103010201020102010201020102010201" }
-    finalRule { "Mexico" }
-    finalRaw:int { -21600 }
-    finalYear:int { 2003 }
+    typeMap:bin { "010301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
   } //Z#163
   /* America/Metlakatla */ :table {
     transPre32:intvector { -1, 1069743569, -1, 2106011674 }
@@ -753,12 +741,9 @@
     finalYear:int { 2020 }
   } //Z#164
   /* America/Mexico_City */ :table {
-    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -975261600, -963169200, -917114400, -907354800, -821901600, -810068400, -627501600, -612990000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000 }
+    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -975261600, -963169200, -917114400, -907354800, -821901600, -810068400, -627501600, -612990000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1175414400, 1193554800, 1207468800, 1225004400, 1238918400, 1256454000, 1270368000, 1288508400, 1301817600, 1319958000, 1333267200, 1351407600, 1365321600, 1382857200, 1396771200, 1414306800, 1428220800, 1445756400, 1459670400, 1477810800, 1491120000, 1509260400, 1522569600, 1540710000, 1554624000, 1572159600, 1586073600, 1603609200, 1617523200, 1635663600, 1648972800, 1667113200 }
     typeOffsets:intvector { -23796, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
-    typeMap:bin { "01030102010304030403040304030403040304030403040304030403" }
-    finalRule { "Mexico" }
-    finalRaw:int { -21600 }
-    finalYear:int { 2003 }
+    typeMap:bin { "0103010201030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
     links:intvector { 165, 541 }
   } //Z#165
   /* America/Miquelon */ :table {
@@ -779,12 +764,9 @@
     finalYear:int { 2008 }
   } //Z#167
   /* America/Monterrey */ :table {
-    trans:intvector { -1514743200, 576057600, 594198000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000 }
+    trans:intvector { -1514743200, 576057600, 594198000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 989136000, 1001833200, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1175414400, 1193554800, 1207468800, 1225004400, 1238918400, 1256454000, 1270368000, 1288508400, 1301817600, 1319958000, 1333267200, 1351407600, 1365321600, 1382857200, 1396771200, 1414306800, 1428220800, 1445756400, 1459670400, 1477810800, 1491120000, 1509260400, 1522569600, 1540710000, 1554624000, 1572159600, 1586073600, 1603609200, 1617523200, 1635663600, 1648972800, 1667113200 }
     typeOffsets:intvector { -24076, 0, -21600, 0, -21600, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201" }
-    finalRule { "Mexico" }
-    finalRaw:int { -21600 }
-    finalYear:int { 2003 }
+    typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
   } //Z#168
   /* America/Montevideo */ :table {
     trans:intvector { -1567455309, -1459627200, -1443819600, -1428006600, -1412283600, -1396470600, -1380747600, -1141590600, -1128286800, -1110141000, -1096837200, -1078691400, -1065387600, -1047241800, -1033938000, -1015187400, -1002488400, -983737800, -971038800, -954707400, -938984400, -920838600, -907534800, -896819400, -853621200, -845847000, -334789200, -319671000, -314226000, -309996000, -149720400, -134604000, -50446800, -34205400, 9860400, 14176800, 72846000, 80100000, 127278000, 132111000, 147234600, 156913200, 165376800, 219812400, 226461600, 250052400, 257911200, 282711600, 289360800, 294202800, 322020000, 566449200, 573012000, 597812400, 605066400, 625633200, 635911200, 656478000, 667965600, 688532400, 699415200, 719377200, 730864800, 1095562800, 1111896000, 1128834000, 1142136000, 1159678800, 1173585600, 1191733200, 1205035200, 1223182800, 1236484800, 1254632400, 1268539200, 1286082000, 1299988800, 1317531600, 1331438400, 1349586000, 1362888000, 1381035600, 1394337600, 1412485200, 1425787200 }
@@ -804,15 +786,7 @@
     finalYear:int { 2008 }
     links:intvector { 173, 623 }
   } //Z#173
-  /* America/Nipigon */ :table {
-    transPre32:intvector { -1, 1928233280 }
-    trans:intvector { -1632070800, -1615140000, -923252400, -765396000, 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 { -21184, 0, -18000, 0, -18000, 3600 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    finalRule { "Canada" }
-    finalRaw:int { -18000 }
-    finalYear:int { 2008 }
-  } //Z#174
+  /* America/Nipigon */ :int { 218 } //Z#174
   /* America/Nome */ :table {
     transPre32:intvector { -1, 1069743569, -1, 2106019794 }
     trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
@@ -865,12 +839,9 @@
     links:intvector { 120, 180 }
   } //Z#180
   /* America/Ojinaga */ :table {
-    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1268557200, 1289116800 }
+    trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1175418000, 1193558400, 1207472400, 1225008000, 1238922000, 1256457600, 1268557200, 1289116800, 1300006800, 1320566400, 1331456400, 1352016000, 1362906000, 1383465600, 1394355600, 1414915200, 1425805200, 1446364800, 1457859600, 1478419200, 1489309200, 1509868800, 1520758800, 1541318400, 1552208400, 1572768000, 1583658000, 1604217600, 1615712400, 1636272000, 1647162000, 1667116800 }
     typeOffsets:intvector { -25060, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
-    typeMap:bin { "010301020103040304030201020102010201020102010201020102010201020102010201" }
-    finalRule { "US" }
-    finalRaw:int { -25200 }
-    finalYear:int { 2011 }
+    typeMap:bin { "010301020103040304030201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" }
   } //Z#181
   /* America/Panama */ :table {
     transPre32:intvector { -1, 1770464784 }
@@ -928,15 +899,7 @@
     typeOffsets:intvector { -17020, 0, -18000, 0, -18000, 3600, -16965, 0, -14400, 0, -14400, 3600, -10800, 0 }
     typeMap:bin { "030103040302010201020102010201040104020104050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040506" }
   } //Z#191
-  /* America/Rainy_River */ :table {
-    transPre32:intvector { -1, 1928234792 }
-    trans:intvector { -1632067200, -1615136400, -923248800, -765392400, 136368000, 152089200, 167817600, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1173600000, 1194159600 }
-    typeOffsets:intvector { -22696, 0, -21600, 0, -21600, 3600 }
-    typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    finalRule { "Canada" }
-    finalRaw:int { -21600 }
-    finalYear:int { 2008 }
-  } //Z#192
+  /* America/Rainy_River */ :int { 223 } //Z#192
   /* America/Rankin_Inlet */ :table {
     trans:intvector { -410227200, -147895200, -131565600, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1173600000, 1194159600 }
     typeOffsets:intvector { 0, 0, -21600, 0, -21600, 3600, -21600, 7200, -18000, 0 }
@@ -1048,15 +1011,7 @@
     finalRaw:int { -14400 }
     finalYear:int { 2008 }
   } //Z#215
-  /* America/Thunder_Bay */ :table {
-    transPre32:intvector { -1, 1928233516 }
-    trans:intvector { -1893434400, -880218000, -765396000, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 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 { -21420, 0, -21600, 0, -18000, 0, -18000, 3600 }
-    typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
-    finalRule { "Canada" }
-    finalRaw:int { -18000 }
-    finalYear:int { 2008 }
-  } //Z#216
+  /* America/Thunder_Bay */ :int { 218 } //Z#216
   /* America/Tijuana */ :table {
     trans:intvector { -1514739600, -1451667600, -1343062800, -1234803600, -1222963200, -1207242000, -873820800, -761677200, -686073600, -661539600, -495039600, -481734000, -463590000, -450284400, -431535600, -418230000, -400086000, -386780400, -368636400, -355330800, -337186800, -323881200, -305737200, -292431600, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400, 1175421600, 1193562000, 1207476000, 1225011600, 1238925600, 1256461200, 1268560800, 1289120400 }
     typeOffsets:intvector { -28084, 0, -28800, 0, -28800, 3600, -25200, 0 }
@@ -1074,7 +1029,7 @@
     finalRule { "Canada" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-    links:intvector { 170, 172, 218, 388 }
+    links:intvector { 170, 172, 174, 216, 218, 388 }
   } //Z#218
   /* America/Tortola */ :int { 190 } //Z#219
   /* America/Vancouver */ :table {
@@ -1103,7 +1058,7 @@
     finalRule { "Canada" }
     finalRaw:int { -21600 }
     finalYear:int { 2008 }
-    links:intvector { 223, 386 }
+    links:intvector { 192, 223, 386 }
   } //Z#223
   /* America/Yakutat */ :table {
     transPre32:intvector { -1, 1069743569, -1, 2106013631 }
@@ -2428,12 +2383,9 @@
     typeMap:bin { "0102" }
   } //Z#561
   /* 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, 1668261600, 1673704800, 1699711200 }
+    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 }
     typeOffsets:intvector { 42944, 0, 43200, 0, 43200, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102" }
-    finalRule { "Fiji" }
-    finalRaw:int { 43200 }
-    finalYear:int { 2024 }
+    typeMap:bin { "0102010201020102010201020102010201020102010201020102010201" }
   } //Z#562
   /* Pacific/Funafuti */ :int { 591 } //Z#563
   /* Pacific/Galapagos */ :table {
@@ -2909,48 +2861,42 @@
   EUAsia:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
   } //_#10
-  Fiji:intvector {
-    10, 8, -1, 7200, 0, 0, 12, -1, 10800, 0, 3600
-  } //_#11
   Haiti:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#12
+  } //_#11
   LH:intvector {
     9, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 1800
-  } //_#13
+  } //_#12
   Lebanon:intvector {
     2, -31, -1, 0, 0, 9, -31, -1, 0, 0, 3600
-  } //_#14
-  Mexico:intvector {
-    3, 1, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#15
+  } //_#13
   Moldova:intvector {
     2, -31, -1, 7200, 0, 9, -31, -1, 10800, 0, 3600
-  } //_#16
+  } //_#14
   NZ:intvector {
     8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
-  } //_#17
+  } //_#15
   Palestine:intvector {
     2, -30, -7, 7200, 0, 9, -30, -7, 7200, 0, 3600
-  } //_#18
+  } //_#16
   Para:intvector {
     9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
-  } //_#19
+  } //_#17
   SystemV:intvector {
     3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#20
+  } //_#18
   Thule:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#21
+  } //_#19
   Troll:intvector {
     2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 7200
-  } //_#22
+  } //_#20
   US:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#23
+  } //_#21
   Zion:intvector {
     2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600
-  } //_#24
+  } //_#22
  }
  Regions:array {
   "AU", //Z#0 ACT
diff --git a/icu4c/source/stubdata/icudt63l.dat b/icu4c/source/stubdata/icudt63l.dat
index dc7d96d..f5990d9 100644
--- a/icu4c/source/stubdata/icudt63l.dat
+++ b/icu4c/source/stubdata/icudt63l.dat
Binary files differ
diff --git a/icu4c/source/test/intltest/tztest.cpp b/icu4c/source/test/intltest/tztest.cpp
index 1ac25ad..d4a18ed 100644
--- a/icu4c/source/test/intltest/tztest.cpp
+++ b/icu4c/source/test/intltest/tztest.cpp
@@ -2069,6 +2069,8 @@
         {"America/Montreal", "America/Toronto"},
         {"America/Montserrat", "America/Puerto_Rico"},
         {"America/Nassau", "America/Toronto"},
+        {"America/Nipigon", "America/Toronto"},
+        {"America/Rainy_River", "America/Winnipeg"},
         {"America/Port_of_Spain", "America/Puerto_Rico"},
         {"America/Santa_Isabel", "America/Tijuana"},
         {"America/Shiprock", "America/Denver"},
@@ -2077,6 +2079,7 @@
         {"America/St_Lucia", "America/Puerto_Rico"},
         {"America/St_Thomas", "America/Puerto_Rico"},
         {"America/St_Vincent", "America/Puerto_Rico"},
+        {"America/Thunder_Bay", "America/Toronto"},
         {"America/Tortola", "America/Puerto_Rico"},
         {"America/Virgin", "America/Puerto_Rico"},
         {"Antarctica/DumontDUrville", "Pacific/Port_Moresby"},
diff --git a/icu4j/main/shared/data/icutzdata.jar b/icu4j/main/shared/data/icutzdata.jar
index 0deed25..f6bd6f5 100644
--- a/icu4j/main/shared/data/icutzdata.jar
+++ b/icu4j/main/shared/data/icutzdata.jar
Binary files differ
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
index fccb91f..5f7a866 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java
@@ -1566,7 +1566,9 @@
                 {"America/Montreal", "America/Toronto"},
                 {"America/Montserrat", "America/Puerto_Rico"},
                 {"America/Nassau", "America/Toronto"},
+                {"America/Nipigon", "America/Toronto"},
                 {"America/Port_of_Spain", "America/Puerto_Rico"},
+                {"America/Rainy_River", "America/Winnipeg"},
                 {"America/Santa_Isabel", "America/Tijuana"},
                 {"America/Shiprock", "America/Denver"},
                 {"America/St_Barthelemy", "America/Puerto_Rico"},
@@ -1574,6 +1576,7 @@
                 {"America/St_Lucia", "America/Puerto_Rico"},
                 {"America/St_Thomas", "America/Puerto_Rico"},
                 {"America/St_Vincent", "America/Puerto_Rico"},
+                {"America/Thunder_Bay", "America/Toronto"},
                 {"America/Tortola", "America/Puerto_Rico"},
                 {"America/Virgin", "America/Puerto_Rico"},
                 {"Antarctica/DumontDUrville", "Pacific/Port_Moresby"},