Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grpc package is HUGE #33575

Open
shyim opened this issue Nov 7, 2024 · 1 comment
Open

grpc package is HUGE #33575

shyim opened this issue Nov 7, 2024 · 1 comment

Comments

@shyim
Copy link
Contributor

shyim commented Nov 7, 2024

Alpine:

/ # apk add --no-cache grpc
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/aarch64/APKINDEX.tar.gz
(1/2) Installing ca-certificates (20240705-r0)
(2/2) Installing grpc (1.62.1-r0)
Executing busybox-1.36.1-r29.trigger
Executing ca-certificates-20240705-r0.trigger
OK: 10 MiB in 16 packages

Wolfi:

/ # apk add grpc
fetch https://packages.wolfi.dev/os/aarch64/APKINDEX.tar.gz
(1/84) Installing py3-pip-wheel (24.3.1-r0)
(2/84) Installing libbz2-1 (1.0.8-r9)
(3/84) Installing libexpat1 (2.6.4-r0)
(4/84) Installing libffi (3.4.6-r5)
(5/84) Installing gdbm (1.24-r1)
(6/84) Installing xz (5.6.3-r2)
(7/84) Installing libstdc++ (14.2.0-r5)
(8/84) Installing mpdecimal (4.0.0-r3)
(9/84) Installing ncurses-terminfo-base (6.5_p20241006-r4)
(10/84) Installing ncurses (6.5_p20241006-r4)
(11/84) Installing readline (8.2.13-r1)
(12/84) Installing sqlite-libs (3.47.0-r0)
(13/84) Installing python-3.12-base (3.12.7-r1)
(14/84) Installing abseil-cpp-raw-logging-internal (20240722.0-r0)
(15/84) Installing abseil-cpp-crc-internal (20240722.0-r0)
(16/84) Installing abseil-cpp-crc32c (20240722.0-r0)
(17/84) Installing abseil-cpp-crc-cord-state (20240722.0-r0)
(18/84) Installing abseil-cpp-strings-internal (20240722.0-r0)
(19/84) Installing abseil-cpp-strings (20240722.0-r0)
(20/84) Installing abseil-cpp-cord-internal (20240722.0-r0)
(21/84) Installing abseil-cpp-exponential-biased (20240722.0-r0)
(22/84) Installing abseil-cpp-cordz-functions (20240722.0-r0)
(23/84) Installing abseil-cpp-spinlock-wait (20240722.0-r0)
(24/84) Installing abseil-cpp-base (20240722.0-r0)
(25/84) Installing abseil-cpp-time-zone (20240722.0-r0)
(26/84) Installing abseil-cpp-time (20240722.0-r0)
(27/84) Installing abseil-cpp-kernel-timeout-internal (20240722.0-r0)
(28/84) Installing abseil-cpp-malloc-internal (20240722.0-r0)
(29/84) Installing abseil-cpp-debugging-internal (20240722.0-r0)
(30/84) Installing abseil-cpp-stacktrace (20240722.0-r0)
(31/84) Installing abseil-cpp-synchronization (20240722.0-r0)
(32/84) Installing abseil-cpp-cordz-handle (20240722.0-r0)
(33/84) Installing abseil-cpp-cordz-info (20240722.0-r0)
(34/84) Installing abseil-cpp-cord (20240722.0-r0)
(35/84) Installing abseil-cpp-flags-commandlineflag (20240722.0-r0)
(36/84) Installing abseil-cpp-flags-commandlineflag-internal (20240722.0-r0)
(37/84) Installing abseil-cpp-flags-program-name (20240722.0-r0)
(38/84) Installing abseil-cpp-flags-config (20240722.0-r0)
(39/84) Installing abseil-cpp-flags-internal (20240722.0-r0)
(40/84) Installing abseil-cpp-int128 (20240722.0-r0)
(41/84) Installing abseil-cpp-str-format-internal (20240722.0-r0)
(42/84) Installing abseil-cpp-flags-marshalling (20240722.0-r0)
(43/84) Installing abseil-cpp-flags-private-handle-accessor (20240722.0-r0)
(44/84) Installing abseil-cpp-city (20240722.0-r0)
(45/84) Installing abseil-cpp-low-level-hash (20240722.0-r0)
(46/84) Installing abseil-cpp-hash (20240722.0-r0)
(47/84) Installing abseil-cpp-raw-hash-set (20240722.0-r0)
(48/84) Installing abseil-cpp-flags-reflection (20240722.0-r0)
(49/84) Installing abseil-cpp-log-globals (20240722.0-r0)
(50/84) Installing abseil-cpp-log-internal-nullguard (20240722.0-r0)
(51/84) Installing abseil-cpp-log-internal-check-op (20240722.0-r0)
(52/84) Installing abseil-cpp-log-internal-conditions (20240722.0-r0)
(53/84) Installing abseil-cpp-strerror (20240722.0-r0)
(54/84) Installing abseil-cpp-status (20240722.0-r0)
(55/84) Installing gtest (1.15.2-r1)
(56/84) Installing abseil-cpp (20240722.0-r0)
(57/84) Installing abseil-cpp-demangle-internal (20240722.0-r0)
(58/84) Installing abseil-cpp-symbolize (20240722.0-r0)
(59/84) Installing abseil-cpp-examine-stack (20240722.0-r0)
(60/84) Installing abseil-cpp-log-internal-globals (20240722.0-r0)
(61/84) Installing abseil-cpp-log-internal-format (20240722.0-r0)
(62/84) Installing abseil-cpp-log-sink (20240722.0-r0)
(63/84) Installing abseil-cpp-log-internal-log-sink-set (20240722.0-r0)
(64/84) Installing abseil-cpp-log-internal-proto (20240722.0-r0)
(65/84) Installing abseil-cpp-log-internal-message (20240722.0-r0)
(66/84) Installing abseil-cpp-random-internal-randen-hwaes (20240722.0-r0)
(67/84) Installing abseil-cpp-random-internal-platform (20240722.0-r0)
(68/84) Installing abseil-cpp-random-internal-randen-hwaes-impl (20240722.0-r0)
(69/84) Installing abseil-cpp-random-internal-randen-slow (20240722.0-r0)
(70/84) Installing abseil-cpp-random-internal-randen (20240722.0-r0)
(71/84) Installing abseil-cpp-random-internal-seed-material (20240722.0-r0)
(72/84) Installing abseil-cpp-random-seed-gen-exception (20240722.0-r0)
(73/84) Installing abseil-cpp-random-internal-pool-urbg (20240722.0-r0)
(74/84) Installing abseil-cpp-statusor (20240722.0-r0)
(75/84) Installing abseil-cpp-throw-delegate (20240722.0-r0)
(76/84) Installing c-ares
(77/84) Installing abseil-cpp-die-if-null (20240722.0-r0)
(78/84) Installing libprotobuf (3.27.4-r1)
(79/84) Installing libprotoc (3.27.4-r1)
(80/84) Installing icu (75.1-r0)
(81/84) Installing re2 (2024.02.01-r2)
(82/84) Installing libcap (2.71-r0)
(83/84) Installing libsystemd (256.7-r4)
(84/84) Installing grpc-1.67 (1.67.1-r0)
Executing glibc-2.40-r3.trigger
Executing busybox-1.37.0-r0.trigger
OK: 169 MiB in 99 packages

