Update unsafe-libyaml to 0.2.11

Test: m
Change-Id: I5f3d31d6ed31236e50048495fee1110258e17f0b
diff --git a/crates/unsafe-libyaml/.android-checksum.json b/crates/unsafe-libyaml/.android-checksum.json
new file mode 100644
index 0000000..14c307b
--- /dev/null
+++ b/crates/unsafe-libyaml/.android-checksum.json
@@ -0,0 +1 @@
+{"package":null,"files":{"tests/bin/mod.rs":"d35de652c4fefa1b5a2344e9b40cf250dc539655c5fddfb6d4fe2680da893243","src/scanner.rs":"a11fc1c3e117390e2179c304a99f526a1cbf4d31b25e3121f92ee06e4e6a577a","src/lib.rs":"18805a618c83e88f6bd6b32b5353424846efcec987f96d96e358e88209101d9f","src/api.rs":"0fbbdad4ecc2af905b7e4f7b441ec88ce0ab46a499333c82937772b425b2ad63","src/macros.rs":"5889e9b9f33bc4bc21d067aacfddcc1b784c1f9743f14ba5e9911062c7dc6a82","src/reader.rs":"66e9e94b9730a19679a2e7667cc0b75764202c5a023cc2e97ed6cf82b0e2bf0e","tests/ignorelist/libyaml-parser-error":"f3bd36ea0812fba79874d6575245be3c21ef5b8b06147f3d645e11b540d2c352","LICENSE-MIT":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","src/parser.rs":"a2796b66878d09cdd61a574a71e1bc6e70b39c75558120c50b335713b42ed139","Cargo.toml":"c85a9f3ce088d1fa81c383f8bfc9e1c30efd7f97618395cc43e79efd0c9333b6","Cargo.lock":"2165e202a8be62281d9967b776e4e17ecb9d2448e15c9c40835993d4b89e7e47","src/loader.rs":"babf5414eca319a34dac32384a60239c65e610e9935abed2f7f6fc2dfa6d300e","LICENSE":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","MODULE_LICENSE_MIT":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","tests/ignorelist/libyaml-parser":"231824c08a7e3844d28a7090666599cc08dd7509c21e692f49cac91deb709af5","README.md":"a8fefe55942de24b71f1912108227d1fd1ef83491bf696d2915764ca30a7b06d","src/bin/cstr/mod.rs":"44cb74166d6605511656cb8a6bbf2be38890ad5459363b2d74e7d7887add3429","src/bin/run-parser-test-suite.rs":"4f02d3e0c249af6345819dc7c7dfa383c334d1b3828f0fa45b222193295d37b1",".cargo-checksum.json":"2a31911551aa1a78c1ef6fbce16b2a0363964567006662248d781db08710ef7a","tests/test_parser_error.rs":"389b7e0cd32625a659b9680006cce1d9c9ae60bc1c172f77cf12290550c9250b","src/yaml.rs":"3589f1699876a521768d0d336713c4d784f58790502040e7d33d152030d41b46","src/bin/run-emitter-test-suite.rs":"8be1f6bcfaccb238c4b2de575fc89f85c7de83a0e062cf641308ba77c4b656b4","Android.bp":"5426a7ae0343180b70d402bd0b4f6cdcce3d49aba0a43ee0708f3ffa6516e30e","src/writer.rs":"e557062732a3836b9da7bc9dbfa39835b23261b5ecc3676b6b95959e6e71cc16","src/emitter.rs":"bc0f3c6b9dd5a046f102eccf8c9c1706d3634258b14d6f2f252a91ddd18e3500","tests/ignorelist/libyaml-emitter":"68b45202abf37cc9fbb72bf982cd757cf0dbb993bc02baa1f6b0956617633135","tests/test_parser.rs":"b90be8285fdfbb37b115dad2d5a66eb29f3bb65ce2026a55b8bdf05557cee081","src/dumper.rs":"0d9da34f531725fee63375f343c11f228cdc72d382a3d61f39e4c0ff04193d47","src/success.rs":"888033636aa4810b9e8e43c43fcbd98934bed02b4427991b37734d788489c6f9","tests/test_emitter.rs":"7dc968be8c5e066c12ddd11b2154e03c74d15335299df674ab57fa5b5f9091b8","src/ops.rs":"7ab8602383f6f6594690216ce5522a6e310f8bcd40b7c5d7860c46ec100d0887","METADATA":"cbe3a17aca99b0155fe5b8ff2d61ed092b1e7f65463d62f26c6f0149a3e8f5c6","cargo_embargo.json":"09ff4fb0ae69c3ecca88bba299858db4426ac3e31cc38009de47802b0db38b50"}}
\ No newline at end of file
diff --git a/crates/unsafe-libyaml/.cargo-checksum.json b/crates/unsafe-libyaml/.cargo-checksum.json
index c9d5928..66ad2ed 100644
--- a/crates/unsafe-libyaml/.cargo-checksum.json
+++ b/crates/unsafe-libyaml/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.lock":"92c411cc2400eb0f728c361d6c034c5c35bfbf3529c35d3073eaad77ff20236b","Cargo.toml":"334907672c5fa362f494100bc4e8a2c541ea8fa905bd176c77620e48d125a573","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"ad60144882a003bb1f20a3bf286e518c8335f0301e7d06c101ef1bd5668e11dd","src/api.rs":"85b2fd0cf09ec7560e0a58215a05af3f44a4403bcf0c1eb91603ec149d67dfc0","src/bin/cstr/mod.rs":"ea7d6c8c1376c7cae56afc2ed365d16e5aabe6a0dda06e01954b90bb7ba8d038","src/bin/run-emitter-test-suite.rs":"55653f89cfc86f23237d84cadfa32119f5c0bad5f04374109254d359ae5116f6","src/bin/run-parser-test-suite.rs":"62390b5be838cb94c078024187274978290789df4f82144aabfca0c653fbb1b0","src/dumper.rs":"7baffe3c964bd99e9984dbc1ee8256ef990a4e93b4e1feb1767f45f522c65c9b","src/emitter.rs":"e2e5741bad8714f1772f83c77d7bf9b793763808aedc19cf6afd6b50983ac8da","src/lib.rs":"a49ca5a8362c86ad0779c08d32c0a7c3387ae7fb01dd3bbe601e8f7225cc2272","src/loader.rs":"a4b1def1986adace844b499bedd568bdf3ec0bbeceab02e42808d848d89a4115","src/macros.rs":"fb383fe61179b9bdbc77da57539b8211d7b7bc6775b6d7ce7d0d75249f63508a","src/ops.rs":"9716b7e16a430e7b45f3196e9659fa369fcda4e5117e18d2595f8ea75ce2340d","src/parser.rs":"27125c0a61b3df054b726a574ed883954ba8afbb91680dd371f4faff0dddd4b7","src/reader.rs":"3cff2f6aea01188f2d8ea8c6b210c5831b4316fed16ed96b0f3d79da048fb297","src/scanner.rs":"81ce9cc00232c6c0ba91694a24ed3cd9fb415281bcda5e25aa8309dda6058f5a","src/success.rs":"f1fe294ed595c7c5cf82cc113e6debbe970129878794ab1f1a5aab77e08f99f4","src/writer.rs":"9ce5f7fcaeaae73bcde9a7d8022dfbace4e8eb1867461d6b8af1f42688494dcb","src/yaml.rs":"a4ebf4cd39c46ef764a609b9502844e135a61337b7c106c7d3568e524c3ddbf3","tests/bin/mod.rs":"8b159a2bcfc7c59e18f1e2378959797384cca307b6a2b6940af79e26b27ea988","tests/ignorelist/libyaml-emitter":"3cdaa69d21c87bb3988536cf95747547793a5875e374cfe91c0b12fb2eaf2c15","tests/ignorelist/libyaml-parser":"60cf936e4e2acfd34ad397fab1c004c79f5bce7778eba2c5e89f1cf2478f6008","tests/ignorelist/libyaml-parser-error":"e57811f1660f02e7a58dd9394d0121b8ba8b8e3ba0553b906b82536bcdb80edf","tests/test_emitter.rs":"f49a1161370571c1ca9ad8a6c0bd21e7086c013a349eae2d121e7612b8d28222","tests/test_parser.rs":"0e33a9d27fb4b9d6c6f854f7bfd54d37cf8f6a049253226edbb2a0e0e674295a","tests/test_parser_error.rs":"bb0db7534704a7317bb1f987eaaac0852633f47e979c0cf00720cac5cea3bdf3"},"package":"ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"}
\ No newline at end of file
+{"files":{"Cargo.lock":"6e429a80cac66efa4259473d80702a35e4b25a6101b9c42e896a7c495486e0b3","Cargo.toml":"39d7eb7914105623a7baa0e953d82d8c4bb31e40f613e7e413e22c85f652bc69","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"ad60144882a003bb1f20a3bf286e518c8335f0301e7d06c101ef1bd5668e11dd","src/api.rs":"85b2fd0cf09ec7560e0a58215a05af3f44a4403bcf0c1eb91603ec149d67dfc0","src/bin/cstr/mod.rs":"ea7d6c8c1376c7cae56afc2ed365d16e5aabe6a0dda06e01954b90bb7ba8d038","src/bin/run-emitter-test-suite.rs":"a7e2c21524a5a88c68d4193a2f2ed49ed7d30e4aa1f868ec570e8c81274a721e","src/bin/run-parser-test-suite.rs":"62390b5be838cb94c078024187274978290789df4f82144aabfca0c653fbb1b0","src/dumper.rs":"984cbb2187095856bac9d0ec3612634d69db76a16800e02e873a89d6f9dbcc2e","src/emitter.rs":"e2e5741bad8714f1772f83c77d7bf9b793763808aedc19cf6afd6b50983ac8da","src/lib.rs":"fbd23c6a81736d761301f7efec14962989e327e308ce1c9302c518e8c33faf45","src/loader.rs":"a4b1def1986adace844b499bedd568bdf3ec0bbeceab02e42808d848d89a4115","src/macros.rs":"fb383fe61179b9bdbc77da57539b8211d7b7bc6775b6d7ce7d0d75249f63508a","src/ops.rs":"9716b7e16a430e7b45f3196e9659fa369fcda4e5117e18d2595f8ea75ce2340d","src/parser.rs":"27125c0a61b3df054b726a574ed883954ba8afbb91680dd371f4faff0dddd4b7","src/reader.rs":"3cff2f6aea01188f2d8ea8c6b210c5831b4316fed16ed96b0f3d79da048fb297","src/scanner.rs":"e6c5301c9c4a83d266ec0477e0f7e2522cee6038413b9bd3f50049b5e0491ff4","src/success.rs":"f1fe294ed595c7c5cf82cc113e6debbe970129878794ab1f1a5aab77e08f99f4","src/writer.rs":"9ce5f7fcaeaae73bcde9a7d8022dfbace4e8eb1867461d6b8af1f42688494dcb","src/yaml.rs":"fd8d05d2a23611e071833a9ddf71fcbc8b8cbff038fb326790e4ffa001083227","tests/bin/mod.rs":"8b159a2bcfc7c59e18f1e2378959797384cca307b6a2b6940af79e26b27ea988","tests/ignorelist/libyaml-emitter":"3cdaa69d21c87bb3988536cf95747547793a5875e374cfe91c0b12fb2eaf2c15","tests/ignorelist/libyaml-parser":"60cf936e4e2acfd34ad397fab1c004c79f5bce7778eba2c5e89f1cf2478f6008","tests/ignorelist/libyaml-parser-error":"e57811f1660f02e7a58dd9394d0121b8ba8b8e3ba0553b906b82536bcdb80edf","tests/test_emitter.rs":"f49a1161370571c1ca9ad8a6c0bd21e7086c013a349eae2d121e7612b8d28222","tests/test_parser.rs":"0e33a9d27fb4b9d6c6f854f7bfd54d37cf8f6a049253226edbb2a0e0e674295a","tests/test_parser_error.rs":"bb0db7534704a7317bb1f987eaaac0852633f47e979c0cf00720cac5cea3bdf3"},"package":"673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"}
\ No newline at end of file
diff --git a/crates/unsafe-libyaml/Android.bp b/crates/unsafe-libyaml/Android.bp
index 2fb6e74..02c55fa 100644
--- a/crates/unsafe-libyaml/Android.bp
+++ b/crates/unsafe-libyaml/Android.bp
@@ -18,7 +18,7 @@
     host_supported: true,
     crate_name: "unsafe_libyaml",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.2.10",
+    cargo_pkg_version: "0.2.11",
     crate_root: "src/lib.rs",
     edition: "2021",
     apex_available: [
@@ -34,7 +34,7 @@
     host_supported: true,
     crate_name: "run_emitter_test_suite",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.2.10",
+    cargo_pkg_version: "0.2.11",
     crate_root: "src/bin/run-emitter-test-suite.rs",
     edition: "2021",
     rustlibs: ["libunsafe_libyaml"],
@@ -47,7 +47,7 @@
     host_supported: true,
     crate_name: "run_parser_test_suite",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.2.10",
+    cargo_pkg_version: "0.2.11",
     crate_root: "src/bin/run-parser-test-suite.rs",
     edition: "2021",
     rustlibs: ["libunsafe_libyaml"],
diff --git a/crates/unsafe-libyaml/Cargo.lock b/crates/unsafe-libyaml/Cargo.lock
index d23197c..17bc18a 100644
--- a/crates/unsafe-libyaml/Cargo.lock
+++ b/crates/unsafe-libyaml/Cargo.lock
@@ -20,7 +20,7 @@
 
 [[package]]
 name = "unsafe-libyaml"
-version = "0.2.10"
+version = "0.2.11"
 dependencies = [
  "pretty_assertions",
 ]
diff --git a/crates/unsafe-libyaml/Cargo.toml b/crates/unsafe-libyaml/Cargo.toml
index 81e8a39..04eb0ce 100644
--- a/crates/unsafe-libyaml/Cargo.toml
+++ b/crates/unsafe-libyaml/Cargo.toml
@@ -13,7 +13,7 @@
 edition = "2021"
 rust-version = "1.56"
 name = "unsafe-libyaml"
-version = "0.2.10"
+version = "0.2.11"
 authors = ["David Tolnay <dtolnay@gmail.com>"]
 description = "libyaml transpiled to rust by c2rust"
 documentation = "https://docs.rs/unsafe-libyaml"
diff --git a/crates/unsafe-libyaml/METADATA b/crates/unsafe-libyaml/METADATA
index 496d8c7..e509a04 100644
--- a/crates/unsafe-libyaml/METADATA
+++ b/crates/unsafe-libyaml/METADATA
@@ -1,17 +1,17 @@
 name: "unsafe-libyaml"
 description: "libyaml transpiled to rust by c2rust"
 third_party {
-  version: "0.2.10"
+  version: "0.2.11"
   license_type: NOTICE
   last_upgrade_date {
     year: 2024
-    month: 2
-    day: 7
+    month: 12
+    day: 20
   }
   homepage: "https://crates.io/crates/unsafe-libyaml"
   identifier {
     type: "Archive"
-    value: "https://static.crates.io/crates/unsafe-libyaml/unsafe-libyaml-0.2.10.crate"
-    version: "0.2.10"
+    value: "https://static.crates.io/crates/unsafe-libyaml/unsafe-libyaml-0.2.11.crate"
+    version: "0.2.11"
   }
 }
diff --git a/crates/unsafe-libyaml/src/bin/run-emitter-test-suite.rs b/crates/unsafe-libyaml/src/bin/run-emitter-test-suite.rs
index 0c51b9c..44f2e85 100644
--- a/crates/unsafe-libyaml/src/bin/run-emitter-test-suite.rs
+++ b/crates/unsafe-libyaml/src/bin/run-emitter-test-suite.rs
@@ -48,7 +48,7 @@
     let mut emitter = MaybeUninit::<yaml_emitter_t>::uninit();
     let emitter = emitter.as_mut_ptr();
     if yaml_emitter_initialize(emitter).fail {
-        return Err("Could not initalize the emitter object".into());
+        return Err("Could not initialize the emitter object".into());
     }
 
     unsafe fn write_to_stdio(data: *mut c_void, buffer: *mut u8, size: u64) -> i32 {
diff --git a/crates/unsafe-libyaml/src/dumper.rs b/crates/unsafe-libyaml/src/dumper.rs
index 7d00cd8..7b009f6 100644
--- a/crates/unsafe-libyaml/src/dumper.rs
+++ b/crates/unsafe-libyaml/src/dumper.rs
@@ -76,7 +76,7 @@
 
 /// Emit a YAML document.
 ///
-/// The documen object may be generated using the yaml_parser_load() function or
+/// The document object may be generated using the yaml_parser_load() function or
 /// the yaml_document_initialize() function. The emitter takes the
 /// responsibility for the document object and destroys its content after it is
 /// emitted. The document object is destroyed even if the function fails.
diff --git a/crates/unsafe-libyaml/src/lib.rs b/crates/unsafe-libyaml/src/lib.rs
index dc842af..07f48f0 100644
--- a/crates/unsafe-libyaml/src/lib.rs
+++ b/crates/unsafe-libyaml/src/lib.rs
@@ -5,8 +5,8 @@
 //! [docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs
 
 #![no_std]
-#![doc(html_root_url = "https://docs.rs/unsafe-libyaml/0.2.10")]
-#![allow(non_camel_case_types, non_snake_case)]
+#![doc(html_root_url = "https://docs.rs/unsafe-libyaml/0.2.11")]
+#![allow(non_camel_case_types, non_snake_case, unsafe_op_in_unsafe_fn)]
 #![warn(clippy::pedantic)]
 #![allow(
     clippy::bool_to_int_with_if,
diff --git a/crates/unsafe-libyaml/src/scanner.rs b/crates/unsafe-libyaml/src/scanner.rs
index 4e53dad..325a348 100644
--- a/crates/unsafe-libyaml/src/scanner.rs
+++ b/crates/unsafe-libyaml/src/scanner.rs
@@ -186,7 +186,10 @@
             if yaml_parser_stale_simple_keys(parser).fail {
                 return FAIL;
             }
-            simple_key = (*parser).simple_keys.start;
+            simple_key = (*parser)
+                .simple_keys
+                .start
+                .add((*parser).not_simple_keys as usize);
             while simple_key != (*parser).simple_keys.top {
                 if (*simple_key).possible && (*simple_key).token_number == (*parser).tokens_parsed {
                     need_more_tokens = true;
@@ -334,7 +337,10 @@
 
 unsafe fn yaml_parser_stale_simple_keys(parser: *mut yaml_parser_t) -> Success {
     let mut simple_key: *mut yaml_simple_key_t;
-    simple_key = (*parser).simple_keys.start;
+    simple_key = (*parser)
+        .simple_keys
+        .start
+        .add((*parser).not_simple_keys as usize);
     while simple_key != (*parser).simple_keys.top {
         if (*simple_key).possible
             && ((*simple_key).mark.line < (*parser).mark.line
@@ -350,6 +356,14 @@
                 return FAIL;
             }
             (*simple_key).possible = false;
+            if (*parser)
+                .simple_keys
+                .start
+                .add((*parser).not_simple_keys as usize)
+                == simple_key
+            {
+                (*parser).not_simple_keys += 1;
+            }
         }
         simple_key = simple_key.wrapping_offset(1);
     }
@@ -372,6 +386,14 @@
             return FAIL;
         }
         *(*parser).simple_keys.top.wrapping_offset(-1_isize) = simple_key;
+        if (*parser)
+            .simple_keys
+            .start
+            .add((*parser).not_simple_keys as usize)
+            == (*parser).simple_keys.top
+        {
+            (*parser).not_simple_keys -= 1;
+        }
     }
     OK
 }
@@ -418,6 +440,14 @@
     if (*parser).flow_level != 0 {
         let fresh8 = addr_of_mut!((*parser).flow_level);
         *fresh8 -= 1;
+        if (*parser)
+            .simple_keys
+            .start
+            .add((*parser).not_simple_keys as usize)
+            == (*parser).simple_keys.top
+        {
+            (*parser).not_simple_keys -= 1;
+        }
         let _ = POP!((*parser).simple_keys);
     }
 }
@@ -497,6 +527,7 @@
     let token = token.as_mut_ptr();
     (*parser).indent = -1;
     PUSH!((*parser).simple_keys, simple_key);
+    (*parser).not_simple_keys = 1;
     (*parser).simple_key_allowed = true;
     (*parser).stream_start_produced = true;
     memset(
@@ -2307,7 +2338,7 @@
                                         b"while parsing a quoted scalar\0" as *const u8
                                             as *const libc::c_char,
                                         start_mark,
-                                        b"did not find expected hexdecimal number\0" as *const u8
+                                        b"did not find expected hexadecimal number\0" as *const u8
                                             as *const libc::c_char,
                                     );
                                     current_block = 8114179180390253173;
diff --git a/crates/unsafe-libyaml/src/yaml.rs b/crates/unsafe-libyaml/src/yaml.rs
index ec05a80..f2318c5 100644
--- a/crates/unsafe-libyaml/src/yaml.rs
+++ b/crates/unsafe-libyaml/src/yaml.rs
@@ -851,7 +851,7 @@
     pub problem: *const libc::c_char,
     #[cfg(not(doc))]
     pub(crate) problem: *const libc::c_char,
-    /// The byte about which the problem occured.
+    /// The byte about which the problem occurred.
     #[cfg(doc)]
     pub problem_offset: size_t,
     #[cfg(not(doc))]
@@ -916,6 +916,8 @@
     pub(crate) simple_key_allowed: bool,
     /// The stack of simple keys.
     pub(crate) simple_keys: yaml_stack_t<yaml_simple_key_t>,
+    /// At least this many leading elements of simple_keys have possible=0.
+    pub(crate) not_simple_keys: libc::c_int,
     /// The parser states stack.
     pub(crate) states: yaml_stack_t<yaml_parser_state_t>,
     /// The current parser state.
@@ -937,7 +939,7 @@
     pub error: yaml_error_type_t,
     /// Error description.
     pub problem: *const libc::c_char,
-    /// The byte about which the problem occured.
+    /// The byte about which the problem occurred.
     pub problem_offset: size_t,
     /// The problematic value (-1 is none).
     pub problem_value: libc::c_int,
@@ -1198,7 +1200,7 @@
     pub length: size_t,
     /// Does the scalar contain line breaks?
     pub multiline: bool,
-    /// Can the scalar be expessed in the flow plain style?
+    /// Can the scalar be expressed in the flow plain style?
     pub flow_plain_allowed: bool,
     /// Can the scalar be expressed in the block plain style?
     pub block_plain_allowed: bool,
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 8b5def0..a647388 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -5720,9 +5720,9 @@
 
 [[package]]
 name = "unsafe-libyaml"
-version = "0.2.10"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
 
 [[package]]
 name = "untrusted"
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 6484aad..db9b75d 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -366,7 +366,7 @@
 uniffi_core = "=0.27.1"
 uniffi_macros = "=0.27.1"
 uniffi_meta = "=0.27.1"
-unsafe-libyaml = "=0.2.10"
+unsafe-libyaml = "=0.2.11"
 untrusted = "=0.7.1"
 url = "=2.3.1"
 userfaultfd = "=0.7.0"