diff --git a/Documentation/dev-bazel.txt b/Documentation/dev-bazel.txt
index 3107e7c..951cc9c 100644
--- a/Documentation/dev-bazel.txt
+++ b/Documentation/dev-bazel.txt
@@ -492,7 +492,7 @@
 Maven dependencies are maintained in two separate files: `tools/deps.toml` and
 `tools/nongoogle.toml`. Depending on whether Google will use the dependency
 or not, dependencies should be added to one or the other file. If unsure, the
-dependency should be added to `tools/deps.bzl`. A Googler will check the dependency
+dependency should be added to `tools/deps.toml`. A Googler will check the dependency
 during review and provide feedback.
 
 When adding a new maven dependency add a line like this:
@@ -510,7 +510,7 @@
 
 [source,bash]
 ----
-REPIN=1 bazel run @gerrit_deps//:pin
+REPIN=1 bazel run @external_deps//:pin
 ----
 
 == Building against unpublished Maven JARs
diff --git a/MODULE.bazel b/MODULE.bazel
index df46187..0f438c7 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -33,11 +33,55 @@
 
 maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
 
+# Root-level dependency versions declared by Gerrit must take precedence over
+# versions contributed by layered modules (e.g. JGit) when resolving the shared
+# maven.install("external_deps") repository.
+#
+# rules_jvm_external currently lacks a mechanism for the root module to globally
+# enforce its declared versions across the layered Maven graph when using
+# bzlmod. In particular, version_conflict_policy = "pinned" still fails early
+# with duplicate artifacts when multiple modules contribute different versions.
+#
+# As a workaround, we explicitly force the root-selected versions here via
+# maven.amend_artifact(force_version = "true") for GA coordinates that may also
+# be introduced transitively by JGit.
+#
+# Versions themselves are sourced from deps.toml and the pinned lockfile.
+#
+# TODO(davido): Remove this workaround once global root version enforcement is
+# supported in rules_jvm_external:
+# https://github.com/bazel-contrib/rules_jvm_external/issues/1549
+_GERRIT_FORCED_ARTIFACTS = [
+    "args4j:args4j",
+    "com.googlecode.javaewah:JavaEWAH",
+    "commons-codec:commons-codec",
+    "org.apache.commons:commons-lang3",
+    "org.eclipse.jetty:jetty-http",
+    "org.eclipse.jetty:jetty-io",
+    "org.eclipse.jetty:jetty-security",
+    "org.eclipse.jetty:jetty-server",
+    "org.eclipse.jetty:jetty-util",
+    "org.eclipse.jetty:jetty-util-ajax",
+]
+
+[
+    maven.amend_artifact(
+        name = "external_deps",
+        coordinates = coord,
+        force_version = "true",
+    )
+    for coord in _GERRIT_FORCED_ARTIFACTS
+]
+
 # Empty maven.install call to apply the configuration to the installation from
 # toml files.
 maven.install(
-    name = "gerrit_deps",
+    name = "external_deps",
     artifacts = [],
+    # CRITICAL: Must remain "error".
+    # This guarantees fail-fast behavior if multiple versions of the same
+    # artifact are introduced by contributing modules. Downgrading this to
+    # "warn" would allow version skew to silently leak into release.war.
     duplicate_version_warning = "error",
     excluded_artifacts = [
         # Although flexmark is published as many small modules, the `flexmark-all`
@@ -136,20 +180,23 @@
     fail_if_repin_required = True,
     fail_on_missing_checksum = True,
     fetch_sources = True,
-    lock_file = "//:gerrit_deps.lock.json",
+    known_contributing_modules = [
+        "jgit",
+        "gerrit",
+    ],
+    lock_file = "//:external_deps.lock.json",
     repositories = [
         "https://repo1.maven.org/maven2",
         "https://gerrit-maven.storage.googleapis.com",
     ],
-    strict_visibility = True,
     version_conflict_policy = "pinned",
 )
 maven.from_toml(
-    name = "gerrit_deps",
+    name = "external_deps",
     libs_versions_toml = "//tools:deps.toml",
 )
 maven.from_toml(
-    name = "gerrit_deps",
+    name = "external_deps",
     libs_versions_toml = "//tools:nongoogle.toml",
 )
-use_repo(maven, "gerrit_deps")
+use_repo(maven, "external_deps")
diff --git a/gerrit_deps.lock.json b/external_deps.lock.json
similarity index 91%
rename from gerrit_deps.lock.json
rename to external_deps.lock.json
index 4399e21..88c09e0 100644
--- a/gerrit_deps.lock.json
+++ b/external_deps.lock.json
@@ -3,7 +3,7 @@
   "__INPUT_ARTIFACTS_HASH": {
     "antlr:antlr": 1249073166,
     "aopalliance:aopalliance": -1416324331,
-    "args4j:args4j": 1223353088,
+    "args4j:args4j": 484840357,
     "ch.qos.reload4j:reload4j": -1216325797,
     "com.github.ben-manes.caffeine:caffeine": 1735183231,
     "com.github.ben-manes.caffeine:guava": -2131703186,
@@ -17,6 +17,7 @@
     "com.google.code.gson:gson": 245099245,
     "com.google.common.html.types:types": 1474029483,
     "com.google.errorprone:error_prone_annotations": -1409032738,
+    "com.google.errorprone:error_prone_type_annotations": -1223112919,
     "com.google.escapevelocity:escapevelocity": -17168624,
     "com.google.flogger:flogger": -825712792,
     "com.google.flogger:flogger-log4j-backend": 1730247028,
@@ -38,7 +39,7 @@
     "com.google.truth.extensions:truth-liteproto-extension": 1463279446,
     "com.google.truth.extensions:truth-proto-extension": 1270333764,
     "com.google.truth:truth": -790731381,
-    "com.googlecode.javaewah:JavaEWAH": 1888112392,
+    "com.googlecode.javaewah:JavaEWAH": 1414179411,
     "com.googlecode.prolog-cafe:prolog-cafeteria": 1472963375,
     "com.googlecode.prolog-cafe:prolog-compiler": -348984778,
     "com.googlecode.prolog-cafe:prolog-io": -1081577073,
@@ -46,6 +47,8 @@
     "com.h2database:h2": 867138720,
     "com.ibm.icu:icu4j": -802150924,
     "com.icegreen:greenmail": -1151466560,
+    "com.jcraft:jsch": 1133842314,
+    "com.jcraft:jzlib": 864660349,
     "com.ryanharter.auto.value:auto-value-gson-extension": 520453879,
     "com.ryanharter.auto.value:auto-value-gson-factory": 1068512450,
     "com.ryanharter.auto.value:auto-value-gson-runtime": 187755792,
@@ -101,12 +104,12 @@
     "com.vladsch.flexmark:flexmark-util-visitor": -1002447604,
     "com.vladsch.flexmark:flexmark-youtrack-converter": -1024344568,
     "commons-beanutils:commons-beanutils": -399736270,
-    "commons-codec:commons-codec": 828154456,
+    "commons-codec:commons-codec": -1724312797,
     "commons-collections:commons-collections": -1308259318,
     "commons-dbcp:commons-dbcp": -873877417,
     "commons-digester:commons-digester": 1688456634,
     "commons-io:commons-io": -1192334111,
-    "commons-logging:commons-logging": 2056692342,
+    "commons-logging:commons-logging": 416626737,
     "commons-net:commons-net": 1227155931,
     "commons-pool:commons-pool": -2015226625,
     "commons-validator:commons-validator": -89255997,
@@ -124,13 +127,17 @@
     "log4j:log4j": 182326902,
     "net.bytebuddy:byte-buddy": -628486182,
     "net.bytebuddy:byte-buddy-agent": -1065427230,
+    "net.java.dev.jna:jna": 929040997,
+    "net.java.dev.jna:jna-platform": 1235639073,
     "net.minidev:json-smart": -1043043954,
+    "net.sf.jopt-simple:jopt-simple": 906822697,
     "net.sourceforge.nekohtml:nekohtml": 1723624706,
     "org.antlr:antlr": -2055062274,
     "org.antlr:antlr-runtime": -2145792567,
     "org.antlr:stringtemplate": -752719922,
     "org.apache.commons:commons-compress": -1289113474,
-    "org.apache.commons:commons-lang3": -1897960160,
+    "org.apache.commons:commons-lang3": 109544183,
+    "org.apache.commons:commons-math3": -1738699872,
     "org.apache.commons:commons-text": -1886494041,
     "org.apache.httpcomponents:fluent-hc": 58615850,
     "org.apache.httpcomponents:httpclient": 1643860045,
@@ -152,6 +159,7 @@
     "org.apache.sshd:sshd-osgi": 1671034928,
     "org.apache.sshd:sshd-sftp": 2079258759,
     "org.asciidoctor:asciidoctorj": -457860213,
+    "org.assertj:assertj-core": -1145412507,
     "org.bouncycastle:bcpg-jdk18on": 235240928,
     "org.bouncycastle:bcpkix-jdk18on": 1954093523,
     "org.bouncycastle:bcprov-jdk18on": 402064210,
@@ -160,14 +168,18 @@
     "org.commonmark:commonmark-ext-autolink": -1853742120,
     "org.commonmark:commonmark-ext-gfm-strikethrough": 350394231,
     "org.commonmark:commonmark-ext-gfm-tables": 1881582931,
-    "org.eclipse.jetty:jetty-http": -1084689220,
-    "org.eclipse.jetty:jetty-io": 1206202206,
+    "org.eclipse.jetty.ee8:jetty-ee8-nested": -685134473,
+    "org.eclipse.jetty.ee8:jetty-ee8-security": 2052418638,
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet": -1368555033,
+    "org.eclipse.jetty:jetty-http": 1984891007,
+    "org.eclipse.jetty:jetty-io": 1765684893,
     "org.eclipse.jetty:jetty-jmx": -1704061949,
-    "org.eclipse.jetty:jetty-security": 879497732,
-    "org.eclipse.jetty:jetty-server": 1530157281,
+    "org.eclipse.jetty:jetty-security": 1160320567,
+    "org.eclipse.jetty:jetty-server": 280305722,
     "org.eclipse.jetty:jetty-servlet": 697742931,
-    "org.eclipse.jetty:jetty-util": 1271788162,
-    "org.eclipse.jetty:jetty-util-ajax": -1924489267,
+    "org.eclipse.jetty:jetty-session": 292732683,
+    "org.eclipse.jetty:jetty-util": -1520256775,
+    "org.eclipse.jetty:jetty-util-ajax": -726746674,
     "org.hamcrest:hamcrest": 1547523135,
     "org.jruby:jruby-complete": -2103568068,
     "org.json:json": -811907600,
@@ -176,6 +188,8 @@
     "org.nibor.autolink:autolink": -342487050,
     "org.objenesis:objenesis": 748376655,
     "org.openid4java:openid4java": -842286787,
+    "org.openjdk.jmh:jmh-core": 983716932,
+    "org.openjdk.jmh:jmh-generator-annprocess": -1162360421,
     "org.ow2.asm:asm": 1206815935,
     "org.ow2.asm:asm-analysis": 53497832,
     "org.ow2.asm:asm-commons": 1607605466,
@@ -188,6 +202,7 @@
     "org.slf4j:slf4j-ext": 890682116,
     "org.slf4j:slf4j-log4j12": -630224096,
     "org.slf4j:slf4j-reload4j": -1466046388,
+    "org.slf4j:slf4j-simple": -487947767,
     "org.tukaani:xz": 64286142,
     "repositories": 2019057769,
     "xerces:xercesImpl": -1165914651,
@@ -286,6 +301,10 @@
     "com.ibm.icu:icu4j:jar:sources": 864352766,
     "com.icegreen:greenmail": 798674118,
     "com.icegreen:greenmail:jar:sources": -1978817971,
+    "com.jcraft:jsch": 1986987929,
+    "com.jcraft:jsch:jar:sources": 707308247,
+    "com.jcraft:jzlib": 1581025040,
+    "com.jcraft:jzlib:jar:sources": 807243431,
     "com.ryanharter.auto.value:auto-value-gson-extension": -887048407,
     "com.ryanharter.auto.value:auto-value-gson-extension:jar:sources": 1925708692,
     "com.ryanharter.auto.value:auto-value-gson-factory": -1576123811,
@@ -332,8 +351,14 @@
     "net.bytebuddy:byte-buddy-agent": -36999869,
     "net.bytebuddy:byte-buddy-agent:jar:sources": -1736884395,
     "net.bytebuddy:byte-buddy:jar:sources": -102524345,
+    "net.java.dev.jna:jna": -1916526385,
+    "net.java.dev.jna:jna-platform": 459618853,
+    "net.java.dev.jna:jna-platform:jar:sources": -2077304647,
+    "net.java.dev.jna:jna:jar:sources": 1518406952,
     "net.minidev:json-smart": -1913865264,
     "net.minidev:json-smart:jar:sources": 475976688,
+    "net.sf.jopt-simple:jopt-simple": 1531230776,
+    "net.sf.jopt-simple:jopt-simple:jar:sources": -1087190884,
     "net.sourceforge.nekohtml:nekohtml": 589300296,
     "net.sourceforge.nekohtml:nekohtml:jar:sources": 1455941061,
     "org.antlr:ST4": 943007212,
@@ -348,6 +373,8 @@
     "org.apache.commons:commons-compress:jar:sources": 128824058,
     "org.apache.commons:commons-lang3": 1593572986,
     "org.apache.commons:commons-lang3:jar:sources": 1589181154,
+    "org.apache.commons:commons-math3": 1532637713,
+    "org.apache.commons:commons-math3:jar:sources": 1655744467,
     "org.apache.commons:commons-text": -1205775100,
     "org.apache.commons:commons-text:jar:sources": 1247506591,
     "org.apache.httpcomponents:fluent-hc": 1857459163,
@@ -380,6 +407,8 @@
     "org.apache.sshd:sshd-sftp:jar:sources": 1450030982,
     "org.asciidoctor:asciidoctorj": -943976727,
     "org.asciidoctor:asciidoctorj:jar:sources": -1022891917,
+    "org.assertj:assertj-core": -1968284012,
+    "org.assertj:assertj-core:jar:sources": 1906472612,
     "org.bouncycastle:bcpg-jdk18on": -733747199,
     "org.bouncycastle:bcpg-jdk18on:jar:sources": -1694649401,
     "org.bouncycastle:bcpkix-jdk18on": -1768219399,
@@ -400,6 +429,14 @@
     "org.commonmark:commonmark-ext-gfm-tables": -435057552,
     "org.commonmark:commonmark-ext-gfm-tables:jar:sources": -1247551792,
     "org.commonmark:commonmark:jar:sources": -1275158082,
+    "org.eclipse.jetty.ee8:jetty-ee8-nested": 1225428153,
+    "org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources": 1999421701,
+    "org.eclipse.jetty.ee8:jetty-ee8-security": 667551496,
+    "org.eclipse.jetty.ee8:jetty-ee8-security:jar:sources": 447244400,
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet": 368157283,
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet:jar:sources": -2138255372,
+    "org.eclipse.jetty.toolchain:jetty-servlet-api": 626738376,
+    "org.eclipse.jetty.toolchain:jetty-servlet-api:jar:sources": -717561233,
     "org.eclipse.jetty:jetty-http": -2051325092,
     "org.eclipse.jetty:jetty-http:jar:sources": -882391521,
     "org.eclipse.jetty:jetty-io": 1774579468,
@@ -412,6 +449,8 @@
     "org.eclipse.jetty:jetty-server:jar:sources": -710016839,
     "org.eclipse.jetty:jetty-servlet": -974397932,
     "org.eclipse.jetty:jetty-servlet:jar:sources": 1281350506,
+    "org.eclipse.jetty:jetty-session": 1978843064,
+    "org.eclipse.jetty:jetty-session:jar:sources": 244883860,
     "org.eclipse.jetty:jetty-util": 2086696316,
     "org.eclipse.jetty:jetty-util-ajax": -451213174,
     "org.eclipse.jetty:jetty-util-ajax:jar:sources": 1686109257,
@@ -434,6 +473,10 @@
     "org.objenesis:objenesis:jar:sources": 707329220,
     "org.openid4java:openid4java": 1656473252,
     "org.openid4java:openid4java:jar:sources": 789962531,
+    "org.openjdk.jmh:jmh-core": -381500549,
+    "org.openjdk.jmh:jmh-core:jar:sources": -1014071512,
+    "org.openjdk.jmh:jmh-generator-annprocess": -1315975534,
+    "org.openjdk.jmh:jmh-generator-annprocess:jar:sources": 81479330,
     "org.ow2.asm:asm": 1540593910,
     "org.ow2.asm:asm-analysis": 1735619699,
     "org.ow2.asm:asm-analysis:jar:sources": 609078251,
@@ -456,6 +499,8 @@
     "org.slf4j:slf4j-ext:jar:sources": 1756640360,
     "org.slf4j:slf4j-reload4j": 874028571,
     "org.slf4j:slf4j-reload4j:jar:sources": 1517828526,
+    "org.slf4j:slf4j-simple": 2142683014,
+    "org.slf4j:slf4j-simple:jar:sources": 334190933,
     "org.tukaani:xz": 1462559085,
     "org.tukaani:xz:jar:sources": 1791731254,
     "xerces:xercesImpl": -723395208,
@@ -789,6 +834,20 @@
       },
       "version": "1.5.5"
     },
+    "com.jcraft:jsch": {
+      "shasums": {
+        "jar": "d492b15a6d2ea3f1cc39c422c953c40c12289073dbe8360d98c0f6f9ec74fc44",
+        "sources": "e01ff2d282aa1b492bbb6187b3e363cd20a6ef51a6f23ae0ec4be179570a8480"
+      },
+      "version": "0.1.55"
+    },
+    "com.jcraft:jzlib": {
+      "shasums": {
+        "jar": "89b1360f407381bf61fde411019d8cbd009ebb10cff715f3669017a031027560",
+        "sources": "35ebd67941ce7024e6e7d80b60a4252a9687fa0f909a7079ac904bef6c1658cf"
+      },
+      "version": "1.1.3"
+    },
     "com.ryanharter.auto.value:auto-value-gson-extension": {
       "shasums": {
         "jar": "261be84be30a56994e132d718a85efcd579197a2edb9426b84c5722c56955eca",
@@ -955,6 +1014,20 @@
       },
       "version": "1.18.4"
     },
+    "net.java.dev.jna:jna": {
+      "shasums": {
+        "jar": "260c4b1e22b1db9e110ee441c4f13ce115f841fa48c41d78750986214b395557",
+        "sources": "0b9224e215b3c6a464959e3f994ddd64c14d46fb4014facd6afa1cc18e469466"
+      },
+      "version": "5.18.1"
+    },
+    "net.java.dev.jna:jna-platform": {
+      "shasums": {
+        "jar": "ad14c1b1ec4f43d396231219dfa635ebf828f738eac9f890ea1bc07795892d9a",
+        "sources": "5ffcac4b35114c6539ab9485592a90153ddeefb60e675dd9e8a2ee24e54ec1bc"
+      },
+      "version": "5.18.1"
+    },
     "net.minidev:json-smart": {
       "shasums": {
         "jar": "cebda25c3191aa441673c43d7a5a9567aa5d86a10101ae915a885c90bcee8771",
@@ -962,6 +1035,13 @@
       },
       "version": "1.1.1"
     },
+    "net.sf.jopt-simple:jopt-simple": {
+      "shasums": {
+        "jar": "df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28",
+        "sources": "06b283801a5a94ef697b7f2c79a048c4e2f848b3daddda61cab74d882bdd97a5"
+      },
+      "version": "5.0.4"
+    },
     "net.sourceforge.nekohtml:nekohtml": {
       "shasums": {
         "jar": "f44f6f6b355dfb083cdbd5b33c9d7920fef0c77281095df30a2b18ba5eb60d69",
@@ -1011,6 +1091,13 @@
       },
       "version": "3.18.0"
     },
+    "org.apache.commons:commons-math3": {
+      "shasums": {
+        "jar": "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308",
+        "sources": "e2ff85a3c360d56c51a7021614a194f3fbaf224054642ac535016f118322934d"
+      },
+      "version": "3.6.1"
+    },
     "org.apache.commons:commons-text": {
       "shasums": {
         "jar": "58d2da30f058512a1e7f914e39241deca4dff5c27a085b4ed2faa9e7208067f6",
@@ -1123,6 +1210,13 @@
       },
       "version": "1.5.8.1"
     },