On Alpine it installs 1MB and on Wolfi 156 MB 😱

@tuananh
Copy link
Contributor

tuananh commented Nov 8, 2024

Interesting. The dot graph for alpine is like this

digraph "apkindex" {
  rankdir=LR;
  node [shape=box];
  "busybox-1.36.1-r29" -> "musl-1.2.5-r0"[arrowhead=inv,label="so:libc.musl-x86_64.so.1",];
  "busybox-binsh-1.36.1-r29" -> "busybox-1.36.1-r29"[];
  "ca-certificates-20240705-r0" -> "busybox-binsh-1.36.1-r29"[arrowhead=inv,label="/bin/sh",];
  "ca-certificates-20240705-r0" -> "musl-1.2.5-r0"[arrowhead=inv,label="so:libc.musl-x86_64.so.1",];
  "libcrypto3-3.3.2-r0" -> "musl-1.2.5-r0"[arrowhead=inv,label="so:libc.musl-x86_64.so.1",];
  "ca-certificates-20240705-r0" -> "libcrypto3-3.3.2-r0"[arrowhead=inv,label="so:libcrypto.so.3",];
  "grpc-1.62.1-r0" -> "ca-certificates-20240705-r0"[];
}

while the one we have for grpc is huge

digraph "apkindex" {
  rankdir=LR;
  node [shape=box];
  "python-3.12-base-3.12.7-r1" -> "py3-pip-wheel-24.3.1-r0"[];
  "wolfi-baselayout-20230201-r15" -> "ca-certificates-bundle-20241010-r1"[];
  "ld-linux-2.40-r3" -> "wolfi-baselayout-20230201-r15"[];
  "python-3.12-base-3.12.7-r1" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "musl" [style=dashed, color=red, fontcolor=red, shape=octagon];
  "glibc-2.40-r3" -> "musl" [color=red];
  "glibc-2.40-r3" -> "glibc-locale-posix-2.40-r3"[];
  "libgcc-14.2.0-r5" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libgcc-14.2.0-r5" -> "glibc-2.40-r3"[color=red,arrowhead=inv,label="so:libc.so.6",];
  "glibc-2.40-r3" -> "libgcc-14.2.0-r5"[color=red,];
  "glibc-2.40-r3" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "glibc-2.40-r3" -> "wolfi-baselayout-20230201-r15"[];
  "libbz2-1-1.0.8-r9" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "libbz2-1-1.0.8-r9"[arrowhead=inv,label="so:libbz2.so.1",];
  "python-3.12-base-3.12.7-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libcrypt1-2.40-r3" -> "libxcrypt-4.4.36-r8"[];
  "python-3.12-base-3.12.7-r1" -> "libcrypt1-2.40-r3"[arrowhead=inv,label="so:libcrypt.so.1",];
  "libcrypto3-3.4.0-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "libcrypto3-3.4.0-r1"[arrowhead=inv,label="so:libcrypto.so.3",];
  "libexpat1-2.6.4-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libexpat1-2.6.4-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "python-3.12-base-3.12.7-r1" -> "libexpat1-2.6.4-r0"[arrowhead=inv,label="so:libexpat.so.1",];
  "libffi-3.4.6-r5" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "libffi-3.4.6-r5"[arrowhead=inv,label="so:libffi.so.8",];
  "gdbm-1.24-r1" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "gdbm-1.24-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "gdbm-1.24-r1"[arrowhead=inv,label="so:libgdbm.so.6",];
  "xz-5.6.3-r2" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "xz-5.6.3-r2" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "xz-5.6.3-r2"[arrowhead=inv,label="so:liblzma.so.5",];
  "python-3.12-base-3.12.7-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "mpdecimal-4.0.0-r3" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "mpdecimal-4.0.0-r3" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "mpdecimal-4.0.0-r3" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "mpdecimal-4.0.0-r3" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "libstdc++-14.2.0-r5" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libstdc++-14.2.0-r5" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libstdc++-14.2.0-r5" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "libstdc++-14.2.0-r5" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "mpdecimal-4.0.0-r3" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "python-3.12-base-3.12.7-r1" -> "mpdecimal-4.0.0-r3"[arrowhead=inv,label="so:libmpdec.so.4",];
  "ncurses-6.5_p20241006-r4" -> "ncurses-terminfo-base-6.5_p20241006-r4"[];
  "ncurses-6.5_p20241006-r4" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "ncurses-6.5_p20241006-r4" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "ncurses-6.5_p20241006-r4"[arrowhead=inv,label="so:libncursesw.so.6",];
  "python-3.12-base-3.12.7-r1" -> "ncurses-6.5_p20241006-r4"[arrowhead=inv,label="so:libpanelw.so.6",];
  "readline-8.2.13-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "readline-8.2.13-r1" -> "ncurses-6.5_p20241006-r4"[arrowhead=inv,label="so:libncursesw.so.6",];
  "python-3.12-base-3.12.7-r1" -> "readline-8.2.13-r1"[arrowhead=inv,label="so:libreadline.so.8",];
  "sqlite-libs-3.47.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "sqlite-libs-3.47.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "python-3.12-base-3.12.7-r1" -> "sqlite-libs-3.47.0-r0"[arrowhead=inv,label="so:libsqlite3.so.0",];
  "libssl3-3.4.0-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libssl3-3.4.0-r1" -> "libcrypto3-3.4.0-r1"[arrowhead=inv,label="so:libcrypto.so.3",];
  "python-3.12-base-3.12.7-r1" -> "libssl3-3.4.0-r1"[arrowhead=inv,label="so:libssl.so.3",];
  "python-3.12-base-3.12.7-r1" -> "ncurses-6.5_p20241006-r4"[arrowhead=inv,label="so:libtinfo.so.6",];
  "zlib-1.3.1-r4" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "python-3.12-base-3.12.7-r1" -> "zlib-1.3.1-r4"[arrowhead=inv,label="so:libz.so.1",];
  "grpc-1.67-1.67.1-r0" -> "python-3.12-base-3.12.7-r1"[];
  "grpc-1.67-1.67.1-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-cord-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-raw-logging-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-crc-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-crc-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-crc-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-crc-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-crc32c-20240722.0-r0" -> "abseil-cpp-crc-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_crc_internal.so.2407.0.0",];
  "abseil-cpp-crc32c-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-crc32c-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-crc32c-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-crc-cord-state-20240722.0-r0" -> "abseil-cpp-crc32c-20240722.0-r0"[arrowhead=inv,label="so:libabsl_crc32c.so.2407.0.0",];
  "abseil-cpp-crc-cord-state-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-crc-cord-state-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-crc-cord-state-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "abseil-cpp-crc-cord-state-20240722.0-r0"[arrowhead=inv,label="so:libabsl_crc_cord_state.so.2407.0.0",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-strings-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-strings-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-strings-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-strings-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-strings-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-strings-20240722.0-r0" -> "abseil-cpp-strings-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings_internal.so.2407.0.0",];
  "abseil-cpp-strings-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-strings-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-strings-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "abseil-cpp-strings-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-cord-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-cord-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord_internal.so.2407.0.0",];
  "abseil-cpp-cordz-functions-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-exponential-biased-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "abseil-cpp-cordz-functions-20240722.0-r0" -> "abseil-cpp-exponential-biased-20240722.0-r0"[arrowhead=inv,label="so:libabsl_exponential_biased.so.2407.0.0",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-cordz-functions-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_functions.so.2407.0.0",];
  "abseil-cpp-base-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-base-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-spinlock-wait-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-base-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-base-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-base-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-base-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-cord-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord_internal.so.2407.0.0",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-kernel-timeout-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-time-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-time-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-time-zone-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-time-zone-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-time-zone-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-time-20240722.0-r0" -> "abseil-cpp-time-zone-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time_zone.so.2407.0.0",];
  "abseil-cpp-time-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-time-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-time-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "abseil-cpp-time-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-kernel-timeout-internal-20240722.0-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "abseil-cpp-kernel-timeout-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-kernel-timeout-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-kernel-timeout-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_kernel_timeout_internal.so.2407.0.0",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-malloc-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-malloc-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_malloc_internal.so.2407.0.0",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-debugging-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-debugging-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-debugging-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-debugging-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-stacktrace-20240722.0-r0" -> "abseil-cpp-debugging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_debugging_internal.so.2407.0.0",];
  "abseil-cpp-stacktrace-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-stacktrace-20240722.0-r0"[arrowhead=inv,label="so:libabsl_stacktrace.so.2407.0.0",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-synchronization-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cordz-handle-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-cordz-handle-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-cordz-handle-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-cordz-handle-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-cordz-handle-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_handle.so.2407.0.0",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-stacktrace-20240722.0-r0"[arrowhead=inv,label="so:libabsl_stacktrace.so.2407.0.0",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-cordz-info-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-cordz-info-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_info.so.2407.0.0",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-crc-cord-state-20240722.0-r0"[arrowhead=inv,label="so:libabsl_crc_cord_state.so.2407.0.0",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-cord-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-cord-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-cord-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-cord-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-cord-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-cordz-functions-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_functions.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-cordz-info-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_info.so.2407.0.0",];
  "abseil-cpp-flags-commandlineflag-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-flags-commandlineflag-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_commandlineflag.so.2407.0.0",];
  "abseil-cpp-flags-commandlineflag-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-flags-commandlineflag-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_commandlineflag_internal.so.2407.0.0",];
  "abseil-cpp-flags-program-name-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-flags-program-name-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-program-name-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-flags-program-name-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-config-20240722.0-r0" -> "abseil-cpp-flags-program-name-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_program_name.so.2407.0.0",];
  "abseil-cpp-flags-config-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-flags-config-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-config-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-flags-config-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-flags-config-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_config.so.2407.0.0",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-flags-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-flags-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_internal.so.2407.0.0",];
  "abseil-cpp-int128-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-int128-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-int128-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "abseil-cpp-int128-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "abseil-cpp-int128-20240722.0-r0"[arrowhead=inv,label="so:libabsl_int128.so.2407.0.0",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "abseil-cpp-int128-20240722.0-r0"[arrowhead=inv,label="so:libabsl_int128.so.2407.0.0",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "abseil-cpp-str-format-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-flags-marshalling-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-flags-marshalling-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_marshalling.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-flags-commandlineflag-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_commandlineflag.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-flags-config-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_config.so.2407.0.0",];
  "abseil-cpp-flags-private-handle-accessor-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-flags-private-handle-accessor-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_private_handle_accessor.so.2407.0.0",];
  "abseil-cpp-hash-20240722.0-r0" -> "abseil-cpp-city-20240722.0-r0"[arrowhead=inv,label="so:libabsl_city.so.2407.0.0",];
  "abseil-cpp-hash-20240722.0-r0" -> "abseil-cpp-low-level-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_low_level_hash.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "abseil-cpp-raw-hash-set-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-raw-hash-set-20240722.0-r0" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-raw-hash-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_hash_set.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-flags-reflection-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-flags-reflection-20240722.0-r0"[arrowhead=inv,label="so:libabsl_flags_reflection.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-kernel-timeout-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_kernel_timeout_internal.so.2407.0.0",];
  "abseil-cpp-log-globals-20240722.0-r0" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "abseil-cpp-log-globals-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-log-globals-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-globals-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-log-globals-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-log-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_globals.so.2407.0.0",];
  "abseil-cpp-log-internal-check-op-20240722.0-r0" -> "abseil-cpp-log-internal-nullguard-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_nullguard.so.2407.0.0",];
  "abseil-cpp-log-internal-check-op-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-log-internal-check-op-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-check-op-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-log-internal-check-op-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-log-internal-check-op-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_check_op.so.2407.0.0",];
  "abseil-cpp-log-internal-conditions-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-log-internal-conditions-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_conditions.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-examine-stack-20240722.0-r0" -> "abseil-cpp-stacktrace-20240722.0-r0"[arrowhead=inv,label="so:libabsl_stacktrace.so.2407.0.0",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "abseil-cpp-debugging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_debugging_internal.so.2407.0.0",];
  "abseil-cpp-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-status-20240722.0-r0" -> "abseil-cpp-cord-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord.so.2407.0.0",];
  "abseil-cpp-status-20240722.0-r0" -> "abseil-cpp-cordz-info-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_info.so.2407.0.0",];
  "abseil-cpp-strerror-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-strerror-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-strerror-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-status-20240722.0-r0" -> "abseil-cpp-strerror-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strerror.so.2407.0.0",];
  "abseil-cpp-status-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-status-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-status-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-status-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-20240722.0-r0" -> "abseil-cpp-status-20240722.0-r0"[arrowhead=inv,label="so:libabsl_status.so.2407.0.0",];
  "abseil-cpp-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "gtest-1.15.2-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "gtest-1.15.2-r1" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "gtest-1.15.2-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "gtest-1.15.2-r1" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-20240722.0-r0" -> "gtest-1.15.2-r1"[arrowhead=inv,label="so:libgtest.so.1.15.2",];
  "abseil-cpp-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-demangle-internal-20240722.0-r0" -> "abseil-cpp-20240722.0-r0"[arrowhead=inv,label="so:libabsl_demangle_rust.so.2407.0.0",];
  "abseil-cpp-demangle-internal-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-demangle-internal-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-demangle-internal-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "abseil-cpp-demangle-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_demangle_internal.so.2407.0.0",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "abseil-cpp-malloc-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_malloc_internal.so.2407.0.0",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-symbolize-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-examine-stack-20240722.0-r0" -> "abseil-cpp-symbolize-20240722.0-r0"[arrowhead=inv,label="so:libabsl_symbolize.so.2407.0.0",];
  "abseil-cpp-examine-stack-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-examine-stack-20240722.0-r0"[arrowhead=inv,label="so:libabsl_examine_stack.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-log-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_globals.so.2407.0.0",];
  "abseil-cpp-log-internal-globals-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-log-internal-globals-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-globals-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-log-internal-format-20240722.0-r0" -> "abseil-cpp-log-internal-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_globals.so.2407.0.0",];
  "abseil-cpp-log-internal-format-20240722.0-r0" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "abseil-cpp-log-internal-format-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-log-internal-format-20240722.0-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "abseil-cpp-log-internal-format-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-log-internal-format-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_format.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-log-internal-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_globals.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-log-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_globals.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-log-internal-globals-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_globals.so.2407.0.0",];
  "abseil-cpp-log-sink-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-log-sink-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_sink.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-log-internal-log-sink-set-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-log-internal-log-sink-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_log_sink_set.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-log-internal-proto-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_proto.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-strerror-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strerror.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-log-internal-message-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-log-internal-message-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_message.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-log-internal-nullguard-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_nullguard.so.2407.0.0",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-base-20240722.0-r0"[arrowhead=inv,label="so:libabsl_base.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-20240722.0-r0" -> "abseil-cpp-random-internal-randen-hwaes-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_hwaes.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-hwaes-impl-20240722.0-r0" -> "abseil-cpp-random-internal-platform-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_platform.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-20240722.0-r0" -> "abseil-cpp-random-internal-randen-hwaes-impl-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_hwaes_impl.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-slow-20240722.0-r0" -> "abseil-cpp-random-internal-platform-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_platform.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-20240722.0-r0" -> "abseil-cpp-random-internal-randen-slow-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_slow.so.2407.0.0",];
  "abseil-cpp-random-internal-randen-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-random-internal-randen-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-random-internal-randen-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen.so.2407.0.0",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-random-internal-randen-hwaes-impl-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_hwaes_impl.so.2407.0.0",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-random-internal-randen-slow-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_slow.so.2407.0.0",];
  "abseil-cpp-random-internal-seed-material-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-random-internal-seed-material-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-random-internal-seed-material-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-random-internal-seed-material-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_seed_material.so.2407.0.0",];
  "abseil-cpp-random-seed-gen-exception-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-random-seed-gen-exception-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_seed_gen_exception.so.2407.0.0",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-random-internal-pool-urbg-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-random-internal-pool-urbg-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_pool_urbg.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-random-internal-randen-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-random-internal-randen-hwaes-impl-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_hwaes_impl.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-random-internal-randen-slow-20240722.0-r0"[arrowhead=inv,label="so:libabsl_random_internal_randen_slow.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-raw-hash-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_hash_set.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-status-20240722.0-r0"[arrowhead=inv,label="so:libabsl_status.so.2407.0.0",];
  "abseil-cpp-statusor-20240722.0-r0" -> "abseil-cpp-raw-logging-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_logging_internal.so.2407.0.0",];
  "abseil-cpp-statusor-20240722.0-r0" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "abseil-cpp-statusor-20240722.0-r0" -> "abseil-cpp-status-20240722.0-r0"[arrowhead=inv,label="so:libabsl_status.so.2407.0.0",];
  "abseil-cpp-statusor-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-statusor-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-statusor-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-statusor-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-statusor-20240722.0-r0"[arrowhead=inv,label="so:libabsl_statusor.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "abseil-cpp-throw-delegate-20240722.0-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "abseil-cpp-throw-delegate-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-throw-delegate-20240722.0-r0"[arrowhead=inv,label="so:libabsl_throw_delegate.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-time-zone-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time_zone.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "abseil-cpp-20240722.0-r0"[arrowhead=inv,label="so:libabsl_vlog_config_internal.so.2407.0.0",];
  "grpc-1.67-1.67.1-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "c-ares-1.34.2-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "grpc-1.67-1.67.1-r0" -> "c-ares-1.34.2-r0"[arrowhead=inv,label="so:libcares.so.2",];
  "grpc-1.67-1.67.1-r0" -> "libcrypto3-3.4.0-r1"[arrowhead=inv,label="so:libcrypto.so.3",];
  "grpc-1.67-1.67.1-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "grpc-1.67-1.67.1-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "libprotobuf-3.27.4-r1" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-cord-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-cord-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cord_internal.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-cordz-info-20240722.0-r0"[arrowhead=inv,label="so:libabsl_cordz_info.so.2407.0.0",];
  "abseil-cpp-die-if-null-20240722.0-r0" -> "abseil-cpp-log-internal-message-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_message.so.2407.0.0",];
  "abseil-cpp-die-if-null-20240722.0-r0" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "abseil-cpp-die-if-null-20240722.0-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "abseil-cpp-die-if-null-20240722.0-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-die-if-null-20240722.0-r0"[arrowhead=inv,label="so:libabsl_die_if_null.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-log-internal-check-op-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_check_op.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-log-internal-conditions-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_conditions.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-log-internal-message-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_message.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-log-internal-nullguard-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_nullguard.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-raw-hash-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_hash_set.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-status-20240722.0-r0"[arrowhead=inv,label="so:libabsl_status.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-statusor-20240722.0-r0"[arrowhead=inv,label="so:libabsl_statusor.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-throw-delegate-20240722.0-r0"[arrowhead=inv,label="so:libabsl_throw_delegate.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-time-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "abseil-cpp-time-zone-20240722.0-r0"[arrowhead=inv,label="so:libabsl_time_zone.so.2407.0.0",];
  "libprotobuf-3.27.4-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libprotobuf-3.27.4-r1" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "libprotobuf-3.27.4-r1" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "libprotobuf-3.27.4-r1" -> "zlib-1.3.1-r4"[arrowhead=inv,label="so:libz.so.1",];
  "grpc-1.67-1.67.1-r0" -> "libprotobuf-3.27.4-r1"[arrowhead=inv,label="so:libprotobuf.so.27.4.0",];
  "libprotoc-3.27.4-r1" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-die-if-null-20240722.0-r0"[arrowhead=inv,label="so:libabsl_die_if_null.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-log-internal-check-op-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_check_op.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-log-internal-conditions-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_conditions.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-log-internal-message-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_message.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-log-internal-nullguard-20240722.0-r0"[arrowhead=inv,label="so:libabsl_log_internal_nullguard.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-raw-hash-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_hash_set.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-status-20240722.0-r0"[arrowhead=inv,label="so:libabsl_status.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-statusor-20240722.0-r0"[arrowhead=inv,label="so:libabsl_statusor.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "abseil-cpp-throw-delegate-20240722.0-r0"[arrowhead=inv,label="so:libabsl_throw_delegate.so.2407.0.0",];
  "libprotoc-3.27.4-r1" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libprotoc-3.27.4-r1" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "libprotoc-3.27.4-r1" -> "libprotobuf-3.27.4-r1"[arrowhead=inv,label="so:libprotobuf.so.27.4.0",];
  "libprotoc-3.27.4-r1" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "libprotoc-3.27.4-r1"[arrowhead=inv,label="so:libprotoc.so.27.4.0",];
  "re2-2024.02.01-r2" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "re2-2024.02.01-r2" -> "abseil-cpp-hash-20240722.0-r0"[arrowhead=inv,label="so:libabsl_hash.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "abseil-cpp-raw-hash-set-20240722.0-r0"[arrowhead=inv,label="so:libabsl_raw_hash_set.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "abseil-cpp-spinlock-wait-20240722.0-r0"[arrowhead=inv,label="so:libabsl_spinlock_wait.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "abseil-cpp-str-format-internal-20240722.0-r0"[arrowhead=inv,label="so:libabsl_str_format_internal.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "abseil-cpp-strings-20240722.0-r0"[arrowhead=inv,label="so:libabsl_strings.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "abseil-cpp-synchronization-20240722.0-r0"[arrowhead=inv,label="so:libabsl_synchronization.so.2407.0.0",];
  "re2-2024.02.01-r2" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "re2-2024.02.01-r2" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "icu-75.1-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "icu-75.1-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "icu-75.1-r0" -> "libgcc-14.2.0-r5"[arrowhead=inv,label="so:libgcc_s.so.1",];
  "icu-75.1-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "icu-75.1-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "re2-2024.02.01-r2" -> "icu-75.1-r0"[arrowhead=inv,label="so:libicuuc.so.75",];
  "re2-2024.02.01-r2" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libm.so.6",];
  "re2-2024.02.01-r2" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "grpc-1.67-1.67.1-r0" -> "re2-2024.02.01-r2"[arrowhead=inv,label="so:libre2.so.11",];
  "grpc-1.67-1.67.1-r0" -> "libssl3-3.4.0-r1"[arrowhead=inv,label="so:libssl.so.3",];
  "grpc-1.67-1.67.1-r0" -> "libstdc++-14.2.0-r5"[arrowhead=inv,label="so:libstdc++.so.6",];
  "libsystemd-256.7-r4" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libsystemd-256.7-r4" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libcap-2.71-r0" -> "ld-linux-2.40-r3"[arrowhead=inv,label="so:ld-linux-x86-64.so.2",];
  "libcap-2.71-r0" -> "glibc-2.40-r3"[arrowhead=inv,label="so:libc.so.6",];
  "libsystemd-256.7-r4" -> "libcap-2.71-r0"[arrowhead=inv,label="so:libcap.so.2",];
  "grpc-1.67-1.67.1-r0" -> "libsystemd-256.7-r4"[arrowhead=inv,label="so:libsystemd.so.0",];
  "grpc-1.67-1.67.1-r0" -> "zlib-1.3.1-r4"[arrowhead=inv,label="so:libz.so.1",];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants