Bump Abseil to a commit that includes `HasAbslStringify`.

Something changed in the structure of the transitively included headers, so I
also had to bump the Protobuf commit, as well as fix a few of our own includes
and dependencies.

PiperOrigin-RevId: 567126607
diff --git a/WORKSPACE b/WORKSPACE
index 30f362b..4b69f7a 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -36,9 +36,9 @@
 
 http_archive(
     name = "com_google_absl",
-    sha256 = "987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed",
-    strip_prefix = "abseil-cpp-20230802.1",
-    url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20230802.1.tar.gz",
+    sha256 = "f17ba8d569af3ebf649cbce80d089fed35e046a44f40e0714b6bd6fe83d82738",
+    strip_prefix = "abseil-cpp-db08109eeb15fcd856761557f1668c2b34690036",
+    url = "https://github.com/abseil/abseil-cpp/archive/db08109eeb15fcd856761557f1668c2b34690036.tar.gz",
 )
 
 http_archive(
@@ -76,9 +76,9 @@
 
 http_archive(
     name = "com_google_protobuf",
-    sha256 = "07d69502e58248927b58c7d7e7424135272ba5b2852a753ab6b67e62d2d29355",
-    strip_prefix = "protobuf-24.3",
-    url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v24.3.tar.gz"
+    sha256 = "6f1f962933da7728d81e0467b7ee6f99987c02fc284ff929eb99aeb375ee4b90",
+    strip_prefix = "protobuf-33b78e67a92c7ba1ecc2e19a037cd2e12f4c5e27",
+    url = "https://github.com/protocolbuffers/protobuf/archive/33b78e67a92c7ba1ecc2e19a037cd2e12f4c5e27.tar.gz"
 )
 
 load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
diff --git a/centipede/BUILD b/centipede/BUILD
index 51d309c..1942b08 100644
--- a/centipede/BUILD
+++ b/centipede/BUILD
@@ -1224,6 +1224,8 @@
     deps = [
         ":knobs",
         "@com_google_absl//absl/container:flat_hash_map",
+        "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/types:span",
         "@com_google_googletest//:gtest_main",
     ],
 )
diff --git a/centipede/knobs.cc b/centipede/knobs.cc
index 34e372a..a4b0886 100644
--- a/centipede/knobs.cc
+++ b/centipede/knobs.cc
@@ -14,6 +14,7 @@
 
 #include "./centipede/knobs.h"
 
+#include <cstdio>
 #include <string_view>
 
 namespace centipede {
diff --git a/centipede/knobs.h b/centipede/knobs.h
index be98c12..d6b50af 100644
--- a/centipede/knobs.h
+++ b/centipede/knobs.h
@@ -15,10 +15,10 @@
 #ifndef THIRD_PARTY_CENTIPEDE_KNOBS_H_
 #define THIRD_PARTY_CENTIPEDE_KNOBS_H_
 
+#include <algorithm>
 #include <cstddef>
 #include <cstdint>
 #include <functional>
-#include <numeric>
 #include <string_view>
 
 #include "absl/types/span.h"
diff --git a/centipede/knobs_test.cc b/centipede/knobs_test.cc
index 0f31b2c..13c2cc0 100644
--- a/centipede/knobs_test.cc
+++ b/centipede/knobs_test.cc
@@ -15,9 +15,13 @@
 #include "./centipede/knobs.h"
 
 #include <cstddef>
+#include <cstdint>
+#include <string>
 
 #include "gtest/gtest.h"
 #include "absl/container/flat_hash_map.h"
+#include "absl/strings/str_cat.h"
+#include "absl/types/span.h"
 
 namespace centipede {
 
diff --git a/cmake/BuildDependencies.cmake b/cmake/BuildDependencies.cmake
index b4a171b..8bfb56a 100644
--- a/cmake/BuildDependencies.cmake
+++ b/cmake/BuildDependencies.cmake
@@ -6,13 +6,13 @@
 set(gtest_TAG v1.14.0)
 
 set(absl_URL https://github.com/abseil/abseil-cpp.git)
-set(absl_TAG 20230802.1)
+set(absl_TAG db08109eeb15fcd856761557f1668c2b34690036)
 
 set(re2_URL https://github.com/google/re2.git)
 set(re2_TAG 2023-09-01)
 
 set(proto_URL https://github.com/protocolbuffers/protobuf.git)
-set(proto_TAG v24.3)
+set(proto_TAG 33b78e67a92c7ba1ecc2e19a037cd2e12f4c5e27)
 
 # From https://www.antlr.org/download.html
 set(antlr_cpp_URL https://www.antlr.org/download/antlr4-cpp-runtime-4.12.0-source.zip)
diff --git a/fuzztest/BUILD b/fuzztest/BUILD
index fc5e48f..f53398a 100644
--- a/fuzztest/BUILD
+++ b/fuzztest/BUILD
@@ -453,6 +453,7 @@
     deps = [
         "@com_google_absl//absl/status",
         "@com_google_absl//absl/strings",
+        "@com_google_absl//absl/strings:cord",
     ],
 )
 
@@ -473,6 +474,7 @@
     srcs = ["internal/subprocess_test.cc"],
     deps = [
         ":subprocess",
+        "@com_google_absl//absl/strings",
         "@com_google_absl//absl/time",
         "@com_google_googletest//:gtest_main",
     ],
diff --git a/fuzztest/CMakeLists.txt b/fuzztest/CMakeLists.txt
index dd91709..76bdec0 100644
--- a/fuzztest/CMakeLists.txt
+++ b/fuzztest/CMakeLists.txt
@@ -388,6 +388,7 @@
 target_link_libraries(
   fuzztest_status
   PUBLIC
+  absl::cord
   absl::status
   absl::strings
 )
@@ -418,6 +419,7 @@
     PUBLIC
     fuzztest_logging
     fuzztest_subprocess
+    absl::strings
     absl::time
     GTest::gmock_main
   )
diff --git a/fuzztest/internal/status.cc b/fuzztest/internal/status.cc
index 3e5b92e..6ba97ec 100644
--- a/fuzztest/internal/status.cc
+++ b/fuzztest/internal/status.cc
@@ -1,5 +1,8 @@
 #include "./fuzztest/internal/status.h"
 
+#include "absl/status/status.h"
+#include "absl/strings/cord.h"
+#include "absl/strings/str_cat.h"
 #include "absl/strings/string_view.h"
 
 absl::Status SetMessage(const absl::Status& status, absl::string_view message) {
diff --git a/fuzztest/internal/status.h b/fuzztest/internal/status.h
index 9cdc690..a6ee7f2 100644
--- a/fuzztest/internal/status.h
+++ b/fuzztest/internal/status.h
@@ -2,6 +2,7 @@
 #define FUZZTEST_FUZZTEST_INTERNAL_STATUS_H_
 
 #include "absl/status/status.h"
+#include "absl/strings/string_view.h"
 
 // Prefix status error message with `prefix`, if `status` is not OK.
 absl::Status Prefix(const absl::Status& status, absl::string_view prefix);
diff --git a/fuzztest/internal/subprocess.cc b/fuzztest/internal/subprocess.cc
index 4932aa5..dd28705 100644
--- a/fuzztest/internal/subprocess.cc
+++ b/fuzztest/internal/subprocess.cc
@@ -16,9 +16,9 @@
 
 #include <cerrno>
 #include <csignal>
-#include <cstddef>
 #include <cstdlib>
 #include <cstring>
+#include <variant>
 
 #if !defined(_MSC_VER)
 #include <fcntl.h>
diff --git a/fuzztest/internal/subprocess.h b/fuzztest/internal/subprocess.h
index dcf52ea..e3f080d 100644
--- a/fuzztest/internal/subprocess.h
+++ b/fuzztest/internal/subprocess.h
@@ -16,7 +16,6 @@
 #define FUZZTEST_FUZZTEST_INTERNAL_SUBPROCESS_H_
 
 #include <iostream>
-#include <sstream>
 #include <string>
 #include <variant>
 #include <vector>
diff --git a/fuzztest/internal/subprocess_test.cc b/fuzztest/internal/subprocess_test.cc
index 23ea124..bfb3c3a 100644
--- a/fuzztest/internal/subprocess_test.cc
+++ b/fuzztest/internal/subprocess_test.cc
@@ -15,10 +15,12 @@
 #include "./fuzztest/internal/subprocess.h"
 
 #include <csignal>
+#include <sstream>
 #include <string>
 
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
+#include "absl/strings/str_cat.h"
 #include "absl/time/time.h"
 
 namespace fuzztest::internal {