Version 2.15.0-146.0.dev

Merge commit '637fb323d902f5d1238b9e5d76fbfed57143415c' into 'dev'
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index 6a44192..81c99ff 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -11,7 +11,7 @@
     "constraint, update this by running tools/generate_package_config.dart."
   ],
   "configVersion": 2,
-  "generated": "2021-09-21T21:00:34.058842",
+  "generated": "2021-09-23T11:31:05.389095",
   "generator": "tools/generate_package_config.dart",
   "packages": [
     {
@@ -810,6 +810,12 @@
       "rootUri": "../third_party/pkg/yaml",
       "packageUri": "lib/",
       "languageVersion": "2.12"
+    },
+    {
+      "name": "yaml_edit",
+      "rootUri": "../third_party/pkg/yaml_edit",
+      "packageUri": "lib/",
+      "languageVersion": "2.12"
     }
   ]
 }
diff --git a/DEPS b/DEPS
index 9a7549d..c8e7820 100644
--- a/DEPS
+++ b/DEPS
@@ -44,9 +44,9 @@
   # co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
   # hashes. It requires access to the dart-build-access group, which EngProd
   # has.
-  "co19_rev": "21e89324642656dcd903e97352d9d16da6a361ee",
+  "co19_rev": "e9f3b0239dedd349084ca1e0b9d2ceacf4b2a1ef",
   # This line prevents conflicts when both packages are rolled simultaneously.
-  "co19_2_rev": "3e1ea1af9ef293d7f6a8f3332b5c71c7072a30e0",
+  "co19_2_rev": "13344ad01472df9badfa78fd6aa411f042e13354",
 
   # The internal benchmarks to use. See go/dart-benchmarks-internal
   "benchmarks_internal_rev": "076df10d9b77af337f2d8029725787155eb1cd52",
@@ -139,7 +139,7 @@
   "pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
   "process_rev": "56ece43b53b64c63ae51ec184b76bd5360c28d0b",
   "protobuf_rev": "c1eb6cb51af39ccbaa1a8e19349546586a5c8e31",
-  "pub_rev": "370575258503ca4cb11d6449e82a1c4fd7c2777f",
+  "pub_rev": "15a46117da29cc572fba620241c83a2117cdae09",
   "pub_semver_rev": "a43ad72fb6b7869607581b5fedcb186d1e74276a",
   "resource_rev": "6b79867d0becf5395e5819a75720963b8298e9a7",
   "root_certificates_rev": "692f6d6488af68e0121317a9c2c9eb393eb0ee50",
@@ -173,6 +173,7 @@
   "WebCore_rev": "bcb10901266c884e7b3740abc597ab95373ab55c",
   "webdev_rev": "832b096c0c24798d3df46faa7b7661fe930573c2",
   "webkit_inspection_protocol_rev": "dd6fb5d8b536e19cedb384d0bbf1f5631923f1e8",
+  "yaml_edit_rev": "ffcbbc22884f590663ec451f48fd8388ba7c49f4",
   "yaml_rev": "2af44871f684c89e973a96e39026b8b88dda1987",
   "zlib_rev": "bf44340d1b6be1af8950bbdf664fec0cf5a831cc",
   "crashpad_rev": "bf327d8ceb6a669607b0dbab5a83a275d03f99ed",
@@ -471,6 +472,8 @@
   Var("dart_root") + "/third_party/pkg/web_socket_channel":
       Var("dart_git") + "web_socket_channel.git" +
       "@" + Var("web_socket_channel_rev"),
+  Var("dart_root") + "/third_party/pkg/yaml_edit":
+      Var("dart_git") + "yaml_edit.git" + "@" + Var("yaml_edit_rev"),
   Var("dart_root") + "/third_party/pkg/yaml":
       Var("dart_git") + "yaml.git" + "@" + Var("yaml_rev"),
 
diff --git a/runtime/tools/compiler_layering_check.py b/runtime/tools/compiler_layering_check.py
index 06d73d9..e8c955a 100755
--- a/runtime/tools/compiler_layering_check.py
+++ b/runtime/tools/compiler_layering_check.py
@@ -10,7 +10,6 @@
 # Currently it only checks that core runtime headers RUNTIME_LAYER_HEADERS
 # are not included into any sources listed in SHOULD_NOT_DEPEND_ON_RUNTIME.
 
-import glob
 import os
 import re
 import sys
@@ -107,7 +106,7 @@
     def ExtractIncludes(self, file):
         """Extract the list of includes from the given file."""
         deps = set()
-        with open(os.path.join(self.root, file)) as file:
+        with open(os.path.join(self.root, file), encoding='utf-8') as file:
             for line in file:
                 if line.startswith('namespace dart {'):
                     break
diff --git a/runtime/tools/embedder_layering_check.py b/runtime/tools/embedder_layering_check.py
index 775040e..5e564d1 100644
--- a/runtime/tools/embedder_layering_check.py
+++ b/runtime/tools/embedder_layering_check.py
@@ -7,7 +7,6 @@
 # Simple tool for verifying that sources from the standalone embedder do not
 # directly include sources from the VM or vice versa.
 
-import glob
 import os
 import re
 import sys
@@ -28,7 +27,7 @@
 
 def CheckFile(sdk_root, path):
     includes = set()
-    with open(os.path.join(sdk_root, path)) as file:
+    with open(os.path.join(sdk_root, path), encoding='utf-8') as file:
         for line in file:
             m = INCLUDE_DIRECTIVE_RE.match(line)
             if m is not None:
diff --git a/tools/VERSION b/tools/VERSION
index bf47595..b5b8743 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 15
 PATCH 0
-PRERELEASE 145
+PRERELEASE 146
 PRERELEASE_PATCH 0
\ No newline at end of file