+    "org.assertj:assertj-core": {
+      "shasums": {
+        "jar": "c4a445426c3c2861666863b842cc4ec7bbb1c4226fefd370b6d2fe83d6c4ff0f",
+        "sources": "5ba6de05730cf76021001f8437f35db4cb5b513465d4ace8c3a6fcd68d9a19ee"
+      },
+      "version": "3.27.7"
+    },
     "org.bouncycastle:bcpg-jdk18on": {
       "shasums": {
         "jar": "4077fd4517761c98a81944c70a376ce73f4eb3e44c03db1eb5d699fc28ab48aa",
@@ -1193,6 +1287,34 @@
       },
       "version": "0.24.0"
     },
+    "org.eclipse.jetty.ee8:jetty-ee8-nested": {
+      "shasums": {
+        "jar": "0bcc1d92d6dc482bac55979b6c9d7756f8b061295fc41cf2713354f9bd464c38",
+        "sources": "82f199d42bbfaecdf1574347191f9177af11d4ea692760cd0a84d0b8c89b4a53"
+      },
+      "version": "12.1.5"
+    },
+    "org.eclipse.jetty.ee8:jetty-ee8-security": {
+      "shasums": {
+        "jar": "789ba4518cd2848563473d636270b42c541d34cf79bed36c84e3ce811f76c2cd",
+        "sources": "f232e995398de354b6d4c8fe67b60a708bae0b0cccfe933787ed8966886e3139"
+      },
+      "version": "12.1.5"
+    },
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet": {
+      "shasums": {
+        "jar": "3c27e08483b1f2860e727c7577e094e63af595159dabe28022dd4e10e37f12b0",
+        "sources": "4a2e1e23c428c562bc456cc62e8bb0848f571c7505460b56927d51240e899474"
+      },
+      "version": "12.1.5"
+    },
+    "org.eclipse.jetty.toolchain:jetty-servlet-api": {
+      "shasums": {
+        "jar": "d90bf1f8a9d2ba89f4510bb51e1516dcf94ef6dc034e00f233654abdd78f2210",
+        "sources": "4184a1bf70ea545bceb0a5aef1061e1f9986d9fe8f22a1cc77cf22931fcb9029"
+      },
+      "version": "4.0.6"
+    },
     "org.eclipse.jetty:jetty-http": {
       "shasums": {
         "jar": "02c6514977f0051dfdecf8d0799acf7a88fd8008a5fd9320a92f2e5db45d297b",
@@ -1235,6 +1357,13 @@
       },
       "version": "9.4.57.v20241219"
     },
+    "org.eclipse.jetty:jetty-session": {
+      "shasums": {
+        "jar": "ebe4f30c6fe7656294d884e1dc8eea4c77b6c861e3c010847a76fd78164ae166",
+        "sources": "629906b99619eee119e44ff3c786c89ef20350958e16546fd62fb4ec7f08c6d9"
+      },
+      "version": "12.1.5"
+    },
     "org.eclipse.jetty:jetty-util": {
       "shasums": {
         "jar": "6ccbf678716778e316cc097d8aada4fe2a2e16c0bbfd8a1763204d6724b423f4",
@@ -1312,6 +1441,20 @@
       },
       "version": "1.0.0"
     },
+    "org.openjdk.jmh:jmh-core": {
+      "shasums": {
+        "jar": "dc0eaf2bbf0036a70b60798c785d6e03a9daf06b68b8edb0f1ba9eb3421baeb3",
+        "sources": "fd4beda07b3b94cd0e32199401bbb2d9ed3371a770c8c320761b9442ff3e8e05"
+      },
+      "version": "1.37"
+    },
+    "org.openjdk.jmh:jmh-generator-annprocess": {
+      "shasums": {
+        "jar": "6a5604b5b804e0daca1145df1077609321687734a8b49387e49f10557c186c77",
+        "sources": "cc1b661fb209ae1a433e331e8e78bab680674153b0a6ac69d47d11c60fb5e47e"
+      },
+      "version": "1.37"
+    },
     "org.ow2.asm:asm": {
       "shasums": {
         "jar": "6f3828a215c920059a5efa2fb55c233d6c54ec5cadca99ce1b1bdd10077c7ddd",
@@ -1389,6 +1532,13 @@
       },
       "version": "2.0.17"
     },
+    "org.slf4j:slf4j-simple": {
+      "shasums": {
+        "jar": "ddfea59ac074c6d3e24ac2c38622d2d963895e17f70b38ed4bdae4d780be6964",
+        "sources": "30b660e79419bfcebd678e75bdfe3644eaf325f50253a68395d93634da5953df"
+      },
+      "version": "2.0.17"
+    },
     "org.tukaani:xz": {
       "shasums": {
         "jar": "0a4077f6aeae2865532a564807af8d30c26acc6f63b7928d93bd7ab1f2190449",
@@ -1566,6 +1716,9 @@
     "junit:junit": [
       "org.hamcrest:hamcrest-core"
     ],
+    "net.java.dev.jna:jna-platform": [
+      "net.java.dev.jna:jna"
+    ],
     "net.sourceforge.nekohtml:nekohtml": [
       "xerces:xercesImpl"
     ],
@@ -1629,6 +1782,9 @@
       "com.beust:jcommander",
       "org.jruby:jruby-complete"
     ],
+    "org.assertj:assertj-core": [
+      "net.bytebuddy:byte-buddy"
+    ],
     "org.bouncycastle:bcpg-jdk18on": [
       "org.bouncycastle:bcprov-jdk18on",
       "org.bouncycastle:bcutil-jdk18on"
@@ -1649,6 +1805,23 @@
     "org.commonmark:commonmark-ext-gfm-tables": [
       "org.commonmark:commonmark"
     ],
+    "org.eclipse.jetty.ee8:jetty-ee8-nested": [
+      "org.eclipse.jetty.toolchain:jetty-servlet-api",
+      "org.eclipse.jetty:jetty-http",
+      "org.eclipse.jetty:jetty-security",
+      "org.eclipse.jetty:jetty-server",
+      "org.eclipse.jetty:jetty-session",
+      "org.slf4j:slf4j-api"
+    ],
+    "org.eclipse.jetty.ee8:jetty-ee8-security": [
+      "org.eclipse.jetty.ee8:jetty-ee8-nested",
+      "org.slf4j:slf4j-api"
+    ],
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet": [
+      "org.eclipse.jetty.ee8:jetty-ee8-nested",
+      "org.eclipse.jetty.ee8:jetty-ee8-security",
+      "org.slf4j:slf4j-api"
+    ],
     "org.eclipse.jetty:jetty-http": [
       "org.eclipse.jetty:jetty-io",
       "org.eclipse.jetty:jetty-util"
@@ -1671,6 +1844,10 @@
       "org.eclipse.jetty:jetty-security",
       "org.eclipse.jetty:jetty-util-ajax"
     ],
+    "org.eclipse.jetty:jetty-session": [
+      "org.eclipse.jetty:jetty-server",
+      "org.slf4j:slf4j-api"
+    ],
     "org.eclipse.jetty:jetty-util-ajax": [
       "org.eclipse.jetty:jetty-util"
     ],
@@ -1685,6 +1862,13 @@
       "org.apache.httpcomponents:httpclient",
       "xerces:xercesImpl"
     ],
+    "org.openjdk.jmh:jmh-core": [
+      "net.sf.jopt-simple:jopt-simple",
+      "org.apache.commons:commons-math3"
+    ],
+    "org.openjdk.jmh:jmh-generator-annprocess": [
+      "org.openjdk.jmh:jmh-core"
+    ],
     "org.ow2.asm:asm-analysis": [
       "org.ow2.asm:asm-tree"
     ],
@@ -1712,6 +1896,9 @@
     "org.slf4j:slf4j-reload4j": [
       "ch.qos.reload4j:reload4j",
       "org.slf4j:slf4j-api"
+    ],
+    "org.slf4j:slf4j-simple": [
+      "org.slf4j:slf4j-api"
     ]
   },
   "packages": {
@@ -2151,6 +2338,15 @@
       "com.icegreen.greenmail.user",
       "com.icegreen.greenmail.util"
     ],
+    "com.jcraft:jsch": [
+      "com.jcraft.jsch",
+      "com.jcraft.jsch.jce",
+      "com.jcraft.jsch.jcraft",
+      "com.jcraft.jsch.jgss"
+    ],
+    "com.jcraft:jzlib": [
+      "com.jcraft.jzlib"
+    ],
     "com.ryanharter.auto.value:auto-value-gson-extension": [
       "autovaluegson.shaded.com.google.auto.common",
       "autovaluegson.shaded.com.google.common.annotations",
@@ -2497,10 +2693,38 @@
       "net.bytebuddy.agent",
       "net.bytebuddy.agent.utility.nullability"
     ],
+    "net.java.dev.jna:jna": [
+      "com.sun.jna",
+      "com.sun.jna.internal",
+      "com.sun.jna.ptr",
+      "com.sun.jna.win32"
+    ],
+    "net.java.dev.jna:jna-platform": [
+      "com.sun.jna.platform",
+      "com.sun.jna.platform.bsd",
+      "com.sun.jna.platform.dnd",
+      "com.sun.jna.platform.linux",
+      "com.sun.jna.platform.mac",
+      "com.sun.jna.platform.unix",
+      "com.sun.jna.platform.unix.aix",
+      "com.sun.jna.platform.unix.solaris",
+      "com.sun.jna.platform.win32",
+      "com.sun.jna.platform.win32.COM",
+      "com.sun.jna.platform.win32.COM.tlb",
+      "com.sun.jna.platform.win32.COM.tlb.imp",
+      "com.sun.jna.platform.win32.COM.util",
+      "com.sun.jna.platform.win32.COM.util.annotation",
+      "com.sun.jna.platform.wince"
+    ],
     "net.minidev:json-smart": [
       "net.minidev.json",
       "net.minidev.json.parser"
     ],
+    "net.sf.jopt-simple:jopt-simple": [
+      "joptsimple",
+      "joptsimple.internal",
+      "joptsimple.util"
+    ],
     "net.sourceforge.nekohtml:nekohtml": [
       "org.cyberneko.html",
       "org.cyberneko.html.filters",
@@ -2593,6 +2817,83 @@
       "org.apache.commons.lang3.tuple",
       "org.apache.commons.lang3.util"
     ],
+    "org.apache.commons:commons-math3": [
+      "org.apache.commons.math3",
+      "org.apache.commons.math3.analysis",
+      "org.apache.commons.math3.analysis.differentiation",
+      "org.apache.commons.math3.analysis.function",
+      "org.apache.commons.math3.analysis.integration",
+      "org.apache.commons.math3.analysis.integration.gauss",
+      "org.apache.commons.math3.analysis.interpolation",
+      "org.apache.commons.math3.analysis.polynomials",
+      "org.apache.commons.math3.analysis.solvers",
+      "org.apache.commons.math3.complex",
+      "org.apache.commons.math3.dfp",
+      "org.apache.commons.math3.distribution",
+      "org.apache.commons.math3.distribution.fitting",
+      "org.apache.commons.math3.exception",
+      "org.apache.commons.math3.exception.util",
+      "org.apache.commons.math3.filter",
+      "org.apache.commons.math3.fitting",
+      "org.apache.commons.math3.fitting.leastsquares",
+      "org.apache.commons.math3.fraction",
+      "org.apache.commons.math3.genetics",
+      "org.apache.commons.math3.geometry",
+      "org.apache.commons.math3.geometry.enclosing",
+      "org.apache.commons.math3.geometry.euclidean.oned",
+      "org.apache.commons.math3.geometry.euclidean.threed",
+      "org.apache.commons.math3.geometry.euclidean.twod",
+      "org.apache.commons.math3.geometry.euclidean.twod.hull",
+      "org.apache.commons.math3.geometry.hull",
+      "org.apache.commons.math3.geometry.partitioning",
+      "org.apache.commons.math3.geometry.partitioning.utilities",
+      "org.apache.commons.math3.geometry.spherical.oned",
+      "org.apache.commons.math3.geometry.spherical.twod",
+      "org.apache.commons.math3.linear",
+      "org.apache.commons.math3.ml.clustering",
+      "org.apache.commons.math3.ml.clustering.evaluation",
+      "org.apache.commons.math3.ml.distance",
+      "org.apache.commons.math3.ml.neuralnet",
+      "org.apache.commons.math3.ml.neuralnet.oned",
+      "org.apache.commons.math3.ml.neuralnet.sofm",
+      "org.apache.commons.math3.ml.neuralnet.sofm.util",
+      "org.apache.commons.math3.ml.neuralnet.twod",
+      "org.apache.commons.math3.ml.neuralnet.twod.util",
+      "org.apache.commons.math3.ode",
+      "org.apache.commons.math3.ode.events",
+      "org.apache.commons.math3.ode.nonstiff",
+      "org.apache.commons.math3.ode.sampling",
+      "org.apache.commons.math3.optim",
+      "org.apache.commons.math3.optim.linear",
+      "org.apache.commons.math3.optim.nonlinear.scalar",
+      "org.apache.commons.math3.optim.nonlinear.scalar.gradient",
+      "org.apache.commons.math3.optim.nonlinear.scalar.noderiv",
+      "org.apache.commons.math3.optim.nonlinear.vector",
+      "org.apache.commons.math3.optim.nonlinear.vector.jacobian",
+      "org.apache.commons.math3.optim.univariate",
+      "org.apache.commons.math3.optimization",
+      "org.apache.commons.math3.optimization.direct",
+      "org.apache.commons.math3.optimization.fitting",
+      "org.apache.commons.math3.optimization.general",
+      "org.apache.commons.math3.optimization.linear",
+      "org.apache.commons.math3.optimization.univariate",
+      "org.apache.commons.math3.primes",
+      "org.apache.commons.math3.random",
+      "org.apache.commons.math3.special",
+      "org.apache.commons.math3.stat",
+      "org.apache.commons.math3.stat.clustering",
+      "org.apache.commons.math3.stat.correlation",
+      "org.apache.commons.math3.stat.descriptive",
+      "org.apache.commons.math3.stat.descriptive.moment",
+      "org.apache.commons.math3.stat.descriptive.rank",
+      "org.apache.commons.math3.stat.descriptive.summary",
+      "org.apache.commons.math3.stat.inference",
+      "org.apache.commons.math3.stat.interval",
+      "org.apache.commons.math3.stat.ranking",
+      "org.apache.commons.math3.stat.regression",
+      "org.apache.commons.math3.transform",
+      "org.apache.commons.math3.util"
+    ],
     "org.apache.commons:commons-text": [
       "org.apache.commons.text",
       "org.apache.commons.text.diff",
@@ -3038,6 +3339,37 @@
       "org.asciidoctor.log",
       "org.asciidoctor.log.internal"
     ],
+    "org.assertj:assertj-core": [
+      "org.assertj.core.annotation",
+      "org.assertj.core.annotations",
+      "org.assertj.core.api",
+      "org.assertj.core.api.exception",
+      "org.assertj.core.api.filter",
+      "org.assertj.core.api.iterable",
+      "org.assertj.core.api.junit.jupiter",
+      "org.assertj.core.api.recursive",
+      "org.assertj.core.api.recursive.assertion",
+      "org.assertj.core.api.recursive.comparison",
+      "org.assertj.core.condition",
+      "org.assertj.core.configuration",
+      "org.assertj.core.data",
+      "org.assertj.core.description",
+      "org.assertj.core.error",
+      "org.assertj.core.error.array2d",
+      "org.assertj.core.error.future",
+      "org.assertj.core.error.uri",
+      "org.assertj.core.extractor",
+      "org.assertj.core.groups",
+      "org.assertj.core.internal",
+      "org.assertj.core.internal.annotation",
+      "org.assertj.core.matcher",
+      "org.assertj.core.presentation",
+      "org.assertj.core.util",
+      "org.assertj.core.util.diff",
+      "org.assertj.core.util.diff.myers",
+      "org.assertj.core.util.introspection",
+      "org.assertj.core.util.xml"
+    ],
     "org.bouncycastle:bcpg-jdk18on": [
       "org.bouncycastle.apache.bzip2",
       "org.bouncycastle.bcpg",
@@ -3412,6 +3744,25 @@
       "org.commonmark.ext.gfm.tables",
       "org.commonmark.ext.gfm.tables.internal"
     ],
+    "org.eclipse.jetty.ee8:jetty-ee8-nested": [
+      "org.eclipse.jetty.ee8.nested",
+      "org.eclipse.jetty.ee8.nested.jmx"
+    ],
+    "org.eclipse.jetty.ee8:jetty-ee8-security": [
+      "org.eclipse.jetty.ee8.security",
+      "org.eclipse.jetty.ee8.security.authentication"
+    ],
+    "org.eclipse.jetty.ee8:jetty-ee8-servlet": [
+      "org.eclipse.jetty.ee8.servlet",
+      "org.eclipse.jetty.ee8.servlet.jmx",
+      "org.eclipse.jetty.ee8.servlet.listener"
+    ],
+    "org.eclipse.jetty.toolchain:jetty-servlet-api": [
+      "javax.servlet",
+      "javax.servlet.annotation",
+      "javax.servlet.descriptor",
+      "javax.servlet.http"
+    ],
     "org.eclipse.jetty:jetty-http": [
       "org.eclipse.jetty.http",
       "org.eclipse.jetty.http.compression",
@@ -3445,6 +3796,9 @@
       "org.eclipse.jetty.servlet.jmx",
       "org.eclipse.jetty.servlet.listener"
     ],
+    "org.eclipse.jetty:jetty-session": [
+      "org.eclipse.jetty.session"
+    ],
     "org.eclipse.jetty:jetty-util": [
       "org.eclipse.jetty.util",
       "org.eclipse.jetty.util.annotation",
@@ -3808,6 +4162,25 @@
       "org.openid4java.server",
       "org.openid4java.util"
     ],
+    "org.openjdk.jmh:jmh-core": [
+      "org.openjdk.jmh",
+      "org.openjdk.jmh.annotations",
+      "org.openjdk.jmh.generators.core",
+      "org.openjdk.jmh.infra",
+      "org.openjdk.jmh.profile",
+      "org.openjdk.jmh.results",
+      "org.openjdk.jmh.results.format",
+      "org.openjdk.jmh.runner",
+      "org.openjdk.jmh.runner.format",
+      "org.openjdk.jmh.runner.link",
+      "org.openjdk.jmh.runner.options",
+      "org.openjdk.jmh.util",
+      "org.openjdk.jmh.util.lines"
+    ],
+    "org.openjdk.jmh:jmh-generator-annprocess": [
+      "org.openjdk.jmh.generators",
+      "org.openjdk.jmh.generators.annotations"
+    ],
     "org.ow2.asm:asm": [
       "org.objectweb.asm",
       "org.objectweb.asm.signature"
@@ -3855,6 +4228,9 @@
     "org.slf4j:slf4j-reload4j": [
       "org.slf4j.reload4j"
     ],
+    "org.slf4j:slf4j-simple": [
+      "org.slf4j.simple"
+    ],
     "org.tukaani:xz": [
       "org.tukaani.xz",
       "org.tukaani.xz.check",
@@ -4003,6 +4379,10 @@
       "com.ibm.icu:icu4j:jar:sources",
       "com.icegreen:greenmail",
       "com.icegreen:greenmail:jar:sources",
+      "com.jcraft:jsch",
+      "com.jcraft:jsch:jar:sources",
+      "com.jcraft:jzlib",
+      "com.jcraft:jzlib:jar:sources",
       "com.ryanharter.auto.value:auto-value-gson-extension",
       "com.ryanharter.auto.value:auto-value-gson-extension:jar:sources",
       "com.ryanharter.auto.value:auto-value-gson-factory",
@@ -4049,8 +4429,14 @@
       "net.bytebuddy:byte-buddy-agent",
       "net.bytebuddy:byte-buddy-agent:jar:sources",
       "net.bytebuddy:byte-buddy:jar:sources",
+      "net.java.dev.jna:jna",
+      "net.java.dev.jna:jna-platform",
+      "net.java.dev.jna:jna-platform:jar:sources",
+      "net.java.dev.jna:jna:jar:sources",
       "net.minidev:json-smart",
       "net.minidev:json-smart:jar:sources",
+      "net.sf.jopt-simple:jopt-simple",
+      "net.sf.jopt-simple:jopt-simple:jar:sources",
       "net.sourceforge.nekohtml:nekohtml",
       "net.sourceforge.nekohtml:nekohtml:jar:sources",
       "org.antlr:ST4",
@@ -4065,6 +4451,8 @@
       "org.apache.commons:commons-compress:jar:sources",
       "org.apache.commons:commons-lang3",
       "org.apache.commons:commons-lang3:jar:sources",
+      "org.apache.commons:commons-math3",
+      "org.apache.commons:commons-math3:jar:sources",
       "org.apache.commons:commons-text",
       "org.apache.commons:commons-text:jar:sources",
       "org.apache.httpcomponents:fluent-hc",
@@ -4097,6 +4485,8 @@
       "org.apache.sshd:sshd-sftp:jar:sources",
       "org.asciidoctor:asciidoctorj",
       "org.asciidoctor:asciidoctorj:jar:sources",
+      "org.assertj:assertj-core",
+      "org.assertj:assertj-core:jar:sources",
       "org.bouncycastle:bcpg-jdk18on",
       "org.bouncycastle:bcpg-jdk18on:jar:sources",
       "org.bouncycastle:bcpkix-jdk18on",
@@ -4117,6 +4507,14 @@
       "org.commonmark:commonmark-ext-gfm-tables",
       "org.commonmark:commonmark-ext-gfm-tables:jar:sources",
       "org.commonmark:commonmark:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-nested",
+      "org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-security",
+      "org.eclipse.jetty.ee8:jetty-ee8-security:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-servlet",
+      "org.eclipse.jetty.ee8:jetty-ee8-servlet:jar:sources",
+      "org.eclipse.jetty.toolchain:jetty-servlet-api",
+      "org.eclipse.jetty.toolchain:jetty-servlet-api:jar:sources",
       "org.eclipse.jetty:jetty-http",
       "org.eclipse.jetty:jetty-http:jar:sources",
       "org.eclipse.jetty:jetty-io",
@@ -4129,6 +4527,8 @@
       "org.eclipse.jetty:jetty-server:jar:sources",
       "org.eclipse.jetty:jetty-servlet",
       "org.eclipse.jetty:jetty-servlet:jar:sources",
+      "org.eclipse.jetty:jetty-session",
+      "org.eclipse.jetty:jetty-session:jar:sources",
       "org.eclipse.jetty:jetty-util",
       "org.eclipse.jetty:jetty-util-ajax",
       "org.eclipse.jetty:jetty-util-ajax:jar:sources",
@@ -4151,6 +4551,10 @@
       "org.objenesis:objenesis:jar:sources",
       "org.openid4java:openid4java",
       "org.openid4java:openid4java:jar:sources",
+      "org.openjdk.jmh:jmh-core",
+      "org.openjdk.jmh:jmh-core:jar:sources",
+      "org.openjdk.jmh:jmh-generator-annprocess",
+      "org.openjdk.jmh:jmh-generator-annprocess:jar:sources",
       "org.ow2.asm:asm",
       "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-analysis:jar:sources",
@@ -4173,6 +4577,8 @@
       "org.slf4j:slf4j-ext:jar:sources",
       "org.slf4j:slf4j-reload4j",
       "org.slf4j:slf4j-reload4j:jar:sources",
+      "org.slf4j:slf4j-simple",
+      "org.slf4j:slf4j-simple:jar:sources",
       "org.tukaani:xz",
       "org.tukaani:xz:jar:sources",
       "xerces:xercesImpl",
@@ -4271,6 +4677,10 @@
       "com.ibm.icu:icu4j:jar:sources",
       "com.icegreen:greenmail",
       "com.icegreen:greenmail:jar:sources",
+      "com.jcraft:jsch",
+      "com.jcraft:jsch:jar:sources",
+      "com.jcraft:jzlib",
+      "com.jcraft:jzlib:jar:sources",
       "com.ryanharter.auto.value:auto-value-gson-extension",
       "com.ryanharter.auto.value:auto-value-gson-extension:jar:sources",
       "com.ryanharter.auto.value:auto-value-gson-factory",
@@ -4317,8 +4727,14 @@
       "net.bytebuddy:byte-buddy-agent",
       "net.bytebuddy:byte-buddy-agent:jar:sources",
       "net.bytebuddy:byte-buddy:jar:sources",
+      "net.java.dev.jna:jna",
+      "net.java.dev.jna:jna-platform",
+      "net.java.dev.jna:jna-platform:jar:sources",
+      "net.java.dev.jna:jna:jar:sources",
       "net.minidev:json-smart",
       "net.minidev:json-smart:jar:sources",
+      "net.sf.jopt-simple:jopt-simple",
+      "net.sf.jopt-simple:jopt-simple:jar:sources",
       "net.sourceforge.nekohtml:nekohtml",
       "net.sourceforge.nekohtml:nekohtml:jar:sources",
       "org.antlr:ST4",
@@ -4333,6 +4749,8 @@
       "org.apache.commons:commons-compress:jar:sources",
       "org.apache.commons:commons-lang3",
       "org.apache.commons:commons-lang3:jar:sources",
+      "org.apache.commons:commons-math3",
+      "org.apache.commons:commons-math3:jar:sources",
       "org.apache.commons:commons-text",
       "org.apache.commons:commons-text:jar:sources",
       "org.apache.httpcomponents:fluent-hc",
@@ -4365,6 +4783,8 @@
       "org.apache.sshd:sshd-sftp:jar:sources",
       "org.asciidoctor:asciidoctorj",
       "org.asciidoctor:asciidoctorj:jar:sources",
+      "org.assertj:assertj-core",
+      "org.assertj:assertj-core:jar:sources",
       "org.bouncycastle:bcpg-jdk18on",
       "org.bouncycastle:bcpg-jdk18on:jar:sources",
       "org.bouncycastle:bcpkix-jdk18on",
@@ -4385,6 +4805,14 @@
       "org.commonmark:commonmark-ext-gfm-tables",
       "org.commonmark:commonmark-ext-gfm-tables:jar:sources",
       "org.commonmark:commonmark:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-nested",
+      "org.eclipse.jetty.ee8:jetty-ee8-nested:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-security",
+      "org.eclipse.jetty.ee8:jetty-ee8-security:jar:sources",
+      "org.eclipse.jetty.ee8:jetty-ee8-servlet",
+      "org.eclipse.jetty.ee8:jetty-ee8-servlet:jar:sources",
+      "org.eclipse.jetty.toolchain:jetty-servlet-api",
+      "org.eclipse.jetty.toolchain:jetty-servlet-api:jar:sources",
       "org.eclipse.jetty:jetty-http",
       "org.eclipse.jetty:jetty-http:jar:sources",
       "org.eclipse.jetty:jetty-io",
@@ -4397,6 +4825,8 @@
       "org.eclipse.jetty:jetty-server:jar:sources",
       "org.eclipse.jetty:jetty-servlet",
       "org.eclipse.jetty:jetty-servlet:jar:sources",
+      "org.eclipse.jetty:jetty-session",
+      "org.eclipse.jetty:jetty-session:jar:sources",
       "org.eclipse.jetty:jetty-util",
       "org.eclipse.jetty:jetty-util-ajax",
       "org.eclipse.jetty:jetty-util-ajax:jar:sources",
@@ -4419,6 +4849,10 @@
       "org.objenesis:objenesis:jar:sources",
       "org.openid4java:openid4java",
       "org.openid4java:openid4java:jar:sources",
+      "org.openjdk.jmh:jmh-core",
+      "org.openjdk.jmh:jmh-core:jar:sources",
+      "org.openjdk.jmh:jmh-generator-annprocess",
+      "org.openjdk.jmh:jmh-generator-annprocess:jar:sources",
       "org.ow2.asm:asm",
       "org.ow2.asm:asm-analysis",
       "org.ow2.asm:asm-analysis:jar:sources",
@@ -4441,6 +4875,8 @@
       "org.slf4j:slf4j-ext:jar:sources",
       "org.slf4j:slf4j-reload4j",
       "org.slf4j:slf4j-reload4j:jar:sources",
+      "org.slf4j:slf4j-simple",
+      "org.slf4j:slf4j-simple:jar:sources",
       "org.tukaani:xz",
       "org.tukaani:xz:jar:sources",
       "xerces:xercesImpl",
@@ -4788,6 +5224,16 @@
         "org.jruby.embed.jsr223.JRubyEngineFactory"
       ]
     },
+    "org.openjdk.jmh:jmh-generator-annprocess": {
+      "javax.annotation.processing.Processor": [
+        "org.openjdk.jmh.generators.BenchmarkProcessor"
+      ]
+    },
+    "org.openjdk.jmh:jmh-generator-annprocess:jar:sources": {
+      "javax.annotation.processing.Processor": [
+        "org.openjdk.jmh.generators.BenchmarkProcessor"
+      ]
+    },
     "org.slf4j:jcl-over-slf4j": {
       "org.apache.commons.logging.LogFactory": [
         "org.apache.commons.logging.impl.SLF4JLogFactory"
@@ -4808,6 +5254,16 @@
         "org.slf4j.reload4j.Reload4jServiceProvider"
       ]
     },
+    "org.slf4j:slf4j-simple": {
+      "org.slf4j.spi.SLF4JServiceProvider": [
+        "org.slf4j.simple.SimpleServiceProvider"
+      ]
+    },
+    "org.slf4j:slf4j-simple:jar:sources": {
+      "org.slf4j.spi.SLF4JServiceProvider": [
+        "org.slf4j.simple.SimpleServiceProvider"
+      ]
+    },
     "xerces:xercesImpl": {
       "javax.xml.datatype.DatatypeFactory": [
         "org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl"
diff --git a/lib/BUILD b/lib/BUILD
index 1f26176..7255a4d 100644
--- a/lib/BUILD
+++ b/lib/BUILD
@@ -18,21 +18,21 @@
     data = ["//lib:LICENSE-Apache2.0"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:javax_servlet_javax_servlet_api"],
+    exports = ["@external_deps//:javax_servlet_javax_servlet_api"],
 )
 
 java_library(
     name = "servlet-api-without-neverlink",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:javax_servlet_javax_servlet_api"],
+    exports = ["@external_deps//:javax_servlet_javax_servlet_api"],
 )
 
 java_library(
     name = "gson",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_code_gson_gson"],
+    exports = ["@external_deps//:com_google_code_gson_gson"],
 )
 
 java_library(
@@ -88,28 +88,28 @@
     name = "javaewah",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_googlecode_javaewah_JavaEWAH"],
+    exports = ["@external_deps//:com_googlecode_javaewah_JavaEWAH"],
 )
 
 java_library(
     name = "protobuf",
     data = ["//lib:LICENSE-protobuf"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_protobuf_protobuf_java"],
+    exports = ["@external_deps//:com_google_protobuf_protobuf_java"],
 )
 
 java_library(
     name = "guava-failureaccess",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_guava_failureaccess"],
+    exports = ["@external_deps//:com_google_guava_failureaccess"],
 )
 
 java_library(
     name = "j2objc",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_j2objc_j2objc_annotations"],
+    exports = ["@external_deps//:com_google_j2objc_j2objc_annotations"],
 )
 
 java_library(
@@ -119,7 +119,7 @@
     exports = [
         ":guava-failureaccess",
         ":j2objc",
-        "@gerrit_deps//:com_google_guava_guava",
+        "@external_deps//:com_google_guava_guava",
     ],
 )
 
@@ -128,7 +128,7 @@
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
     exports = [
-        "@gerrit_deps//:com_google_guava_guava_testlib",
+        "@external_deps//:com_google_guava_guava_testlib",
     ],
 )
 
@@ -139,7 +139,7 @@
         "//java/com/google/gerrit/acceptance:__pkg__",
         "//java/com/google/gerrit/server/cache/mem:__pkg__",
     ],
-    exports = ["@gerrit_deps//:com_github_ben_manes_caffeine_caffeine"],
+    exports = ["@external_deps//:com_github_ben_manes_caffeine_caffeine"],
 )
 
 java_library(
@@ -149,56 +149,56 @@
         "//java/com/google/gerrit/acceptance:__pkg__",
         "//java/com/google/gerrit/server/cache/mem:__pkg__",
     ],
-    exports = ["@gerrit_deps//:com_github_ben_manes_caffeine_guava"],
+    exports = ["@external_deps//:com_github_ben_manes_caffeine_guava"],
 )
 
 java_library(
     name = "args4j",
     data = ["//lib:LICENSE-args4j"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:args4j_args4j"],
+    exports = ["@external_deps//:args4j_args4j"],
 )
 
 java_library(
     name = "automaton",
     data = ["//lib:LICENSE-automaton"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:dk_brics_automaton"],
+    exports = ["@external_deps//:dk_brics_automaton"],
 )
 
 java_library(
     name = "flexmark-all-lib",
     data = ["//lib:LICENSE-flexmark"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_vladsch_flexmark_flexmark_all_lib"],
+    exports = ["@external_deps//:com_vladsch_flexmark_flexmark_all_lib"],
 )
 
 java_library(
     name = "autolink",
     data = ["//lib:LICENSE-autolink"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_nibor_autolink_autolink"],
+    exports = ["@external_deps//:org_nibor_autolink_autolink"],
 )
 
 java_library(
     name = "tukaani-xz",
     data = ["//lib:LICENSE-xz"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_tukaani_xz"],
+    exports = ["@external_deps//:org_tukaani_xz"],
 )
 
 java_library(
     name = "mime-util",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:eu_medsea_mimeutil_mime_util"],
+    exports = ["@external_deps//:eu_medsea_mimeutil_mime_util"],
 )
 
 java_library(
     name = "guava-retrying",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_github_rholder_guava_retrying"],
+    exports = ["@external_deps//:com_github_rholder_guava_retrying"],
     runtime_deps = [":jsr305"],
 )
 
@@ -206,28 +206,28 @@
     name = "jsr305",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_code_findbugs_jsr305"],
+    exports = ["@external_deps//:com_google_code_findbugs_jsr305"],
 )
 
 java_library(
     name = "blame-cache",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_gitiles_blame_cache"],
+    exports = ["@external_deps//:com_google_gitiles_blame_cache"],
 )
 
 java_library(
     name = "h2",
     data = ["//lib:LICENSE-h2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_h2database_h2"],
+    exports = ["@external_deps//:com_h2database_h2"],
 )
 
 java_library(
     name = "jimfs",
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_jimfs_jimfs"],
+    exports = ["@external_deps//:com_google_jimfs_jimfs"],
     runtime_deps = [":guava"],
 )
 
@@ -237,7 +237,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":hamcrest",
-        "@gerrit_deps//:junit_junit",
+        "@external_deps//:junit_junit",
     ],
     runtime_deps = [":hamcrest"],
 )
@@ -246,14 +246,14 @@
     name = "hamcrest",
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_hamcrest_hamcrest"],
+    exports = ["@external_deps//:org_hamcrest_hamcrest"],
 )
 
 java_library(
     name = "soy",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_template_soy"],
+    exports = ["@external_deps//:com_google_template_soy"],
     runtime_deps = [
         ":args4j",
         ":gson",
@@ -277,14 +277,14 @@
     name = "html-types",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_common_html_types_types"],
+    exports = ["@external_deps//:com_google_common_html_types_types"],
 )
 
 java_library(
     name = "icu4j",
     data = ["//lib:LICENSE-icu4j"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_ibm_icu_icu4j"],
+    exports = ["@external_deps//:com_ibm_icu_icu4j"],
 )
 
 java_library(
@@ -292,8 +292,8 @@
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
     exports = [
-        "@gerrit_deps//:org_roaringbitmap_RoaringBitmap",
-        "@gerrit_deps//:org_roaringbitmap_shims",
+        "@external_deps//:org_roaringbitmap_RoaringBitmap",
+        "@external_deps//:org_roaringbitmap_shims",
     ],
 )
 
diff --git a/lib/antlr/BUILD b/lib/antlr/BUILD
index efbf30c..f9b19c7 100644
--- a/lib/antlr/BUILD
+++ b/lib/antlr/BUILD
@@ -5,20 +5,20 @@
 java_library(
     name = "antlr27",
     data = ["//lib:LICENSE-antlr"],
-    exports = ["@gerrit_deps//:antlr_antlr_2_7_7"],
+    exports = ["@external_deps//:antlr_antlr_2_7_7"],
 )
 
 java_library(
     name = "stringtemplate",
     data = ["//lib:LICENSE-antlr"],
-    exports = ["@gerrit_deps//:org_antlr_stringtemplate"],
+    exports = ["@external_deps//:org_antlr_stringtemplate"],
 )
 
 java_library(
     name = "java-runtime",
     data = ["//lib:LICENSE-antlr"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_antlr_antlr_runtime"],
+    exports = ["@external_deps//:org_antlr_antlr_runtime"],
 )
 
 # See https://github.com/bazelbuild/bazel/issues/3542
@@ -34,7 +34,7 @@
 java_library(
     name = "tool",
     data = ["//lib:LICENSE-antlr"],
-    exports = ["@gerrit_deps//:org_antlr_antlr"],
+    exports = ["@external_deps//:org_antlr_antlr"],
     runtime_deps = [
         ":antlr27",
         ":java-runtime",
diff --git a/lib/asciidoctor/BUILD b/lib/asciidoctor/BUILD
index cde87bf..c4ca4da 100644
--- a/lib/asciidoctor/BUILD
+++ b/lib/asciidoctor/BUILD
@@ -4,12 +4,12 @@
     name = "asciidoctor",
     data = ["//lib:LICENSE-asciidoctor"],
     visibility = ["//java/com/google/gerrit/asciidoctor:__pkg__"],
-    exports = ["@gerrit_deps//:org_asciidoctor_asciidoctorj"],
+    exports = ["@external_deps//:org_asciidoctor_asciidoctorj"],
     runtime_deps = [":jruby"],
 )
 
 java_library(
     name = "jruby",
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
-    exports = ["@gerrit_deps//:org_jruby_jruby_complete"],
+    exports = ["@external_deps//:org_jruby_jruby_complete"],
 )
diff --git a/lib/auto/BUILD b/lib/auto/BUILD
index 6831996..31044b6 100644
--- a/lib/auto/BUILD
+++ b/lib/auto/BUILD
@@ -4,8 +4,8 @@
     name = "auto-annotation-plugin",
     processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
     deps = [
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
     ],
 )
 
@@ -15,14 +15,14 @@
     processor_class = "com.google.auto.factory.processor.AutoFactoryProcessor",
     visibility = ["//visibility:private"],
     deps = [
-        "@gerrit_deps//:com_google_auto_auto_common",
-        "@gerrit_deps//:com_google_auto_factory_auto_factory",
-        "@gerrit_deps//:com_google_auto_service_auto_service_annotations",
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
-        "@gerrit_deps//:com_google_guava_guava",
-        "@gerrit_deps//:com_squareup_javapoet",
-        "@gerrit_deps//:javax_inject_javax_inject",
+        "@external_deps//:com_google_auto_auto_common",
+        "@external_deps//:com_google_auto_factory_auto_factory",
+        "@external_deps//:com_google_auto_service_auto_service_annotations",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_guava_guava",
+        "@external_deps//:com_squareup_javapoet",
+        "@external_deps//:javax_inject_javax_inject",
     ],
 )
 
@@ -30,14 +30,14 @@
     name = "auto-builder-plugin",
     processor_class = "com.google.auto.value.processor.AutoBuilderProcessor",
     deps = [
-        "@gerrit_deps//:com_google_auto_auto_common",
-        "@gerrit_deps//:com_google_auto_factory_auto_factory",
-        "@gerrit_deps//:com_google_auto_service_auto_service_annotations",
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
-        "@gerrit_deps//:com_google_guava_guava",
-        "@gerrit_deps//:com_squareup_javapoet",
-        "@gerrit_deps//:javax_inject_javax_inject",
+        "@external_deps//:com_google_auto_auto_common",
+        "@external_deps//:com_google_auto_factory_auto_factory",
+        "@external_deps//:com_google_auto_service_auto_service_annotations",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_guava_guava",
+        "@external_deps//:com_squareup_javapoet",
+        "@external_deps//:javax_inject_javax_inject",
     ],
 )
 
@@ -45,8 +45,8 @@
     name = "auto-value-plugin",
     processor_class = "com.google.auto.value.processor.AutoValueProcessor",
     deps = [
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
     ],
 )
 
@@ -54,8 +54,8 @@
     name = "auto-oneof-plugin",
     processor_class = "com.google.auto.value.processor.AutoOneOfProcessor",
     deps = [
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
     ],
 )
 
@@ -63,14 +63,14 @@
     name = "auto-value-gson-plugin",
     processor_class = "com.ryanharter.auto.value.gson.factory.AutoValueGsonAdapterFactoryProcessor",
     deps = [
-        "@gerrit_deps//:com_google_auto_value_auto_value",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
-        "@gerrit_deps//:com_google_code_gson_gson",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_extension",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_factory",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
-        "@gerrit_deps//:com_squareup_javapoet",
-        "@gerrit_deps//:io_sweers_autotransient_autotransient",
+        "@external_deps//:com_google_auto_value_auto_value",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_code_gson_gson",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_extension",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_factory",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
+        "@external_deps//:com_squareup_javapoet",
+        "@external_deps//:io_sweers_autotransient_autotransient",
     ],
 )
 
@@ -81,7 +81,7 @@
         ":auto-factory-plugin",
     ],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_auto_factory_auto_factory"],
+    exports = ["@external_deps//:com_google_auto_factory_auto_factory"],
 )
 
 java_library(
@@ -94,7 +94,7 @@
         ":auto-oneof-plugin",
     ],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_auto_value_auto_value"],
+    exports = ["@external_deps//:com_google_auto_value_auto_value"],
 )
 
 java_library(
@@ -107,7 +107,7 @@
         ":auto-oneof-plugin",
     ],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_auto_value_auto_value_annotations"],
+    exports = ["@external_deps//:com_google_auto_value_auto_value_annotations"],
 )
 
 java_library(
@@ -118,6 +118,6 @@
     ],
     visibility = ["//visibility:public"],
     exports = [
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
     ],
 )
diff --git a/lib/bouncycastle/BUILD b/lib/bouncycastle/BUILD
index b7ff237..fbfc223 100644
--- a/lib/bouncycastle/BUILD
+++ b/lib/bouncycastle/BUILD
@@ -4,28 +4,28 @@
     name = "bcprov",
     data = ["//lib:LICENSE-bouncycastle"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcprov_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcprov_jdk18on"],
 )
 
 java_library(
     name = "bcpg",
     data = ["//lib:LICENSE-bouncycastle"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcpg_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcpg_jdk18on"],
 )
 
 java_library(
     name = "bcpkix",
     data = ["//lib:LICENSE-bouncycastle"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcpkix_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcpkix_jdk18on"],
 )
 
 java_library(
     name = "bcutil",
     data = ["//lib:LICENSE-bouncycastle"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcutil_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcutil_jdk18on"],
 )
 
 java_library(
@@ -33,7 +33,7 @@
     data = ["//lib:LICENSE-bouncycastle"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcprov_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcprov_jdk18on"],
 )
 
 java_library(
@@ -41,7 +41,7 @@
     data = ["//lib:LICENSE-bouncycastle"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcpg_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcpg_jdk18on"],
 )
 
 java_library(
@@ -49,7 +49,7 @@
     data = ["//lib:LICENSE-bouncycastle"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcpkix_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcpkix_jdk18on"],
 )
 
 java_library(
@@ -57,5 +57,5 @@
     data = ["//lib:LICENSE-bouncycastle"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_bouncycastle_bcutil_jdk18on"],
+    exports = ["@external_deps//:org_bouncycastle_bcutil_jdk18on"],
 )
diff --git a/lib/commons/BUILD b/lib/commons/BUILD
index 58e0be1..3e8cf74 100644
--- a/lib/commons/BUILD
+++ b/lib/commons/BUILD
@@ -5,56 +5,56 @@
 java_library(
     name = "codec",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_codec_commons_codec"],
+    exports = ["@external_deps//:commons_codec_commons_codec"],
 )
 
 java_library(
     name = "compress",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_commons_commons_compress"],
+    exports = ["@external_deps//:org_apache_commons_commons_compress"],
     runtime_deps = [":io"],
 )
 
 java_library(
     name = "lang3",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_commons_commons_lang3"],
+    exports = ["@external_deps//:org_apache_commons_commons_lang3"],
 )
 
 java_library(
     name = "net",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_net_commons_net"],
+    exports = ["@external_deps//:commons_net_commons_net"],
 )
 
 java_library(
     name = "dbcp",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_dbcp_commons_dbcp"],
+    exports = ["@external_deps//:commons_dbcp_commons_dbcp"],
     runtime_deps = [":pool"],
 )
 
 java_library(
     name = "pool",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_pool_commons_pool"],
+    exports = ["@external_deps//:commons_pool_commons_pool"],
 )
 
 java_library(
     name = "text",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_apache_commons_commons_text"],
+    exports = ["@external_deps//:org_apache_commons_commons_text"],
 )
 
 java_library(
     name = "validator",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_validator_commons_validator"],
+    exports = ["@external_deps//:commons_validator_commons_validator"],
 )
 
 java_library(
     name = "io",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:commons_io_commons_io"],
+    exports = ["@external_deps//:commons_io_commons_io"],
 )
diff --git a/lib/dropwizard/BUILD b/lib/dropwizard/BUILD
index 95c16354..fd78cb2 100644
--- a/lib/dropwizard/BUILD
+++ b/lib/dropwizard/BUILD
@@ -4,5 +4,5 @@
     name = "dropwizard-core",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:io_dropwizard_metrics_metrics_core"],
+    exports = ["@external_deps//:io_dropwizard_metrics_metrics_core"],
 )
diff --git a/lib/errorprone/BUILD b/lib/errorprone/BUILD
index 8113be8..9bc08b1 100644
--- a/lib/errorprone/BUILD
+++ b/lib/errorprone/BUILD
@@ -5,5 +5,5 @@
     data = ["//lib:LICENSE-Apache2.0"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_errorprone_error_prone_annotations"],
+    exports = ["@external_deps//:com_google_errorprone_error_prone_annotations"],
 )
diff --git a/lib/flogger/BUILD b/lib/flogger/BUILD
index 79f7188..e0fada6 100644
--- a/lib/flogger/BUILD
+++ b/lib/flogger/BUILD
@@ -5,9 +5,9 @@
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
     exports = [
-        "@gerrit_deps//:com_google_flogger_flogger",
-        "@gerrit_deps//:com_google_flogger_flogger_log4j_backend",
-        "@gerrit_deps//:com_google_flogger_flogger_system_backend",
-        "@gerrit_deps//:com_google_flogger_google_extensions",
+        "@external_deps//:com_google_flogger_flogger",
+        "@external_deps//:com_google_flogger_flogger_log4j_backend",
+        "@external_deps//:com_google_flogger_flogger_system_backend",
+        "@external_deps//:com_google_flogger_google_extensions",
     ],
 )
diff --git a/lib/gitiles/BUILD b/lib/gitiles/BUILD
index 4bfc9e8..3457828 100644
--- a/lib/gitiles/BUILD
+++ b/lib/gitiles/BUILD
@@ -19,35 +19,35 @@
     name = "cm-autolink",
     data = ["//lib:LICENSE-commonmark"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_commonmark_commonmark_ext_autolink"],
+    exports = ["@external_deps//:org_commonmark_commonmark_ext_autolink"],
 )
 
 java_library(
     name = "commonmark",
     data = ["//lib:LICENSE-commonmark"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_commonmark_commonmark"],
+    exports = ["@external_deps//:org_commonmark_commonmark"],
 )
 
 java_library(
     name = "gfm-strikethrough",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_commonmark_commonmark_ext_gfm_strikethrough"],
+    exports = ["@external_deps//:org_commonmark_commonmark_ext_gfm_strikethrough"],
 )
 
 java_library(
     name = "gfm-tables",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_commonmark_commonmark_ext_gfm_tables"],
+    exports = ["@external_deps//:org_commonmark_commonmark_ext_gfm_tables"],
 )
 
 java_library(
     name = "gitiles-servlet",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_gitiles_gitiles_servlet"],
+    exports = ["@external_deps//:com_google_gitiles_gitiles_servlet"],
 )
 
 java_library(
diff --git a/lib/greenmail/BUILD b/lib/greenmail/BUILD
index 644e0a1..007f257 100644
--- a/lib/greenmail/BUILD
+++ b/lib/greenmail/BUILD
@@ -6,13 +6,13 @@
     name = "javax-activation",
     testonly = True,
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
-    exports = ["@gerrit_deps//:javax_activation_activation"],
+    exports = ["@external_deps//:javax_activation_activation"],
 )
 
 java_library(
     name = "greenmail",
     testonly = True,
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:com_icegreen_greenmail"],
+    exports = ["@external_deps//:com_icegreen_greenmail"],
     runtime_deps = [":javax-activation"],
 )
diff --git a/lib/guice/BUILD b/lib/guice/BUILD
index b80b74a..8e4272b 100644
--- a/lib/guice/BUILD
+++ b/lib/guice/BUILD
@@ -15,7 +15,7 @@
     name = "guice-library",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_inject_guice"],
+    exports = ["@external_deps//:com_google_inject_guice"],
     runtime_deps = ["aopalliance"],
 )
 
@@ -23,7 +23,7 @@
     name = "guice-assistedinject",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_inject_extensions_guice_assistedinject"],
+    exports = ["@external_deps//:com_google_inject_extensions_guice_assistedinject"],
     runtime_deps = [":guice"],
 )
 
@@ -31,26 +31,26 @@
     name = "guice-servlet",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_inject_extensions_guice_servlet"],
+    exports = ["@external_deps//:com_google_inject_extensions_guice_servlet"],
     runtime_deps = [":guice"],
 )
 
 java_library(
     name = "aopalliance",
     data = ["//lib:LICENSE-PublicDomain"],
-    exports = ["@gerrit_deps//:aopalliance_aopalliance"],
+    exports = ["@external_deps//:aopalliance_aopalliance"],
 )
 
 java_library(
     name = "jakarta-inject",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:jakarta_inject_jakarta_inject_api"],
+    exports = ["@external_deps//:jakarta_inject_jakarta_inject_api"],
 )
 
 java_library(
     name = "javax_inject",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:javax_inject_javax_inject"],
+    exports = ["@external_deps//:javax_inject_javax_inject"],
 )
diff --git a/lib/httpcomponents/BUILD b/lib/httpcomponents/BUILD
index 5bf3e4a..8ead589 100644
--- a/lib/httpcomponents/BUILD
+++ b/lib/httpcomponents/BUILD
@@ -5,14 +5,14 @@
 java_library(
     name = "fluent-hc",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_httpcomponents_fluent_hc"],
+    exports = ["@external_deps//:org_apache_httpcomponents_fluent_hc"],
     runtime_deps = [":httpclient"],
 )
 
 java_library(
     name = "httpclient",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_httpcomponents_httpclient"],
+    exports = ["@external_deps//:org_apache_httpcomponents_httpclient"],
     runtime_deps = [
         ":httpcore",
         "//lib/commons:codec",
@@ -23,5 +23,5 @@
 java_library(
     name = "httpcore",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_httpcomponents_httpcore"],
+    exports = ["@external_deps//:org_apache_httpcomponents_httpcore"],
 )
diff --git a/lib/jetty/BUILD b/lib/jetty/BUILD
index 544381e..fc029ed 100644
--- a/lib/jetty/BUILD
+++ b/lib/jetty/BUILD
@@ -6,7 +6,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":util-ajax",
-        "@gerrit_deps//:org_eclipse_jetty_jetty_servlet",
+        "@external_deps//:org_eclipse_jetty_jetty_servlet",
     ],
     runtime_deps = [":security"],
 )
@@ -15,7 +15,7 @@
     name = "security",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_eclipse_jetty_jetty_security"],
+    exports = ["@external_deps//:org_eclipse_jetty_jetty_security"],
     runtime_deps = [":server"],
 )
 
@@ -25,7 +25,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":http",
-        "@gerrit_deps//:org_eclipse_jetty_jetty_server",
+        "@external_deps//:org_eclipse_jetty_jetty_server",
     ],
 )
 
@@ -35,7 +35,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":http",
-        "@gerrit_deps//:org_eclipse_jetty_jetty_jmx",
+        "@external_deps//:org_eclipse_jetty_jetty_jmx",
     ],
 )
 
@@ -45,7 +45,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":io",
-        "@gerrit_deps//:org_eclipse_jetty_jetty_http",
+        "@external_deps//:org_eclipse_jetty_jetty_http",
     ],
 )
 
@@ -54,18 +54,18 @@
     data = ["//lib:LICENSE-Apache2.0"],
     exports = [
         ":util",
-        "@gerrit_deps//:org_eclipse_jetty_jetty_io",
+        "@external_deps//:org_eclipse_jetty_jetty_io",
     ],
 )
 
 java_library(
     name = "util",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_eclipse_jetty_jetty_util"],
+    exports = ["@external_deps//:org_eclipse_jetty_jetty_util"],
 )
 
 java_library(
     name = "util-ajax",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_eclipse_jetty_jetty_util_ajax"],
+    exports = ["@external_deps//:org_eclipse_jetty_jetty_util_ajax"],
 )
diff --git a/lib/jsoup/BUILD b/lib/jsoup/BUILD
index 6388e84..57a16f6 100644
--- a/lib/jsoup/BUILD
+++ b/lib/jsoup/BUILD
@@ -4,5 +4,5 @@
     name = "jsoup",
     data = ["//lib:LICENSE-jsoup"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_jsoup_jsoup"],
+    exports = ["@external_deps//:org_jsoup_jsoup"],
 )
diff --git a/lib/log/BUILD b/lib/log/BUILD
index b2db766..9dbd55c 100644
--- a/lib/log/BUILD
+++ b/lib/log/BUILD
@@ -7,21 +7,21 @@
         "//lib:__pkg__",
         "//plugins:__pkg__",
     ],
-    exports = ["@gerrit_deps//:org_slf4j_slf4j_api"],
+    exports = ["@external_deps//:org_slf4j_slf4j_api"],
 )
 
 java_library(
     name = "ext",
     data = ["//lib:LICENSE-slf4j"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_slf4j_slf4j_ext"],
+    exports = ["@external_deps//:org_slf4j_slf4j_ext"],
 )
 
 java_library(
     name = "impl-log4j",
     data = ["//lib:LICENSE-slf4j"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_slf4j_slf4j_reload4j"],
+    exports = ["@external_deps//:org_slf4j_slf4j_reload4j"],
     runtime_deps = [":log4j"],
 )
 
@@ -29,19 +29,19 @@
     name = "jcl-over-slf4j",
     data = ["//lib:LICENSE-slf4j"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_slf4j_jcl_over_slf4j"],
+    exports = ["@external_deps//:org_slf4j_jcl_over_slf4j"],
 )
 
 java_library(
     name = "log4j",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:ch_qos_reload4j_reload4j"],
+    exports = ["@external_deps//:ch_qos_reload4j_reload4j"],
 )
 
 java_library(
     name = "json-smart",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:net_minidev_json_smart"],
+    exports = ["@external_deps//:net_minidev_json_smart"],
 )
diff --git a/lib/lucene/BUILD b/lib/lucene/BUILD
index 5a4be78..d001d30 100644
--- a/lib/lucene/BUILD
+++ b/lib/lucene/BUILD
@@ -5,33 +5,33 @@
 java_library(
     name = "lucene-analyzers-common",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_lucene_lucene_analysis_common"],
+    exports = ["@external_deps//:org_apache_lucene_lucene_analysis_common"],
     runtime_deps = [":lucene-core"],
 )
 
 java_library(
     name = "lucene-backward-codecs",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_lucene_lucene_backward_codecs"],
+    exports = ["@external_deps//:org_apache_lucene_lucene_backward_codecs"],
 )
 
 java_library(
     name = "lucene-core",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_lucene_lucene_core"],
+    exports = ["@external_deps//:org_apache_lucene_lucene_core"],
     runtime_deps = [":lucene-backward-codecs"],
 )
 
 java_library(
     name = "lucene-misc",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_lucene_lucene_misc"],
+    exports = ["@external_deps//:org_apache_lucene_lucene_misc"],
     runtime_deps = [":lucene-core"],
 )
 
 java_library(
     name = "lucene-queryparser",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_apache_lucene_lucene_queryparser"],
+    exports = ["@external_deps//:org_apache_lucene_lucene_queryparser"],
     runtime_deps = [":lucene-core"],
 )
diff --git a/lib/mail/BUILD b/lib/mail/BUILD
index 4dac3ee..c8f6dd4 100644
--- a/lib/mail/BUILD
+++ b/lib/mail/BUILD
@@ -4,5 +4,5 @@
     name = "mail",
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_sun_mail_javax_mail"],
+    exports = ["@external_deps//:com_sun_mail_javax_mail"],
 )
diff --git a/lib/mime4j/BUILD b/lib/mime4j/BUILD
index ed5556e..ea8e9d5 100644
--- a/lib/mime4j/BUILD
+++ b/lib/mime4j/BUILD
@@ -4,12 +4,12 @@
     name = "core",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_apache_james_apache_mime4j_core"],
+    exports = ["@external_deps//:org_apache_james_apache_mime4j_core"],
 )
 
 java_library(
     name = "dom",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_apache_james_apache_mime4j_dom"],
+    exports = ["@external_deps//:org_apache_james_apache_mime4j_dom"],
 )
diff --git a/lib/mina/BUILD b/lib/mina/BUILD
index 44a2d04..00cc2e5 100644
--- a/lib/mina/BUILD
+++ b/lib/mina/BUILD
@@ -5,8 +5,8 @@
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
     exports = [
-        "@gerrit_deps//:org_apache_sshd_sshd_mina",
-        "@gerrit_deps//:org_apache_sshd_sshd_osgi",
+        "@external_deps//:org_apache_sshd_sshd_mina",
+        "@external_deps//:org_apache_sshd_sshd_osgi",
     ],
     runtime_deps = [":core"],
 )
@@ -15,12 +15,12 @@
     name = "sshd-sftp",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_apache_sshd_sshd_sftp"],
+    exports = ["@external_deps//:org_apache_sshd_sshd_sftp"],
 )
 
 java_library(
     name = "core",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_apache_mina_mina_core"],
+    exports = ["@external_deps//:org_apache_mina_mina_core"],
 )
diff --git a/lib/mockito/BUILD b/lib/mockito/BUILD
index caf8d4f..215f5ff 100644
--- a/lib/mockito/BUILD
+++ b/lib/mockito/BUILD
@@ -9,7 +9,7 @@
     name = "mockito",
     data = ["//lib:LICENSE-mockito"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_mockito_mockito_core"],
+    exports = ["@external_deps//:org_mockito_mockito_core"],
     runtime_deps = [
         ":byte-buddy",
         ":byte-buddy-agent",
@@ -20,17 +20,17 @@
 java_library(
     name = "byte-buddy",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:net_bytebuddy_byte_buddy"],
+    exports = ["@external_deps//:net_bytebuddy_byte_buddy"],
 )
 
 java_library(
     name = "byte-buddy-agent",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:net_bytebuddy_byte_buddy_agent"],
+    exports = ["@external_deps//:net_bytebuddy_byte_buddy_agent"],
 )
 
 java_library(
     name = "objenesis",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:org_objenesis_objenesis"],
+    exports = ["@external_deps//:org_objenesis_objenesis"],
 )
diff --git a/lib/openid/BUILD b/lib/openid/BUILD
index 10996b3..dfab6a5 100644
--- a/lib/openid/BUILD
+++ b/lib/openid/BUILD
@@ -4,7 +4,7 @@
     name = "consumer",
     data = ["//lib:LICENSE-Apache2.0"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_openid4java_openid4java"],
+    exports = ["@external_deps//:org_openid4java_openid4java"],
     runtime_deps = [
         ":nekohtml",
         ":xerces",
@@ -17,12 +17,12 @@
 java_library(
     name = "nekohtml",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:net_sourceforge_nekohtml_nekohtml"],
+    exports = ["@external_deps//:net_sourceforge_nekohtml_nekohtml"],
     runtime_deps = [":xerces"],
 )
 
 java_library(
     name = "xerces",
     data = ["//lib:LICENSE-Apache2.0"],
-    exports = ["@gerrit_deps//:xerces_xercesImpl"],
+    exports = ["@external_deps//:xerces_xercesImpl"],
 )
diff --git a/lib/ow2/BUILD b/lib/ow2/BUILD
index 71da39b..529f090 100644
--- a/lib/ow2/BUILD
+++ b/lib/ow2/BUILD
@@ -4,21 +4,21 @@
     name = "ow2-asm",
     data = ["//lib:LICENSE-ow2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_ow2_asm_asm"],
+    exports = ["@external_deps//:org_ow2_asm_asm"],
 )
 
 java_library(
     name = "ow2-asm-analysis",
     data = ["//lib:LICENSE-ow2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_ow2_asm_asm_analysis"],
+    exports = ["@external_deps//:org_ow2_asm_asm_analysis"],
 )
 
 java_library(
     name = "ow2-asm-commons",
     data = ["//lib:LICENSE-ow2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_ow2_asm_asm_commons"],
+    exports = ["@external_deps//:org_ow2_asm_asm_commons"],
     runtime_deps = [":ow2-asm-tree"],
 )
 
@@ -26,12 +26,12 @@
     name = "ow2-asm-tree",
     data = ["//lib:LICENSE-ow2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_ow2_asm_asm_tree"],
+    exports = ["@external_deps//:org_ow2_asm_asm_tree"],
 )
 
 java_library(
     name = "ow2-asm-util",
     data = ["//lib:LICENSE-ow2"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:org_ow2_asm_asm_util"],
+    exports = ["@external_deps//:org_ow2_asm_asm_util"],
 )
diff --git a/lib/prolog/BUILD b/lib/prolog/BUILD
index 724b628..6b99765 100644
--- a/lib/prolog/BUILD
+++ b/lib/prolog/BUILD
@@ -4,7 +4,7 @@
     name = "runtime",
     data = ["//lib:LICENSE-prologcafe"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_googlecode_prolog_cafe_prolog_runtime"],
+    exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_runtime"],
 )
 
 java_library(
@@ -12,14 +12,14 @@
     data = ["//lib:LICENSE-prologcafe"],
     neverlink = 1,
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_googlecode_prolog_cafe_prolog_runtime"],
+    exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_runtime"],
 )
 
 java_library(
     name = "compiler",
     data = ["//lib:LICENSE-prologcafe"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_googlecode_prolog_cafe_prolog_compiler"],
+    exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_compiler"],
     runtime_deps = [
         ":io",
         ":runtime",
@@ -29,14 +29,14 @@
 java_library(
     name = "io",
     data = ["//lib:LICENSE-prologcafe"],
-    exports = ["@gerrit_deps//:com_googlecode_prolog_cafe_prolog_io"],
+    exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_io"],
 )
 
 java_library(
     name = "cafeteria",
     data = ["//lib:LICENSE-prologcafe"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_googlecode_prolog_cafe_prolog_cafeteria"],
+    exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_cafeteria"],
     runtime_deps = [
         "io",
         "runtime",
diff --git a/lib/truth/BUILD b/lib/truth/BUILD
index 151c15b..ce9922c 100644
--- a/lib/truth/BUILD
+++ b/lib/truth/BUILD
@@ -5,7 +5,7 @@
     testonly = True,
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_truth_truth"],
+    exports = ["@external_deps//:com_google_truth_truth"],
     runtime_deps = [
         ":diffutils",
         "//lib:guava",
@@ -18,7 +18,7 @@
     testonly = True,
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:public"],
-    exports = ["@gerrit_deps//:com_google_truth_extensions_truth_java8_extension"],
+    exports = ["@external_deps//:com_google_truth_extensions_truth_java8_extension"],
     runtime_deps = [
         ":truth",
         "//lib:guava",
@@ -30,7 +30,7 @@
     testonly = True,
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:private"],
-    exports = ["@gerrit_deps//:com_google_truth_extensions_truth_liteproto_extension"],
+    exports = ["@external_deps//:com_google_truth_extensions_truth_liteproto_extension"],
     runtime_deps = [
         ":truth",
         "//lib:guava",
@@ -43,7 +43,7 @@
     testonly = True,
     data = ["//lib:LICENSE-DO_NOT_DISTRIBUTE"],
     visibility = ["//visibility:private"],
-    exports = ["@gerrit_deps//:io_github_java_diff_utils_java_diff_utils"],
+    exports = ["@external_deps//:io_github_java_diff_utils_java_diff_utils"],
 )
 
 java_library(
@@ -53,7 +53,7 @@
     visibility = ["//visibility:public"],
     exports = [
         ":truth-liteproto-extension",
-        "@gerrit_deps//:com_google_truth_extensions_truth_proto_extension",
+        "@external_deps//:com_google_truth_extensions_truth_proto_extension",
     ],
     runtime_deps = [
         ":truth",
diff --git a/modules/jgit b/modules/jgit
index 4e67a23..d95b54f 160000
--- a/modules/jgit
+++ b/modules/jgit
@@ -1 +1 @@
-Subproject commit 4e67a230612b894160aecd786388519bec17f5fe
+Subproject commit d95b54f6080eb2aa9421e01188d25ab4a4a0c6bf
diff --git a/plugins/BUILD b/plugins/BUILD
index c98130d..5df73bb 100644
--- a/plugins/BUILD
+++ b/plugins/BUILD
@@ -74,6 +74,7 @@
     "//lib/commons:dbcp",
     "//lib/commons:lang3",
     "//lib/commons:io",
+    "//lib/commons:net",
     "//lib/dropwizard:dropwizard-core",
     "//lib/flogger:api",
     "//lib/guice:guice",
diff --git a/plugins/gitiles b/plugins/gitiles
index 88cfccd..c423243 160000
--- a/plugins/gitiles
+++ b/plugins/gitiles
@@ -1 +1 @@
-Subproject commit 88cfccd5602ddb091a73c0a2559f23c0e67cd42a
+Subproject commit c42324332aa1357bd9dfdf2de14593a36ffbe3e0
diff --git a/polygerrit-ui/app/constants/reporting.ts b/polygerrit-ui/app/constants/reporting.ts
index f95148b..bae1c58 100644
--- a/polygerrit-ui/app/constants/reporting.ts
+++ b/polygerrit-ui/app/constants/reporting.ts
@@ -169,4 +169,21 @@
   COMMENT_COMPLETION_SUGGESTION_FETCHED = 'comment-completion-suggestion-fetched',
 
   COPY_AI_PROMPT = 'copy-ai-prompt',
+
+  // AI agent suggests comments/fixes to user.
+  AI_AGENT_SUGGESTIONS_SHOWN = 'ai-agent-suggestions-shown',
 }
+
+/**
+ * EventDetails to be passed to the reportInteraction method for AI agent
+ * interactions.
+ */
+export type AiAgentEventDetails = {
+  host: string;
+  agentId: string;
+  conversationId: string;
+  // Each agent response in a conversation is a turn.
+  turnIndex: number;
+  // commentCount is 0 if agent ran but didn't suggest any comments/fixes.
+  commentCount: number;
+};
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-hashtag-flow/gr-change-list-hashtag-flow.ts b/polygerrit-ui/app/elements/change-list/gr-change-list-hashtag-flow/gr-change-list-hashtag-flow.ts
index 2d8022b..9b7209f 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-hashtag-flow/gr-change-list-hashtag-flow.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-hashtag-flow/gr-change-list-hashtag-flow.ts
@@ -28,6 +28,7 @@
 import {throwingErrorCallback} from '../../shared/gr-rest-api-interface/gr-rest-apis/gr-rest-api-helper';
 import '@material/web/menu/menu';
 import {MdMenu} from '@material/web/menu/menu';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 @customElement('gr-change-list-hashtag-flow')
 export class GrChangeListHashtagFlow extends LitElement {
@@ -58,6 +59,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       spinnerStyles,
       css`
         md-menu {
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-topic-flow/gr-change-list-topic-flow.ts b/polygerrit-ui/app/elements/change-list/gr-change-list-topic-flow/gr-change-list-topic-flow.ts
index 2a5d5fe..b3d7a35 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-topic-flow/gr-change-list-topic-flow.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-topic-flow/gr-change-list-topic-flow.ts
@@ -29,6 +29,7 @@
 import {throwingErrorCallback} from '../../shared/gr-rest-api-interface/gr-rest-apis/gr-rest-api-helper';
 import '@material/web/menu/menu';
 import {MdMenu} from '@material/web/menu/menu';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 @customElement('gr-change-list-topic-flow')
 export class GrChangeListTopicFlow extends LitElement {
@@ -59,6 +60,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       spinnerStyles,
       css`
         md-menu {
diff --git a/polygerrit-ui/app/elements/change/gr-copy-links/gr-copy-links.ts b/polygerrit-ui/app/elements/change/gr-copy-links/gr-copy-links.ts
index 35352c3..72050dc 100644
--- a/polygerrit-ui/app/elements/change/gr-copy-links/gr-copy-links.ts
+++ b/polygerrit-ui/app/elements/change/gr-copy-links/gr-copy-links.ts
@@ -15,6 +15,7 @@
 import '@material/web/menu/menu';
 import {MdMenu} from '@material/web/menu/menu';
 import {MdOutlinedTextField} from '@material/web/textfield/outlined-text-field';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 export interface CopyLink {
   label: string;
@@ -49,6 +50,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       formStyles,
       css`
         md-menu {
diff --git a/polygerrit-ui/app/elements/change/gr-flows/gr-create-flow.ts b/polygerrit-ui/app/elements/change/gr-flows/gr-create-flow.ts
index 110ac1c..f0c8bfb 100644
--- a/polygerrit-ui/app/elements/change/gr-flows/gr-create-flow.ts
+++ b/polygerrit-ui/app/elements/change/gr-flows/gr-create-flow.ts
@@ -115,6 +115,8 @@
 
   private readonly restApiService = getAppContext().restApiService;
 
+  private readonly reportingService = getAppContext().reportingService;
+
   private readonly getConfigModel = resolve(this, configModelToken);
 
   private readonly getFlowsModel = resolve(this, flowsModelToken);
@@ -491,6 +493,10 @@
       target="_blank"
       rel="noopener noreferrer"
       tabindex="-1"
+      @click=${() =>
+        this.reportingService.reportInteraction(
+          'flows-documentation-link-clicked'
+        )}
     >
       <md-icon-button touch-target="none" type="button">
         <gr-icon icon="help" title="read documentation"></gr-icon>
diff --git a/polygerrit-ui/app/elements/change/gr-flows/gr-flows.ts b/polygerrit-ui/app/elements/change/gr-flows/gr-flows.ts
index fab658a..d7cd9e1 100644
--- a/polygerrit-ui/app/elements/change/gr-flows/gr-flows.ts
+++ b/polygerrit-ui/app/elements/change/gr-flows/gr-flows.ts
@@ -24,6 +24,7 @@
 import {formatActionName} from '../../../utils/flows-util';
 import './gr-flow-rule';
 import {computeFlowStringFromFlowStageInfo} from '../../../utils/flows-util';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 @customElement('gr-flows')
 export class GrFlows extends LitElement {
@@ -46,6 +47,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       grFormStyles,
       css`
diff --git a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_screenshot_test.ts b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_screenshot_test.ts
index 39d681c..d8d1926 100644
--- a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_screenshot_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row_screenshot_test.ts
@@ -11,6 +11,7 @@
 import {visualDiff} from '@web/test-runner-visual-regression';
 import {GrLabelScoreRow} from './gr-label-score-row';
 import {visualDiffDarkTheme} from '../../../test/test-utils';
+import {setViewport} from '@web/test-runner-commands';
 
 suite('gr-label-score-row screenshot tests', () => {
   let element: GrLabelScoreRow;
@@ -40,10 +41,12 @@
   });
 
   test('label score row screenshot', async () => {
+    await setViewport({width: 1200, height: 800});
+
     // Create a container with a fixed width to stabilize the component's dimensions.
     const container = document.createElement('div');
 
-    container.style.width = '392px';
+    container.style.width = '700px';
     container.style.display = 'inline-block';
     container.appendChild(element);
 
diff --git a/polygerrit-ui/app/elements/chat-panel/context-chip.ts b/polygerrit-ui/app/elements/chat-panel/context-chip.ts
index 3647e34..1917fd2 100644
--- a/polygerrit-ui/app/elements/chat-panel/context-chip.ts
+++ b/polygerrit-ui/app/elements/chat-panel/context-chip.ts
@@ -18,6 +18,7 @@
 import {fire} from '../../utils/event-util';
 import {subscribe} from '../lit/subscription-controller';
 import {classMap} from 'lit/directives/class-map.js';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 @customElement('context-chip')
 export class ContextChip extends LitElement {
@@ -50,78 +51,81 @@
     );
   }
 
-  static override styles = css`
-    :host {
-      overflow: hidden;
-      max-width: 300px;
-    }
-    md-filter-chip.suggested-chip {
-      opacity: 0.5;
-      border-style: dashed;
-      border-width: 1px;
-      border-color: var(--border-color);
-      --md-filter-chip-outline-color: transparent;
-    }
-    md-filter-chip.suggested-chip:hover {
-      opacity: 0.7;
-    }
-    md-filter-chip.custom-action-chip {
-      --md-sys-color-primary: var(--custom-action-context-chip-color);
-      --md-filter-chip-selected-container-color: transparent;
-    }
-    md-filter-chip {
-      --md-sys-color-primary: var(--primary-text-color);
-      --md-filter-chip-label-text-color: var(--primary-text-color);
-      --md-filter-chip-container-height: 20px;
-      --md-filter-chip-label-text-size: var(--font-size-small);
-      --md-filter-chip-label-text-weight: var(--font-weight-medium);
-      --md-filter-chip-unselected-container-color: transparent;
-      --md-filter-chip-outline-color: var(--border-color);
-      --md-filter-chip-hover-label-text-color: var(--primary-text-color);
-      --md-filter-chip-focus-label-text-color: var(--primary-text-color);
-      --md-filter-chip-pressed-label-text-color: var(--primary-text-color);
-      overflow: hidden;
-      margin: 0;
-      border-radius: 8px;
-    }
-    md-filter-chip.no-link {
-      --md-filter-chip-unselected-hover-state-layer-color: transparent;
-      --md-ripple-hover-color: transparent;
-      --md-ripple-pressed-color: transparent;
-      --md-ripple-focus-color: transparent;
-    }
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        overflow: hidden;
+        max-width: 300px;
+      }
+      md-filter-chip.suggested-chip {
+        opacity: 0.5;
+        border-style: dashed;
+        border-width: 1px;
+        border-color: var(--border-color);
+        --md-filter-chip-outline-color: transparent;
+      }
+      md-filter-chip.suggested-chip:hover {
+        opacity: 0.7;
+      }
+      md-filter-chip.custom-action-chip {
+        --md-sys-color-primary: var(--custom-action-context-chip-color);
+        --md-filter-chip-selected-container-color: transparent;
+      }
+      md-filter-chip {
+        --md-sys-color-primary: var(--primary-text-color);
+        --md-filter-chip-label-text-color: var(--primary-text-color);
+        --md-filter-chip-container-height: 20px;
+        --md-filter-chip-label-text-size: var(--font-size-small);
+        --md-filter-chip-label-text-weight: var(--font-weight-medium);
+        --md-filter-chip-unselected-container-color: transparent;
+        --md-filter-chip-outline-color: var(--border-color);
+        --md-filter-chip-hover-label-text-color: var(--primary-text-color);
+        --md-filter-chip-focus-label-text-color: var(--primary-text-color);
+        --md-filter-chip-pressed-label-text-color: var(--primary-text-color);
+        overflow: hidden;
+        margin: 0;
+        border-radius: 8px;
+      }
+      md-filter-chip.no-link {
+        --md-filter-chip-unselected-hover-state-layer-color: transparent;
+        --md-ripple-hover-color: transparent;
+        --md-ripple-pressed-color: transparent;
+        --md-ripple-focus-color: transparent;
+      }
 
-    .context-chip-icon-base {
-      width: 12px;
-      height: 12px;
-    }
-    .custom-action-icon {
-      color: var(--custom-action-context-chip-color);
-    }
-    .external-context-text,
-    .custom-action-text {
-      margin-left: var(--spacing-s);
-    }
-    .custom-action-text {
-      color: var(--custom-action-context-chip-color);
-    }
-    .subtext {
-      color: var(--deemphasized-text-color);
-    }
-    .hidden {
-      visibility: hidden;
-      pointer-events: none;
-    }
-    .context-chip-container {
-      display: flex;
-      flex-direction: row;
-      flex-wrap: nowrap;
-      align-items: center;
-    }
-    .context-chip-title {
-      padding-top: 2px;
-    }
-  `;
+      .context-chip-icon-base {
+        width: 12px;
+        height: 12px;
+      }
+      .custom-action-icon {
+        color: var(--custom-action-context-chip-color);
+      }
+      .external-context-text,
+      .custom-action-text {
+        margin-left: var(--spacing-s);
+      }
+      .custom-action-text {
+        color: var(--custom-action-context-chip-color);
+      }
+      .subtext {
+        color: var(--deemphasized-text-color);
+      }
+      .hidden {
+        visibility: hidden;
+        pointer-events: none;
+      }
+      .context-chip-container {
+        display: flex;
+        flex-direction: row;
+        flex-wrap: nowrap;
+        align-items: center;
+      }
+      .context-chip-title {
+        padding-top: 2px;
+      }
+    `,
+  ];
 
   override render() {
     const type = this.getChatModel().contextItemToType(this.contextItem);
diff --git a/polygerrit-ui/app/elements/chat-panel/context-input-chip.ts b/polygerrit-ui/app/elements/chat-panel/context-input-chip.ts
index b3af66d..eec7918 100644
--- a/polygerrit-ui/app/elements/chat-panel/context-input-chip.ts
+++ b/polygerrit-ui/app/elements/chat-panel/context-input-chip.ts
@@ -21,6 +21,7 @@
 import {fire, fireAlert} from '../../utils/event-util';
 import {subscribe} from '../lit/subscription-controller';
 import {classMap} from 'lit/directives/class-map.js';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 @customElement('context-input-chip')
 export class ContextInputChip extends LitElement {
@@ -58,80 +59,83 @@
     );
   }
 
-  static override styles = css`
-    .context-input-container {
-      position: relative;
-    }
-    /* .mat-mdc-standard-chip replaced by md-assist-chip */
-    md-assist-chip {
-      --md-assist-chip-container-height: 22px;
-      --md-assist-chip-label-text-size: var(--font-size-small);
-      --md-assist-chip-label-text-weight: var(--font-weight-medium);
-      --md-assist-chip-label-text-color: var(--primary-text-color);
-      --md-assist-chip-outline-color: var(--border-color);
-      --md-assist-chip-hover-label-text-color: var(--primary-text-color);
-      --md-assist-chip-focus-label-text-color: var(--primary-text-color);
-      --md-assist-chip-pressed-label-text-color: var(--primary-text-color);
-      --md-assist-chip-hover-icon-color: var(--primary-text-color);
-      --md-assist-chip-focus-icon-color: var(--primary-text-color);
-      --md-assist-chip-pressed-icon-color: var(--primary-text-color);
-      overflow: hidden;
-      margin: 0;
-      border-color: var(--border-color);
-      background-color: transparent;
-      border-radius: 8px;
-    }
-    .add-icon {
-      color: var(--primary-text-color);
-    }
-    .add-link-container {
-      position: absolute;
-      text-align: center;
-      width: 200px;
-      left: 0;
-      bottom: 25px;
-    }
-    .add-link-input {
-      padding: var(--spacing-m);
-      margin-left: var(--spacing-m);
-      margin-right: var(--spacing-m);
-      border: 1px solid var(--border-color);
-      border-radius: 10px;
-      background-color: var(--background-color-primary);
-      font-family: var(--font-family);
-      font-size: var(--font-size-normal);
-      /* input color often defaults to browser/os default which might be dark even on dark mode if not set */
-      color: var(--primary-text-color);
-      outline: none;
-      width: 100%;
-      height: 23px;
-      max-width: 100%;
-    }
-    .add-link-input::placeholder {
-      color: var(--chat-card-placeholder-text-color);
-    }
-    .add-link-input:focus {
-      background-color: var(--background-color-primary);
-      border: 1px solid var(--border-color);
-    }
-    .context-menu-icon {
-      width: 14px;
-      height: 14px;
-      margin-left: var(--spacing-m);
-    }
-    .hidden {
-      visibility: hidden;
-      pointer-events: none;
-    }
-    md-menu-item {
-      white-space: nowrap;
-      --md-menu-item-top-space: var(--spacing-s);
-      --md-menu-item-bottom-space: var(--spacing-s);
-      --md-menu-item-leading-space: var(--spacing-m);
-      --md-menu-item-trailing-space: var(--spacing-m);
-      --md-menu-item-one-line-container-height: 24px;
-    }
-  `;
+  static override styles = [
+    materialStyles,
+    css`
+      .context-input-container {
+        position: relative;
+      }
+      /* .mat-mdc-standard-chip replaced by md-assist-chip */
+      md-assist-chip {
+        --md-assist-chip-container-height: 22px;
+        --md-assist-chip-label-text-size: var(--font-size-small);
+        --md-assist-chip-label-text-weight: var(--font-weight-medium);
+        --md-assist-chip-label-text-color: var(--primary-text-color);
+        --md-assist-chip-outline-color: var(--border-color);
+        --md-assist-chip-hover-label-text-color: var(--primary-text-color);
+        --md-assist-chip-focus-label-text-color: var(--primary-text-color);
+        --md-assist-chip-pressed-label-text-color: var(--primary-text-color);
+        --md-assist-chip-hover-icon-color: var(--primary-text-color);
+        --md-assist-chip-focus-icon-color: var(--primary-text-color);
+        --md-assist-chip-pressed-icon-color: var(--primary-text-color);
+        overflow: hidden;
+        margin: 0;
+        border-color: var(--border-color);
+        background-color: transparent;
+        border-radius: 8px;
+      }
+      .add-icon {
+        color: var(--primary-text-color);
+      }
+      .add-link-container {
+        position: absolute;
+        text-align: center;
+        width: 200px;
+        left: 0;
+        bottom: 25px;
+      }
+      .add-link-input {
+        padding: var(--spacing-m);
+        margin-left: var(--spacing-m);
+        margin-right: var(--spacing-m);
+        border: 1px solid var(--border-color);
+        border-radius: 10px;
+        background-color: var(--background-color-primary);
+        font-family: var(--font-family);
+        font-size: var(--font-size-normal);
+        /* input color often defaults to browser/os default which might be dark even on dark mode if not set */
+        color: var(--primary-text-color);
+        outline: none;
+        width: 100%;
+        height: 23px;
+        max-width: 100%;
+      }
+      .add-link-input::placeholder {
+        color: var(--chat-card-placeholder-text-color);
+      }
+      .add-link-input:focus {
+        background-color: var(--background-color-primary);
+        border: 1px solid var(--border-color);
+      }
+      .context-menu-icon {
+        width: 14px;
+        height: 14px;
+        margin-left: var(--spacing-m);
+      }
+      .hidden {
+        visibility: hidden;
+        pointer-events: none;
+      }
+      md-menu-item {
+        white-space: nowrap;
+        --md-menu-item-top-space: var(--spacing-s);
+        --md-menu-item-bottom-space: var(--spacing-s);
+        --md-menu-item-leading-space: var(--spacing-m);
+        --md-menu-item-trailing-space: var(--spacing-m);
+        --md-menu-item-one-line-container-height: 24px;
+      }
+    `,
+  ];
 
   override render() {
     return html`
diff --git a/polygerrit-ui/app/elements/chat-panel/gemini-message.ts b/polygerrit-ui/app/elements/chat-panel/gemini-message.ts
index 7fed806..8f0dbee 100644
--- a/polygerrit-ui/app/elements/chat-panel/gemini-message.ts
+++ b/polygerrit-ui/app/elements/chat-panel/gemini-message.ts
@@ -13,10 +13,11 @@
 import './references-dropdown';
 import './message-actions';
 
-import {css, html, LitElement} from 'lit';
+import {css, html, LitElement, PropertyValues} from 'lit';
 import {customElement, property, state} from 'lit/decorators.js';
 import {when} from 'lit/directives/when.js';
 
+import {AiAgentEventDetails, Interaction} from '../../constants/reporting';
 import {changeModelToken} from '../../models/change/change-model';
 import {
   filesModelToken,
@@ -31,6 +32,7 @@
 } from '../../models/chat/chat-model';
 import {commentsModelToken} from '../../models/comments/comments-model';
 import {resolve} from '../../models/dependency';
+import {getAppContext} from '../../services/app-context';
 import {NumericChangeId, PatchSetNumber} from '../../types/common';
 import {
   compareComments,
@@ -40,6 +42,7 @@
 import {assert} from '../../utils/common-util';
 import {fire} from '../../utils/event-util';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 @customElement('gemini-message')
 export class GeminiMessage extends LitElement {
@@ -63,6 +66,10 @@
 
   @state() latestPatchNum?: PatchSetNumber;
 
+  @state() private conversationId?: string;
+
+  private reportedSuggestionsShown = false;
+
   private readonly getChatModel = resolve(this, chatModelToken);
 
   private readonly getCommentsModel = resolve(this, commentsModelToken);
@@ -71,7 +78,10 @@
 
   private readonly getFilesModel = resolve(this, filesModelToken);
 
+  private readonly reportingService = getAppContext().reportingService;
+
   static override styles = [
+    materialStyles,
     css`
       :host {
         display: block;
@@ -210,6 +220,11 @@
       () => this.getChangeModel().latestPatchNum$,
       x => (this.latestPatchNum = x)
     );
+    subscribe(
+      this,
+      () => this.getChatModel().conversationId$,
+      x => (this.conversationId = x)
+    );
   }
 
   private async onAddAsComment(part: CreateCommentPart) {
@@ -240,6 +255,17 @@
     fire(this, 'open-diff-in-change-view', {path, lineNum});
   }
 
+  override updated(changedProperties: PropertyValues) {
+    if (changedProperties.has('turns') && !this.reportedSuggestionsShown) {
+      if (
+        this.turnIndex < this.turns.length &&
+        this.message()?.responseComplete
+      ) {
+        this.reportSuggestionsShown();
+      }
+    }
+  }
+
   override render() {
     if (this.turnIndex >= this.turns.length) return;
     const message = this.message();
@@ -403,10 +429,9 @@
   }
 
   private sortedComments() {
-    return this.message()
-      .responseParts.filter(
-        part => part.type === ResponsePartType.CREATE_COMMENT
-      )
+    const parts = this.message()?.responseParts ?? [];
+    return parts
+      .filter(part => part.type === ResponsePartType.CREATE_COMMENT)
       .sort((p1, p2) => {
         const c1 = {...createNew(p1.comment.message), ...p1.comment};
         const c2 = {...createNew(p2.comment.message), ...p2.comment};
@@ -417,9 +442,27 @@
   private turnId() {
     return {
       turnIndex: this.turnIndex,
-      regenerationIndex: this.message().regenerationIndex,
+      regenerationIndex: this.message()?.regenerationIndex ?? 0,
     };
   }
+
+  private reportSuggestionsShown() {
+    if (!this.conversationId) return;
+    this.reportedSuggestionsShown = true;
+
+    const agentId = this.turns[this.turnIndex]?.userMessage?.actionId ?? '';
+    const details: AiAgentEventDetails = {
+      host: window.location.host,
+      agentId,
+      conversationId: this.conversationId,
+      turnIndex: this.turnIndex,
+      commentCount: this.sortedComments().length,
+    };
+    this.reportingService.reportInteraction(
+      Interaction.AI_AGENT_SUGGESTIONS_SHOWN,
+      details
+    );
+  }
 }
 
 declare global {
diff --git a/polygerrit-ui/app/elements/chat-panel/gemini-message_test.ts b/polygerrit-ui/app/elements/chat-panel/gemini-message_test.ts
index dcf2904..57401f3 100644
--- a/polygerrit-ui/app/elements/chat-panel/gemini-message_test.ts
+++ b/polygerrit-ui/app/elements/chat-panel/gemini-message_test.ts
@@ -12,6 +12,7 @@
   CreateCommentPart,
   GeminiMessage as GeminiMessageModel,
   ResponsePartType,
+  TextPart,
   Turn,
   UserType,
 } from '../../models/chat/chat-model';
@@ -25,6 +26,8 @@
 import {chatProvider, createChange} from '../../test/test-data-generators';
 import {ParsedChangeInfo} from '../../types/types';
 import {CommentsModel} from '../../models/comments/comments-model';
+import {AiAgentEventDetails, Interaction} from '../../constants/reporting';
+import {getAppContext} from '../../services/app-context';
 
 suite('gemini-message tests', () => {
   let element: GeminiMessage;
@@ -71,6 +74,22 @@
     };
   }
 
+  const RESPONSE_TEXT: TextPart = {
+    id: 0,
+    type: ResponsePartType.TEXT,
+    content: 'test message',
+  };
+  const RESPONSE_CREATE_COMMENT: CreateCommentPart = {
+    id: 1,
+    type: ResponsePartType.CREATE_COMMENT,
+    content: 'test comment',
+    commentCreationId: 'test-id',
+    comment: {
+      message: 'test comment',
+      path: '/test/path',
+    },
+  };
+
   test('renders thinking', async () => {
     const turn = createTurn({responseComplete: false});
     chatModel.updateState({...chatModel.getState(), turns: [turn]});
@@ -113,9 +132,7 @@
   test('renders text response', async () => {
     const turn = createTurn({
       responseComplete: true,
-      responseParts: [
-        {id: 0, type: ResponsePartType.TEXT, content: 'test message'},
-      ],
+      responseParts: [RESPONSE_TEXT],
     });
     chatModel.updateState({...chatModel.getState(), turns: [turn]});
     await element.updateComplete;
@@ -151,19 +168,9 @@
   });
 
   test('renders suggested comment', async () => {
-    const comment: CreateCommentPart = {
-      id: 1,
-      type: ResponsePartType.CREATE_COMMENT,
-      content: 'test comment',
-      commentCreationId: 'test-id',
-      comment: {
-        message: 'test comment',
-        path: '/test/path',
-      },
-    };
     const turn = createTurn({
       responseComplete: true,
-      responseParts: [comment],
+      responseParts: [RESPONSE_CREATE_COMMENT],
     });
     chatModel.updateState({...chatModel.getState(), turns: [turn]});
     await element.updateComplete;
@@ -190,9 +197,7 @@
   test('renders citations', async () => {
     const turn = createTurn({
       responseComplete: true,
-      responseParts: [
-        {id: 0, type: ResponsePartType.TEXT, content: 'test message'},
-      ],
+      responseParts: [RESPONSE_TEXT],
       citations: ['http://example.com'],
     });
     chatModel.updateState({...chatModel.getState(), turns: [turn]});
@@ -213,9 +218,7 @@
     ];
     const turn = createTurn({
       responseComplete: true,
-      responseParts: [
-        {id: 0, type: ResponsePartType.TEXT, content: 'test message'},
-      ],
+      responseParts: [RESPONSE_TEXT],
       references,
     });
     chatModel.updateState({...chatModel.getState(), turns: [turn]});
@@ -227,4 +230,40 @@
     );
     assert.isOk(referencesDropdown);
   });
+
+  test('reports AI_AGENT_SUGGESTIONS_SHOWN interaction', async () => {
+    chatModel.updateState({
+      ...chatModel.getState(),
+      id: 'test-conversation-id',
+      selectedModelId: 'gemini-model-id',
+    });
+
+    const reportStub = sinon.stub(
+      getAppContext().reportingService,
+      'reportInteraction'
+    );
+
+    const turn = createTurn({
+      responseComplete: true,
+      responseParts: [RESPONSE_TEXT, RESPONSE_CREATE_COMMENT],
+    });
+    const updatedTurn = {
+      ...turn,
+      userMessage: {...turn.userMessage, actionId: 'custom-agent-id'},
+    };
+
+    chatModel.updateState({...chatModel.getState(), turns: [updatedTurn]});
+    await element.updateComplete;
+
+    assert.isTrue(reportStub.calledOnce);
+    assert.equal(
+      reportStub.firstCall.args[0],
+      Interaction.AI_AGENT_SUGGESTIONS_SHOWN
+    );
+    const details = reportStub.firstCall.args[1] as AiAgentEventDetails;
+    assert.equal(details.host, window.location.host);
+    assert.equal(details.conversationId, 'test-conversation-id');
+    assert.equal(details.agentId, 'custom-agent-id');
+    assert.equal(details.commentCount, 1);
+  });
 });
diff --git a/polygerrit-ui/app/elements/chat-panel/message-actions.ts b/polygerrit-ui/app/elements/chat-panel/message-actions.ts
index 2031bf2..78f6b66 100644
--- a/polygerrit-ui/app/elements/chat-panel/message-actions.ts
+++ b/polygerrit-ui/app/elements/chat-panel/message-actions.ts
@@ -18,6 +18,7 @@
 } from '../../models/chat/chat-model';
 import {resolve} from '../../models/dependency';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 /**
  * Component to display message actions for a Gemini message (e.g. thumbs up,
@@ -25,31 +26,34 @@
  */
 @customElement('message-actions')
 export class MessageActions extends LitElement {
-  static override styles = css`
-    :host {
-      display: flex;
-    }
-    md-icon-button {
-      margin-left: var(--spacing-l);
-      --md-icon-button-icon-size: 24px;
-      --md-icon-size: 24px;
-    }
-    .copy-button {
-      --gr-icon-size: 24px;
-      margin: auto 0;
-    }
-    .feedback-button.thumbs-up-icon {
-      margin-left: auto;
-    }
-    md-icon-button {
-      color: var(--primary-text-color);
-      --md-icon-button-icon-color: var(--primary-text-color);
-      --md-icon-button-hover-icon-color: var(--primary-text-color);
-    }
-    md-icon-button md-icon {
-      color: var(--primary-text-color);
-    }
-  `;
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        display: flex;
+      }
+      md-icon-button {
+        margin-left: var(--spacing-l);
+        --md-icon-button-icon-size: 24px;
+        --md-icon-size: 24px;
+      }
+      .copy-button {
+        --gr-icon-size: 24px;
+        margin: auto 0;
+      }
+      .feedback-button.thumbs-up-icon {
+        margin-left: auto;
+      }
+      md-icon-button {
+        color: var(--primary-text-color);
+        --md-icon-button-icon-color: var(--primary-text-color);
+        --md-icon-button-hover-icon-color: var(--primary-text-color);
+      }
+      md-icon-button md-icon {
+        color: var(--primary-text-color);
+      }
+    `,
+  ];
 
   @property({type: Object}) turnId!: UniqueTurnId;
 
diff --git a/polygerrit-ui/app/elements/chat-panel/prompt-box.ts b/polygerrit-ui/app/elements/chat-panel/prompt-box.ts
index d86f8aa..4a154e5 100644
--- a/polygerrit-ui/app/elements/chat-panel/prompt-box.ts
+++ b/polygerrit-ui/app/elements/chat-panel/prompt-box.ts
@@ -30,6 +30,7 @@
 import {debounce, DelayedTask} from '../../utils/async-util';
 import {fire} from '../../utils/event-util';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 const MAX_VISIBLE_CONTEXT_ITEMS_COLLAPSED = 3;
 const MAX_VISIBLE_SUGGESTED_CONTEXT_ITEMS_COLLAPSED = 1;
@@ -238,93 +239,96 @@
     return this.showAllContextItems ? '▲' : `+${this.numExcessContextItems}`;
   }
 
-  static override styles = css`
-    :host {
-      background-color: var(--background-color-tertiary);
-      border-radius: 8px;
-      display: flex;
-      flex-direction: column;
-      /* For high contrast mode. */
-      outline: 1px solid transparent;
-      padding: var(--spacing-l) var(--spacing-l) var(--spacing-m)
-        var(--spacing-xl);
-      transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
-    }
-    :host(:focus-within) {
-      background: var(
-        --search-box-focus-bg-color,
-        var(--background-color-primary)
-      );
-      box-shadow: 0px 1px 2px 0px var(--elevation-color),
-        0px 2px 6px 2px var(--elevation-color);
-    }
-    .tab-chip-set md-assist-chip.tab-chip {
-      --md-assist-chip-container-height: 16px;
-      --md-assist-chip-label-text-size: 10px;
-      --md-assist-chip-label-text-color: var(--primary-fg-color);
-      --md-assist-chip-label-line-height: 16px;
-      background-color: var(--tab-chip-bg-color);
-      border-radius: 4px;
-      margin: 0;
-      padding: 0;
-    }
-    gr-icon,
-    md-icon {
-      font-size: 20px;
-      line-height: 24px;
-    }
-    .prompt-box-inner-container {
-      display: flex;
-      height: auto;
-      min-height: 32px;
-      flex-direction: row;
-      align-items: center;
-      justify-content: space-between;
-      padding-bottom: 8px;
-    }
-    .prompt-input-container {
-      flex-grow: 1;
-      height: inherit;
-      margin-right: var(--spacing-xs);
-      position: relative;
-    }
-    .prompt-input {
-      background: transparent;
-      color: var(--primary-text-color);
-      font: inherit;
-      font-size: 16px; /* $font-size-large */
-      /* Explicitly set line-height to ensure consistent height in tests (e.g. 20px). */
-      line-height: 20px;
-      border: none;
-      outline: none;
-      resize: none;
-      padding: 0;
-      margin: 0;
-      height: auto;
-      width: 100%;
-      max-width: 100%;
-    }
-    .prompt-input::placeholder {
-      color: var(--deemphasized-text-color);
-    }
-    .context-chip-set {
-      gap: 4px;
-    }
-    .context-chip-set md-assist-chip.context-toggle-chip {
-      --md-assist-chip-container-height: 20px;
-      --md-assist-chip-label-text-size: 12px;
-      --md-assist-chip-label-text-weight: 500;
-      --md-assist-chip-label-line-height: 16px;
-      --md-assist-chip-label-text-color: var(--primary-text-color);
-      margin: 0;
-      margin-left: auto;
-      border-color: var(--border-color);
-      background-color: var(--elevation-2);
-      border-radius: 8px;
-      display: flex;
-      padding: 0 4px;
-    }
-  `;
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        background-color: var(--background-color-tertiary);
+        border-radius: 8px;
+        display: flex;
+        flex-direction: column;
+        /* For high contrast mode. */
+        outline: 1px solid transparent;
+        padding: var(--spacing-l) var(--spacing-l) var(--spacing-m)
+          var(--spacing-xl);
+        transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
+      }
+      :host(:focus-within) {
+        background: var(
+          --search-box-focus-bg-color,
+          var(--background-color-primary)
+        );
+        box-shadow: 0px 1px 2px 0px var(--elevation-color),
+          0px 2px 6px 2px var(--elevation-color);
+      }
+      .tab-chip-set md-assist-chip.tab-chip {
+        --md-assist-chip-container-height: 16px;
+        --md-assist-chip-label-text-size: 10px;
+        --md-assist-chip-label-text-color: var(--primary-fg-color);
+        --md-assist-chip-label-line-height: 16px;
+        background-color: var(--tab-chip-bg-color);
+        border-radius: 4px;
+        margin: 0;
+        padding: 0;
+      }
+      gr-icon,
+      md-icon {
+        font-size: 20px;
+        line-height: 24px;
+      }
+      .prompt-box-inner-container {
+        display: flex;
+        height: auto;
+        min-height: 32px;
+        flex-direction: row;
+        align-items: center;
+        justify-content: space-between;
+        padding-bottom: 8px;
+      }
+      .prompt-input-container {
+        flex-grow: 1;
+        height: inherit;
+        margin-right: var(--spacing-xs);
+        position: relative;
+      }
+      .prompt-input {
+        background: transparent;
+        color: var(--primary-text-color);
+        font: inherit;
+        font-size: 16px; /* $font-size-large */
+        /* Explicitly set line-height to ensure consistent height in tests (e.g. 20px). */
+        line-height: 20px;
+        border: none;
+        outline: none;
+        resize: none;
+        padding: 0;
+        margin: 0;
+        height: auto;
+        width: 100%;
+        max-width: 100%;
+      }
+      .prompt-input::placeholder {
+        color: var(--deemphasized-text-color);
+      }
+      .context-chip-set {
+        gap: 4px;
+      }
+      .context-chip-set md-assist-chip.context-toggle-chip {
+        --md-assist-chip-container-height: 20px;
+        --md-assist-chip-label-text-size: 12px;
+        --md-assist-chip-label-text-weight: 500;
+        --md-assist-chip-label-line-height: 16px;
+        --md-assist-chip-label-text-color: var(--primary-text-color);
+        margin: 0;
+        margin-left: auto;
+        border-color: var(--border-color);
+        background-color: var(--elevation-2);
+        border-radius: 8px;
+        display: flex;
+        padding: 0 4px;
+      }
+    `,
+  ];
 
   override render() {
     return html`
diff --git a/polygerrit-ui/app/elements/chat-panel/references-dropdown.ts b/polygerrit-ui/app/elements/chat-panel/references-dropdown.ts
index 25e15a2..9f8d34c 100644
--- a/polygerrit-ui/app/elements/chat-panel/references-dropdown.ts
+++ b/polygerrit-ui/app/elements/chat-panel/references-dropdown.ts
@@ -15,6 +15,7 @@
 import {chatModelToken, Turn} from '../../models/chat/chat-model';
 import {resolve} from '../../models/dependency';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 /**
  * A component to display a dropdown with references used by the model.
@@ -34,6 +35,7 @@
   @state() private listWarnings = false;
 
   static override styles = [
+    materialStyles,
     css`
       :host {
         display: block;
diff --git a/polygerrit-ui/app/elements/chat-panel/splash-page-action.ts b/polygerrit-ui/app/elements/chat-panel/splash-page-action.ts
index 715e455..07a03bc 100644
--- a/polygerrit-ui/app/elements/chat-panel/splash-page-action.ts
+++ b/polygerrit-ui/app/elements/chat-panel/splash-page-action.ts
@@ -22,6 +22,7 @@
 import {isDefined} from '../../types/types';
 import {fireAlert} from '../../utils/event-util';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 /**
  * A component that renders a single action as a clickable chip on the chat
@@ -49,110 +50,113 @@
     );
   }
 
-  static override styles = css`
-    :host {
-      display: flex;
-      justify-content: center;
-      flex-wrap: wrap;
-      width: 100%;
-      position: relative;
-    }
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        display: flex;
+        justify-content: center;
+        flex-wrap: wrap;
+        width: 100%;
+        position: relative;
+      }
 
-    .action-chip {
-      display: flex;
-      background-color: var(--background-color-tertiary);
-      color: var(--primary-default);
-      height: 60px;
-      align-items: center;
-      border-radius: 4px;
-      margin: 0;
-      width: 100%;
-      overflow: hidden;
-      cursor: pointer;
-      --md-assist-chip-outline-width: 0;
-    }
+      .action-chip {
+        display: flex;
+        background-color: var(--background-color-tertiary);
+        color: var(--primary-default);
+        height: 60px;
+        align-items: center;
+        border-radius: 4px;
+        margin: 0;
+        width: 100%;
+        overflow: hidden;
+        cursor: pointer;
+        --md-assist-chip-outline-width: 0;
+      }
 
-    .action-chip[disabled] {
-      opacity: 0.6;
-      cursor: default;
-    }
+      .action-chip[disabled] {
+        opacity: 0.6;
+        cursor: default;
+      }
 
-    .action-chip.first-action-chip {
-      border-top-left-radius: 16px;
-      border-top-right-radius: 16px;
-    }
+      .action-chip.first-action-chip {
+        border-top-left-radius: 16px;
+        border-top-right-radius: 16px;
+      }
 
-    .action-chip.last-action-chip {
-      border-bottom-left-radius: 16px;
-      border-bottom-right-radius: 16px;
-    }
+      .action-chip.last-action-chip {
+        border-bottom-left-radius: 16px;
+        border-bottom-right-radius: 16px;
+      }
 
-    .action-chip.custom-action-chip {
-      background-color: var(--custom-action-chip-bg-color);
-    }
+      .action-chip.custom-action-chip {
+        background-color: var(--custom-action-chip-bg-color);
+      }
 
-    .action-icon {
-      padding: 4px;
-      border-radius: 8px;
-      background-color: var(--background-color-primary);
-      flex-shrink: 0;
-    }
-    .action-text-container {
-      display: flex;
-      flex-direction: column;
-      height: 100%;
-      overflow-x: hidden;
-    }
-    .main-action-text-container {
-      margin-left: 20px;
-      font-weight: 400;
-      display: flex;
-      align-items: center;
-    }
-    .main-action-text-container.has-subtext {
-      margin-top: 12px;
-      margin-bottom: -2px;
-    }
-    .action-text {
-      font-family: var(--font-family);
-      font-size: var(--font-size-normal);
-      font-weight: var(--font-weight-normal);
-      line-height: var(--line-height-normal);
-      color: var(--primary-text-color);
-      overflow-x: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap;
-    }
-    .action-subtext {
-      vertical-align: super;
-      margin-left: 5px;
-      padding: 0px 15px 8px;
-      font-size: 0.8em;
-      color: var(--chat-splash-page-question-color);
-      overflow-x: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap;
-    }
-    .action-subtext.is-passed {
-      color: var(--file-reviewed-color);
-    }
-    .action-subtext.is-actionable {
-      color: var(--tonal-red);
-    }
-    .info-button {
-      margin-left: 10px;
-      margin-right: 10px;
-      font-size: 24px;
-      --button-background-color: transparent;
-    }
-    .info-button gr-icon {
-      color: inherit;
-    }
-    .chip-content {
-      display: flex;
-      align-items: center;
-    }
-  `;
+      .action-icon {
+        padding: 4px;
+        border-radius: 8px;
+        background-color: var(--background-color-primary);
+        flex-shrink: 0;
+      }
+      .action-text-container {
+        display: flex;
+        flex-direction: column;
+        height: 100%;
+        overflow: hidden;
+      }
+      .main-action-text-container {
+        margin-left: 20px;
+        font-weight: 400;
+        display: flex;
+        align-items: center;
+      }
+      .main-action-text-container.has-subtext {
+        margin-top: 12px;
+        margin-bottom: -2px;
+      }
+      .action-text {
+        font-family: var(--font-family);
+        font-size: var(--font-size-normal);
+        font-weight: var(--font-weight-normal);
+        line-height: var(--line-height-normal);
+        color: var(--primary-text-color);
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+      }
+      .action-subtext {
+        vertical-align: super;
+        margin-left: 5px;
+        padding: 0px 15px 8px;
+        font-size: 0.8em;
+        color: var(--chat-splash-page-question-color);
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+      }
+      .action-subtext.is-passed {
+        color: var(--file-reviewed-color);
+      }
+      .action-subtext.is-actionable {
+        color: var(--tonal-red);
+      }
+      .info-button {
+        margin-left: 10px;
+        margin-right: 10px;
+        font-size: 24px;
+        --button-background-color: transparent;
+      }
+      .info-button gr-icon {
+        color: inherit;
+      }
+      .chip-content {
+        display: flex;
+        align-items: center;
+      }
+    `,
+  ];
 
   override render() {
     if (!this.action) return;
diff --git a/polygerrit-ui/app/elements/chat-panel/splash-page.ts b/polygerrit-ui/app/elements/chat-panel/splash-page.ts
index f2ec173..f44c838 100644
--- a/polygerrit-ui/app/elements/chat-panel/splash-page.ts
+++ b/polygerrit-ui/app/elements/chat-panel/splash-page.ts
@@ -23,6 +23,7 @@
 import {AccountDetailInfo, ServerInfo} from '../../types/common';
 import {subscribe} from '../lit/subscription-controller';
 import {getDisplayName} from '../../utils/display-name-util';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 /**
  * A component for displaying a splash page when there are no chat messages.
@@ -99,124 +100,132 @@
     return turn?.userMessage.isBackgroundRequest ? turn : undefined;
   }
 
-  static override styles = css`
-    :host {
-      overflow: auto;
-      padding-left: 20px;
-      padding-right: 20px;
-      padding-top: 20px;
-    }
-    .splash-container {
-      display: flex;
-      justify-content: center;
-      flex-flow: column nowrap;
-    }
-    .splash-greeting {
-      background: linear-gradient(135deg, #217bfe 0, #078efb 33%, #ac87eb 100%);
-      -webkit-background-clip: text;
-      background-clip: text;
-      -webkit-text-fill-color: transparent;
-      -webkit-box-orient: vertical;
-      color: transparent;
-      display: -webkit-inline-box;
-      font-size: 24px;
-      font-weight: 400;
-      margin-block-end: var(--spacing-s);
-    }
-    .material-icon {
-      color: var(--deemphasized-text-color);
-    }
-    .splash-question {
-      color: var(--chat-splash-page-question-color);
-      margin-bottom: 16px;
-      margin-top: 0px;
-      font-family: var(--header-font-family);
-      font-size: var(--font-size-h1);
-      font-weight: var(--font-weight-h1);
-      line-height: var(--line-height-h1);
-    }
-    .background-request-container {
-      background-color: var(--chat-splash-page-info-panel-bg-color);
-      padding: 15px;
-      border-radius: 15px;
-      margin-bottom: 12px;
-      display: flex;
-      flex-direction: column;
-    }
-    .background-request-container-inner {
-      position: relative;
-      max-height: 10em;
-      min-height: 10em;
-      overflow: hidden;
-    }
-    .background-request-container-inner.expanded {
-      max-height: none;
-      overflow: auto;
-    }
-    .background-request-container-overlay {
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 100%;
-      height: 100%;
-      background: linear-gradient(
-        to top,
-        var(--chat-splash-page-info-panel-bg-color),
-        transparent 50%
-      );
-    }
-    .user-background-question {
-      font-family: var(--header-font-family);
-      font-size: var(--font-size-normal);
-      font-weight: var(--font-weight-normal);
-      line-height: var(--line-height-normal);
-    }
-    .expansion-button-container {
-      display: flex;
-      justify-content: center;
-      align-items: center;
-    }
-    .info-panel-expansion-button {
-      top: 10px;
-      font-size: 1.5em;
-      border: none;
-      background-color: transparent;
-      color: var(--primary-default);
-      cursor: pointer;
-    }
-    .background-request-header {
-      display: flex;
-      align-items: center;
-      gap: 5px;
-      margin-bottom: 12px;
-      font-weight: bold;
-    }
-    .background-request-header .thinking-spinner {
-      margin-left: auto;
-    }
-    .action-container {
-      background-color: transparent;
-      margin-bottom: 20px;
-      display: flex;
-      justify-content: center;
-      flex-wrap: wrap;
-      width: 100%;
-    }
-    .action-container-title {
-      height: 28px;
-      display: flex;
-      align-items: center;
-      vertical-align: middle;
-      font-size: 0.9em;
-      font-weight: 500;
-      color: var(--chat-splash-page-action-set-title-color);
-    }
-    .action-container-title .autoreview-run-all-button {
-      margin-left: auto;
-      margin-right: 8px;
-    }
-    /* TODO: find small-icon styles equivalent for .small-icon */
-  `;
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        overflow: auto;
+        padding-left: 20px;
+        padding-right: 20px;
+        padding-top: 20px;
+      }
+      .splash-container {
+        display: flex;
+        justify-content: center;
+        flex-flow: column nowrap;
+      }
+      .splash-greeting {
+        background: linear-gradient(
+          135deg,
+          #217bfe 0,
+          #078efb 33%,
+          #ac87eb 100%
+        );
+        -webkit-background-clip: text;
+        background-clip: text;
+        -webkit-text-fill-color: transparent;
+        -webkit-box-orient: vertical;
+        color: transparent;
+        display: -webkit-inline-box;
+        font-size: 24px;
+        font-weight: 400;
+        margin-block-end: var(--spacing-s);
+      }
+      .material-icon {
+        color: var(--deemphasized-text-color);
+      }
+      .splash-question {
+        color: var(--chat-splash-page-question-color);
+        margin-bottom: 16px;
+        margin-top: 0px;
+        font-family: var(--header-font-family);
+        font-size: var(--font-size-h1);
+        font-weight: var(--font-weight-h1);
+        line-height: var(--line-height-h1);
+      }
+      .background-request-container {
+        background-color: var(--chat-splash-page-info-panel-bg-color);
+        padding: 15px;
+        border-radius: 15px;
+        margin-bottom: 12px;
+        display: flex;
+        flex-direction: column;
+      }
+      .background-request-container-inner {
+        position: relative;
+        max-height: 10em;
+        min-height: 10em;
+        overflow: hidden;
+      }
+      .background-request-container-inner.expanded {
+        max-height: none;
+        overflow: auto;
+      }
+      .background-request-container-overlay {
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100%;
+        height: 100%;
+        background: linear-gradient(
+          to top,
+          var(--chat-splash-page-info-panel-bg-color),
+          transparent 50%
+        );
+      }
+      .user-background-question {
+        font-family: var(--header-font-family);
+        font-size: var(--font-size-normal);
+        font-weight: var(--font-weight-normal);
+        line-height: var(--line-height-normal);
+      }
+      .expansion-button-container {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+      }
+      .info-panel-expansion-button {
+        top: 10px;
+        font-size: 1.5em;
+        border: none;
+        background-color: transparent;
+        color: var(--primary-default);
+        cursor: pointer;
+      }
+      .background-request-header {
+        display: flex;
+        align-items: center;
+        gap: 5px;
+        margin-bottom: 12px;
+        font-weight: bold;
+      }
+      .background-request-header .thinking-spinner {
+        margin-left: auto;
+      }
+      .action-container {
+        background-color: transparent;
+        margin-bottom: 20px;
+        display: flex;
+        justify-content: center;
+        flex-wrap: wrap;
+        width: 100%;
+      }
+      .action-container-title {
+        height: 28px;
+        display: flex;
+        align-items: center;
+        vertical-align: middle;
+        font-size: 0.9em;
+        font-weight: 500;
+        color: var(--chat-splash-page-action-set-title-color);
+      }
+      .action-container-title .autoreview-run-all-button {
+        margin-left: auto;
+        margin-right: 8px;
+      }
+      /* TODO: find small-icon styles equivalent for .small-icon */
+    `,
+  ];
 
   override render() {
     const config = {user: {anonymous_coward_name: ''}} as ServerInfo;
diff --git a/polygerrit-ui/app/elements/chat-panel/user-message.ts b/polygerrit-ui/app/elements/chat-panel/user-message.ts
index 1683a68..4dc7aef 100644
--- a/polygerrit-ui/app/elements/chat-panel/user-message.ts
+++ b/polygerrit-ui/app/elements/chat-panel/user-message.ts
@@ -17,6 +17,7 @@
 import {userModelToken} from '../../models/user/user-model';
 import {AccountDetailInfo} from '../../types/common';
 import {subscribe} from '../lit/subscription-controller';
+import {materialStyles} from '../../styles/gr-material-styles';
 
 const MAX_VISIBLE_CONTEXT_ITEMS_COLLAPSED = 3;
 
@@ -82,56 +83,59 @@
     return this.showAllContextItems ? '▲' : `+${this.numExcessContextItems}`;
   }
 
-  static override styles = css`
-    :host {
-      display: flex;
-      flex-direction: column;
-      padding-bottom: var(--spacing-xl);
-    }
+  static override styles = [
+    materialStyles,
+    css`
+      :host {
+        display: flex;
+        flex-direction: column;
+        padding-bottom: var(--spacing-xl);
+      }
 
-    .user-input-container {
-      padding-top: var(--spacing-m);
-    }
+      .user-input-container {
+        padding-top: var(--spacing-m);
+      }
 
-    .text-content {
-      white-space: pre-wrap;
-      margin: 0px;
-    }
+      .text-content {
+        white-space: pre-wrap;
+        margin: 0px;
+      }
 
-    .context-chip-set {
-      margin-top: var(--spacing-m);
-      display: flex;
-      flex-wrap: wrap;
-      align-items: center;
-      gap: 4px;
-    }
+      .context-chip-set {
+        margin-top: var(--spacing-m);
+        display: flex;
+        flex-wrap: wrap;
+        align-items: center;
+        gap: 4px;
+      }
 
-    gr-avatar {
-      display: block;
-      height: 24px;
-      width: 24px;
-      margin-right: 10px;
-    }
+      gr-avatar {
+        display: block;
+        height: 24px;
+        width: 24px;
+        margin-right: 10px;
+      }
 
-    md-filter-chip.context-toggle-chip {
-      margin: 0;
-      margin-left: auto;
-      --md-filter-chip-unselected-outline-color: var(--border-color);
-      --md-filter-chip-unselected-container-color: var(--elevation-2);
-      --md-filter-chip-container-shape: 8px;
-      --md-filter-chip-container-height: 20px;
+      md-filter-chip.context-toggle-chip {
+        margin: 0;
+        margin-left: auto;
+        --md-filter-chip-unselected-outline-color: var(--border-color);
+        --md-filter-chip-unselected-container-color: var(--elevation-2);
+        --md-filter-chip-container-shape: 8px;
+        --md-filter-chip-container-height: 20px;
 
-      /* from @include mat.chips-overrides */
-      --md-filter-chip-label-text-line-height: var(
-        --line-height-small,
-        1.25rem
-      );
-      --md-filter-chip-label-text-size: var(--font-size-small, 0.75rem);
-      --md-filter-chip-label-text-weight: var(--font-weight-medium, 500);
-      --md-filter-chip-label-text-color: var(--primary-default, purple);
-      cursor: pointer;
-    }
-  `;
+        /* from @include mat.chips-overrides */
+        --md-filter-chip-label-text-line-height: var(
+          --line-height-small,
+          1.25rem
+        );
+        --md-filter-chip-label-text-size: var(--font-size-small, 0.75rem);
+        --md-filter-chip-label-text-weight: var(--font-weight-medium, 500);
+        --md-filter-chip-label-text-color: var(--primary-default, purple);
+        cursor: pointer;
+      }
+    `,
+  ];
 
   override render() {
     if (!this.message) {
diff --git a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
index 70780cd..3085ecc 100644
--- a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
+++ b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
@@ -16,6 +16,7 @@
 import {configModelToken} from '../../../models/config/config-model';
 import {subscribe} from '../../lit/subscription-controller';
 import '@material/web/icon/icon';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 const INTERPOLATE_URL_PATTERN = /\${([\w]+)}/g;
 
@@ -90,6 +91,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         gr-dropdown {
diff --git a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header.ts b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header.ts
index 49df24e..8c6078b 100644
--- a/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header.ts
+++ b/polygerrit-ui/app/elements/core/gr-main-header/gr-main-header.ts
@@ -36,6 +36,7 @@
 import '@material/web/iconbutton/icon-button';
 import {when} from 'lit/directives/when.js';
 import {isElementTarget, isFirefox, isSafari} from '../../../utils/dom-util';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 type MainHeaderLink = RequireProperties<DropdownLink, 'url' | 'name'>;
 
@@ -240,6 +241,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         :host {
diff --git a/polygerrit-ui/app/elements/core/gr-search-autocomplete/gr-search-autocomplete.ts b/polygerrit-ui/app/elements/core/gr-search-autocomplete/gr-search-autocomplete.ts
index a84247a..852e549 100644
--- a/polygerrit-ui/app/elements/core/gr-search-autocomplete/gr-search-autocomplete.ts
+++ b/polygerrit-ui/app/elements/core/gr-search-autocomplete/gr-search-autocomplete.ts
@@ -27,6 +27,7 @@
 import {getDocUrl} from '../../../utils/url-util';
 import '@material/web/iconbutton/icon-button';
 import {when} from 'lit/directives/when.js';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 // Possible static search options for auto complete, without negations.
 const SEARCH_OPERATORS: ReadonlyArray<string> = [
@@ -195,6 +196,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         form {
diff --git a/polygerrit-ui/app/elements/shared/gr-autosubmit-checkbox/gr-autosubmit-checkbox.ts b/polygerrit-ui/app/elements/shared/gr-autosubmit-checkbox/gr-autosubmit-checkbox.ts
index ee42afd..c1b0d56 100644
--- a/polygerrit-ui/app/elements/shared/gr-autosubmit-checkbox/gr-autosubmit-checkbox.ts
+++ b/polygerrit-ui/app/elements/shared/gr-autosubmit-checkbox/gr-autosubmit-checkbox.ts
@@ -20,6 +20,7 @@
 import {ParsedChangeInfo} from '../../../types/types';
 import {fire} from '../../../utils/event-util';
 import {changeIsMerged} from '../../../utils/change-util';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 export interface AutosubmitCheckedChangedEventDetail {
   checked: boolean;
@@ -60,6 +61,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       formStyles,
       sharedStyles,
       css`
@@ -178,6 +180,8 @@
       target="_blank"
       rel="noopener noreferrer"
       tabindex="-1"
+      @click=${() =>
+        this.reporting.reportInteraction('flows-documentation-link-clicked')}
     >
       <md-icon-button touch-target="none" type="button">
         <gr-icon icon="help" title="read documentation"></gr-icon>
diff --git a/polygerrit-ui/app/elements/shared/gr-button/gr-button.ts b/polygerrit-ui/app/elements/shared/gr-button/gr-button.ts
index 9be2f0c..eaf5c8c 100644
--- a/polygerrit-ui/app/elements/shared/gr-button/gr-button.ts
+++ b/polygerrit-ui/app/elements/shared/gr-button/gr-button.ts
@@ -14,6 +14,7 @@
 import {Interaction} from '../../../constants/reporting';
 import '@material/web/button/elevated-button';
 import '@material/web/button/text-button';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 declare global {
   interface HTMLElementTagNameMap {
@@ -59,6 +60,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       votingStyles,
       spinnerStyles,
       css`
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list.ts b/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list.ts
index 4e65b99..c913c8c 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list.ts
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown-list/gr-dropdown-list.ts
@@ -28,6 +28,7 @@
 import {MdMenu} from '@material/web/menu/menu';
 import {isSafari, Key} from '../../../utils/dom-util';
 import {GrCursorManager} from '../gr-cursor-manager/gr-cursor-manager';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 /**
  * Required values are text and value. mobileText and triggerText will
@@ -110,6 +111,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         :host {
diff --git a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.ts b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.ts
index 910d481..65efb57 100644
--- a/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.ts
+++ b/polygerrit-ui/app/elements/shared/gr-dropdown/gr-dropdown.ts
@@ -23,6 +23,7 @@
 import '@material/web/menu/menu';
 import '@material/web/menu/menu-item';
 import {MdMenu} from '@material/web/menu/menu';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 const REL_NOOPENER = 'noopener';
 const REL_EXTERNAL = 'external';
@@ -51,6 +52,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         :host {
diff --git a/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.ts b/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.ts
index 634a83d..6c2661f 100644
--- a/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.ts
+++ b/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.ts
@@ -23,6 +23,7 @@
 import {MdMenu} from '@material/web/menu/menu';
 import '@material/web/textfield/filled-text-field';
 import {MdFilledTextField} from '@material/web/textfield/filled-text-field';
+import {materialStyles} from '../../../styles/gr-material-styles';
 
 const AWAIT_MAX_ITERS = 10;
 const AWAIT_STEP = 5;
@@ -87,6 +88,7 @@
 
   static override get styles() {
     return [
+      materialStyles,
       sharedStyles,
       css`
         :host {
diff --git a/polygerrit-ui/app/utils/change-util.ts b/polygerrit-ui/app/utils/change-util.ts
index 1a6f8d2..446c098 100644
--- a/polygerrit-ui/app/utils/change-util.ts
+++ b/polygerrit-ui/app/utils/change-util.ts
@@ -89,17 +89,22 @@
 ): ChangeStates[] {
   const states: ChangeStates[] = [];
 
+  if (change.is_private) {
+    states.push(ChangeStates.PRIVATE);
+  }
+
   if (change.status === ChangeStatus.MERGED) {
+    states.push(ChangeStates.MERGED);
     if (options?.revertingChangeStatus === ChangeStatus.MERGED) {
-      return [ChangeStates.MERGED, ChangeStates.REVERT_SUBMITTED];
+      states.push(ChangeStates.REVERT_SUBMITTED);
+    } else if (options?.revertingChangeStatus !== undefined) {
+      states.push(ChangeStates.REVERT_CREATED);
     }
-    if (options?.revertingChangeStatus !== undefined) {
-      return [ChangeStates.MERGED, ChangeStates.REVERT_CREATED];
-    }
-    return [ChangeStates.MERGED];
+    return states;
   }
   if (change.status === ChangeStatus.ABANDONED) {
-    return [ChangeStates.ABANDONED];
+    states.push(ChangeStates.ABANDONED);
+    return states;
   }
 
   if (change.revert_of) {
@@ -114,9 +119,6 @@
   if (change.work_in_progress) {
     states.push(ChangeStates.WIP);
   }
-  if (change.is_private) {
-    states.push(ChangeStates.PRIVATE);
-  }
 
   // The gr-change-list table does not want READY TO SUBMIT or ACTIVE and it
   // does not pass options.
diff --git a/polygerrit-ui/app/utils/change-util_test.ts b/polygerrit-ui/app/utils/change-util_test.ts
index b17cc1c..45762a7 100644
--- a/polygerrit-ui/app/utils/change-util_test.ts
+++ b/polygerrit-ui/app/utils/change-util_test.ts
@@ -83,6 +83,15 @@
     assert.deepEqual(statuses, [ChangeStates.MERGE_CONFLICT]);
   });
 
+  test('Git conflict', () => {
+    const change = {
+      ...createChangeWithStatus(ChangeStatus.NEW, true),
+      contains_git_conflicts: true,
+    };
+    const statuses = changeStatuses(change);
+    assert.deepEqual(statuses, [ChangeStates.GIT_CONFLICT]);
+  });
+
   test('Merge conflict', () => {
     const change = createChangeWithStatus(ChangeStatus.NEW, false);
     const statuses = changeStatuses(change);
@@ -99,9 +108,15 @@
     const change = createChangeWithStatus(ChangeStatus.MERGED);
     assert.deepEqual(changeStatuses(change), [ChangeStates.MERGED]);
     change.is_private = true;
-    assert.deepEqual(changeStatuses(change), [ChangeStates.MERGED]);
+    assert.deepEqual(changeStatuses(change), [
+      ChangeStates.PRIVATE,
+      ChangeStates.MERGED,
+    ]);
     change.work_in_progress = true;
-    assert.deepEqual(changeStatuses(change), [ChangeStates.MERGED]);
+    assert.deepEqual(changeStatuses(change), [
+      ChangeStates.PRIVATE,
+      ChangeStates.MERGED,
+    ]);
   });
 
   test('Merged and Reverted status', () => {
@@ -132,9 +147,15 @@
     const change = createChangeWithStatus(ChangeStatus.ABANDONED, false);
     assert.deepEqual(changeStatuses(change), [ChangeStates.ABANDONED]);
     change.is_private = true;
-    assert.deepEqual(changeStatuses(change), [ChangeStates.ABANDONED]);
+    assert.deepEqual(changeStatuses(change), [
+      ChangeStates.PRIVATE,
+      ChangeStates.ABANDONED,
+    ]);
     change.work_in_progress = true;
-    assert.deepEqual(changeStatuses(change), [ChangeStates.ABANDONED]);
+    assert.deepEqual(changeStatuses(change), [
+      ChangeStates.PRIVATE,
+      ChangeStates.ABANDONED,
+    ]);
   });
 
   test('Revert status', () => {
@@ -145,8 +166,8 @@
     assert.deepEqual(changeStatuses(change), [ChangeStates.REVERT]);
     change.is_private = true;
     assert.deepEqual(changeStatuses(change), [
-      ChangeStates.REVERT,
       ChangeStates.PRIVATE,
+      ChangeStates.REVERT,
     ]);
   });
 
@@ -174,7 +195,7 @@
       labels: {},
     };
     const statuses = changeStatuses(change);
-    assert.deepEqual(statuses, [ChangeStates.WIP, ChangeStates.PRIVATE]);
+    assert.deepEqual(statuses, [ChangeStates.PRIVATE, ChangeStates.WIP]);
   });
 
   test('Merge conflict with private and wip', () => {
@@ -190,12 +211,48 @@
     };
     const statuses = changeStatuses(change);
     assert.deepEqual(statuses, [
+      ChangeStates.PRIVATE,
       ChangeStates.MERGE_CONFLICT,
       ChangeStates.WIP,
-      ChangeStates.PRIVATE,
     ]);
   });
 
+  test('Private prevents READY_TO_SUBMIT', () => {
+    const change = {
+      ...createChange(),
+      status: ChangeStatus.NEW,
+      mergeable: true,
+      is_private: true,
+      submittable: true,
+    };
+    const statuses = changeStatuses(change, {mergeable: true});
+    assert.deepEqual(statuses, [ChangeStates.PRIVATE]);
+  });
+
+  test('WIP prevents READY_TO_SUBMIT', () => {
+    const change = {
+      ...createChange(),
+      status: ChangeStatus.NEW,
+      mergeable: true,
+      work_in_progress: true,
+      submittable: true,
+    };
+    const statuses = changeStatuses(change, {mergeable: true});
+    assert.deepEqual(statuses, [ChangeStates.WIP]);
+  });
+
+  test('Git conflict prevents READY_TO_SUBMIT', () => {
+    const change = {
+      ...createChange(),
+      status: ChangeStatus.NEW,
+      mergeable: true,
+      contains_git_conflicts: true,
+      submittable: true,
+    };
+    const statuses = changeStatuses(change, {mergeable: true});
+    assert.deepEqual(statuses, [ChangeStates.GIT_CONFLICT]);
+  });
+
   test('hasHumanReviewer', () => {
     const owner = createAccountWithId(1);
     const change = {
diff --git a/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row-dark.png b/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row-dark.png
index 49cbcf6..a26b67f 100644
--- a/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row-dark.png
+++ b/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row-dark.png
Binary files differ
diff --git a/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row.png b/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row.png
index 4fa6f74..ab28bdf 100644
--- a/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row.png
+++ b/polygerrit-ui/screenshots/Chromium/baseline/gr-label-score-row.png
Binary files differ
diff --git a/resources/com/google/gerrit/pgm/init/gerrit.service b/resources/com/google/gerrit/pgm/init/gerrit.service
index 750dbb4..2d275fd 100644
--- a/resources/com/google/gerrit/pgm/init/gerrit.service
+++ b/resources/com/google/gerrit/pgm/init/gerrit.service
@@ -12,6 +12,7 @@
 User=gerritsrv
 SyslogIdentifier=GerritCodeReview
 StandardInput=socket
+OOMScoreAdjust=-1000
 
 [Install]
 WantedBy=multi-user.target
diff --git a/resources/com/google/gerrit/pgm/init/gerrit.sh b/resources/com/google/gerrit/pgm/init/gerrit.sh
index 8c958c9..67d95b2 100755
--- a/resources/com/google/gerrit/pgm/init/gerrit.sh
+++ b/resources/com/google/gerrit/pgm/init/gerrit.sh
@@ -536,7 +536,11 @@
                 echo -16 > "/proc/${PID}/oom_adj"
             fi
         fi
-    elif [ "$(uname -s)"=="Linux" ] && test -d "/proc/${PID}"; then
+    elif test -f "/proc/${PID}/oom_score_adj" && ! test "$(cat "/proc/${PID}/oom_score_adj")" = "0" ; then
+        : # Do nothing. OOM score already adjusted.
+    elif test -f "/proc/${PID}/oom_adj" && ! test "$(cat "/proc/${PID}/oom_adj")" = "0" ; then
+        : # Do nothing. OOM score already adjusted.
+    elif test "$(uname -s)" = "Linux" && test -d "/proc/${PID}"; then
         echo "WARNING: Could not adjust Gerrit's process for the kernel's out-of-memory killer."
         echo "         This may be caused by ${0} not being run as root."
         echo "         Consider changing the OOM score adjustment manually for Gerrit's PID=${PID} with e.g.:"
diff --git a/tools/BUILD b/tools/BUILD
index e306a0a..9529ec7 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -14,7 +14,7 @@
     name = "protoc_java_toolchain",
     command_line = "--java_out=%s",
     progress_message = "Generating Java proto_library %{label}",
-    runtime = "@gerrit_deps//:com_google_protobuf_protobuf_java",
+    runtime = "@external_deps//:com_google_protobuf_protobuf_java",
     toolchain_type = "@rules_java//java/proto:toolchain_type",
 )
 
diff --git a/tools/bzl/classpath.bzl b/tools/bzl/classpath.bzl
index e196c10..9b24a4d 100644
--- a/tools/bzl/classpath.bzl
+++ b/tools/bzl/classpath.bzl
@@ -1,27 +1,102 @@
+# Utility rule for IDE integration (Eclipse, IntelliJ, etc.).
+#
+# This rule produces metadata files:
+#
+#   - %{name}.runtime_classpath
+#       One runtime jar path per line. Used to construct the IDE classpath.
+#
+#   - %{name}.source_classpath
+#       One source-jar path per line. Used to attach sources to libraries in
+#       the IDE.
+#
+# Important implementation details:
+#
+# * With rules_jvm_external, many Maven artifacts (including sources) are
+#   resolved lazily. A jar may appear in a provider but not exist on disk
+#   unless it is consumed by an action.
+#
+# * IDEs require real files on disk. Simply listing paths is insufficient.
+#
+# * To ensure jars are materialized under the Bazel execution root, this rule
+#   declares them as inputs to small, no-op actions ("stamp" actions).
+#
+# * A param file is used for source jars to avoid command-line length limits.
+#   Bazel does not automatically expand "@paramfile" in run_shell, so the
+#   script explicitly strips the '@' prefix and reads the file.
+
 load("@rules_java//java:defs.bzl", "JavaInfo")
 
-def _classpath_collector(ctx):
-    all = []
+def _classpath_collector_impl(ctx):
+    runtime_sets = []
+    source_sets = []
+
     for d in ctx.attr.deps:
         if JavaInfo in d:
-            all.append(d[JavaInfo].transitive_runtime_jars)
-            if hasattr(d[JavaInfo].compilation_info, "runtime_classpath"):
-                all.append(d[JavaInfo].compilation_info.runtime_classpath)
-        elif hasattr(d, "files"):
-            all.append(d.files)
+            j = d[JavaInfo]
 
-    as_strs = [c.path for c in depset(transitive = all).to_list()]
+            runtime_sets.append(j.transitive_runtime_jars)
+
+            ci = j.compilation_info
+            if ci and hasattr(ci, "runtime_classpath"):
+                runtime_sets.append(ci.runtime_classpath)
+
+            source_sets.append(j.transitive_source_jars)
+
+        elif hasattr(d, "files"):
+            runtime_sets.append(d.files)
+
+    runtime_files = depset(transitive = runtime_sets).to_list()
+    source_files = depset(transitive = source_sets).to_list()
+
+    # Runtime classpath: metadata file.
     ctx.actions.write(
         output = ctx.outputs.runtime,
-        content = "\n".join(sorted(as_strs)),
+        content = "\n".join(sorted([f.path for f in runtime_files])),
+    )
+
+    # Force runtime jars to be present on disk.
+    runtime_stamp = ctx.actions.declare_file(ctx.label.name + ".runtime_materialized")
+    ctx.actions.run_shell(
+        inputs = runtime_files,
+        outputs = [runtime_stamp],
+        arguments = [runtime_stamp.path],
+        command = r"""
+set -euo pipefail
+: > "$1"
+""",
+    )
+
+    # Source classpath: write stable sorted list, and materialize jars by
+    # declaring them as inputs.
+    pf = ctx.actions.args()
+    pf.set_param_file_format("multiline")
+    pf.use_param_file("%s", use_always = True)
+    pf.add_all([f.path for f in source_files])
+
+    ctx.actions.run_shell(
+        inputs = source_files,
+        outputs = [ctx.outputs.sources],
+        arguments = [ctx.outputs.sources.path, pf],
+        command = r"""
+set -euo pipefail
+OUT="$1"
+PF="$2"
+PF="${PF#@}"
+if [ -n "$PF" ] && [ -f "$PF" ]; then
+  sort "$PF" > "$OUT"
+else
+  : > "$OUT"
+fi
+""",
     )
 
 classpath_collector = rule(
+    implementation = _classpath_collector_impl,
     attrs = {
         "deps": attr.label_list(),
     },
     outputs = {
         "runtime": "%{name}.runtime_classpath",
+        "sources": "%{name}.source_classpath",
     },
-    implementation = _classpath_collector,
 )
diff --git a/tools/bzl/pkg_war.bzl b/tools/bzl/pkg_war.bzl
index 61b3bb8..7151766 100644
--- a/tools/bzl/pkg_war.bzl
+++ b/tools/bzl/pkg_war.bzl
@@ -62,10 +62,6 @@
     ]
 
 def _should_skip_runtime_jar(dep):
-    # Do not package any jars coming from jgit_deps.
-    if "jgit_deps" in dep.path:
-        return True
-
     raw = dep.basename
     if raw.startswith(PROCESSED_PREFIX):
         raw = raw[len(PROCESSED_PREFIX):]
diff --git a/tools/eclipse/BUILD b/tools/eclipse/BUILD
index 175fd46..07dd5bd 100644
--- a/tools/eclipse/BUILD
+++ b/tools/eclipse/BUILD
@@ -45,17 +45,17 @@
     name = "autovalue_classpath_collect",
     deps = [
         "//lib/auto:auto-value",
-        "@gerrit_deps//:com_google_auto_auto_common",
-        "@gerrit_deps//:com_google_auto_factory_auto_factory",
-        "@gerrit_deps//:com_google_auto_service_auto_service_annotations",
-        "@gerrit_deps//:com_google_auto_value_auto_value_annotations",
-        "@gerrit_deps//:com_google_code_gson_gson",
-        "@gerrit_deps//:com_google_guava_guava",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_extension",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_factory",
-        "@gerrit_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
-        "@gerrit_deps//:com_squareup_javapoet",
-        "@gerrit_deps//:io_sweers_autotransient_autotransient",
-        "@gerrit_deps//:javax_inject_javax_inject",
+        "@external_deps//:com_google_auto_auto_common",
+        "@external_deps//:com_google_auto_factory_auto_factory",
+        "@external_deps//:com_google_auto_service_auto_service_annotations",
+        "@external_deps//:com_google_auto_value_auto_value_annotations",
+        "@external_deps//:com_google_code_gson_gson",
+        "@external_deps//:com_google_guava_guava",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_extension",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_factory",
+        "@external_deps//:com_ryanharter_auto_value_auto_value_gson_runtime",
+        "@external_deps//:com_squareup_javapoet",
+        "@external_deps//:io_sweers_autotransient_autotransient",
+        "@external_deps//:javax_inject_javax_inject",
     ],
 )
diff --git a/tools/eclipse/project.py b/tools/eclipse/project.py
index 2302ead..eaf7c83 100755
--- a/tools/eclipse/project.py
+++ b/tools/eclipse/project.py
@@ -105,6 +105,10 @@
     return subprocess.check_output(_build_bazel_cmd('info', 'output_base')).strip()
 
 
+def retrieve_exec_root():
+    return subprocess.check_output(_build_bazel_cmd('info', 'execution_root')).strip()
+
+
 def gen_bazel_path(ext_location):
     bazel = subprocess.check_output(['which', bazel_exe]).strip().decode('UTF-8')
     with open(os.path.join(ROOT, ".bazel_path"), 'w') as fd:
@@ -114,15 +118,33 @@
 
 
 def _query_classpath(target):
-    deps = []
     t = cp_targets[target]
     try:
         subprocess.check_call(_build_bazel_cmd('build', t))
     except subprocess.CalledProcessError:
         exit(1)
-    name = 'bazel-bin/tools/eclipse/' + t.split(':')[1] + '.runtime_classpath'
-    deps = [line.rstrip('\n') for line in open(name)]
-    return deps
+
+    base = 'bazel-bin/tools/eclipse/' + t.split(':')[1]
+
+    runtime_name = base + '.runtime_classpath'
+    runtime = [line.rstrip('\n') for line in open(runtime_name)]
+
+    sources = []
+    sources_name = base + '.source_classpath'
+    if os.path.exists(sources_name):
+        sources = [line.rstrip('\n') for line in open(sources_name)]
+
+    return runtime, sources
+
+
+def _normalize_jar_basename(p):
+    b = os.path.basename(p)
+    for pref in ('processed_', 'header_'):
+        if b.startswith(pref):
+            b = b[len(pref):]
+    if b.endswith('-sources.jar'):
+        b = b[:-len('-sources.jar')] + '.jar'
+    return b
 
 
 def gen_project(name='gerrit', root=ROOT):
@@ -227,13 +249,19 @@
     # Classpath entries are absolute for cross-cell support
     java_library = re.compile('bazel-out/.*?-fastbuild/bin/(.*)/[^/]+[.]jar$')
     proto_library = re.compile('bazel-out/.*?-fastbuild/bin/(.*)proto/(.*)_proto-speed[.]jar$')
-    srcs = re.compile('(.*/external/[^/]+)/jar/(.*)[.]jar')
-    for p in _query_classpath(MAIN):
+
+    runtime_cp, source_cp = _query_classpath(MAIN)
+
+    source_by_basename = {}
+    for p in source_cp:
+        source_by_basename[_normalize_jar_basename(p)] = p
+
+    for p in runtime_cp:
         if p.endswith('-src.jar'):
             continue
 
         m = java_library.match(p)
-        if m:
+        if m and "/external/" not in p:
             src.add(m.group(1))
             # Exceptions: both source and lib
             if p.endswith('libquery_parser.jar') or \
@@ -291,13 +319,17 @@
     for libs in [lib]:
         for j in sorted(libs):
             s = None
-            m = srcs.match(j)
-            if m:
-                prefix = m.group(1)
-                suffix = m.group(2)
-                p = os.path.join(prefix, "jar", "%s-src.jar" % suffix)
-                if os.path.exists(p):
-                    s = p
+
+            # Attach sources using the classpath_collector output from rules_jvm_external.
+            # This replaces the previous heuristic-based source lookup.
+            key = _normalize_jar_basename(j)
+            if key in source_by_basename:
+                sp = source_by_basename[key]
+                if sp.startswith("external"):
+                    s = os.path.join(ext, sp)
+                else:
+                    s = sp
+
             if args.plugins:
                 classpathentry('lib', j, s, exported=True)
             else:
@@ -332,7 +364,10 @@
 def gen_factorypath(ext):
     doc = xml.dom.minidom.getDOMImplementation().createDocument(
         None, 'factorypath', None)
-    for jar in _query_classpath(AUTO):
+
+    runtime, _ = _query_classpath(AUTO)
+
+    for jar in runtime:
         e = doc.createElement('factorypathentry')
         e.setAttribute('kind', 'EXTJAR')
         e.setAttribute('id', os.path.join(ext, jar))
@@ -346,11 +381,12 @@
 
 
 try:
-    ext_location = retrieve_ext_location().decode("utf-8")
+    output_base = retrieve_ext_location().decode("utf-8")
+    exec_root = retrieve_exec_root().decode("utf-8")
     gen_project(args.project_name)
-    gen_classpath(ext_location)
-    gen_factorypath(ext_location)
-    gen_bazel_path(ext_location)
+    gen_classpath(exec_root)
+    gen_factorypath(output_base)
+    gen_bazel_path(output_base)
 
     try:
         subprocess.check_call(_build_bazel_cmd('build', MAIN))
@@ -359,3 +395,4 @@
 except KeyboardInterrupt:
     print('Interrupted by user', file=sys.stderr)
     exit(1)
+
